-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathPasLS.AllCommands.pas
More file actions
93 lines (79 loc) · 3.72 KB
/
PasLS.AllCommands.pas
File metadata and controls
93 lines (79 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Pascal Language Server - Include all command units in a single place, so all commands are available by using this unit.
// Copyright 2023 Michael Van Canneyt
// This file is part of Pascal Language Server.
// Pascal Language Server is free software: you can redistribute it
// and/or modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3 of
// the License, or (at your option) any later version.
// Pascal Language Server is distributed in the hope that it will be
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Pascal Language Server. If not, see
// <https://www.gnu.org/licenses/>.
unit PasLS.AllCommands;
{$mode objfpc}{$H+}
interface
Procedure RegisterAllCommands;
Implementation
uses
LSP.Base,
// General init etc.
PasLS.General,
// Document
PasLS.Hover,
PasLS.GotoDeclaration,
PasLS.GotoDefinition,
PasLS.Completion,
PasLS.GotoImplementation,
PasLS.SignatureHelp,
PasLS.References,
PasLS.Rename,
PasLS.Synchronization,
PasLS.CodeAction,
PasLS.DocumentHighlight,
PasLS.DocumentSymbol,
PasLS.InlayHint,
// Workspace
PasLS.Workspace,
// Custom commands
PasLS.ExecuteCommand,
PasLS.Command.FormatCode,
PasLS.Command.CompleteCode,
PasLS.Command.InvertAssignment,
PasLS.Command.RemoveEmptyMethods,
PasLS.Command.RemoveUnusedUnits;
procedure RegisterAllCommands;
begin
// General
LSPHandlerManager.RegisterHandler('initialize', TInitialize);
LSPHandlerManager.RegisterHandler('initialized', TInitialized);
LSPHandlerManager.RegisterHandler('shutdown', TShutdown);
LSPHandlerManager.RegisterHandler('exit', TExit);
LSPHandlerManager.RegisterHandler('$/cancelRequest', TCancel);
// textDocument
LSPHandlerManager.RegisterHandler('textDocument/declaration', TGotoDeclaraction);
LSPHandlerManager.RegisterHandler('textDocument/definition', TGotoDefinition);
LSPHandlerManager.RegisterHandler('textDocument/completion', TCompletion);
LSPHandlerManager.RegisterHandler('textDocument/implementation', TGotoImplementation);
LSPHandlerManager.RegisterHandler('textDocument/references', TReferencesRequest);
LSPHandlerManager.RegisterHandler('textDocument/rename', TRenameRequest);
LSPHandlerManager.RegisterHandler('textDocument/prepareRename', TPrepareRenameRequest);
LSPHandlerManager.RegisterHandler('textDocument/signatureHelp', TSignatureHelpRequest);
LSPHandlerManager.RegisterHandler('textDocument/didOpen', TDidOpenTextDocument);
LSPHandlerManager.RegisterHandler('textDocument/didClose', TDidCloseTextDocument);
LSPHandlerManager.RegisterHandler('textDocument/didChange', TDidChangeTextDocument);
LSPHandlerManager.RegisterHandler('textDocument/didSave', TDidSaveTextDocument);
LSPHandlerManager.RegisterHandler('textDocument/codeAction', TCodeActionRequest);
LSPHandlerManager.RegisterHandler('textDocument/documentHighlight', TDocumentHighlightRequest);
LSPHandlerManager.RegisterHandler('textDocument/hover', THoverRequest);
LSPHandlerManager.RegisterHandler('textDocument/inlayHint', TInlayHintRequest);
LSPHandlerManager.RegisterHandler('textDocument/documentSymbol', TDocumentSymbolRequest);
// WorkSpace
LSPHandlerManager.RegisterHandler('workspace/didChangeConfiguration', TDidChangeConfiguration);
LSPHandlerManager.RegisterHandler('workspace/didChangeWorkspaceFolders', TDidChangeWorkspaceFolders);
LSPHandlerManager.RegisterHandler('workspace/symbol', TWorkspaceSymbolRequest);
LSPHandlerManager.RegisterHandler('workspace/executeCommand', TExecuteCommandRequest);
end;
end.