From ebbc56d0b3d157be0bda3af34efb872657f0024c Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 19 Jan 2023 16:51:41 -0800 Subject: [PATCH] Derive allCommandNames from CommandTypes enum (#52319) --- src/server/protocol.ts | 7 +- src/testRunner/unittests/tsserver/session.ts | 93 +------------------ .../reference/api/tsserverlibrary.d.ts | 3 - 3 files changed, 2 insertions(+), 101 deletions(-) diff --git a/src/server/protocol.ts b/src/server/protocol.ts index 4240ae95c2d..b9df693923d 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -19,11 +19,8 @@ import { TypeAcquisition, } from "./_namespaces/ts"; -/** - * Declaration module describing the TypeScript Server protocol - */ +// Declaration module describing the TypeScript Server protocol -// NOTE: If updating this, be sure to also update `allCommandNames` in `testRunner/unittests/tsserver/session.ts`. export const enum CommandTypes { JsxClosingTag = "jsxClosingTag", Brace = "brace", @@ -175,8 +172,6 @@ export const enum CommandTypes { ProvideCallHierarchyIncomingCalls = "provideCallHierarchyIncomingCalls", ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls", ProvideInlayHints = "provideInlayHints" - - // NOTE: If updating this, be sure to also update `allCommandNames` in `testRunner/unittests/tsserver/session.ts`. } /** diff --git a/src/testRunner/unittests/tsserver/session.ts b/src/testRunner/unittests/tsserver/session.ts index 100476093bc..bf983da0ceb 100644 --- a/src/testRunner/unittests/tsserver/session.ts +++ b/src/testRunner/unittests/tsserver/session.ts @@ -195,98 +195,7 @@ describe("unittests:: tsserver:: Session:: General functionality", () => { }); describe("onMessage", () => { - const allCommandNames: ts.server.protocol.CommandTypes[] = [ - ts.server.protocol.CommandTypes.Brace, - ts.server.protocol.CommandTypes.BraceFull, - ts.server.protocol.CommandTypes.BraceCompletion, - ts.server.protocol.CommandTypes.Change, - ts.server.protocol.CommandTypes.Close, - ts.server.protocol.CommandTypes.Completions, - ts.server.protocol.CommandTypes.CompletionsFull, - ts.server.protocol.CommandTypes.CompletionDetails, - ts.server.protocol.CommandTypes.CompileOnSaveAffectedFileList, - ts.server.protocol.CommandTypes.Configure, - ts.server.protocol.CommandTypes.Definition, - ts.server.protocol.CommandTypes.DefinitionFull, - ts.server.protocol.CommandTypes.DefinitionAndBoundSpan, - ts.server.protocol.CommandTypes.DefinitionAndBoundSpanFull, - ts.server.protocol.CommandTypes.Implementation, - ts.server.protocol.CommandTypes.ImplementationFull, - ts.server.protocol.CommandTypes.Exit, - ts.server.protocol.CommandTypes.FileReferences, - ts.server.protocol.CommandTypes.FileReferencesFull, - ts.server.protocol.CommandTypes.Format, - ts.server.protocol.CommandTypes.Formatonkey, - ts.server.protocol.CommandTypes.FormatFull, - ts.server.protocol.CommandTypes.FormatonkeyFull, - ts.server.protocol.CommandTypes.FormatRangeFull, - ts.server.protocol.CommandTypes.Geterr, - ts.server.protocol.CommandTypes.GeterrForProject, - ts.server.protocol.CommandTypes.SemanticDiagnosticsSync, - ts.server.protocol.CommandTypes.SyntacticDiagnosticsSync, - ts.server.protocol.CommandTypes.SuggestionDiagnosticsSync, - ts.server.protocol.CommandTypes.NavBar, - ts.server.protocol.CommandTypes.NavBarFull, - ts.server.protocol.CommandTypes.Navto, - ts.server.protocol.CommandTypes.NavtoFull, - ts.server.protocol.CommandTypes.NavTree, - ts.server.protocol.CommandTypes.NavTreeFull, - ts.server.protocol.CommandTypes.Occurrences, - ts.server.protocol.CommandTypes.DocumentHighlights, - ts.server.protocol.CommandTypes.DocumentHighlightsFull, - ts.server.protocol.CommandTypes.JsxClosingTag, - ts.server.protocol.CommandTypes.Open, - ts.server.protocol.CommandTypes.Quickinfo, - ts.server.protocol.CommandTypes.QuickinfoFull, - ts.server.protocol.CommandTypes.References, - ts.server.protocol.CommandTypes.ReferencesFull, - ts.server.protocol.CommandTypes.Reload, - ts.server.protocol.CommandTypes.Rename, - ts.server.protocol.CommandTypes.RenameInfoFull, - ts.server.protocol.CommandTypes.RenameLocationsFull, - ts.server.protocol.CommandTypes.Saveto, - ts.server.protocol.CommandTypes.SignatureHelp, - ts.server.protocol.CommandTypes.SignatureHelpFull, - ts.server.protocol.CommandTypes.Status, - ts.server.protocol.CommandTypes.TypeDefinition, - ts.server.protocol.CommandTypes.ProjectInfo, - ts.server.protocol.CommandTypes.ReloadProjects, - ts.server.protocol.CommandTypes.Unknown, - ts.server.protocol.CommandTypes.OpenExternalProject, - ts.server.protocol.CommandTypes.CloseExternalProject, - ts.server.protocol.CommandTypes.SynchronizeProjectList, - ts.server.protocol.CommandTypes.ApplyChangedToOpenFiles, - ts.server.protocol.CommandTypes.EncodedSemanticClassificationsFull, - ts.server.protocol.CommandTypes.Cleanup, - ts.server.protocol.CommandTypes.GetOutliningSpans, - ts.server.protocol.CommandTypes.GetOutliningSpansFull, - ts.server.protocol.CommandTypes.TodoComments, - ts.server.protocol.CommandTypes.Indentation, - ts.server.protocol.CommandTypes.DocCommentTemplate, - ts.server.protocol.CommandTypes.CompilerOptionsDiagnosticsFull, - ts.server.protocol.CommandTypes.NameOrDottedNameSpan, - ts.server.protocol.CommandTypes.BreakpointStatement, - ts.server.protocol.CommandTypes.CompilerOptionsForInferredProjects, - ts.server.protocol.CommandTypes.GetCodeFixes, - ts.server.protocol.CommandTypes.GetCodeFixesFull, - ts.server.protocol.CommandTypes.GetSupportedCodeFixes, - ts.server.protocol.CommandTypes.GetApplicableRefactors, - ts.server.protocol.CommandTypes.GetEditsForRefactor, - ts.server.protocol.CommandTypes.GetEditsForRefactorFull, - ts.server.protocol.CommandTypes.OrganizeImports, - ts.server.protocol.CommandTypes.OrganizeImportsFull, - ts.server.protocol.CommandTypes.GetEditsForFileRename, - ts.server.protocol.CommandTypes.GetEditsForFileRenameFull, - ts.server.protocol.CommandTypes.SelectionRange, - ts.server.protocol.CommandTypes.PrepareCallHierarchy, - ts.server.protocol.CommandTypes.ProvideCallHierarchyIncomingCalls, - ts.server.protocol.CommandTypes.ProvideCallHierarchyOutgoingCalls, - ts.server.protocol.CommandTypes.ToggleLineComment, - ts.server.protocol.CommandTypes.ToggleMultilineComment, - ts.server.protocol.CommandTypes.CommentSelection, - ts.server.protocol.CommandTypes.UncommentSelection, - ts.server.protocol.CommandTypes.ProvideInlayHints - ]; + const allCommandNames: ts.server.protocol.CommandTypes[] = Object.values((ts.server.protocol as any).CommandTypes); it("should not throw when commands are executed with invalid arguments", () => { let i = 0; diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index ba98037c470..99c6d525be0 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -87,9 +87,6 @@ declare namespace ts { readonly kind: ActionSet; } namespace protocol { - /** - * Declaration module describing the TypeScript Server protocol - */ enum CommandTypes { JsxClosingTag = "jsxClosingTag", Brace = "brace",