forked from sourcegraph/javascript-typescript-langserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlang-handler.ts
More file actions
41 lines (38 loc) · 1.62 KB
/
lang-handler.ts
File metadata and controls
41 lines (38 loc) · 1.62 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
import {
InitializeParams,
InitializeResult,
TextDocumentPositionParams,
ReferenceParams,
Location,
Hover,
DocumentSymbolParams,
SymbolInformation,
DidOpenTextDocumentParams,
DidCloseTextDocumentParams,
DidChangeTextDocumentParams,
DidSaveTextDocumentParams
} from 'vscode-languageserver';
import { FileSystem } from './fs';
import * as rt from './request-type';
/**
* LanguageHandler handles LSP requests. It includes a handler method
* for each LSP method that this language server supports. Each
* handler method should be registered to the corresponding
* registration method on IConnection.
*/
export interface LanguageHandler {
initialize(params: InitializeParams, remoteFs: FileSystem, strict: boolean): Promise<InitializeResult>;
shutdown(): Promise<void>;
getDefinition(params: TextDocumentPositionParams): Promise<Location[]>;
getXdefinition(params: TextDocumentPositionParams): Promise<rt.SymbolLocationInformation[]>;
getHover(params: TextDocumentPositionParams): Promise<Hover>;
getReferences(params: ReferenceParams): Promise<Location[]>;
getWorkspaceSymbols(params: rt.WorkspaceSymbolParamsWithLimit): Promise<SymbolInformation[]>;
getDocumentSymbol(params: DocumentSymbolParams): Promise<SymbolInformation[]>;
getWorkspaceReference(params: rt.WorkspaceReferenceParams): Promise<rt.ReferenceInformation[]>;
getDependencies(): Promise<rt.DependencyReference[]>;
didOpen(params: DidOpenTextDocumentParams): Promise<void>;
didChange(params: DidChangeTextDocumentParams): Promise<void>;
didClose(params: DidCloseTextDocumentParams): Promise<void>;
didSave(params: DidSaveTextDocumentParams): Promise<void>;
}