summaryrefslogtreecommitdiff
path: root/tools/astro-languageserver/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/astro-languageserver/src/index.ts')
-rw-r--r--tools/astro-languageserver/src/index.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/astro-languageserver/src/index.ts b/tools/astro-languageserver/src/index.ts
index 7c4417d69..e3532f252 100644
--- a/tools/astro-languageserver/src/index.ts
+++ b/tools/astro-languageserver/src/index.ts
@@ -19,6 +19,10 @@ export function startServer() {
connection.onInitialize((evt) => {
const workspaceUris = evt.workspaceFolders?.map((folder) => folder.uri.toString()) ?? [evt.rootUri ?? ''];
+ pluginHost.initialize({
+ filterIncompleteCompletions: !evt.initializationOptions?.dontFilterIncompleteCompletions,
+ definitionLinkSupport: !!evt.capabilities.textDocument?.definition?.linkSupport,
+ });
pluginHost.register(new AstroPlugin(docManager, configManager));
pluginHost.register(new HTMLPlugin(docManager, configManager));
pluginHost.register(new CSSPlugin(docManager, configManager));
@@ -29,6 +33,7 @@ export function startServer() {
capabilities: {
textDocumentSync: TextDocumentSyncKind.Incremental,
foldingRangeProvider: true,
+ definitionProvider: true,
completionProvider: {
resolveProvider: true,
triggerCharacters: [
@@ -102,6 +107,7 @@ export function startServer() {
return pluginHost.resolveCompletion(data, completionItem);
});
+ connection.onDefinition((evt) => pluginHost.getDefinitions(evt.textDocument, evt.position));
connection.onFoldingRanges((evt) => pluginHost.getFoldingRanges(evt.textDocument));
connection.onRequest(TagCloseRequest, (evt: any) => pluginHost.doTagComplete(evt.textDocument, evt.position));