Skip to content

Commit fbef5a8

Browse files
author
Jackson Dean
committed
feat: Adds find references capability to language server.
1 parent 2a0fe1b commit fbef5a8

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Diff for: packages/@css-blocks/language-server/src/Server.ts

+17-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { search as searchForConfig } from "@css-blocks/config";
22
import { BlockFactory, Configuration, CssBlockError, Syntax, resolveConfiguration } from "@css-blocks/core";
3-
import { CompletionItem, Definition, DidChangeConfigurationNotification, DocumentLink, DocumentLinkParams, IConnection, InitializeParams, InitializeResult, TextDocumentChangeEvent, TextDocumentPositionParams, TextDocuments } from "vscode-languageserver";
3+
import { CompletionItem, Definition, DidChangeConfigurationNotification, DocumentLink, DocumentLinkParams, IConnection, InitializeParams, InitializeResult, Location, ReferenceParams, TextDocumentChangeEvent, TextDocumentPositionParams, TextDocuments } from "vscode-languageserver";
44
import { URI } from "vscode-uri";
55

66
import { emberCompletionProvider } from "./completionProviders/emberCompletionProvider";
@@ -111,6 +111,22 @@ export class Server {
111111
return await emberDefinitionProvider(this.documents, this.blockFactory, params, this.pathTransformer);
112112
});
113113

114+
this.connection.onReferences(async (params: ReferenceParams): Promise<Location[]> => {
115+
let uri = params.textDocument.uri;
116+
let locations: Location[] = [];
117+
118+
// TODO: construct glimmer analyzer and see what information we currently
119+
// have to work with.
120+
if (isTemplateFile(uri)) {
121+
let document = this.documents.get(params.textDocument.uri);
122+
if (!document) {
123+
return locations;
124+
}
125+
}
126+
127+
return locations;
128+
});
129+
114130
this.connection.onDocumentLinks(async (params: DocumentLinkParams): Promise<DocumentLink[]> => {
115131
return await blockLinksProvider(this.documents, params, this.config);
116132
});

Diff for: packages/@css-blocks/language-server/src/serverCapabilities.ts

+1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ export const SERVER_CAPABILITIES: ServerCapabilities = {
1313
resolveProvider: false,
1414
triggerCharacters: [ ":", '"', "=", "/" ],
1515
},
16+
referencesProvider: true,
1617
};

0 commit comments

Comments
 (0)