@coherent.js/tooling 1.1.0 → 2.0.0-rc.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/README.md CHANGED
@@ -16,6 +16,12 @@ import { renderComponent } from '@coherent.js/tooling/testing';
16
16
  // '@coherent.js/tooling/testing/matchers'
17
17
  ```
18
18
 
19
+ `extendExpect(expect)` registers matchers that read a `renderComponent()` result (`toHaveText`,
20
+ `toHaveClass`, `toHaveAttribute`, `toBeValidHTML`...). It leaves Vitest's built-in
21
+ `toMatchSnapshot` and `toHaveBeenCalled*` alone: snapshot with
22
+ `expect(result.toSnapshot()).toMatchSnapshot()`. See the
23
+ [testing guide](../../docs/testing/guide.md#custom-matchers).
24
+
19
25
  These were previously published as `@coherent.js/testing`.
20
26
 
21
27
  ### Language Server
@@ -27,7 +33,9 @@ npm install -g @coherent.js/tooling
27
33
  coherent-language-server --stdio
28
34
  ```
29
35
 
30
- Configure your editor's LSP client to invoke `coherent-language-server` for JavaScript and TypeScript files.
36
+ Configure your editor's LSP client to invoke `coherent-language-server` for JavaScript and TypeScript files. The binary also accepts `--node-ipc` and `--socket=<port>`.
37
+
38
+ To embed the server, import `startServer` from `@coherent.js/tooling/lsp`; importing the module does nothing else. `startServer(connection?)` serves the given `vscode-languageserver` connection (by default one over the transport named on the command line) and returns `{ connection, documents }`.
31
39
 
32
40
  These were previously published as `@coherent.js/language-server`.
33
41
 
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `coherent-language-server` executable.
4
+ *
5
+ * Starts the Coherent.js language server over the transport named on the
6
+ * command line (--stdio, --node-ipc or --socket=<port>). The library entry
7
+ * (`@coherent.js/tooling/lsp`, server.ts) has no side effects; this file is
8
+ * the only place that starts a connection on its own.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/lsp/bin.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `coherent-language-server` executable.
4
+ *
5
+ * Starts the Coherent.js language server over the transport named on the
6
+ * command line (--stdio, --node-ipc or --socket=<port>). The library entry
7
+ * (`@coherent.js/tooling/lsp`, server.ts) has no side effects; this file is
8
+ * the only place that starts a connection on its own.
9
+ */
10
+ import { startServer } from './server.js';
11
+ startServer();
12
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/lsp/bin.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../../src/lsp/data/element-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAkCD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,CAqBpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,CAA8B,CAAC;AAYrE;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAkDxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAahF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,MAAM,EAAE,CA4BhG;AAoCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwB7D"}
1
+ {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../../src/lsp/data/element-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AA2BD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,CAqBpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,CAA8B,CAAC;AAYrE;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAkDxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAahF;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,MAAM,EAAE,CA4BhG;AAoCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwB7D"}
@@ -7081,5 +7081,5 @@
7081
7081
  "optional": true
7082
7082
  }
7083
7083
  ],
7084
- "generatedAt": "2026-08-04T16:35:08.911Z"
7084
+ "generatedAt": "2026-09-26T09:54:06.049Z"
7085
7085
  }
@@ -7,40 +7,31 @@
7
7
  * The data is extracted at build time from packages/core/types/elements.d.ts
8
8
  * to maintain a single source of truth for element definitions.
9
9
  */
10
- import { createRequire } from 'module';
11
- // Use createRequire to import JSON in ESM
12
- const require = createRequire(import.meta.url);
10
+ import { loadGeneratedData } from './generated-data.js';
13
11
  // Load generated data or use fallback
14
- let data;
15
- try {
16
- data = require('./element-attributes.generated.json');
17
- }
18
- catch {
19
- // Fallback for development when generated file doesn't exist
20
- data = {
21
- elements: {},
22
- voidElements: ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'],
23
- globalAttributes: [
24
- { name: 'id', type: 'string', optional: true },
25
- { name: 'className', type: 'string', optional: true },
26
- { name: 'class', type: 'string', optional: true },
27
- { name: 'style', type: 'string | Record<string, string | number>', optional: true },
28
- { name: 'title', type: 'string', optional: true },
29
- { name: 'hidden', type: 'boolean', optional: true },
30
- { name: 'tabIndex', type: 'number', optional: true },
31
- { name: 'key', type: 'string | number', optional: true },
32
- { name: 'text', type: 'string | number', optional: true },
33
- { name: 'html', type: 'string', optional: true },
34
- { name: 'children', type: 'CoherentChild | CoherentChild[]', optional: true },
35
- ],
36
- eventHandlers: [
37
- { name: 'onClick', type: 'string | ((event: MouseEvent) => void)', optional: true },
38
- { name: 'onChange', type: 'string | ((event: Event) => void)', optional: true },
39
- { name: 'onSubmit', type: 'string | ((event: SubmitEvent) => void)', optional: true },
40
- ],
41
- generatedAt: 'fallback',
42
- };
43
- }
12
+ const data = loadGeneratedData() ?? {
13
+ elements: {},
14
+ voidElements: ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'],
15
+ globalAttributes: [
16
+ { name: 'id', type: 'string', optional: true },
17
+ { name: 'className', type: 'string', optional: true },
18
+ { name: 'class', type: 'string', optional: true },
19
+ { name: 'style', type: 'string | Record<string, string | number>', optional: true },
20
+ { name: 'title', type: 'string', optional: true },
21
+ { name: 'hidden', type: 'boolean', optional: true },
22
+ { name: 'tabIndex', type: 'number', optional: true },
23
+ { name: 'key', type: 'string | number', optional: true },
24
+ { name: 'text', type: 'string | number', optional: true },
25
+ { name: 'html', type: 'string', optional: true },
26
+ { name: 'children', type: 'CoherentChild | CoherentChild[]', optional: true },
27
+ ],
28
+ eventHandlers: [
29
+ { name: 'onClick', type: 'string | ((event: MouseEvent) => void)', optional: true },
30
+ { name: 'onChange', type: 'string | ((event: Event) => void)', optional: true },
31
+ { name: 'onSubmit', type: 'string | ((event: SubmitEvent) => void)', optional: true },
32
+ ],
33
+ generatedAt: 'fallback',
34
+ };
44
35
  /**
45
36
  * Set of all valid HTML element tag names.
46
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"element-attributes.js","sourceRoot":"","sources":["../../../src/lsp/data/element-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-attributes.js","sourceRoot":"","sources":["../../../src/lsp/data/element-attributes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Loads the element data extracted at build time from
3
+ * packages/core/types/elements.d.ts (scripts/extract-attributes.ts).
4
+ *
5
+ * Kept in its own module so a bundler can swap it for one with the data
6
+ * inlined: the VS Code extension bundles the server into a single file,
7
+ * with no JSON file next to it at runtime.
8
+ */
9
+ import type { ExtractedData } from './element-attributes.js';
10
+ /**
11
+ * @returns The generated data, or null when it has not been generated
12
+ * (a development checkout before the first build).
13
+ */
14
+ export declare function loadGeneratedData(): ExtractedData | null;
15
+ //# sourceMappingURL=generated-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-data.d.ts","sourceRoot":"","sources":["../../../src/lsp/data/generated-data.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAMxD"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Loads the element data extracted at build time from
3
+ * packages/core/types/elements.d.ts (scripts/extract-attributes.ts).
4
+ *
5
+ * Kept in its own module so a bundler can swap it for one with the data
6
+ * inlined: the VS Code extension bundles the server into a single file,
7
+ * with no JSON file next to it at runtime.
8
+ */
9
+ import { createRequire } from 'module';
10
+ /**
11
+ * @returns The generated data, or null when it has not been generated
12
+ * (a development checkout before the first build).
13
+ */
14
+ export function loadGeneratedData() {
15
+ try {
16
+ return createRequire(import.meta.url)('./element-attributes.generated.json');
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ }
22
+ //# sourceMappingURL=generated-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-data.js","sourceRoot":"","sources":["../../../src/lsp/data/generated-data.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,qCAAqC,CAAkB,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  /**
3
2
  * Coherent.js Language Server
4
3
  *
@@ -8,10 +7,25 @@
8
7
  * - Hover documentation for elements and attributes
9
8
  * - Quick fix code actions for common issues
10
9
  *
10
+ * Importing this module has no side effects: call {@link startServer} to
11
+ * serve a connection. The `coherent-language-server` binary (bin.ts) does
12
+ * that over the transport named on its command line (--stdio, --node-ipc,
13
+ * --socket=<port>).
14
+ *
11
15
  * @see https://microsoft.github.io/language-server-protocol/
12
16
  */
13
- import { TextDocuments } from 'vscode-languageserver/node';
17
+ import { TextDocuments, type Connection } from 'vscode-languageserver/node';
14
18
  import { TextDocument } from 'vscode-languageserver-textdocument';
15
- export 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")._>;
16
- export declare const documents: TextDocuments<TextDocument>;
19
+ export interface LanguageServer {
20
+ connection: Connection;
21
+ documents: TextDocuments<TextDocument>;
22
+ }
23
+ /**
24
+ * Serve the Coherent.js language server on `connection` and start
25
+ * listening.
26
+ *
27
+ * @param connection - Defaults to a connection over the transport given on
28
+ * the process command line (--stdio, --node-ipc, --socket=<port>).
29
+ */
30
+ export declare function startServer(connection?: Connection): LanguageServer;
17
31
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,aAAa,EAOd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AASlE,eAAO,MAAM,UAAU,kXAAyC,CAAC;AAGjE,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,YAAY,CAAmC,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,aAAa,EAOb,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAQlE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,UAAU,GAAE,UAAmD,GAC9D,cAAc,CAmFhB"}
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  /**
3
2
  * Coherent.js Language Server
4
3
  *
@@ -8,6 +7,11 @@
8
7
  * - Hover documentation for elements and attributes
9
8
  * - Quick fix code actions for common issues
10
9
  *
10
+ * Importing this module has no side effects: call {@link startServer} to
11
+ * serve a connection. The `coherent-language-server` binary (bin.ts) does
12
+ * that over the transport named on its command line (--stdio, --node-ipc,
13
+ * --socket=<port>).
14
+ *
11
15
  * @see https://microsoft.github.io/language-server-protocol/
12
16
  */
13
17
  import { createConnection, TextDocuments, ProposedFeatures, TextDocumentSyncKind, CodeActionKind, DidChangeConfigurationNotification, } from 'vscode-languageserver/node';
@@ -17,66 +21,74 @@ import { registerDiagnosticProvider } from './providers/diagnostics.js';
17
21
  import { registerCompletionProvider } from './providers/completion.js';
18
22
  import { registerHoverProvider } from './providers/hover.js';
19
23
  import { registerCodeActionProvider } from './providers/code-actions.js';
20
- // Create connection using all proposed features
21
- export const connection = createConnection(ProposedFeatures.all);
22
- // Text document manager for syncing documents
23
- export const documents = new TextDocuments(TextDocument);
24
- // Server capabilities
25
- let hasConfigurationCapability = false;
26
- let hasWorkspaceFolderCapability = false;
27
- connection.onInitialize((params) => {
28
- const capabilities = params.capabilities;
29
- // Check client capabilities
30
- hasConfigurationCapability = !!(capabilities.workspace && !!capabilities.workspace.configuration);
31
- hasWorkspaceFolderCapability = !!(capabilities.workspace && !!capabilities.workspace.workspaceFolders);
32
- const result = {
33
- capabilities: {
34
- // Incremental document sync for performance
35
- textDocumentSync: TextDocumentSyncKind.Incremental,
36
- // Autocomplete provider
37
- completionProvider: {
38
- resolveProvider: true,
39
- triggerCharacters: ['{', ':', '"', "'"],
40
- },
41
- // Hover provider for documentation
42
- hoverProvider: true,
43
- // Code action provider for quick fixes
44
- codeActionProvider: {
45
- codeActionKinds: [CodeActionKind.QuickFix],
46
- },
47
- },
48
- };
49
- // Add workspace folder support if available
50
- if (hasWorkspaceFolderCapability) {
51
- result.capabilities.workspace = {
52
- workspaceFolders: {
53
- supported: true,
24
+ /**
25
+ * Serve the Coherent.js language server on `connection` and start
26
+ * listening.
27
+ *
28
+ * @param connection - Defaults to a connection over the transport given on
29
+ * the process command line (--stdio, --node-ipc, --socket=<port>).
30
+ */
31
+ export function startServer(connection = createConnection(ProposedFeatures.all)) {
32
+ // Text document manager for syncing documents
33
+ const documents = new TextDocuments(TextDocument);
34
+ // Server capabilities
35
+ let hasConfigurationCapability = false;
36
+ let hasWorkspaceFolderCapability = false;
37
+ connection.onInitialize((params) => {
38
+ const capabilities = params.capabilities;
39
+ // Check client capabilities
40
+ hasConfigurationCapability = !!(capabilities.workspace && !!capabilities.workspace.configuration);
41
+ hasWorkspaceFolderCapability = !!(capabilities.workspace && !!capabilities.workspace.workspaceFolders);
42
+ const result = {
43
+ capabilities: {
44
+ // Incremental document sync for performance
45
+ textDocumentSync: TextDocumentSyncKind.Incremental,
46
+ // Autocomplete provider
47
+ completionProvider: {
48
+ resolveProvider: true,
49
+ triggerCharacters: ['{', ':', '"', "'"],
50
+ },
51
+ // Hover provider for documentation
52
+ hoverProvider: true,
53
+ // Code action provider for quick fixes
54
+ codeActionProvider: {
55
+ codeActionKinds: [CodeActionKind.QuickFix],
56
+ },
54
57
  },
55
58
  };
56
- }
57
- // Log capabilities for debugging
58
- console.error('[coherent-lsp] Initialized with capabilities:', JSON.stringify(result.capabilities, null, 2));
59
- return result;
60
- });
61
- connection.onInitialized(() => {
62
- if (hasConfigurationCapability) {
63
- // Register for configuration changes
64
- connection.client.register(DidChangeConfigurationNotification.type, undefined);
65
- }
66
- if (hasWorkspaceFolderCapability) {
67
- connection.workspace.onDidChangeWorkspaceFolders((_event) => {
68
- console.error('[coherent-lsp] Workspace folder change event received');
69
- });
70
- }
71
- // Register providers
72
- registerDiagnosticProvider(connection, documents);
73
- registerCompletionProvider(connection, documents);
74
- registerHoverProvider(connection, documents);
75
- registerCodeActionProvider(connection, documents);
76
- console.error('[coherent-lsp] Server initialized successfully');
77
- });
78
- // Start listening for document events
79
- documents.listen(connection);
80
- // Start the connection
81
- connection.listen();
59
+ // Add workspace folder support if available
60
+ if (hasWorkspaceFolderCapability) {
61
+ result.capabilities.workspace = {
62
+ workspaceFolders: {
63
+ supported: true,
64
+ },
65
+ };
66
+ }
67
+ // Log capabilities for debugging
68
+ console.error('[coherent-lsp] Initialized with capabilities:', JSON.stringify(result.capabilities, null, 2));
69
+ return result;
70
+ });
71
+ connection.onInitialized(() => {
72
+ if (hasConfigurationCapability) {
73
+ // Register for configuration changes
74
+ connection.client.register(DidChangeConfigurationNotification.type, undefined);
75
+ }
76
+ if (hasWorkspaceFolderCapability) {
77
+ connection.workspace.onDidChangeWorkspaceFolders((_event) => {
78
+ console.error('[coherent-lsp] Workspace folder change event received');
79
+ });
80
+ }
81
+ // Register providers
82
+ registerDiagnosticProvider(connection, documents);
83
+ registerCompletionProvider(connection, documents);
84
+ registerHoverProvider(connection, documents);
85
+ registerCodeActionProvider(connection, documents);
86
+ console.error('[coherent-lsp] Server initialized successfully');
87
+ });
88
+ // Start listening for document events
89
+ documents.listen(connection);
90
+ // Start the connection
91
+ connection.listen();
92
+ return { connection, documents };
93
+ }
82
94
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEhB,oBAAoB,EAEpB,cAAc,EACd,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,mBAAmB;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,gDAAgD;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEjE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAgC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAEtF,sBAAsB;AACtB,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AAEzC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAoB,EAAE;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,4BAA4B;IAC5B,0BAA0B,GAAG,CAAC,CAAC,CAC7B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CACjE,CAAC;IACF,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IAEF,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,4CAA4C;YAC5C,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAElD,wBAAwB;YACxB,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACxC;YAED,mCAAmC;YACnC,aAAa,EAAE,IAAI;YAEnB,uCAAuC;YACvC,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC3C;SACF;KACF,CAAC;IAEF,4CAA4C;IAC5C,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7G,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,IAAI,0BAA0B,EAAE,CAAC;QAC/B,qCAAqC;QACrC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,4BAA4B,EAAE,CAAC;QACjC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,MAAe,EAAE,EAAE;YACnE,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,0BAA0B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,0BAA0B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7C,0BAA0B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAElD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,sCAAsC;AACtC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,uBAAuB;AACvB,UAAU,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"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"}