@difizen/libro-cofine-editor 0.1.18 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/editor-contribution.d.ts.map +1 -1
- package/es/editor-contribution.js +2 -1
- package/es/language/python/data/snippets/python.snippets.json +0 -30
- package/es/libro-e2-editor.d.ts +5 -5
- package/es/libro-e2-editor.d.ts.map +1 -1
- package/es/libro-e2-editor.js +68 -65
- package/es/libro-e2-preload.d.ts.map +1 -1
- package/es/libro-e2-preload.js +1 -3
- package/package.json +7 -7
- package/src/editor-contribution.ts +2 -5
- package/src/language/python/data/snippets/python.snippets.json +0 -30
- package/src/libro-e2-editor.ts +55 -39
- package/src/libro-e2-preload.ts +0 -2
- package/es/language/lsp/completion-provider.d.ts +0 -13
- package/es/language/lsp/completion-provider.d.ts.map +0 -1
- package/es/language/lsp/completion-provider.js +0 -294
- package/es/language/lsp/diagnostic-provider.d.ts +0 -27
- package/es/language/lsp/diagnostic-provider.d.ts.map +0 -1
- package/es/language/lsp/diagnostic-provider.js +0 -230
- package/es/language/lsp/format-provider.d.ts +0 -9
- package/es/language/lsp/format-provider.d.ts.map +0 -1
- package/es/language/lsp/format-provider.js +0 -143
- package/es/language/lsp/hover-provider.d.ts +0 -8
- package/es/language/lsp/hover-provider.d.ts.map +0 -1
- package/es/language/lsp/hover-provider.js +0 -136
- package/es/language/lsp/language-feature-provider.d.ts +0 -22
- package/es/language/lsp/language-feature-provider.d.ts.map +0 -1
- package/es/language/lsp/language-feature-provider.js +0 -194
- package/es/language/lsp/lsp-contribution.d.ts +0 -22
- package/es/language/lsp/lsp-contribution.d.ts.map +0 -1
- package/es/language/lsp/lsp-contribution.js +0 -135
- package/es/language/lsp/module.d.ts +0 -2
- package/es/language/lsp/module.d.ts.map +0 -1
- package/es/language/lsp/module.js +0 -3
- package/es/language/lsp/semantic-highlight-provider.d.ts +0 -9
- package/es/language/lsp/semantic-highlight-provider.d.ts.map +0 -1
- package/es/language/lsp/semantic-highlight-provider.js +0 -41
- package/es/language/lsp/signature-help-provider.d.ts +0 -8
- package/es/language/lsp/signature-help-provider.d.ts.map +0 -1
- package/es/language/lsp/signature-help-provider.js +0 -108
- package/es/language/lsp/type-concerters.d.ts +0 -7
- package/es/language/lsp/type-concerters.d.ts.map +0 -1
- package/es/language/lsp/type-concerters.js +0 -35
- package/src/language/lsp/completion-provider.ts +0 -213
- package/src/language/lsp/diagnostic-provider.ts +0 -168
- package/src/language/lsp/format-provider.ts +0 -88
- package/src/language/lsp/hover-provider.ts +0 -98
- package/src/language/lsp/language-feature-provider.ts +0 -107
- package/src/language/lsp/lsp-contribution.ts +0 -129
- package/src/language/lsp/module.ts +0 -5
- package/src/language/lsp/semantic-highlight-provider.ts +0 -26
- package/src/language/lsp/signature-help-provider.ts +0 -65
- package/src/language/lsp/type-concerters.ts +0 -72
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import type { LibroService } from '@difizen/libro-core';
|
|
2
|
-
import { EditorCellView } from '@difizen/libro-core';
|
|
3
|
-
import type { ILSPDocumentConnectionManager } from '@difizen/libro-lsp';
|
|
4
|
-
import type { LSPConnection } from '@difizen/libro-lsp';
|
|
5
|
-
import type monaco from '@difizen/monaco-editor-core';
|
|
6
|
-
import type * as lsp from 'vscode-languageserver-protocol';
|
|
7
|
-
|
|
8
|
-
import { LibroE2Editor } from '../../libro-e2-editor.js';
|
|
9
|
-
|
|
10
|
-
export class LangaugeFeatureProvider {
|
|
11
|
-
protected libroService: LibroService;
|
|
12
|
-
lspDocumentConnectionManager: ILSPDocumentConnectionManager;
|
|
13
|
-
constructor(
|
|
14
|
-
libroService: LibroService,
|
|
15
|
-
lspDocumentConnectionManager: ILSPDocumentConnectionManager,
|
|
16
|
-
) {
|
|
17
|
-
this.libroService = libroService;
|
|
18
|
-
this.lspDocumentConnectionManager = lspDocumentConnectionManager;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async getVirtualDocument() {
|
|
22
|
-
const libroView = this.libroService.active;
|
|
23
|
-
if (!libroView) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
await this.lspDocumentConnectionManager.ready;
|
|
27
|
-
const adapter = this.lspDocumentConnectionManager.adapters.get(libroView.model.id);
|
|
28
|
-
if (!adapter) {
|
|
29
|
-
throw new Error('no adapter');
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
await adapter.ready;
|
|
33
|
-
|
|
34
|
-
// Get the associated virtual document of the opened document
|
|
35
|
-
const virtualDocument = adapter.virtualDocument;
|
|
36
|
-
return virtualDocument;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async getLSPConnection() {
|
|
40
|
-
const virtualDocument = await this.getVirtualDocument();
|
|
41
|
-
if (!virtualDocument) {
|
|
42
|
-
throw new Error('no virtualDocument');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Get the LSP connection of the virtual document.
|
|
46
|
-
const lspConnection = this.lspDocumentConnectionManager.connections.get(
|
|
47
|
-
virtualDocument.uri,
|
|
48
|
-
) as LSPConnection;
|
|
49
|
-
|
|
50
|
-
return lspConnection;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* find cell editor from active notebook by model uri
|
|
55
|
-
* @param model
|
|
56
|
-
* @returns
|
|
57
|
-
*/
|
|
58
|
-
protected getEditorByModel(model: monaco.editor.ITextModel) {
|
|
59
|
-
const cells = this.libroService.active?.model.cells;
|
|
60
|
-
if (!cells) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const cell = cells.find((item) => {
|
|
64
|
-
const editorUuid = model.uri.path.split('.')[0];
|
|
65
|
-
if (!EditorCellView.is(item)) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
const e2editor = item.editor;
|
|
69
|
-
if (!(e2editor instanceof LibroE2Editor)) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
return editorUuid === e2editor.uuid;
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
return (cell as EditorCellView).editor as LibroE2Editor | undefined;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
protected async getEditorFromLSPPosition(range: lsp.Range) {
|
|
79
|
-
try {
|
|
80
|
-
const virtualDocument = await this.getVirtualDocument();
|
|
81
|
-
const currentEditor = virtualDocument?.getEditorAtVirtualLine({
|
|
82
|
-
line: range.start.line,
|
|
83
|
-
ch: range.start.character,
|
|
84
|
-
isVirtual: true,
|
|
85
|
-
});
|
|
86
|
-
const editor = currentEditor?.getEditor();
|
|
87
|
-
if (editor instanceof LibroE2Editor) {
|
|
88
|
-
return editor;
|
|
89
|
-
}
|
|
90
|
-
return;
|
|
91
|
-
} catch (error) {
|
|
92
|
-
console.warn(error);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
protected async getProvider(model: monaco.editor.ITextModel) {
|
|
98
|
-
const editor = this.getEditorByModel(model);
|
|
99
|
-
|
|
100
|
-
if (!editor) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const provider = await editor.lspProvider?.();
|
|
105
|
-
return provider;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { EditorHandlerContribution } from '@difizen/libro-cofine-editor-core';
|
|
2
|
-
import { LibroService } from '@difizen/libro-core';
|
|
3
|
-
import { ILSPDocumentConnectionManager } from '@difizen/libro-lsp';
|
|
4
|
-
import { Disposable, DisposableCollection, inject, singleton } from '@difizen/mana-app';
|
|
5
|
-
import type { editor } from '@difizen/monaco-editor-core';
|
|
6
|
-
import { languages } from '@difizen/monaco-editor-core';
|
|
7
|
-
// import { ILanguageFeaturesService } from '@difizen/monaco-editor-core/esm/vs/editor/common/services/languageFeatures.js';
|
|
8
|
-
// import { StandaloneServices } from '@difizen/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices.js';
|
|
9
|
-
// import { getSingletonServiceDescriptors } from '@difizen/monaco-editor-core/esm/vs/platform/instantiation/common/extensions.js';
|
|
10
|
-
|
|
11
|
-
import { LibroE2URIScheme } from '../../libro-e2-editor.js';
|
|
12
|
-
|
|
13
|
-
import { CompletionProvider } from './completion-provider.js';
|
|
14
|
-
import { DiagnosticProvider } from './diagnostic-provider.js';
|
|
15
|
-
import { HoverProvider } from './hover-provider.js';
|
|
16
|
-
import { SignatureHelpProvider } from './signature-help-provider.js';
|
|
17
|
-
|
|
18
|
-
@singleton({
|
|
19
|
-
contrib: [EditorHandlerContribution],
|
|
20
|
-
})
|
|
21
|
-
export class LSPContribution implements EditorHandlerContribution {
|
|
22
|
-
@inject(LibroService) protected readonly libroService: LibroService;
|
|
23
|
-
|
|
24
|
-
@inject(ILSPDocumentConnectionManager)
|
|
25
|
-
protected readonly lspDocumentConnectionManager: ILSPDocumentConnectionManager;
|
|
26
|
-
|
|
27
|
-
protected toDispose = new DisposableCollection();
|
|
28
|
-
|
|
29
|
-
protected lspLangs = ['python'];
|
|
30
|
-
|
|
31
|
-
beforeCreate() {
|
|
32
|
-
//
|
|
33
|
-
}
|
|
34
|
-
afterCreate(editor: any) {
|
|
35
|
-
this.registerLSPFeature(editor as editor.IStandaloneCodeEditor);
|
|
36
|
-
// const languageFeaturesService = getOrigin(StandaloneServices).get(
|
|
37
|
-
// ILanguageFeaturesService,
|
|
38
|
-
// );
|
|
39
|
-
// for (const [id, descriptor] of getSingletonServiceDescriptors()) {
|
|
40
|
-
// if (id === ILanguageFeaturesService) {
|
|
41
|
-
// console.log('lll', descriptor);
|
|
42
|
-
// }
|
|
43
|
-
// }
|
|
44
|
-
// console.log(
|
|
45
|
-
// StandaloneServices,
|
|
46
|
-
// StandaloneServices.initialize(),
|
|
47
|
-
// getOrigin(languageFeaturesService),
|
|
48
|
-
// );
|
|
49
|
-
}
|
|
50
|
-
canHandle(language: string) {
|
|
51
|
-
return this.lspLangs.includes(language);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
getLanguageSelector(model: editor.ITextModel): languages.LanguageFilter {
|
|
55
|
-
return {
|
|
56
|
-
scheme: LibroE2URIScheme,
|
|
57
|
-
pattern: model.uri.path,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
registerLSPFeature(editor: editor.IStandaloneCodeEditor) {
|
|
62
|
-
const model = editor.getModel();
|
|
63
|
-
if (!model) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
this.toDispose.push(
|
|
68
|
-
languages.registerCompletionItemProvider(
|
|
69
|
-
this.getLanguageSelector(model),
|
|
70
|
-
new CompletionProvider(this.libroService, this.lspDocumentConnectionManager),
|
|
71
|
-
),
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
this.toDispose.push(
|
|
75
|
-
languages.registerHoverProvider(
|
|
76
|
-
this.getLanguageSelector(model),
|
|
77
|
-
new HoverProvider(this.libroService, this.lspDocumentConnectionManager),
|
|
78
|
-
),
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
const provider = new DiagnosticProvider(
|
|
82
|
-
this.libroService,
|
|
83
|
-
this.lspDocumentConnectionManager,
|
|
84
|
-
);
|
|
85
|
-
this.toDispose.push(Disposable.create(() => provider.dispose()));
|
|
86
|
-
|
|
87
|
-
this.toDispose.push(
|
|
88
|
-
languages.registerSignatureHelpProvider(
|
|
89
|
-
this.getLanguageSelector(model),
|
|
90
|
-
new SignatureHelpProvider(this.libroService, this.lspDocumentConnectionManager),
|
|
91
|
-
),
|
|
92
|
-
);
|
|
93
|
-
// const formatProvider = new FormatProvider(
|
|
94
|
-
// this.libroService,
|
|
95
|
-
// lspConnection,
|
|
96
|
-
// virtualDocument,
|
|
97
|
-
// );
|
|
98
|
-
// languages.registerDocumentFormattingEditProvider(
|
|
99
|
-
// this.getLanguageSelector(model),
|
|
100
|
-
// formatProvider,
|
|
101
|
-
// );
|
|
102
|
-
// languages.registerDocumentRangeFormattingEditProvider(
|
|
103
|
-
// this.getLanguageSelector(model),
|
|
104
|
-
// formatProvider,
|
|
105
|
-
// );
|
|
106
|
-
return;
|
|
107
|
-
|
|
108
|
-
// // SignatureHelp
|
|
109
|
-
// languages.registerSignatureHelpProvider(id, new SignatureHelpProvider(this._worker));
|
|
110
|
-
|
|
111
|
-
// // 定义跳转;
|
|
112
|
-
// languages.registerDefinitionProvider(id, new DefinitionAdapter(this._worker));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
protected isDisposed = false;
|
|
116
|
-
|
|
117
|
-
get disposed() {
|
|
118
|
-
return this.isDisposed;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
disposeLanguageFeature() {
|
|
122
|
-
this.toDispose.dispose();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
dispose() {
|
|
126
|
-
this.disposeLanguageFeature();
|
|
127
|
-
this.isDisposed = false;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
-
import type monaco from '@difizen/monaco-editor-core';
|
|
3
|
-
|
|
4
|
-
import { LangaugeFeatureProvider } from './language-feature-provider.js';
|
|
5
|
-
|
|
6
|
-
export class SemanticHighlightProvider
|
|
7
|
-
extends LangaugeFeatureProvider
|
|
8
|
-
implements monaco.languages.DocumentSemanticTokensProvider
|
|
9
|
-
{
|
|
10
|
-
onDidChange?: monaco.IEvent<void> | undefined;
|
|
11
|
-
getLegend(): monaco.languages.SemanticTokensLegend {
|
|
12
|
-
throw new Error('Method not implemented.');
|
|
13
|
-
}
|
|
14
|
-
provideDocumentSemanticTokens(
|
|
15
|
-
model: monaco.editor.ITextModel,
|
|
16
|
-
lastResultId: string | null,
|
|
17
|
-
token: monaco.CancellationToken,
|
|
18
|
-
): monaco.languages.ProviderResult<
|
|
19
|
-
monaco.languages.SemanticTokens | monaco.languages.SemanticTokensEdits
|
|
20
|
-
> {
|
|
21
|
-
throw new Error('Method not implemented.');
|
|
22
|
-
}
|
|
23
|
-
releaseDocumentSemanticTokens(resultId: string | undefined): void {
|
|
24
|
-
throw new Error('Method not implemented.');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type monaco from '@difizen/monaco-editor-core';
|
|
2
|
-
|
|
3
|
-
import { LangaugeFeatureProvider } from './language-feature-provider.js';
|
|
4
|
-
|
|
5
|
-
export class SignatureHelpProvider
|
|
6
|
-
extends LangaugeFeatureProvider
|
|
7
|
-
implements monaco.languages.SignatureHelpProvider
|
|
8
|
-
{
|
|
9
|
-
signatureHelpTriggerCharacters: ['(', ',', ')'];
|
|
10
|
-
signatureHelpRetriggerCharacters?: readonly string[] | undefined;
|
|
11
|
-
provideSignatureHelp = async (
|
|
12
|
-
model: monaco.editor.ITextModel,
|
|
13
|
-
position: monaco.Position,
|
|
14
|
-
token: monaco.CancellationToken,
|
|
15
|
-
context: monaco.languages.SignatureHelpContext,
|
|
16
|
-
): Promise<monaco.languages.SignatureHelpResult | undefined> => {
|
|
17
|
-
const editor = this.getEditorByModel(model);
|
|
18
|
-
if (!editor || editor.getOption('lspEnabled') !== true) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const provider = await this.getProvider(model);
|
|
22
|
-
if (!provider) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const { lspConnection, editor: docEditor, virtualDocument: doc } = provider;
|
|
27
|
-
|
|
28
|
-
const virtualPos = doc.transformEditorToVirtual(docEditor, {
|
|
29
|
-
line: position.lineNumber - 1, // lsp is zero based, monaco is one based
|
|
30
|
-
ch: position.column - 1,
|
|
31
|
-
isEditor: true,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
if (!virtualPos) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const sigInfo = await lspConnection.clientRequests[
|
|
39
|
-
'textDocument/signatureHelp'
|
|
40
|
-
].request({
|
|
41
|
-
position: { line: virtualPos.line, character: virtualPos.ch },
|
|
42
|
-
textDocument: {
|
|
43
|
-
uri: doc.documentInfo.uri,
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
return {
|
|
48
|
-
value: {
|
|
49
|
-
signatures: sigInfo.signatures.map((sig: any) => {
|
|
50
|
-
return {
|
|
51
|
-
label: sig.label,
|
|
52
|
-
documentation: sig.documentation,
|
|
53
|
-
parameters: sig.parameters ?? [],
|
|
54
|
-
activeParameter: sig.activeParameter,
|
|
55
|
-
};
|
|
56
|
-
}),
|
|
57
|
-
activeSignature: sigInfo.activeSignature ?? 0,
|
|
58
|
-
activeParameter: sigInfo.activeParameter ?? 0,
|
|
59
|
-
},
|
|
60
|
-
dispose: () => {
|
|
61
|
-
//
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { languages } from '@difizen/monaco-editor-core';
|
|
2
|
-
import * as lsp from 'vscode-languageserver-protocol';
|
|
3
|
-
|
|
4
|
-
const _from = new Map<lsp.CompletionItemKind, languages.CompletionItemKind>([
|
|
5
|
-
[lsp.CompletionItemKind.Method, languages.CompletionItemKind.Method],
|
|
6
|
-
[lsp.CompletionItemKind.Function, languages.CompletionItemKind.Function],
|
|
7
|
-
[lsp.CompletionItemKind.Constructor, languages.CompletionItemKind.Constructor],
|
|
8
|
-
[lsp.CompletionItemKind.Field, languages.CompletionItemKind.Field],
|
|
9
|
-
[lsp.CompletionItemKind.Variable, languages.CompletionItemKind.Variable],
|
|
10
|
-
[lsp.CompletionItemKind.Class, languages.CompletionItemKind.Class],
|
|
11
|
-
[lsp.CompletionItemKind.Interface, languages.CompletionItemKind.Interface],
|
|
12
|
-
[lsp.CompletionItemKind.Struct, languages.CompletionItemKind.Struct],
|
|
13
|
-
[lsp.CompletionItemKind.Module, languages.CompletionItemKind.Module],
|
|
14
|
-
[lsp.CompletionItemKind.Property, languages.CompletionItemKind.Property],
|
|
15
|
-
[lsp.CompletionItemKind.Unit, languages.CompletionItemKind.Unit],
|
|
16
|
-
[lsp.CompletionItemKind.Value, languages.CompletionItemKind.Value],
|
|
17
|
-
[lsp.CompletionItemKind.Constant, languages.CompletionItemKind.Constant],
|
|
18
|
-
[lsp.CompletionItemKind.Enum, languages.CompletionItemKind.Enum],
|
|
19
|
-
[lsp.CompletionItemKind.EnumMember, languages.CompletionItemKind.EnumMember],
|
|
20
|
-
[lsp.CompletionItemKind.Keyword, languages.CompletionItemKind.Keyword],
|
|
21
|
-
[lsp.CompletionItemKind.Snippet, languages.CompletionItemKind.Snippet],
|
|
22
|
-
[lsp.CompletionItemKind.Text, languages.CompletionItemKind.Text],
|
|
23
|
-
[lsp.CompletionItemKind.Color, languages.CompletionItemKind.Color],
|
|
24
|
-
[lsp.CompletionItemKind.File, languages.CompletionItemKind.File],
|
|
25
|
-
[lsp.CompletionItemKind.Reference, languages.CompletionItemKind.Reference],
|
|
26
|
-
[lsp.CompletionItemKind.Folder, languages.CompletionItemKind.Folder],
|
|
27
|
-
[lsp.CompletionItemKind.Event, languages.CompletionItemKind.Event],
|
|
28
|
-
[lsp.CompletionItemKind.Operator, languages.CompletionItemKind.Operator],
|
|
29
|
-
[lsp.CompletionItemKind.TypeParameter, languages.CompletionItemKind.TypeParameter],
|
|
30
|
-
// [lsp.CompletionItemKind.Issue, languages.CompletionItemKind.Issue],
|
|
31
|
-
// [lsp.CompletionItemKind.User, languages.CompletionItemKind.User],
|
|
32
|
-
]);
|
|
33
|
-
|
|
34
|
-
const _to = new Map<languages.CompletionItemKind, lsp.CompletionItemKind>([
|
|
35
|
-
[languages.CompletionItemKind.Method, lsp.CompletionItemKind.Method],
|
|
36
|
-
[languages.CompletionItemKind.Function, lsp.CompletionItemKind.Function],
|
|
37
|
-
[languages.CompletionItemKind.Constructor, lsp.CompletionItemKind.Constructor],
|
|
38
|
-
[languages.CompletionItemKind.Field, lsp.CompletionItemKind.Field],
|
|
39
|
-
[languages.CompletionItemKind.Variable, lsp.CompletionItemKind.Variable],
|
|
40
|
-
[languages.CompletionItemKind.Class, lsp.CompletionItemKind.Class],
|
|
41
|
-
[languages.CompletionItemKind.Interface, lsp.CompletionItemKind.Interface],
|
|
42
|
-
[languages.CompletionItemKind.Struct, lsp.CompletionItemKind.Struct],
|
|
43
|
-
[languages.CompletionItemKind.Module, lsp.CompletionItemKind.Module],
|
|
44
|
-
[languages.CompletionItemKind.Property, lsp.CompletionItemKind.Property],
|
|
45
|
-
[languages.CompletionItemKind.Unit, lsp.CompletionItemKind.Unit],
|
|
46
|
-
[languages.CompletionItemKind.Value, lsp.CompletionItemKind.Value],
|
|
47
|
-
[languages.CompletionItemKind.Constant, lsp.CompletionItemKind.Constant],
|
|
48
|
-
[languages.CompletionItemKind.Enum, lsp.CompletionItemKind.Enum],
|
|
49
|
-
[languages.CompletionItemKind.EnumMember, lsp.CompletionItemKind.EnumMember],
|
|
50
|
-
[languages.CompletionItemKind.Keyword, lsp.CompletionItemKind.Keyword],
|
|
51
|
-
[languages.CompletionItemKind.Snippet, lsp.CompletionItemKind.Snippet],
|
|
52
|
-
[languages.CompletionItemKind.Text, lsp.CompletionItemKind.Text],
|
|
53
|
-
[languages.CompletionItemKind.Color, lsp.CompletionItemKind.Color],
|
|
54
|
-
[languages.CompletionItemKind.File, lsp.CompletionItemKind.File],
|
|
55
|
-
[languages.CompletionItemKind.Reference, lsp.CompletionItemKind.Reference],
|
|
56
|
-
[languages.CompletionItemKind.Folder, lsp.CompletionItemKind.Folder],
|
|
57
|
-
[languages.CompletionItemKind.Event, lsp.CompletionItemKind.Event],
|
|
58
|
-
[languages.CompletionItemKind.Operator, lsp.CompletionItemKind.Operator],
|
|
59
|
-
[languages.CompletionItemKind.TypeParameter, lsp.CompletionItemKind.TypeParameter],
|
|
60
|
-
// [languages.CompletionItemKind.User, lsp.CompletionItemKind.User],
|
|
61
|
-
// [languages.CompletionItemKind.Issue, lsp.CompletionItemKind.Issue],
|
|
62
|
-
]);
|
|
63
|
-
|
|
64
|
-
export class CompletionItemKind {
|
|
65
|
-
static from(kind: lsp.CompletionItemKind): languages.CompletionItemKind {
|
|
66
|
-
return _from.get(kind) ?? languages.CompletionItemKind.Property;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
static to(kind: languages.CompletionItemKind): lsp.CompletionItemKind {
|
|
70
|
-
return _to.get(kind) ?? lsp.CompletionItemKind.Property;
|
|
71
|
-
}
|
|
72
|
-
}
|