Move Columnate to Lister

This commit broke Lister to add Columnate, and the method is removed
from Server, because only Lister gets nested.
This commit is contained in:
diamondburned 2021-03-18 12:27:50 -07:00
parent d40f221221
commit c2fb784dbf
3 changed files with 30 additions and 31 deletions

View File

@ -392,6 +392,16 @@ type Lister interface {
// servers. This function can do IO, and the frontend should run this in a
// goroutine.
Servers(ServersContainer) (stop func(), err error)
// Columnate is optionally used by servers to give different nested servers its
// own nesting values. Top-level servers must start at 1. The zero-value (0)
// indicates that the server that implements this interface is inherently the
// children of its parent server.
//
// For example, in Discord, guilds can be placed in guild folders, but guilds
// and guild folders are put in the same column while guilds are actually
// children of the folders. To replicate this behavior, both guild and guild
// folders can return 1.
Columnate() int
}
// MemberDynamicSection represents a dynamically loaded member list section. The
@ -669,17 +679,6 @@ type Server interface {
Identifier
Namer
// Columnate is optionally used by servers to give different nested servers its
// own nesting values. Top-level servers must start at 1. The zero-value (0)
// indicates that the server that implements this interface is inherently the
// children of its parent server.
//
// For example, in Discord, guilds can be placed in guild folders, but guilds
// and guild folders are put in the same column while guilds are actually
// children of the folders. To replicate this behavior, both guild and guild
// folders can return 1.
Columnate() int
// Asserters.
AsLister() Lister // Optional

Binary file not shown.

View File

@ -981,26 +981,6 @@ var Main = Packages{
{InterfaceName: "Namer"},
},
Methods: []Method{
GetterMethod{
method: method{
Comment: Comment{`
Columnate is optionally used by servers to give
different nested servers its own nesting values.
Top-level servers must start at 1. The zero-value
(0) indicates that the server that implements this
interface is inherently the children of its parent
server.
For example, in Discord, guilds can be placed in
guild folders, but guilds and guild folders are put
in the same column while guilds are actually
children of the folders. To replicate this behavior,
both guild and guild folders can return 1.
`},
Name: "Columnate",
},
Returns: []NamedType{{"", "int"}},
},
AsserterMethod{ChildType: "Lister"},
AsserterMethod{ChildType: "Messenger"},
AsserterMethod{ChildType: "Commander"},
@ -1021,6 +1001,26 @@ var Main = Packages{
`},
Name: "Lister",
Methods: []Method{
GetterMethod{
method: method{
Comment: Comment{`
Columnate is optionally used by servers to give
different nested servers its own nesting values.
Top-level servers must start at 1. The zero-value
(0) indicates that the server that implements this
interface is inherently the children of its parent
server.
For example, in Discord, guilds can be placed in
guild folders, but guilds and guild folders are put
in the same column while guilds are actually
children of the folders. To replicate this behavior,
both guild and guild folders can return 1.
`},
Name: "Columnate",
},
Returns: []NamedType{{"", "int"}},
},
ContainerMethod{
method: method{
Comment: Comment{`