@elurjs/language-server 1.1.0 → 1.2.0
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/dist/capabilities.d.ts +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/codeActions/provider.d.ts +1 -1
- package/dist/codeActions/provider.d.ts.map +1 -1
- package/dist/codeActions/provider.js +1 -1
- package/dist/codeActions/provider.js.map +1 -1
- package/dist/completion/directives.d.ts +1 -1
- package/dist/completion/directives.d.ts.map +1 -1
- package/dist/completion/directives.js +1 -1
- package/dist/completion/directives.js.map +1 -1
- package/dist/completion/events.d.ts +1 -1
- package/dist/completion/events.d.ts.map +1 -1
- package/dist/completion/events.js +1 -1
- package/dist/completion/events.js.map +1 -1
- package/dist/completion/modifiers.d.ts +1 -1
- package/dist/completion/modifiers.d.ts.map +1 -1
- package/dist/completion/modifiers.js +1 -1
- package/dist/completion/modifiers.js.map +1 -1
- package/dist/completion/provider.d.ts +1 -1
- package/dist/completion/provider.d.ts.map +1 -1
- package/dist/completion/provider.js +8 -2
- package/dist/completion/provider.js.map +1 -1
- package/dist/diagnostics/provider.d.ts +2 -2
- package/dist/diagnostics/provider.d.ts.map +1 -1
- package/dist/diagnostics/provider.js +13 -3
- package/dist/diagnostics/provider.js.map +1 -1
- package/dist/diagnostics/rules.d.ts +2 -1
- package/dist/diagnostics/rules.d.ts.map +1 -1
- package/dist/formatting/provider.d.ts +1 -1
- package/dist/formatting/provider.d.ts.map +1 -1
- package/dist/formatting/provider.js +12 -5
- package/dist/formatting/provider.js.map +1 -1
- package/dist/formatting/renderer.js.map +1 -1
- package/dist/hover/provider.d.ts +1 -1
- package/dist/hover/provider.d.ts.map +1 -1
- package/dist/hover/provider.js +3 -2
- package/dist/hover/provider.js.map +1 -1
- package/dist/modifiers/constants.d.ts.map +1 -1
- package/dist/server.d.ts +3 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -3
- package/dist/server.js.map +1 -1
- package/dist/template/detector.d.ts +0 -11
- package/dist/template/detector.d.ts.map +1 -1
- package/dist/template/detector.js +1 -19
- package/dist/template/detector.js.map +1 -1
- package/dist/template/parser.d.ts.map +1 -1
- package/dist/utils/config.d.ts +15 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +38 -0
- package/dist/utils/config.js.map +1 -1
- package/package.json +11 -8
- package/dist/template/scope.d.ts +0 -18
- package/dist/template/scope.d.ts.map +0 -1
- package/dist/template/scope.js +0 -44
- package/dist/template/scope.js.map +0 -1
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* capabilities.ts — LSP capability declarations.
|
|
3
3
|
*/
|
|
4
|
-
import type { InitializeResult } from "vscode-languageserver/node
|
|
4
|
+
import type { InitializeResult } from "vscode-languageserver/node";
|
|
5
5
|
export declare function getCapabilities(): InitializeResult;
|
|
6
6
|
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,wBAAgB,eAAe,IAAI,gBAAgB,CAgBlD"}
|
package/dist/capabilities.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* capabilities.ts — LSP capability declarations.
|
|
3
3
|
*/
|
|
4
|
-
import { TextDocumentSyncKind } from "vscode-languageserver/node
|
|
4
|
+
import { TextDocumentSyncKind } from "vscode-languageserver/node";
|
|
5
5
|
export function getCapabilities() {
|
|
6
6
|
return {
|
|
7
7
|
capabilities: {
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,YAAY,EAAE;YACZ,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAClD,kBAAkB,EAAE;gBAClB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAClC,eAAe,EAAE,IAAI;aACtB;YACD,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,UAAU,CAAC;aAC9B;YACD,0BAA0B,EAAE,IAAI;YAChC,+BAA+B,EAAE,IAAI;SACtC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Code actions provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import type { Connection, TextDocuments } from "vscode-languageserver/node
|
|
4
|
+
import type { Connection, TextDocuments } from "vscode-languageserver/node";
|
|
5
5
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
6
6
|
export declare function registerCodeActions(connection: Connection, documents: TextDocuments<TextDocument>): void;
|
|
7
7
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/codeActions/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/codeActions/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACrC,IAAI,CA0CN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Code actions provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import { CodeActionKind } from "vscode-languageserver/node
|
|
4
|
+
import { CodeActionKind } from "vscode-languageserver/node";
|
|
5
5
|
import { parseEventBindingChain } from "../modifiers/parser.js";
|
|
6
6
|
import { createModifierQuickFixes } from "./fixes.js";
|
|
7
7
|
export function registerCodeActions(connection, documents) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/codeActions/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAc,cAAc,EAAiB,MAAM
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/codeActions/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAc,cAAc,EAAiB,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,UAAU,mBAAmB,CACjC,UAAsB,EACtB,SAAsC;IAEtC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAS;YAE3C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAE3E,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAe;oBACzB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI,EAAE,cAAc,CAAC,QAAQ;oBAC7B,WAAW,EAAE,CAAC,UAAU,CAAC;oBACzB,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACd;oCACE,KAAK,EAAE,UAAU,CAAC,KAAK;oCACvB,OAAO,EAAE,GAAG,CAAC,KAAK;iCACnB;6BACF;yBACF;qBACe;oBAClB,WAAW,EACT,GAAG,CAAC,EAAE,KAAK,4BAA4B;wBACvC,GAAG,CAAC,EAAE,KAAK,cAAc;wBACzB,GAAG,CAAC,EAAE,KAAK,0BAA0B;iBACxC,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* directives.ts — Directive attribute completion items (ref, show, hide).
|
|
3
3
|
*/
|
|
4
|
-
import type { CompletionItem } from "vscode-languageserver/node
|
|
4
|
+
import type { CompletionItem } from "vscode-languageserver/node";
|
|
5
5
|
export declare function buildDirectiveCompletions(): CompletionItem[];
|
|
6
6
|
//# sourceMappingURL=directives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/completion/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/completion/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,wBAAgB,yBAAyB,IAAI,cAAc,EAAE,CAS5D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* directives.ts — Directive attribute completion items (ref, show, hide).
|
|
3
3
|
*/
|
|
4
4
|
import { DIRECTIVE_ATTRIBUTES } from "../modifiers/constants.js";
|
|
5
|
-
import { CompletionItemKind } from "vscode-languageserver/node
|
|
5
|
+
import { CompletionItemKind } from "vscode-languageserver/node";
|
|
6
6
|
export function buildDirectiveCompletions() {
|
|
7
7
|
return DIRECTIVE_ATTRIBUTES.map((directive) => ({
|
|
8
8
|
label: directive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/completion/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/completion/directives.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,yBAAyB;IACvC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB,CAAC,QAAQ;QACjC,UAAU,EAAE,GAAG,SAAS,QAAQ;QAChC,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,6BAA6B,SAAS,GAAG;KACzD,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* events.ts — Event name completion items.
|
|
3
3
|
*/
|
|
4
|
-
import type { CompletionItem } from "vscode-languageserver/node
|
|
4
|
+
import type { CompletionItem } from "vscode-languageserver/node";
|
|
5
5
|
export declare function buildEventCompletions(prefix: string): CompletionItem[];
|
|
6
6
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/completion/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/completion/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAatE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* events.ts — Event name completion items.
|
|
3
3
|
*/
|
|
4
4
|
import { EVENT_BINDINGS } from "../modifiers/constants.js";
|
|
5
|
-
import { CompletionItemKind } from "vscode-languageserver/node
|
|
5
|
+
import { CompletionItemKind } from "vscode-languageserver/node";
|
|
6
6
|
export function buildEventCompletions(prefix) {
|
|
7
7
|
const p = (prefix || "").toLowerCase();
|
|
8
8
|
return EVENT_BINDINGS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/completion/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/completion/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,cAAc;SAClB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,KAAK,EAAE,IAAI,SAAS,EAAE;QACtB,IAAI,EAAE,kBAAkB,CAAC,KAAK;QAC9B,UAAU,EAAE,IAAI,SAAS,EAAE;QAC3B,UAAU,EAAE,IAAI,SAAS,QAAQ;QACjC,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,oBAAoB;QAC5B,aAAa,EAAE,QAAQ,SAAS,gCAAgC;KACjE,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* modifiers.ts — Modifier completion items.
|
|
3
3
|
*/
|
|
4
|
-
import type { CompletionItem } from "vscode-languageserver/node
|
|
4
|
+
import type { CompletionItem } from "vscode-languageserver/node";
|
|
5
5
|
export declare function buildModifierCompletions(eventName: string, usedModifiers: string[], modifierPrefix: string): CompletionItem[];
|
|
6
6
|
//# sourceMappingURL=modifiers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifiers.d.ts","sourceRoot":"","sources":["../../src/completion/modifiers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"modifiers.d.ts","sourceRoot":"","sources":["../../src/completion/modifiers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,GACrB,cAAc,EAAE,CAWlB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { getModifierSuggestions } from "../modifiers/suggestions.js";
|
|
5
5
|
import { MODIFIER_HELP } from "../modifiers/constants.js";
|
|
6
6
|
import { isKeyEventName } from "../modifiers/analyzer.js";
|
|
7
|
-
import { CompletionItemKind } from "vscode-languageserver/node
|
|
7
|
+
import { CompletionItemKind } from "vscode-languageserver/node";
|
|
8
8
|
export function buildModifierCompletions(eventName, usedModifiers, modifierPrefix) {
|
|
9
9
|
const suggestions = getModifierSuggestions(eventName, usedModifiers, modifierPrefix);
|
|
10
10
|
const isKey = isKeyEventName(eventName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifiers.js","sourceRoot":"","sources":["../../src/completion/modifiers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"modifiers.js","sourceRoot":"","sources":["../../src/completion/modifiers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,aAAuB,EACvB,cAAsB;IAEtB,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAExC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,IAAI,QAAQ,EAAE;QACrB,IAAI,EAAE,kBAAkB,CAAC,UAAU;QACnC,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qBAAqB;QACjE,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,qBAAqB;KAChE,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Completion provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import type { Connection, TextDocuments } from "vscode-languageserver/node
|
|
4
|
+
import type { Connection, TextDocuments } from "vscode-languageserver/node";
|
|
5
5
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
6
6
|
export declare function registerCompletion(connection: Connection, documents: TextDocuments<TextDocument>): void;
|
|
7
7
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/completion/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/completion/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAavE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACrC,IAAI,CAiDN"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Completion provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import { Position } from "vscode-languageserver/node
|
|
4
|
+
import { Position } from "vscode-languageserver/node";
|
|
5
5
|
import { parseEventContextFromPrefix } from "../modifiers/parser.js";
|
|
6
6
|
import { isInsideTaggedTemplate } from "../template/detector.js";
|
|
7
|
+
import { getConfig } from "../utils/config.js";
|
|
7
8
|
import { buildEventCompletions } from "./events.js";
|
|
8
9
|
import { buildModifierCompletions } from "./modifiers.js";
|
|
9
10
|
import { buildDirectiveCompletions } from "./directives.js";
|
|
@@ -16,9 +17,12 @@ export function registerCompletion(connection, documents) {
|
|
|
16
17
|
if (!document || !SUPPORTED_LANGUAGES.has(document.languageId)) {
|
|
17
18
|
return null;
|
|
18
19
|
}
|
|
20
|
+
const config = getConfig();
|
|
21
|
+
if (!config.enableCompletions)
|
|
22
|
+
return null;
|
|
19
23
|
const text = document.getText();
|
|
20
24
|
const offset = document.offsetAt(params.position);
|
|
21
|
-
if (!isInsideTaggedTemplate(text, offset)) {
|
|
25
|
+
if (!isInsideTaggedTemplate(text, offset, config.templateTags)) {
|
|
22
26
|
return null;
|
|
23
27
|
}
|
|
24
28
|
const linePrefix = document.getText({
|
|
@@ -27,6 +31,8 @@ export function registerCompletion(connection, documents) {
|
|
|
27
31
|
});
|
|
28
32
|
const eventContext = parseEventContextFromPrefix(linePrefix);
|
|
29
33
|
if (eventContext?.mode === "modifier") {
|
|
34
|
+
if (!config.enableModifierSuggestions)
|
|
35
|
+
return null;
|
|
30
36
|
const items = buildModifierCompletions(eventContext.eventName || "", eventContext.usedModifiers || [], eventContext.modifierPrefix || "");
|
|
31
37
|
return { items, isIncomplete: false };
|
|
32
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/completion/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAkC,QAAQ,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/completion/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAkC,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB;CACjE,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAChC,UAAsB,EACtB,SAAsC;IAEtC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,GAAG,EAAE,MAAM,CAAC,QAAQ;SACrB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,YAAY,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,yBAAyB;gBAAE,OAAO,IAAI,CAAC;YACnD,MAAM,KAAK,GAAG,wBAAwB,CACpC,YAAY,CAAC,SAAS,IAAI,EAAE,EAC5B,YAAY,CAAC,aAAa,IAAI,EAAE,EAChC,YAAY,CAAC,cAAc,IAAI,EAAE,CAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAoB,CAAC;QAC1D,CAAC;QAED,IAAI,YAAY,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAoB,CAAC;QAC1D,CAAC;QAED,qCAAqC;QACrC,MAAM,KAAK,GAAqB;YAC9B,GAAG,qBAAqB,CAAC,EAAE,CAAC;YAC5B,GAAG,yBAAyB,EAAE;SAC/B,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAoB,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Diagnostics provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import type { Connection, TextDocuments } from "vscode-languageserver/node
|
|
4
|
+
import type { Connection, TextDocuments } from "vscode-languageserver/node";
|
|
5
5
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
6
|
-
export declare function registerDiagnostics(connection: Connection, documents: TextDocuments<TextDocument>): void;
|
|
6
|
+
export declare function registerDiagnostics(connection: Connection, documents: TextDocuments<TextDocument>): () => void;
|
|
7
7
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/diagnostics/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/diagnostics/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AASvE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACrC,MAAM,IAAI,CAuDZ"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Diagnostics provider for the LSP server.
|
|
3
3
|
*/
|
|
4
|
-
import { DiagnosticSeverity } from "vscode-languageserver/node
|
|
4
|
+
import { DiagnosticSeverity } from "vscode-languageserver/node";
|
|
5
5
|
import { scanDiagnostics } from "./rules.js";
|
|
6
|
+
import { getConfig } from "../utils/config.js";
|
|
6
7
|
const SUPPORTED_LANGUAGES = new Set([
|
|
7
8
|
"javascript", "typescript", "javascriptreact", "typescriptreact",
|
|
8
9
|
]);
|
|
@@ -15,13 +16,17 @@ export function registerDiagnostics(connection, documents) {
|
|
|
15
16
|
: "other";
|
|
16
17
|
if (scheme !== "file" && scheme !== "untitled")
|
|
17
18
|
return;
|
|
19
|
+
const config = getConfig();
|
|
20
|
+
if (!config.enableDiagnostics) {
|
|
21
|
+
connection.sendDiagnostics({ uri: document.uri, diagnostics: [] });
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
18
24
|
const text = document.getText();
|
|
19
25
|
if (!text.includes("@")) {
|
|
20
26
|
connection.sendDiagnostics({ uri: document.uri, diagnostics: [] });
|
|
21
27
|
return;
|
|
22
28
|
}
|
|
23
|
-
const
|
|
24
|
-
const rawDiags = scanDiagnostics(text, enableStyleHints);
|
|
29
|
+
const rawDiags = scanDiagnostics(text, config.enableStyleHints);
|
|
25
30
|
const diagnostics = rawDiags.map((d) => {
|
|
26
31
|
const severity = d.severity === "information"
|
|
27
32
|
? DiagnosticSeverity.Information
|
|
@@ -45,5 +50,10 @@ export function registerDiagnostics(connection, documents) {
|
|
|
45
50
|
documents.onDidClose((e) => {
|
|
46
51
|
connection.sendDiagnostics({ uri: e.document.uri, diagnostics: [] });
|
|
47
52
|
});
|
|
53
|
+
// Return a revalidation function for the server to call when
|
|
54
|
+
// configuration changes (e.g. enableDiagnostics toggled).
|
|
55
|
+
return () => {
|
|
56
|
+
documents.all().forEach(validate);
|
|
57
|
+
};
|
|
48
58
|
}
|
|
49
59
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/diagnostics/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAc,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/diagnostics/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Ported from elur-vscode/extension.js validateDocument().
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
interface DiagnosticData {
|
|
7
7
|
code: string;
|
|
8
8
|
eventName: string;
|
|
9
9
|
modifiers: string[];
|
|
@@ -26,4 +26,5 @@ export interface TextDiagnostic {
|
|
|
26
26
|
* Scans text for @event.modifier chains and returns diagnostics for all issues.
|
|
27
27
|
*/
|
|
28
28
|
export declare function scanDiagnostics(text: string, enableStyleHints: boolean): TextDiagnostic[];
|
|
29
|
+
export {};
|
|
29
30
|
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/diagnostics/rules.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/diagnostics/rules.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,EAAE,cAAc,CAAC;CACtB;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,OAAO,GACxB,cAAc,EAAE,CAqClB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Formats html`` tagged template regions in JS/TS documents.
|
|
5
5
|
* Uses a tree-based formatter that produces JSX/Lit-style output.
|
|
6
6
|
*/
|
|
7
|
-
import type { Connection, TextDocuments } from "vscode-languageserver/node
|
|
7
|
+
import type { Connection, TextDocuments } from "vscode-languageserver/node";
|
|
8
8
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
9
9
|
export declare function registerFormatting(connection: Connection, documents: TextDocuments<TextDocument>): void;
|
|
10
10
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/formatting/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/formatting/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAkBvE,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACrC,IAAI,CAoFN"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* Uses a tree-based formatter that produces JSX/Lit-style output.
|
|
6
6
|
*/
|
|
7
7
|
import { findTemplateRegions } from "../template/detector.js";
|
|
8
|
+
import { getConfig } from "../utils/config.js";
|
|
8
9
|
import { formatTemplateInner } from "./printer.js";
|
|
9
|
-
function formatTemplateRegion(region, indentChar
|
|
10
|
+
function formatTemplateRegion(region, indentChar) {
|
|
10
11
|
const { inner, baseIndent } = region;
|
|
11
12
|
if (inner.trim() === "")
|
|
12
13
|
return null;
|
|
@@ -20,11 +21,14 @@ export function registerFormatting(connection, documents) {
|
|
|
20
21
|
const document = documents.get(params.textDocument.uri);
|
|
21
22
|
if (!document)
|
|
22
23
|
return null;
|
|
24
|
+
const config = getConfig();
|
|
25
|
+
if (!config.enableFormatting)
|
|
26
|
+
return null;
|
|
23
27
|
const text = document.getText();
|
|
24
28
|
const tabSize = params.options.tabSize ?? 2;
|
|
25
29
|
const insertSpaces = params.options.insertSpaces ?? true;
|
|
26
30
|
const indentChar = insertSpaces ? " ".repeat(tabSize) : "\t";
|
|
27
|
-
const regions = findTemplateRegions(text, tabSize);
|
|
31
|
+
const regions = findTemplateRegions(text, tabSize, config.templateTags);
|
|
28
32
|
const edits = [];
|
|
29
33
|
for (const region of regions) {
|
|
30
34
|
const isContained = regions.some((other) => other !== region &&
|
|
@@ -32,7 +36,7 @@ export function registerFormatting(connection, documents) {
|
|
|
32
36
|
region.innerEnd <= other.innerEnd);
|
|
33
37
|
if (isContained)
|
|
34
38
|
continue;
|
|
35
|
-
const formatted = formatTemplateRegion(region, indentChar
|
|
39
|
+
const formatted = formatTemplateRegion(region, indentChar);
|
|
36
40
|
if (formatted !== null) {
|
|
37
41
|
edits.push({
|
|
38
42
|
range: {
|
|
@@ -49,13 +53,16 @@ export function registerFormatting(connection, documents) {
|
|
|
49
53
|
const document = documents.get(params.textDocument.uri);
|
|
50
54
|
if (!document)
|
|
51
55
|
return null;
|
|
56
|
+
const config = getConfig();
|
|
57
|
+
if (!config.enableFormatting)
|
|
58
|
+
return null;
|
|
52
59
|
const text = document.getText();
|
|
53
60
|
const tabSize = params.options.tabSize ?? 2;
|
|
54
61
|
const insertSpaces = params.options.insertSpaces ?? true;
|
|
55
62
|
const indentChar = insertSpaces ? " ".repeat(tabSize) : "\t";
|
|
56
63
|
const rangeStart = document.offsetAt(params.range.start);
|
|
57
64
|
const rangeEnd = document.offsetAt(params.range.end);
|
|
58
|
-
const regions = findTemplateRegions(text, tabSize);
|
|
65
|
+
const regions = findTemplateRegions(text, tabSize, config.templateTags);
|
|
59
66
|
const edits = [];
|
|
60
67
|
for (const region of regions) {
|
|
61
68
|
if (region.innerEnd < rangeStart || region.innerStart > rangeEnd)
|
|
@@ -65,7 +72,7 @@ export function registerFormatting(connection, documents) {
|
|
|
65
72
|
region.innerEnd <= other.innerEnd);
|
|
66
73
|
if (isContained)
|
|
67
74
|
continue;
|
|
68
|
-
const formatted = formatTemplateRegion(region, indentChar
|
|
75
|
+
const formatted = formatTemplateRegion(region, indentChar);
|
|
69
76
|
if (formatted !== null) {
|
|
70
77
|
edits.push({
|
|
71
78
|
range: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/formatting/provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,mBAAmB,EAAuB,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,SAAS,oBAAoB,CAC3B,MAAsB,EACtB,UAAkB
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/formatting/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/formatting/renderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/formatting/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/hover/provider.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Hover provider for modifier help.
|
|
3
3
|
*/
|
|
4
|
-
import type { Connection, TextDocuments } from "vscode-languageserver/node
|
|
4
|
+
import type { Connection, TextDocuments } from "vscode-languageserver/node";
|
|
5
5
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
6
6
|
export declare function registerHover(connection: Connection, documents: TextDocuments<TextDocument>): void;
|
|
7
7
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/hover/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/hover/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAUvE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,GACrC,IAAI,CAyCN"}
|
package/dist/hover/provider.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* provider.ts — Hover provider for modifier help.
|
|
3
3
|
*/
|
|
4
|
-
import { MarkupKind } from "vscode-languageserver/node
|
|
4
|
+
import { MarkupKind } from "vscode-languageserver/node";
|
|
5
5
|
import { MODIFIER_HELP } from "../modifiers/constants.js";
|
|
6
6
|
import { isInsideTaggedTemplate } from "../template/detector.js";
|
|
7
|
+
import { getConfig } from "../utils/config.js";
|
|
7
8
|
const SUPPORTED_LANGUAGES = new Set([
|
|
8
9
|
"javascript", "typescript", "javascriptreact", "typescriptreact",
|
|
9
10
|
]);
|
|
@@ -15,7 +16,7 @@ export function registerHover(connection, documents) {
|
|
|
15
16
|
}
|
|
16
17
|
const text = document.getText();
|
|
17
18
|
const offset = document.offsetAt(params.position);
|
|
18
|
-
if (!isInsideTaggedTemplate(text, offset)) {
|
|
19
|
+
if (!isInsideTaggedTemplate(text, offset, getConfig().templateTags)) {
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
22
|
const line = document.getText({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/hover/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAS,UAAU,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/hover/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB;CACjE,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAC3B,UAAsB,EACtB,SAAsC;IAEtC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YACnD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE;SACxE,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChG,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,QAAQ,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,QAAQ,SAAS,IAAI,EAAE;aACrC;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;gBAC3D,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;aAC1E;SACO,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/modifiers/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/modifiers/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,YAC1B,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAC/C,CAAC;AAEX,eAAO,MAAM,aAAa,YACxB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EACjC,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CACrB,CAAC;AAEX,eAAO,MAAM,UAAU,YAAI,SAAS,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAEpE,eAAO,MAAM,eAAe,aAG1B,CAAC;AAEH,eAAO,MAAM,cAAc,YACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EACpC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EACnC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,UAAU,EACxB,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,QAAQ,EAAE,OAAO,EAC7B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAC5E,WAAW,EAAE,aAAa,EAC1B,aAAa,EAAE,WAAW,EAAE,aAAa,EACzC,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EACtD,iBAAiB,EAAE,eAAe,EAClC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,KAAK,EAAE,OAAO,CACd,CAAC;AAEX,eAAO,MAAM,oBAAoB,YAAI,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAErE,eAAO,MAAM,aAAa,YAAI,MAAM,EAAE,KAAK,CAAU,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAErD,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* server.ts — LSP server entry point.
|
|
3
3
|
*
|
|
4
4
|
* Wires up all providers: completion, diagnostics, hover, code actions, formatting.
|
|
5
|
+
* Reads client configuration on init and on every `workspace/didChangeConfiguration`
|
|
6
|
+
* notification, then re-validates all open documents.
|
|
5
7
|
*/
|
|
6
|
-
declare const connection: import("vscode-languageserver/node
|
|
8
|
+
declare const connection: import("vscode-languageserver/node")._Connection<import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._, import("vscode-languageserver/node")._>;
|
|
7
9
|
export { connection as startServer };
|
|
8
10
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,QAAA,MAAM,UAAU,kXAAyC,CAAC;AA2B1D,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
* server.ts — LSP server entry point.
|
|
3
3
|
*
|
|
4
4
|
* Wires up all providers: completion, diagnostics, hover, code actions, formatting.
|
|
5
|
+
* Reads client configuration on init and on every `workspace/didChangeConfiguration`
|
|
6
|
+
* notification, then re-validates all open documents.
|
|
5
7
|
*/
|
|
6
|
-
import { createConnection, TextDocuments, ProposedFeatures, } from "vscode-languageserver/node
|
|
8
|
+
import { createConnection, TextDocuments, ProposedFeatures, } from "vscode-languageserver/node";
|
|
7
9
|
import { TextDocument } from "vscode-languageserver-textdocument";
|
|
8
10
|
import { getCapabilities } from "./capabilities.js";
|
|
11
|
+
import { refreshConfig } from "./utils/config.js";
|
|
9
12
|
import { registerCompletion } from "./completion/provider.js";
|
|
10
13
|
import { registerDiagnostics } from "./diagnostics/provider.js";
|
|
11
14
|
import { registerHover } from "./hover/provider.js";
|
|
@@ -16,13 +19,19 @@ const documents = new TextDocuments(TextDocument);
|
|
|
16
19
|
connection.onInitialize((_params) => {
|
|
17
20
|
return getCapabilities();
|
|
18
21
|
});
|
|
19
|
-
|
|
22
|
+
let revalidateAll = null;
|
|
23
|
+
connection.onInitialized(async () => {
|
|
24
|
+
await refreshConfig(connection);
|
|
20
25
|
registerCompletion(connection, documents);
|
|
21
|
-
registerDiagnostics(connection, documents);
|
|
26
|
+
revalidateAll = registerDiagnostics(connection, documents);
|
|
22
27
|
registerHover(connection, documents);
|
|
23
28
|
registerCodeActions(connection, documents);
|
|
24
29
|
registerFormatting(connection, documents);
|
|
25
30
|
});
|
|
31
|
+
connection.onDidChangeConfiguration(async () => {
|
|
32
|
+
await refreshConfig(connection);
|
|
33
|
+
revalidateAll?.();
|
|
34
|
+
});
|
|
26
35
|
documents.listen(connection);
|
|
27
36
|
connection.listen();
|
|
28
37
|
export { connection as startServer };
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAElD,UAAU,CAAC,YAAY,CAAC,CAAC,OAAyB,EAAE,EAAE;IACpD,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;IAClC,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhC,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,aAAa,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3C,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;IAC7C,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAChC,aAAa,EAAE,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC7B,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -16,11 +16,6 @@ export interface TemplateRegion {
|
|
|
16
16
|
/** Base indentation depth (in indent units) of the tag line. */
|
|
17
17
|
baseIndent: number;
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Extracts the template tag name immediately before a backtick.
|
|
21
|
-
* Returns null if no valid tag is found.
|
|
22
|
-
*/
|
|
23
|
-
export declare function extractTemplateTagBeforeBacktick(textBeforeCursor: string): string | null;
|
|
24
19
|
/**
|
|
25
20
|
* Returns true if the cursor at `cursorOffset` is inside a html`` or raw(``)
|
|
26
21
|
* template region.
|
|
@@ -29,12 +24,6 @@ export declare function extractTemplateTagBeforeBacktick(textBeforeCursor: strin
|
|
|
29
24
|
* (e.g. `html\`<div>${() => \`inner\`}</div>\``).
|
|
30
25
|
*/
|
|
31
26
|
export declare function isInsideTaggedTemplate(documentText: string, cursorOffset: number, allowedTags?: readonly string[]): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Finds the closing backtick of a template starting at `from` (position after
|
|
34
|
-
* the opening backtick). Handles nested ${...} and nested template literals.
|
|
35
|
-
* Returns -1 if not found.
|
|
36
|
-
*/
|
|
37
|
-
export declare function findTemplateClose(text: string, from: number): number;
|
|
38
27
|
/**
|
|
39
28
|
* Scans the document text and returns all html`` and raw(``) template regions.
|
|
40
29
|
* Regions are returned in order of appearance. Nested templates are included.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/template/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/template/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,SAAS,MAAM,EAAuB,GAClD,OAAO,CAKT;AA0CD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAI,EACX,WAAW,GAAE,SAAS,MAAM,EAAuB,GAClD,cAAc,EAAE,CAKlB"}
|
|
@@ -7,24 +7,6 @@
|
|
|
7
7
|
* Ported from elur-vscode/template-tags.js.
|
|
8
8
|
*/
|
|
9
9
|
const TEMPLATE_TAGS = new Set(["html", "raw"]);
|
|
10
|
-
/**
|
|
11
|
-
* Extracts the template tag name immediately before a backtick.
|
|
12
|
-
* Returns null if no valid tag is found.
|
|
13
|
-
*/
|
|
14
|
-
export function extractTemplateTagBeforeBacktick(textBeforeCursor) {
|
|
15
|
-
const lastBacktick = textBeforeCursor.lastIndexOf("`");
|
|
16
|
-
if (lastBacktick < 0)
|
|
17
|
-
return null;
|
|
18
|
-
const beforeBacktick = textBeforeCursor.slice(0, lastBacktick);
|
|
19
|
-
let i = beforeBacktick.length - 1;
|
|
20
|
-
while (i >= 0 && /\s/.test(beforeBacktick[i]))
|
|
21
|
-
i--;
|
|
22
|
-
const end = i;
|
|
23
|
-
while (i >= 0 && /[\w$]/.test(beforeBacktick[i]))
|
|
24
|
-
i--;
|
|
25
|
-
const tagName = beforeBacktick.slice(i + 1, end + 1).toLowerCase();
|
|
26
|
-
return tagName || null;
|
|
27
|
-
}
|
|
28
10
|
/**
|
|
29
11
|
* Returns true if the cursor at `cursorOffset` is inside a html`` or raw(``)
|
|
30
12
|
* template region.
|
|
@@ -41,7 +23,7 @@ export function isInsideTaggedTemplate(documentText, cursorOffset, allowedTags =
|
|
|
41
23
|
* the opening backtick). Handles nested ${...} and nested template literals.
|
|
42
24
|
* Returns -1 if not found.
|
|
43
25
|
*/
|
|
44
|
-
|
|
26
|
+
function findTemplateClose(text, from) {
|
|
45
27
|
let i = from;
|
|
46
28
|
const len = text.length;
|
|
47
29
|
while (i < len) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/template/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAa/C
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/template/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/template/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/template/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,KAAK;aAChB,QAAQ,EAAE,UAAU;aACpB,SAAS,EAAE,WAAW;aACtB,UAAU,EAAE,YAAY;aACxB,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;aACZ,OAAO,EAAE,SAAS;aAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,aAGxB,CAAC;AAEH,eAAO,MAAM,eAAe,aAK1B,CAAC;AAEH,eAAO,MAAM,YAAY,aAAkD,CAAC;AAE5E;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAsE9C;AAwDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgD1D;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMhD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* config.ts — Read settings from the LSP client.
|
|
3
|
+
*
|
|
4
|
+
* The VS Code extension declares settings under the "elur" namespace
|
|
5
|
+
* (see elur-vscode/package.json `contributes.configuration`). The client
|
|
6
|
+
* syncs them via `configurationSection: "elur"`.
|
|
7
|
+
*
|
|
8
|
+
* On init and on every `workspace/didChangeConfiguration` notification the
|
|
9
|
+
* server calls `refreshConfig(connection)` to update the module-level
|
|
10
|
+
* config. Providers read it via `getConfig()`.
|
|
3
11
|
*/
|
|
12
|
+
import type { Connection } from "vscode-languageserver/node";
|
|
4
13
|
export interface ElurLspConfig {
|
|
5
14
|
enableDiagnostics: boolean;
|
|
6
15
|
enableStyleHints: boolean;
|
|
@@ -11,4 +20,10 @@ export interface ElurLspConfig {
|
|
|
11
20
|
templateTags: string[];
|
|
12
21
|
}
|
|
13
22
|
export declare const DEFAULT_CONFIG: ElurLspConfig;
|
|
23
|
+
/** Returns the current config (updated by `refreshConfig`). */
|
|
24
|
+
export declare function getConfig(): ElurLspConfig;
|
|
25
|
+
/** Reads the "elur" configuration section from the LSP client. */
|
|
26
|
+
export declare function readConfig(connection: Connection): Promise<ElurLspConfig>;
|
|
27
|
+
/** Reads config from the client and updates the module-level state. */
|
|
28
|
+
export declare function refreshConfig(connection: Connection): Promise<ElurLspConfig>;
|
|
14
29
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,EAAE,aAQ5B,CAAC;AAqBF,+DAA+D;AAC/D,wBAAgB,SAAS,IAAI,aAAa,CAEzC;AAED,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAiB/E;AAED,uEAAuE;AACvE,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAGlF"}
|
package/dist/utils/config.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* config.ts — Read settings from the LSP client.
|
|
3
|
+
*
|
|
4
|
+
* The VS Code extension declares settings under the "elur" namespace
|
|
5
|
+
* (see elur-vscode/package.json `contributes.configuration`). The client
|
|
6
|
+
* syncs them via `configurationSection: "elur"`.
|
|
7
|
+
*
|
|
8
|
+
* On init and on every `workspace/didChangeConfiguration` notification the
|
|
9
|
+
* server calls `refreshConfig(connection)` to update the module-level
|
|
10
|
+
* config. Providers read it via `getConfig()`.
|
|
3
11
|
*/
|
|
4
12
|
export const DEFAULT_CONFIG = {
|
|
5
13
|
enableDiagnostics: true,
|
|
@@ -10,4 +18,34 @@ export const DEFAULT_CONFIG = {
|
|
|
10
18
|
formatOnSave: true,
|
|
11
19
|
templateTags: ["html", "raw"],
|
|
12
20
|
};
|
|
21
|
+
let currentConfig = DEFAULT_CONFIG;
|
|
22
|
+
/** Returns the current config (updated by `refreshConfig`). */
|
|
23
|
+
export function getConfig() {
|
|
24
|
+
return currentConfig;
|
|
25
|
+
}
|
|
26
|
+
/** Reads the "elur" configuration section from the LSP client. */
|
|
27
|
+
export async function readConfig(connection) {
|
|
28
|
+
try {
|
|
29
|
+
const raw = (await connection.workspace.getConfiguration("elur"));
|
|
30
|
+
if (!raw)
|
|
31
|
+
return DEFAULT_CONFIG;
|
|
32
|
+
return {
|
|
33
|
+
enableDiagnostics: raw.diagnostics?.enable ?? DEFAULT_CONFIG.enableDiagnostics,
|
|
34
|
+
enableStyleHints: raw.diagnostics?.enableStyleHints ?? DEFAULT_CONFIG.enableStyleHints,
|
|
35
|
+
enableCompletions: raw.completions?.enableEventBindings ?? DEFAULT_CONFIG.enableCompletions,
|
|
36
|
+
enableModifierSuggestions: raw.completions?.enableModifierSuggestions ?? DEFAULT_CONFIG.enableModifierSuggestions,
|
|
37
|
+
enableFormatting: raw.format?.enable ?? DEFAULT_CONFIG.enableFormatting,
|
|
38
|
+
formatOnSave: raw.format?.formatOnSave ?? DEFAULT_CONFIG.formatOnSave,
|
|
39
|
+
templateTags: raw.tags ?? DEFAULT_CONFIG.templateTags,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return DEFAULT_CONFIG;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Reads config from the client and updates the module-level state. */
|
|
47
|
+
export async function refreshConfig(connection) {
|
|
48
|
+
currentConfig = await readConfig(connection);
|
|
49
|
+
return currentConfig;
|
|
50
|
+
}
|
|
13
51
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,yBAAyB,EAAE,IAAI;IAC/B,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;CAC9B,CAAC;AAmBF,IAAI,aAAa,GAAkB,cAAc,CAAC;AAElD,+DAA+D;AAC/D,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAsB;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAyB,CAAC;QAC1F,IAAI,CAAC,GAAG;YAAE,OAAO,cAAc,CAAC;QAEhC,OAAO;YACL,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB;YAC9E,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,IAAI,cAAc,CAAC,gBAAgB;YACtF,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,mBAAmB,IAAI,cAAc,CAAC,iBAAiB;YAC3F,yBAAyB,EAAE,GAAG,CAAC,WAAW,EAAE,yBAAyB,IAAI,cAAc,CAAC,yBAAyB;YACjH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,cAAc,CAAC,gBAAgB;YACvE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,cAAc,CAAC,YAAY;YACrE,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,cAAc,CAAC,YAAY;SACtD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAsB;IACxD,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elurjs/language-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "LSP server for Elur html`` tagged templates",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,9 +38,8 @@
|
|
|
38
38
|
"lint": "eslint src/"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"vscode-languageserver": "^
|
|
42
|
-
"vscode-languageserver-textdocument": "^1.0.
|
|
43
|
-
"vscode-uri": "^3.0.8"
|
|
41
|
+
"vscode-languageserver": "^10.1.1",
|
|
42
|
+
"vscode-languageserver-textdocument": "^1.0.14"
|
|
44
43
|
},
|
|
45
44
|
"peerDependencies": {
|
|
46
45
|
"@elurjs/core": "^3.0.0"
|
|
@@ -51,11 +50,15 @@
|
|
|
51
50
|
}
|
|
52
51
|
},
|
|
53
52
|
"devDependencies": {
|
|
54
|
-
"@
|
|
55
|
-
"
|
|
56
|
-
"
|
|
53
|
+
"@eslint/js": "^10.0.1",
|
|
54
|
+
"@types/node": "^26.5.0",
|
|
55
|
+
"@typescript/native": "npm:typescript@~7.0.2",
|
|
56
|
+
"eslint": "^10.10.0",
|
|
57
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
58
|
+
"typescript-eslint": "^8.70.0",
|
|
59
|
+
"vitest": "^5.0.0"
|
|
57
60
|
},
|
|
58
61
|
"engines": {
|
|
59
|
-
"node": ">=
|
|
62
|
+
"node": ">=20.19.0"
|
|
60
63
|
}
|
|
61
64
|
}
|
package/dist/template/scope.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* scope.ts — Template scope analysis utilities.
|
|
3
|
-
*
|
|
4
|
-
* Helpers for determining what kind of construct the cursor is in.
|
|
5
|
-
*/
|
|
6
|
-
export type CursorContext = "event-name" | "modifier" | "attribute-name" | "attribute-value" | "text" | "outside-template";
|
|
7
|
-
export interface ScopeInfo {
|
|
8
|
-
context: CursorContext;
|
|
9
|
-
/** The @event.modifier prefix before the cursor, if applicable. */
|
|
10
|
-
eventPrefix?: string;
|
|
11
|
-
/** The modifier prefix before the cursor, if applicable. */
|
|
12
|
-
modifierPrefix?: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Determines the cursor context within a html`` template.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getCursorContext(documentText: string, cursorOffset: number, allowedTags?: readonly string[]): ScopeInfo;
|
|
18
|
-
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/template/scope.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,GACN,kBAAkB,CAAC;AAEvB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,SAAS,MAAM,EAAoB,GAC/C,SAAS,CAqCX"}
|
package/dist/template/scope.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* scope.ts — Template scope analysis utilities.
|
|
3
|
-
*
|
|
4
|
-
* Helpers for determining what kind of construct the cursor is in.
|
|
5
|
-
*/
|
|
6
|
-
import { isInsideTaggedTemplate } from "./detector.js";
|
|
7
|
-
/**
|
|
8
|
-
* Determines the cursor context within a html`` template.
|
|
9
|
-
*/
|
|
10
|
-
export function getCursorContext(documentText, cursorOffset, allowedTags = ["html", "raw"]) {
|
|
11
|
-
if (!isInsideTaggedTemplate(documentText, cursorOffset, allowedTags)) {
|
|
12
|
-
return { context: "outside-template" };
|
|
13
|
-
}
|
|
14
|
-
// Get the line prefix up to the cursor
|
|
15
|
-
const before = documentText.slice(0, cursorOffset);
|
|
16
|
-
const lastNewline = before.lastIndexOf("\n");
|
|
17
|
-
const linePrefix = lastNewline >= 0 ? before.slice(lastNewline + 1) : before;
|
|
18
|
-
// Check for @event.modifier context
|
|
19
|
-
const tokenMatch = linePrefix.match(/@[a-zA-Z0-9.:-]*$/);
|
|
20
|
-
if (tokenMatch) {
|
|
21
|
-
const token = tokenMatch[0];
|
|
22
|
-
if (token === "@") {
|
|
23
|
-
return { context: "event-name", eventPrefix: "" };
|
|
24
|
-
}
|
|
25
|
-
const withoutAt = token.slice(1);
|
|
26
|
-
if (!withoutAt.includes(".")) {
|
|
27
|
-
return { context: "event-name", eventPrefix: withoutAt.toLowerCase() };
|
|
28
|
-
}
|
|
29
|
-
const parts = withoutAt.split(".");
|
|
30
|
-
const eventName = (parts[0] || "").toLowerCase();
|
|
31
|
-
const trailingDot = token.endsWith(".");
|
|
32
|
-
const modifierPrefix = trailingDot
|
|
33
|
-
? ""
|
|
34
|
-
: (parts[parts.length - 1] || "").toLowerCase();
|
|
35
|
-
return { context: "modifier", eventPrefix: eventName, modifierPrefix };
|
|
36
|
-
}
|
|
37
|
-
// Check for attribute name context
|
|
38
|
-
const attrMatch = linePrefix.match(/[@a-zA-Z][a-zA-Z0-9.:-]*$/);
|
|
39
|
-
if (attrMatch) {
|
|
40
|
-
return { context: "attribute-name" };
|
|
41
|
-
}
|
|
42
|
-
return { context: "text" };
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=scope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/template/scope.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAkBvD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAoB,EACpB,YAAoB,EACpB,cAAiC,CAAC,MAAM,EAAE,KAAK,CAAC;IAEhD,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7E,oCAAoC;IACpC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACzD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IACzE,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|