@lapidist/dtif-language-server 1.0.3 → 1.0.5

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  `@lapidist/dtif-language-server` delivers Language Server Protocol (LSP) services for the Design Token Interchange Format (DTIF). It brings schema-backed diagnostics, pointer-aware navigation, and assisted authoring into any editor that can host a Node.js language server.
4
4
 
5
- > **Runtime** · Node.js 22<br>
5
+ > **Runtime** · Node.js 22 or newer<br>
6
6
  > **Transports** · stdio (default), custom message readers/writers
7
7
 
8
8
  ## Capabilities
@@ -0,0 +1,5 @@
1
+ import { type Disposable } from 'vscode-languageserver/node.js';
2
+ import type { ManagedDocuments } from '../runtime/documents.js';
3
+ import type { LanguageServerSession } from '../runtime/session.js';
4
+ export declare function registerDocumentEventHandlers(documents: ManagedDocuments, session: LanguageServerSession): Disposable[];
5
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/handlers/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAgC,MAAM,+BAA+B,CAAC;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,qBAAqB,GAC7B,UAAU,EAAE,CAYd"}
@@ -0,0 +1,14 @@
1
+ export function registerDocumentEventHandlers(documents, session) {
2
+ return [
3
+ documents.onDidOpen((event) => {
4
+ session.handleDocumentOpen(event);
5
+ }),
6
+ documents.onDidChangeContent((event) => {
7
+ session.handleDocumentChange(event);
8
+ }),
9
+ documents.onDidClose((event) => {
10
+ session.handleDocumentClose(event);
11
+ })
12
+ ];
13
+ }
14
+ //# sourceMappingURL=documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/handlers/documents.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,6BAA6B,CAC3C,SAA2B,EAC3B,OAA8B;IAE9B,OAAO;QACL,SAAS,CAAC,SAAS,CAAC,CAAC,KAA4C,EAAE,EAAE;YACnE,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAA4C,EAAE,EAAE;YAC5E,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,SAAS,CAAC,UAAU,CAAC,CAAC,KAA4C,EAAE,EAAE;YACpE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Connection } from 'vscode-languageserver/node.js';
2
+ import type { ManagedDocuments } from '../runtime/documents.js';
3
+ import type { LanguageServerSession } from '../runtime/session.js';
4
+ export declare function registerLanguageFeatureHandlers(connection: Connection, documents: ManagedDocuments, session: LanguageServerSession): void;
5
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/handlers/features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAOnE,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CA8BN"}
@@ -0,0 +1,25 @@
1
+ import { buildQuickFixes } from '../code-actions.js';
2
+ import { buildCompletions } from '../features/completions/index.js';
3
+ import { buildHover } from '../features/hover.js';
4
+ import { findDefinition } from '../features/definition.js';
5
+ import { buildRenameEdit } from '../features/rename.js';
6
+ export function registerLanguageFeatureHandlers(connection, documents, session) {
7
+ connection.onDefinition((params) => findDefinition(session.store, params.textDocument.uri, params.position));
8
+ connection.onHover((params) => buildHover(session.store, params.textDocument.uri, params.position));
9
+ connection.onCompletion((params) => {
10
+ const document = documents.get(params.textDocument.uri);
11
+ if (!document) {
12
+ return [];
13
+ }
14
+ return buildCompletions({ document, position: params.position, store: session.store });
15
+ });
16
+ connection.onRenameRequest((params) => buildRenameEdit(session.store, params.textDocument.uri, params.position, params.newName));
17
+ connection.onCodeAction((params) => {
18
+ const document = documents.get(params.textDocument.uri);
19
+ if (!document) {
20
+ return [];
21
+ }
22
+ return buildQuickFixes({ document, params, store: session.store });
23
+ });
24
+ }
25
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/handlers/features.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,+BAA+B,CAC7C,UAAsB,EACtB,SAA2B,EAC3B,OAA8B;IAE9B,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CACjC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CACxE,CAAC;IAEF,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CACpE,CAAC;IAEF,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,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CACzF,CAAC;IAEF,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAE,EAAE;QACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Connection, type Disposable } from 'vscode-languageserver/node.js';
2
+ import type { LanguageServerSession } from '../runtime/session.js';
3
+ export declare function registerLifecycleHandlers(connection: Connection, session: LanguageServerSession, documentListeners: readonly Disposable[]): void;
4
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/handlers/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EAEhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,qBAAqB,EAC9B,iBAAiB,EAAE,SAAS,UAAU,EAAE,GACvC,IAAI,CAiBN"}
@@ -0,0 +1,16 @@
1
+ export function registerLifecycleHandlers(connection, session, documentListeners) {
2
+ connection.onInitialize(() => session.handleInitialize());
3
+ connection.onInitialized(() => {
4
+ void session.handleInitialized();
5
+ });
6
+ connection.onShutdown(() => {
7
+ session.handleShutdown();
8
+ for (const disposable of documentListeners) {
9
+ disposable.dispose();
10
+ }
11
+ });
12
+ connection.onDidChangeConfiguration(() => {
13
+ void session.handleDidChangeConfiguration();
14
+ });
15
+ }
16
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/handlers/lifecycle.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,yBAAyB,CACvC,UAAsB,EACtB,OAA8B,EAC9B,iBAAwC;IAExC,UAAU,CAAC,YAAY,CAAC,GAAqB,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE5E,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;QAC5B,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;QACzB,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YAC3C,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,wBAAwB,CAAC,GAAG,EAAE;QACvC,KAAK,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/runtime/services/settings-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAKL,KAAK,0BAA0B,EAChC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEZ,KAAK,EAAE,OAAO;CAK3B;AAED,qBAAa,kBAAkB;;gBAIjB,UAAU,EAAE,UAAU;IAIlC,IAAI,OAAO,IAAI,0BAA0B,CAExC;IAED,KAAK,IAAI,IAAI;IAIP,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;YAkB1B,IAAI;CASnB"}
1
+ {"version":3,"file":"settings-controller.d.ts","sourceRoot":"","sources":["../../../src/runtime/services/settings-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAKL,KAAK,0BAA0B,EAChC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEZ,KAAK,EAAE,OAAO;CAK3B;AAED,qBAAa,kBAAkB;;gBAIjB,UAAU,EAAE,UAAU;IAIlC,IAAI,OAAO,IAAI,0BAA0B,CAExC;IAED,KAAK,IAAI,IAAI;IAIP,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;YAyB1B,IAAI;CAWnB"}
@@ -22,12 +22,18 @@ export class SettingsController {
22
22
  async refresh() {
23
23
  const previous = this.#current;
24
24
  let next;
25
+ let warnings = [];
25
26
  try {
26
- next = await this.read();
27
+ const result = await this.read();
28
+ next = result.settings;
29
+ warnings = result.warnings;
27
30
  }
28
31
  catch (error) {
29
32
  throw new SettingsReadError(error);
30
33
  }
34
+ for (const warning of warnings) {
35
+ this.#connection.console.warn(`DTIF language server settings warning: ${warning}`);
36
+ }
31
37
  if (settingsEqual(previous, next)) {
32
38
  return { previous, current: previous, changed: false };
33
39
  }
@@ -37,7 +43,7 @@ export class SettingsController {
37
43
  async read() {
38
44
  const workspace = this.#connection.workspace;
39
45
  if (!hasConfiguration(workspace)) {
40
- return DEFAULT_SETTINGS;
46
+ return { settings: DEFAULT_SETTINGS, warnings: [] };
41
47
  }
42
48
  const configuration = await workspace.getConfiguration({ section: SETTINGS_SECTION });
43
49
  return parseSettings(configuration);
@@ -1 +1 @@
1
- {"version":3,"file":"settings-controller.js","sourceRoot":"","sources":["../../../src/runtime/services/settings-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,KAAK,CAAU;IAExB,YAAY,KAAc;QACxB,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAC7B,WAAW,CAAa;IACxB,QAAQ,GAA+B,gBAAgB,CAAC;IAExD,YAAY,UAAsB;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAgC,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAA2B,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA2B,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,SAAS,GAAY,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC/F,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;CACF;AAMD,SAAS,gBAAgB,CAAC,SAAkB;IAC1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACnE,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"settings-controller.js","sourceRoot":"","sources":["../../../src/runtime/services/settings-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,KAAK,CAAU;IAExB,YAAY,KAAc;QACxB,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAC7B,WAAW,CAAa;IACxB,QAAQ,GAA+B,gBAAgB,CAAC;IAExD,YAAY,UAAsB;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAgC,CAAC;QACrC,IAAI,QAAQ,GAAsB,EAAE,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAA2B,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA2B,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,SAAS,GAAY,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAEhD,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC/F,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;CACF;AAMD,SAAS,gBAAgB,CAAC,SAAkB;IAC1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAY,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACnE,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CA+E9E;AAED,wBAAgB,KAAK,IAAI,cAAc,CAItC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAKvF,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAqB9E;AAED,wBAAgB,KAAK,IAAI,cAAc,CAItC"}
package/dist/server.js CHANGED
@@ -1,61 +1,22 @@
1
1
  import { createConnection, ProposedFeatures } from 'vscode-languageserver/node.js';
2
2
  import { pathToFileURL } from 'node:url';
3
- import { buildQuickFixes } from './code-actions.js';
4
- import { buildCompletions } from './features/completions/index.js';
5
- import { buildHover } from './features/hover.js';
6
- import { findDefinition } from './features/definition.js';
7
- import { buildRenameEdit } from './features/rename.js';
8
3
  import { DocumentValidator } from './diagnostics/index.js';
9
4
  import { DocumentAnalysisStore } from './core/documents/analysis-store.js';
10
5
  import { createManagedDocuments } from './runtime/documents.js';
11
6
  import { LanguageServerSession } from './runtime/session.js';
7
+ import { registerLanguageFeatureHandlers } from './handlers/features.js';
8
+ import { registerDocumentEventHandlers } from './handlers/documents.js';
9
+ import { registerLifecycleHandlers } from './handlers/lifecycle.js';
12
10
  export function createServer(options = {}) {
13
11
  const connection = options.connection ?? createConnection(ProposedFeatures.all);
14
12
  const documents = options.documents ?? createManagedDocuments();
15
13
  const validator = options.validator ?? new DocumentValidator();
16
14
  const store = options.store ?? new DocumentAnalysisStore();
17
15
  const session = new LanguageServerSession({ connection, documents, validator, store });
18
- const documentListeners = [];
19
- connection.onInitialize(() => session.handleInitialize());
20
- connection.onInitialized(() => {
21
- void session.handleInitialized();
22
- });
23
- connection.onShutdown(() => {
24
- session.handleShutdown();
25
- for (const disposable of documentListeners) {
26
- disposable.dispose();
27
- }
28
- });
29
- connection.onDidChangeConfiguration(() => {
30
- void session.handleDidChangeConfiguration();
31
- });
32
- connection.onDefinition((params) => findDefinition(session.store, params.textDocument.uri, params.position));
33
- connection.onHover((params) => buildHover(session.store, params.textDocument.uri, params.position));
34
- connection.onCompletion((params) => {
35
- const document = documents.get(params.textDocument.uri);
36
- if (!document) {
37
- return [];
38
- }
39
- return buildCompletions({ document, position: params.position, store: session.store });
40
- });
41
- connection.onRenameRequest((params) => buildRenameEdit(session.store, params.textDocument.uri, params.position, params.newName));
42
- connection.onCodeAction((params) => {
43
- const document = documents.get(params.textDocument.uri);
44
- if (!document) {
45
- return [];
46
- }
47
- return buildQuickFixes({ document, params, store: session.store });
48
- });
49
16
  documents.listen(connection);
50
- documentListeners.push(documents.onDidOpen((event) => {
51
- session.handleDocumentOpen(event);
52
- }));
53
- documentListeners.push(documents.onDidChangeContent((event) => {
54
- session.handleDocumentChange(event);
55
- }));
56
- documentListeners.push(documents.onDidClose((event) => {
57
- session.handleDocumentClose(event);
58
- }));
17
+ const documentListeners = registerDocumentEventHandlers(documents, session);
18
+ registerLifecycleHandlers(connection, session, documentListeners);
19
+ registerLanguageFeatureHandlers(connection, documents, session);
59
20
  return {
60
21
  connection,
61
22
  documents,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAkBpE,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,sBAAsB,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,qBAAqB,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvF,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7B,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5E,yBAAyB,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAClE,+BAA+B,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAEhE,OAAO;QACL,UAAU;QACV,SAAS;QACT,MAAM;YACJ,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;KACuB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,KAAK,EAAE,CAAC;AACV,CAAC"}
@@ -3,8 +3,12 @@ export interface DtifLanguageServerSettings {
3
3
  readonly mode: 'on' | 'off';
4
4
  };
5
5
  }
6
+ export interface ParsedSettings {
7
+ readonly settings: DtifLanguageServerSettings;
8
+ readonly warnings: readonly string[];
9
+ }
6
10
  export declare const SETTINGS_SECTION = "dtifLanguageServer";
7
11
  export declare const DEFAULT_SETTINGS: DtifLanguageServerSettings;
8
- export declare function parseSettings(value: unknown): DtifLanguageServerSettings;
12
+ export declare function parseSettings(value: unknown): ParsedSettings;
9
13
  export declare function settingsEqual(a: DtifLanguageServerSettings, b: DtifLanguageServerSettings): boolean;
10
14
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,0BAE9B,CAAC;AAeF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAQxE;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,0BAA0B,EAC7B,CAAC,EAAE,0BAA0B,GAC5B,OAAO,CAET"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,0BAE9B,CAAC;AA0BF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAW5D;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,0BAA0B,EAC7B,CAAC,EAAE,0BAA0B,GAC5B,OAAO,CAET"}
package/dist/settings.js CHANGED
@@ -3,22 +3,29 @@ export const SETTINGS_SECTION = 'dtifLanguageServer';
3
3
  export const DEFAULT_SETTINGS = {
4
4
  validation: { mode: 'on' }
5
5
  };
6
- function parseValidationSettings(value) {
6
+ function parseValidationSettings(value, warnings) {
7
7
  if (!isRecord(value)) {
8
+ warnings.push('Expected an object for validation settings; using defaults.');
8
9
  return DEFAULT_SETTINGS.validation;
9
10
  }
10
11
  const mode = value.mode;
11
12
  if (mode === 'off') {
12
13
  return { mode: 'off' };
13
14
  }
15
+ if (mode === 'on') {
16
+ return { mode: 'on' };
17
+ }
18
+ warnings.push(`validation.mode must be "on" or "off" (received ${JSON.stringify(mode)}); using "on".`);
14
19
  return { mode: 'on' };
15
20
  }
16
21
  export function parseSettings(value) {
22
+ const warnings = [];
17
23
  if (!isRecord(value)) {
18
- return DEFAULT_SETTINGS;
24
+ warnings.push('Expected dtifLanguageServer settings to be an object; using defaults.');
25
+ return { settings: DEFAULT_SETTINGS, warnings };
19
26
  }
20
- const validation = parseValidationSettings(value.validation);
21
- return { validation };
27
+ const validation = parseValidationSettings(value.validation, warnings);
28
+ return { settings: { validation }, warnings };
22
29
  }
23
30
  export function settingsEqual(a, b) {
24
31
  return a.validation.mode === b.validation.mode;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAQlD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAC3B,CAAC;AAEF,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE7D,OAAO,EAAE,UAAU,EAAuC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAA6B,EAC7B,CAA6B;IAE7B,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAalD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CAC3B,CAAC;AAEF,SAAS,uBAAuB,CAC9B,KAAc,EACd,QAAkB;IAElB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,IAAI,CACX,mDAAmD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CACxF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAA2B,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEvE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAA2B,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAA6B,EAC7B,CAA6B;IAE7B,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@lapidist/dtif-language-server",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Language Server Protocol implementation for the Design Token Interchange Format (DTIF).",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "sideEffects": false,
8
8
  "main": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
10
+ "engines": {
11
+ "node": ">=22",
12
+ "npm": ">=10"
13
+ },
10
14
  "exports": {
11
15
  ".": {
12
16
  "types": "./dist/index.d.ts",
@@ -22,12 +26,13 @@
22
26
  "build": "tsc -p tsconfig.json",
23
27
  "clean": "rimraf dist",
24
28
  "test": "node --import tsx --test ./tests/**/*.test.ts",
29
+ "typecheck": "tsc -p tsconfig.json --noEmit",
25
30
  "prepack": "npm run build"
26
31
  },
27
32
  "dependencies": {
28
- "@lapidist/dtif-parser": "1.0.3",
29
- "@lapidist/dtif-schema": "1.0.3",
30
- "@lapidist/dtif-validator": "1.0.3",
33
+ "@lapidist/dtif-parser": "1.0.5",
34
+ "@lapidist/dtif-schema": "1.0.5",
35
+ "@lapidist/dtif-validator": "1.0.5",
31
36
  "jsonc-parser": "^3.3.1",
32
37
  "vscode-languageserver": "^9.0.1",
33
38
  "vscode-languageserver-textdocument": "^1.0.11"