summaryrefslogtreecommitdiff
path: root/vscode/packages/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'vscode/packages/server/src')
-rw-r--r--vscode/packages/server/src/index.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/vscode/packages/server/src/index.ts b/vscode/packages/server/src/index.ts
new file mode 100644
index 000000000..dda369929
--- /dev/null
+++ b/vscode/packages/server/src/index.ts
@@ -0,0 +1,32 @@
+import { getLanguageService } from 'vscode-html-languageservice';
+import { createConnection, ProposedFeatures, TextDocuments, TextDocumentSyncKind } from 'vscode-languageserver';
+import { TextDocument } from 'vscode-languageserver-textdocument';
+
+let connection = createConnection(ProposedFeatures.all);
+let documents: TextDocuments<TextDocument> = new TextDocuments(TextDocument);
+
+const htmlLanguageService = getLanguageService();
+
+connection.onInitialize(() => {
+ return {
+ capabilities: {
+ textDocumentSync: TextDocumentSyncKind.Full,
+ completionProvider: {
+ resolveProvider: false,
+ },
+ },
+ };
+});
+
+connection.onCompletion(async (textDocumentPosition, token) => {
+ console.log(token);
+ const document = documents.get(textDocumentPosition.textDocument.uri);
+ if (!document) {
+ return null;
+ }
+
+ return htmlLanguageService.doComplete(document, textDocumentPosition.position, htmlLanguageService.parseHTMLDocument(document));
+});
+
+documents.listen(connection);
+connection.listen();