gopls/internal/protocol: generate sorted methods
Change-Id: I234ee6c8a84d9fc71cc8a68e1ef7b283514f5524
Reviewed-on: https://go-review.googlesource.com/c/tools/+/735580
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/gopls/internal/protocol/command/command_gen.go b/gopls/internal/protocol/command/command_gen.go
index dbe47db..ed03c12 100644
--- a/gopls/internal/protocol/command/command_gen.go
+++ b/gopls/internal/protocol/command/command_gen.go
@@ -42,9 +42,9 @@
GCDetails Command = "gopls.gc_details"
Generate Command = "gopls.generate"
GoGetPackage Command = "gopls.go_get_package"
- LSP Command = "gopls.lsp"
ListImports Command = "gopls.list_imports"
ListKnownPackages Command = "gopls.list_known_packages"
+ LSP Command = "gopls.lsp"
MaybePromptForTelemetry Command = "gopls.maybe_prompt_for_telemetry"
MemStats Command = "gopls.mem_stats"
ModifyTags Command = "gopls.modify_tags"
@@ -91,9 +91,9 @@
GCDetails,
Generate,
GoGetPackage,
- LSP,
ListImports,
ListKnownPackages,
+ LSP,
MaybePromptForTelemetry,
MemStats,
ModifyTags,
@@ -234,12 +234,6 @@
return nil, err
}
return nil, s.GoGetPackage(ctx, a0)
- case LSP:
- var a0 LSPArgs
- if err := UnmarshalArgs(params.Arguments, &a0); err != nil {
- return nil, err
- }
- return s.LSP(ctx, a0)
case ListImports:
var a0 URIArg
if err := UnmarshalArgs(params.Arguments, &a0); err != nil {
@@ -252,6 +246,12 @@
return nil, err
}
return s.ListKnownPackages(ctx, a0)
+ case LSP:
+ var a0 LSPArgs
+ if err := UnmarshalArgs(params.Arguments, &a0); err != nil {
+ return nil, err
+ }
+ return s.LSP(ctx, a0)
case MaybePromptForTelemetry:
return nil, s.MaybePromptForTelemetry(ctx)
case MemStats:
@@ -531,14 +531,6 @@
}
}
-func NewLSPCommand(title string, a0 LSPArgs) *protocol.Command {
- return &protocol.Command{
- Title: title,
- Command: LSP.String(),
- Arguments: MustMarshalArgs(a0),
- }
-}
-
func NewListImportsCommand(title string, a0 URIArg) *protocol.Command {
return &protocol.Command{
Title: title,
@@ -555,6 +547,14 @@
}
}
+func NewLSPCommand(title string, a0 LSPArgs) *protocol.Command {
+ return &protocol.Command{
+ Title: title,
+ Command: LSP.String(),
+ Arguments: MustMarshalArgs(a0),
+ }
+}
+
func NewMaybePromptForTelemetryCommand(title string) *protocol.Command {
return &protocol.Command{
Title: title,
diff --git a/gopls/internal/protocol/command/commandmeta/meta.go b/gopls/internal/protocol/command/commandmeta/meta.go
index 50db7a2..6a0888c 100644
--- a/gopls/internal/protocol/command/commandmeta/meta.go
+++ b/gopls/internal/protocol/command/commandmeta/meta.go
@@ -15,6 +15,7 @@
"go/token"
"go/types"
"reflect"
+ "slices"
"strings"
"unicode"
@@ -75,6 +76,11 @@
}
commands = append(commands, c)
}
+
+ // Sort commands for deterministic results.
+ slices.SortFunc(commands, func(a, b *Command) int {
+ return strings.Compare(a.Name, b.Name)
+ })
return commands, nil
}