1 /*
2  *Copyright (C) 2018 Laurent Tréguier
3  *
4  *This file is part of DLS.
5  *
6  *DLS is free software: you can redistribute it and/or modify
7  *it under the terms of the GNU General Public License as published by
8  *the Free Software Foundation, either version 3 of the License, or
9  *(at your option) any later version.
10  *
11  *DLS is distributed in the hope that it will be useful,
12  *but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *GNU General Public License for more details.
15  *
16  *You should have received a copy of the GNU General Public License
17  *along with DLS.  If not, see <http://www.gnu.org/licenses/>.
18  *
19  */
20 
21 module dls.protocol.messages.methods;
22 
23 //dfmt off
24 enum General : string
25 {
26     initialize    = "initialize",
27     initialized   = "initialized",
28     shutdown      = "shutdown",
29     exit          = "exit",
30     cancelRequest = "$/cancelRequest",
31 }
32 
33 enum Window : string
34 {
35     showMessage           = "window/showMessage",
36     showMessageRequest    = "window/showMessageRequest",
37     logMessage            = "window/logMessage",
38 }
39 
40 enum Telemetry : string
41 {
42     event = "telemetry/event",
43 }
44 
45 enum Client : string
46 {
47     registerCapability    = "client/registerCapability",
48     unregisterCapability  = "client/unregisterCapability",
49 }
50 
51 enum Workspace : string
52 {
53     workspaceFolders          = "workspace/workspaceFolders",
54     didChangeWorkspaceFolders = "workspace/didChangeWorkspaceFolders",
55     configuration             = "workspace/configuration",
56     didChangeWatchedFiles     = "workspace/didChangeWatchedFiles",
57     symbol                    = "workspace/symbol",
58     executeCommand            = "workspace/executeCommand",
59     applyEdit                 = "workspace/applyEdit",
60 }
61 
62 enum TextDocument : string
63 {
64     didOpen               = "textDocument/didOpen",
65     didChange             = "textDocument/didChange",
66     willSave              = "textDocument/willSave",
67     willSaveWaitUntil     = "textDocument/willSaveWaitUntil",
68     didSave               = "textDocument/didSave",
69     didClose              = "textDocument/didClose",
70     publishDiagnostics    = "textDocument/publishDiagnostics",
71     completion            = "textDocument/completion",
72     completionResolve     = "completionItem/resolve",
73     hover                 = "textDocument/hover",
74     signatureHelp         = "textDocument/signatureHelp",
75     declaration           = "textDocument/declaration",
76     definition            = "textDocument/definition",
77     typeDefinition        = "textDocument/typeDefinition",
78     implementation        = "textDocument/implementation",
79     references            = "textDocument/references",
80     documentHighlight     = "textDocument/documentHighlight",
81     documentSymbol        = "textDocument/documentSymbol",
82     codeAction            = "textDocument/codeAction",
83     codeLens              = "textDocument/codeLens",
84     codeLensResolve       = "codeLens/resolve",
85     documentLink          = "textDocument/documentLink",
86     documentLinkResolve   = "documentLink/resolve",
87     documentColor         = "textDocument/documentColor",
88     colorPresentation     = "textDocument/colorPresentation",
89     formatting            = "textDocument/formatting",
90     rangeFormatting       = "textDocument/rangeFormatting",
91     onTypeFormatting      = "textDocument/onTypeFormatting",
92     rename                = "textDocument/rename",
93     prepareRename         = "textDocument/prepareRename",
94     foldingRange          = "textDocument/foldingRange",
95 }
96 
97 interface Dls
98 {
99     enum UpgradeDls : string
100     {
101         didStart                = "$/dls/upgradeDls/didStart",
102         didStop                 = "$/dls/upgradeDls/didStop",
103         didChangeTotalSize      = "$/dls/upgradeDls/didChangeTotalSize",
104         didChangeCurrentSize    = "$/dls/upgradeDls/didChangeCurrentSize",
105         didExtract              = "$/dls/upgradeDls/didExtract",
106     }
107 
108     enum UpgradeSelections : string
109     {
110         didStart    = "$/dls/upgradeSelections/didStart",
111         didStop     = "$/dls/upgradeSelections/didStop",
112     }
113 }
114 //dfmt on