forked from tliron/glsp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwindow.go
189 lines (153 loc) · 4.18 KB
/
window.go
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
package protocol
import "github.com/tliron/glsp"
// https://microsoft.github.io/language-server-protocol/specification#window_showMessage
const ServerWindowShowMessage = Method("window/showMessage")
type ShowMessageParams struct {
/**
* The message type. See {@link MessageType}.
*/
Type MessageType `json:"type"`
/**
* The actual message.
*/
Message string `json:"message"`
}
type MessageType Integer
const (
/**
* An error message.
*/
MessageTypeError = MessageType(1)
/**
* A warning message.
*/
MessageTypeWarning = MessageType(2)
/**
* An information message.
*/
MessageTypeInfo = MessageType(3)
/**
* A log message.
*/
MessageTypeLog = MessageType(4)
)
// https://microsoft.github.io/language-server-protocol/specification#window_showMessageRequest
type ShowMessageRequestClientCapabilities struct {
/**
* Capabilities specific to the `MessageActionItem` type.
*/
MessageActionItem *struct {
/**
* Whether the client supports additional attributes which
* are preserved and sent back to the server in the
* request's response.
*/
AdditionalPropertiesSupport *bool `json:"additionalPropertiesSupport,omitempty"`
} `json:"messageActionItem,omitempty"`
}
const ServerWindowShowMessageRequest = Method("window/showMessageRequest")
type ShowMessageRequestParams struct {
/**
* The message type. See {@link MessageType}
*/
Type MessageType `json:"type"`
/**
* The actual message
*/
Message string `json:"message"`
/**
* The message action items to present.
*/
Actions []MessageActionItem `json:"actions,omitempty"`
}
type MessageActionItem struct {
/**
* A short title like 'Retry', 'Open Log' etc.
*/
Title string `json:"title"`
}
// https://microsoft.github.io/language-server-protocol/specification#window_showDocument
/**
* Client capabilities for the show document request.
*
* @since 3.16.0
*/
type ShowDocumentClientCapabilities struct {
/**
* The client has support for the show document
* request.
*/
Support bool `json:"support"`
}
const ServerWindowShowDocument = Method("window/showDocument")
/**
* Params to show a document.
*
* @since 3.16.0
*/
type ShowDocumentParams struct {
/**
* The document uri to show.
*/
URI URI `json:"uri"`
/**
* Indicates to show the resource in an external program.
* To show for example `https://code.visualstudio.com/`
* in the default WEB browser set `external` to `true`.
*/
External *bool `json:"external,omitempty"`
/**
* An optional property to indicate whether the editor
* showing the document should take focus or not.
* Clients might ignore this property if an external
* program is started.
*/
TakeFocus *bool `json:"takeFocus,omitempty"`
/**
* An optional selection range if the document is a text
* document. Clients might ignore the property if an
* external program is started or the file is not a text
* file.
*/
Selection *Range `json:"selection,omitempty"`
}
/**
* The result of an show document request.
*
* @since 3.16.0
*/
type ShowDocumentResult struct {
/**
* A boolean indicating if the show was successful.
*/
Success bool `json:"success"`
}
// https://microsoft.github.io/language-server-protocol/specification#window_logMessage
const ServerWindowLogMessage = Method("window/logMessage")
type LogMessageParams struct {
/**
* The message type. See {@link MessageType}
*/
Type MessageType `json:"type"`
/**
* The actual message
*/
Message string `json:"message"`
}
// https://microsoft.github.io/language-server-protocol/specification#window_workDoneProgress_create
const ServerWindowWorkDoneProgressCreate = Method("window/workDoneProgress/create")
type WorkDoneProgressCreateParams struct {
/**
* The token to be used to report progress.
*/
Token ProgressToken `json:"token"`
}
// https://microsoft.github.io/language-server-protocol/specification#window_workDoneProgress_cancel
const MethodWindowWorkDoneProgressCancel = Method("window/workDoneProgress/cancel")
type WindowWorkDoneProgressCancelFunc func(context *glsp.Context, params *WorkDoneProgressCancelParams) error
type WorkDoneProgressCancelParams struct {
/**
* The token to be used to report progress.
*/
Token ProgressToken `json:"token"`
}