| // Copyright 2018 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // This file contains the corresponding structures to the |
| // "Workspace" part of the LSP specification. |
| |
| package protocol |
| |
| type WorkspaceFolder struct { |
| /** |
| * The associated URI for this workspace folder. |
| */ |
| URI string `json:"uri"` |
| |
| /** |
| * The name of the workspace folder. Defaults to the |
| * uri's basename. |
| */ |
| Name string `json:"name"` |
| } |
| |
| type DidChangeWorkspaceFoldersParams struct { |
| /** |
| * The actual workspace folder change event. |
| */ |
| Event WorkspaceFoldersChangeEvent `json:"event"` |
| } |
| |
| /** |
| * The workspace folder change event. |
| */ |
| type WorkspaceFoldersChangeEvent struct { |
| /** |
| * The array of added workspace folders |
| */ |
| Added []WorkspaceFolder `json:"added"` |
| |
| /** |
| * The array of the removed workspace folders |
| */ |
| Removed []WorkspaceFolder `json:"removed"` |
| } |
| |
| type DidChangeConfigurationParams struct { |
| /** |
| * The actual changed settings |
| */ |
| Settings interface{} `json:"settings"` |
| } |
| |
| type ConfigurationParams struct { |
| Items []ConfigurationItem `json:"items"` |
| } |
| |
| type ConfigurationItem struct { |
| /** |
| * The scope to get the configuration section for. |
| */ |
| ScopeURI string `json:"scopeURI,omitempty"` |
| |
| /** |
| * The configuration section asked for. |
| */ |
| Section string `json:"section,omitempty"` |
| } |
| |
| type DidChangeWatchedFilesParams struct { |
| /** |
| * The actual file events. |
| */ |
| Changes []FileEvent `json:"changes"` |
| } |
| |
| /** |
| * An event describing a file change. |
| */ |
| type FileEvent struct { |
| /** |
| * The file's URI. |
| */ |
| URI DocumentURI `json:"uri"` |
| /** |
| * The change type. |
| */ |
| Type float64 `json:"type"` |
| } |
| |
| /** |
| * The file event type. |
| */ |
| type FileChangeType float64 |
| |
| const ( |
| /** |
| * The file got created. |
| */ |
| Created FileChangeType = 1 |
| /** |
| * The file got changed. |
| */ |
| Changed FileChangeType = 2 |
| /** |
| * The file got deleted. |
| */ |
| Deleted FileChangeType = 3 |
| ) |
| |
| /** |
| * Describe options to be used when registering for text document change events. |
| */ |
| type DidChangeWatchedFilesRegistrationOptions struct { |
| /** |
| * The watchers to register. |
| */ |
| Watchers []FileSystemWatcher `json:"watchers"` |
| } |
| |
| type FileSystemWatcher struct { |
| /** |
| * The glob pattern to watch |
| */ |
| GlobPattern string `json:"globPattern"` |
| |
| /** |
| * The kind of events of interest. If omitted it defaults |
| * to WatchKind.Create | WatchKind.Change | WatchKind.Delete |
| * which is 7. |
| */ |
| Kind float64 `json:"kind,omitempty"` |
| } |
| |
| type WatchKind float64 |
| |
| const ( |
| /** |
| * Interested in create events. |
| */ |
| Create WatchKind = 1 |
| |
| /** |
| * Interested in change events |
| */ |
| Change WatchKind = 2 |
| |
| /** |
| * Interested in delete events |
| */ |
| Delete WatchKind = 4 |
| ) |
| |
| /** |
| * The parameters of a Workspace Symbol Request. |
| */ |
| type WorkspaceSymbolParams struct { |
| /** |
| * A non-empty query string |
| */ |
| Query string `json:"query"` |
| } |
| |
| type ExecuteCommandParams struct { |
| |
| /** |
| * The identifier of the actual command handler. |
| */ |
| Command string `json:"command"` |
| /** |
| * Arguments that the command should be invoked with. |
| */ |
| Arguments []interface{} `json:"arguments,omitempty"` |
| } |
| |
| /** |
| * Execute command registration options. |
| */ |
| type ExecuteCommandRegistrationOptions struct { |
| /** |
| * The commands to be executed on the server |
| */ |
| Commands []string `json:"commands"` |
| } |
| |
| type ApplyWorkspaceEditParams struct { |
| /** |
| * An optional label of the workspace edit. This label is |
| * presented in the user interface for example on an undo |
| * stack to undo the workspace edit. |
| */ |
| Label string `json:"label,omitempty"` |
| |
| /** |
| * The edits to apply. |
| */ |
| Edit WorkspaceEdit `json:"edit"` |
| } |
| |
| type ApplyWorkspaceEditResponse struct { |
| /** |
| * Indicates whether the edit was applied or not. |
| */ |
| Applied bool `json:"applied"` |
| } |