@likec4/language-server 1.8.1 → 1.10.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/contrib/likec4.tmLanguage.json +1 -1
- package/dist/browser.cjs +21 -0
- package/dist/browser.d.cts +22 -0
- package/dist/browser.d.mts +22 -0
- package/dist/browser.d.ts +22 -0
- package/dist/browser.mjs +19 -0
- package/dist/index.cjs +10 -0
- package/dist/index.d.cts +18 -0
- package/dist/index.d.mts +18 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.mjs +1 -0
- package/dist/likec4lib.cjs +961 -0
- package/dist/likec4lib.d.cts +6 -0
- package/dist/likec4lib.d.mts +6 -0
- package/dist/likec4lib.d.ts +6 -0
- package/dist/likec4lib.mjs +957 -0
- package/dist/model-graph/index.cjs +10 -0
- package/dist/model-graph/index.d.cts +79 -0
- package/dist/model-graph/index.d.mts +79 -0
- package/dist/model-graph/index.d.ts +79 -0
- package/dist/model-graph/index.mjs +1 -0
- package/dist/node.cjs +18 -0
- package/dist/node.d.cts +20 -0
- package/dist/node.d.mts +20 -0
- package/dist/node.d.ts +20 -0
- package/dist/node.mjs +16 -0
- package/dist/protocol.cjs +25 -0
- package/dist/protocol.d.cts +43 -0
- package/dist/protocol.d.mts +43 -0
- package/dist/protocol.d.ts +43 -0
- package/dist/protocol.mjs +17 -0
- package/dist/shared/language-server.CjFzaJwI.d.cts +1223 -0
- package/dist/shared/language-server.CtKHXJDD.d.ts +1223 -0
- package/dist/shared/language-server.D-84I33F.d.mts +1223 -0
- package/dist/shared/language-server.DBJJUUgF.mjs +5737 -0
- package/dist/shared/language-server.DtBRb9os.mjs +1656 -0
- package/dist/shared/language-server.DwyCJvXm.cjs +1669 -0
- package/dist/shared/language-server.JWkqVjGv.cjs +5748 -0
- package/package.json +36 -20
- package/src/ast.ts +48 -36
- package/src/browser.ts +0 -3
- package/src/elementRef.ts +1 -1
- package/src/formatting/LikeC4Formatter.ts +388 -0
- package/src/formatting/utils.ts +26 -0
- package/src/generated/ast.ts +170 -12
- package/src/generated/grammar.ts +1 -1
- package/src/generated-lib/icons.ts +1 -1
- package/src/like-c4.langium +49 -8
- package/src/likec4lib.ts +2 -3
- package/src/logger.ts +9 -1
- package/src/lsp/DocumentLinkProvider.ts +27 -15
- package/src/lsp/RenameProvider.ts +8 -0
- package/src/lsp/SemanticTokenProvider.ts +20 -2
- package/src/lsp/index.ts +1 -0
- package/src/model/fqn-computation.ts +33 -23
- package/src/model/fqn-index.ts +5 -21
- package/src/model/model-builder.ts +180 -112
- package/src/model/model-locator.ts +1 -1
- package/src/model/model-parser-where.ts +3 -2
- package/src/model/model-parser.ts +99 -39
- package/src/model-graph/LikeC4ModelGraph.ts +42 -21
- package/src/model-graph/compute-view/__test__/fixture.ts +16 -14
- package/src/model-graph/compute-view/compute.ts +110 -81
- package/src/model-graph/compute-view/predicates.ts +6 -8
- package/src/model-graph/dynamic-view/__test__/fixture.ts +1 -0
- package/src/model-graph/dynamic-view/compute.ts +98 -61
- package/src/model-graph/utils/buildElementNotations.ts +1 -1
- package/src/model-graph/utils/elementExpressionToPredicate.ts +1 -1
- package/src/model-graph/utils/sortNodes.ts +2 -6
- package/src/module.ts +21 -4
- package/src/protocol.ts +4 -5
- package/src/references/scope-computation.ts +10 -1
- package/src/references/scope-provider.ts +2 -1
- package/src/shared/NodeKindProvider.ts +73 -34
- package/src/test/setup.ts +3 -8
- package/src/test/testServices.ts +27 -7
- package/src/utils/graphlib.ts +11 -0
- package/src/validation/index.ts +2 -1
- package/src/validation/property-checks.ts +13 -1
- package/src/validation/specification.ts +3 -3
- package/src/view-utils/manual-layout.ts +1 -1
- package/src/view-utils/resolve-extended-views.ts +19 -10
- package/src/view-utils/resolve-relative-paths.ts +19 -24
- package/src/view-utils/view-hash.ts +1 -1
- package/src/reset.d.ts +0 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const LikeC4ModelGraph = require('../shared/language-server.DwyCJvXm.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.LikeC4ModelGraph = LikeC4ModelGraph.LikeC4ModelGraph;
|
|
8
|
+
exports.computeDynamicView = LikeC4ModelGraph.computeDynamicView;
|
|
9
|
+
exports.computeElementView = LikeC4ModelGraph.computeElementView;
|
|
10
|
+
exports.computeView = LikeC4ModelGraph.computeView;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Element, Fqn, Relation, RelationID, ElementView, ComputedElementView, DynamicView, ComputedDynamicView } from '@likec4/core';
|
|
2
|
+
|
|
3
|
+
type Params = {
|
|
4
|
+
elements: Record<Fqn, Element>;
|
|
5
|
+
relations: Record<RelationID, Relation>;
|
|
6
|
+
};
|
|
7
|
+
type RelationEdge = {
|
|
8
|
+
source: Element;
|
|
9
|
+
target: Element;
|
|
10
|
+
relations: Relation[];
|
|
11
|
+
};
|
|
12
|
+
type FqnOrElement = Fqn | Element;
|
|
13
|
+
type FqnsOrElements = ReadonlyArray<Fqn> | ReadonlyArray<Element>;
|
|
14
|
+
/**
|
|
15
|
+
* Used only for views calculations.
|
|
16
|
+
* Subject to change.
|
|
17
|
+
*/
|
|
18
|
+
declare class LikeC4ModelGraph {
|
|
19
|
+
#private;
|
|
20
|
+
constructor({ elements, relations }: Params);
|
|
21
|
+
get rootElements(): Element[];
|
|
22
|
+
get elements(): Element[];
|
|
23
|
+
element(id: Fqn): Element;
|
|
24
|
+
connectedRelations(id: Fqn): Relation[];
|
|
25
|
+
children(id: Fqn): Element[];
|
|
26
|
+
childrenOrElement(id: Fqn): Element[];
|
|
27
|
+
siblings(element: Fqn | Element): Element[];
|
|
28
|
+
/**
|
|
29
|
+
* Get all ancestor elements (i.e. parent, parent’s parent, etc.)
|
|
30
|
+
* (from closest to root)
|
|
31
|
+
*/
|
|
32
|
+
ancestors(element: Fqn | Element): Array<Element>;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve siblings of the element and its ancestors
|
|
35
|
+
* (from closest to root)
|
|
36
|
+
*/
|
|
37
|
+
ascendingSiblings(element: Fqn | Element): Array<Element>;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve all RelationEdges between element and others (any direction)
|
|
40
|
+
*/
|
|
41
|
+
anyEdgesBetween(_element: Fqn | Element, others: ReadonlyArray<Fqn> | ReadonlyArray<Element>): Array<RelationEdge>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve all RelationEdges between elements (any direction)
|
|
44
|
+
*/
|
|
45
|
+
edgesWithin<T extends Fqn[] | Element[]>(elements: T): Array<RelationEdge>;
|
|
46
|
+
/**
|
|
47
|
+
* Get directed RelationEdge between source and target if exists
|
|
48
|
+
*/
|
|
49
|
+
edgesBetween(_sources: FqnOrElement | FqnsOrElements, _targets: FqnOrElement | FqnsOrElements): RelationEdge[];
|
|
50
|
+
private addElement;
|
|
51
|
+
private addRelation;
|
|
52
|
+
private _childrenOf;
|
|
53
|
+
private _incomingTo;
|
|
54
|
+
private _outgoingFrom;
|
|
55
|
+
private _internalOf;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
|
|
59
|
+
type ComputeViewResult$1 = {
|
|
60
|
+
isSuccess: true;
|
|
61
|
+
view: ComputedElementView;
|
|
62
|
+
} | {
|
|
63
|
+
isSuccess: false;
|
|
64
|
+
error: Error;
|
|
65
|
+
view: undefined;
|
|
66
|
+
};
|
|
67
|
+
declare function computeView(view: ElementView, graph: LikeC4ModelGraph): ComputeViewResult$1;
|
|
68
|
+
|
|
69
|
+
type ComputeViewResult = {
|
|
70
|
+
isSuccess: true;
|
|
71
|
+
view: ComputedDynamicView;
|
|
72
|
+
} | {
|
|
73
|
+
isSuccess: false;
|
|
74
|
+
error: Error;
|
|
75
|
+
view: undefined;
|
|
76
|
+
};
|
|
77
|
+
declare function computeDynamicView(view: DynamicView, graph: LikeC4ModelGraph): ComputeViewResult;
|
|
78
|
+
|
|
79
|
+
export { LikeC4ModelGraph, computeDynamicView, computeElementView, computeView };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Element, Fqn, Relation, RelationID, ElementView, ComputedElementView, DynamicView, ComputedDynamicView } from '@likec4/core';
|
|
2
|
+
|
|
3
|
+
type Params = {
|
|
4
|
+
elements: Record<Fqn, Element>;
|
|
5
|
+
relations: Record<RelationID, Relation>;
|
|
6
|
+
};
|
|
7
|
+
type RelationEdge = {
|
|
8
|
+
source: Element;
|
|
9
|
+
target: Element;
|
|
10
|
+
relations: Relation[];
|
|
11
|
+
};
|
|
12
|
+
type FqnOrElement = Fqn | Element;
|
|
13
|
+
type FqnsOrElements = ReadonlyArray<Fqn> | ReadonlyArray<Element>;
|
|
14
|
+
/**
|
|
15
|
+
* Used only for views calculations.
|
|
16
|
+
* Subject to change.
|
|
17
|
+
*/
|
|
18
|
+
declare class LikeC4ModelGraph {
|
|
19
|
+
#private;
|
|
20
|
+
constructor({ elements, relations }: Params);
|
|
21
|
+
get rootElements(): Element[];
|
|
22
|
+
get elements(): Element[];
|
|
23
|
+
element(id: Fqn): Element;
|
|
24
|
+
connectedRelations(id: Fqn): Relation[];
|
|
25
|
+
children(id: Fqn): Element[];
|
|
26
|
+
childrenOrElement(id: Fqn): Element[];
|
|
27
|
+
siblings(element: Fqn | Element): Element[];
|
|
28
|
+
/**
|
|
29
|
+
* Get all ancestor elements (i.e. parent, parent’s parent, etc.)
|
|
30
|
+
* (from closest to root)
|
|
31
|
+
*/
|
|
32
|
+
ancestors(element: Fqn | Element): Array<Element>;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve siblings of the element and its ancestors
|
|
35
|
+
* (from closest to root)
|
|
36
|
+
*/
|
|
37
|
+
ascendingSiblings(element: Fqn | Element): Array<Element>;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve all RelationEdges between element and others (any direction)
|
|
40
|
+
*/
|
|
41
|
+
anyEdgesBetween(_element: Fqn | Element, others: ReadonlyArray<Fqn> | ReadonlyArray<Element>): Array<RelationEdge>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve all RelationEdges between elements (any direction)
|
|
44
|
+
*/
|
|
45
|
+
edgesWithin<T extends Fqn[] | Element[]>(elements: T): Array<RelationEdge>;
|
|
46
|
+
/**
|
|
47
|
+
* Get directed RelationEdge between source and target if exists
|
|
48
|
+
*/
|
|
49
|
+
edgesBetween(_sources: FqnOrElement | FqnsOrElements, _targets: FqnOrElement | FqnsOrElements): RelationEdge[];
|
|
50
|
+
private addElement;
|
|
51
|
+
private addRelation;
|
|
52
|
+
private _childrenOf;
|
|
53
|
+
private _incomingTo;
|
|
54
|
+
private _outgoingFrom;
|
|
55
|
+
private _internalOf;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
|
|
59
|
+
type ComputeViewResult$1 = {
|
|
60
|
+
isSuccess: true;
|
|
61
|
+
view: ComputedElementView;
|
|
62
|
+
} | {
|
|
63
|
+
isSuccess: false;
|
|
64
|
+
error: Error;
|
|
65
|
+
view: undefined;
|
|
66
|
+
};
|
|
67
|
+
declare function computeView(view: ElementView, graph: LikeC4ModelGraph): ComputeViewResult$1;
|
|
68
|
+
|
|
69
|
+
type ComputeViewResult = {
|
|
70
|
+
isSuccess: true;
|
|
71
|
+
view: ComputedDynamicView;
|
|
72
|
+
} | {
|
|
73
|
+
isSuccess: false;
|
|
74
|
+
error: Error;
|
|
75
|
+
view: undefined;
|
|
76
|
+
};
|
|
77
|
+
declare function computeDynamicView(view: DynamicView, graph: LikeC4ModelGraph): ComputeViewResult;
|
|
78
|
+
|
|
79
|
+
export { LikeC4ModelGraph, computeDynamicView, computeElementView, computeView };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Element, Fqn, Relation, RelationID, ElementView, ComputedElementView, DynamicView, ComputedDynamicView } from '@likec4/core';
|
|
2
|
+
|
|
3
|
+
type Params = {
|
|
4
|
+
elements: Record<Fqn, Element>;
|
|
5
|
+
relations: Record<RelationID, Relation>;
|
|
6
|
+
};
|
|
7
|
+
type RelationEdge = {
|
|
8
|
+
source: Element;
|
|
9
|
+
target: Element;
|
|
10
|
+
relations: Relation[];
|
|
11
|
+
};
|
|
12
|
+
type FqnOrElement = Fqn | Element;
|
|
13
|
+
type FqnsOrElements = ReadonlyArray<Fqn> | ReadonlyArray<Element>;
|
|
14
|
+
/**
|
|
15
|
+
* Used only for views calculations.
|
|
16
|
+
* Subject to change.
|
|
17
|
+
*/
|
|
18
|
+
declare class LikeC4ModelGraph {
|
|
19
|
+
#private;
|
|
20
|
+
constructor({ elements, relations }: Params);
|
|
21
|
+
get rootElements(): Element[];
|
|
22
|
+
get elements(): Element[];
|
|
23
|
+
element(id: Fqn): Element;
|
|
24
|
+
connectedRelations(id: Fqn): Relation[];
|
|
25
|
+
children(id: Fqn): Element[];
|
|
26
|
+
childrenOrElement(id: Fqn): Element[];
|
|
27
|
+
siblings(element: Fqn | Element): Element[];
|
|
28
|
+
/**
|
|
29
|
+
* Get all ancestor elements (i.e. parent, parent’s parent, etc.)
|
|
30
|
+
* (from closest to root)
|
|
31
|
+
*/
|
|
32
|
+
ancestors(element: Fqn | Element): Array<Element>;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve siblings of the element and its ancestors
|
|
35
|
+
* (from closest to root)
|
|
36
|
+
*/
|
|
37
|
+
ascendingSiblings(element: Fqn | Element): Array<Element>;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve all RelationEdges between element and others (any direction)
|
|
40
|
+
*/
|
|
41
|
+
anyEdgesBetween(_element: Fqn | Element, others: ReadonlyArray<Fqn> | ReadonlyArray<Element>): Array<RelationEdge>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve all RelationEdges between elements (any direction)
|
|
44
|
+
*/
|
|
45
|
+
edgesWithin<T extends Fqn[] | Element[]>(elements: T): Array<RelationEdge>;
|
|
46
|
+
/**
|
|
47
|
+
* Get directed RelationEdge between source and target if exists
|
|
48
|
+
*/
|
|
49
|
+
edgesBetween(_sources: FqnOrElement | FqnsOrElements, _targets: FqnOrElement | FqnsOrElements): RelationEdge[];
|
|
50
|
+
private addElement;
|
|
51
|
+
private addRelation;
|
|
52
|
+
private _childrenOf;
|
|
53
|
+
private _incomingTo;
|
|
54
|
+
private _outgoingFrom;
|
|
55
|
+
private _internalOf;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
|
|
59
|
+
type ComputeViewResult$1 = {
|
|
60
|
+
isSuccess: true;
|
|
61
|
+
view: ComputedElementView;
|
|
62
|
+
} | {
|
|
63
|
+
isSuccess: false;
|
|
64
|
+
error: Error;
|
|
65
|
+
view: undefined;
|
|
66
|
+
};
|
|
67
|
+
declare function computeView(view: ElementView, graph: LikeC4ModelGraph): ComputeViewResult$1;
|
|
68
|
+
|
|
69
|
+
type ComputeViewResult = {
|
|
70
|
+
isSuccess: true;
|
|
71
|
+
view: ComputedDynamicView;
|
|
72
|
+
} | {
|
|
73
|
+
isSuccess: false;
|
|
74
|
+
error: Error;
|
|
75
|
+
view: undefined;
|
|
76
|
+
};
|
|
77
|
+
declare function computeDynamicView(view: DynamicView, graph: LikeC4ModelGraph): ComputeViewResult;
|
|
78
|
+
|
|
79
|
+
export { LikeC4ModelGraph, computeDynamicView, computeElementView, computeView };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { L as LikeC4ModelGraph, b as computeDynamicView, c as computeElementView, a as computeView } from '../shared/language-server.DtBRb9os.mjs';
|
package/dist/node.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const lsp = require('langium/lsp');
|
|
4
|
+
const node$1 = require('langium/node');
|
|
5
|
+
const node = require('vscode-languageserver/node');
|
|
6
|
+
const module$1 = require('./shared/language-server.JWkqVjGv.cjs');
|
|
7
|
+
|
|
8
|
+
function startLanguageServer() {
|
|
9
|
+
const connection = node.createConnection(node.ProposedFeatures.all);
|
|
10
|
+
const services = module$1.createLanguageServices({ connection, ...node$1.NodeFileSystem });
|
|
11
|
+
lsp.startLanguageServer(services.shared);
|
|
12
|
+
return {
|
|
13
|
+
...services,
|
|
14
|
+
connection
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.startLanguageServer = startLanguageServer;
|
package/dist/node.d.cts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CjFzaJwI.cjs';
|
|
2
|
+
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
3
|
+
import * as vscode_languageserver_node from 'vscode-languageserver/node';
|
|
4
|
+
import '@likec4/core';
|
|
5
|
+
import 'langium';
|
|
6
|
+
import 'type-fest';
|
|
7
|
+
import 'vscode-languageserver-types';
|
|
8
|
+
import 'langium/lsp';
|
|
9
|
+
import 'vscode-languageserver';
|
|
10
|
+
import './protocol.cjs';
|
|
11
|
+
import 'vscode-jsonrpc';
|
|
12
|
+
import 'vscode-uri';
|
|
13
|
+
|
|
14
|
+
declare function startLanguageServer(): {
|
|
15
|
+
connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
|
|
16
|
+
shared: LikeC4SharedServices;
|
|
17
|
+
likec4: LikeC4Services;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { startLanguageServer };
|
package/dist/node.d.mts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.D-84I33F.mjs';
|
|
2
|
+
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
3
|
+
import * as vscode_languageserver_node from 'vscode-languageserver/node';
|
|
4
|
+
import '@likec4/core';
|
|
5
|
+
import 'langium';
|
|
6
|
+
import 'type-fest';
|
|
7
|
+
import 'vscode-languageserver-types';
|
|
8
|
+
import 'langium/lsp';
|
|
9
|
+
import 'vscode-languageserver';
|
|
10
|
+
import './protocol.mjs';
|
|
11
|
+
import 'vscode-jsonrpc';
|
|
12
|
+
import 'vscode-uri';
|
|
13
|
+
|
|
14
|
+
declare function startLanguageServer(): {
|
|
15
|
+
connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
|
|
16
|
+
shared: LikeC4SharedServices;
|
|
17
|
+
likec4: LikeC4Services;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { startLanguageServer };
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CtKHXJDD.js';
|
|
2
|
+
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
3
|
+
import * as vscode_languageserver_node from 'vscode-languageserver/node';
|
|
4
|
+
import '@likec4/core';
|
|
5
|
+
import 'langium';
|
|
6
|
+
import 'type-fest';
|
|
7
|
+
import 'vscode-languageserver-types';
|
|
8
|
+
import 'langium/lsp';
|
|
9
|
+
import 'vscode-languageserver';
|
|
10
|
+
import './protocol.js';
|
|
11
|
+
import 'vscode-jsonrpc';
|
|
12
|
+
import 'vscode-uri';
|
|
13
|
+
|
|
14
|
+
declare function startLanguageServer(): {
|
|
15
|
+
connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
|
|
16
|
+
shared: LikeC4SharedServices;
|
|
17
|
+
likec4: LikeC4Services;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { startLanguageServer };
|
package/dist/node.mjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
|
|
2
|
+
import { NodeFileSystem } from 'langium/node';
|
|
3
|
+
import { createConnection, ProposedFeatures } from 'vscode-languageserver/node';
|
|
4
|
+
import { a as createLanguageServices } from './shared/language-server.DBJJUUgF.mjs';
|
|
5
|
+
|
|
6
|
+
function startLanguageServer() {
|
|
7
|
+
const connection = createConnection(ProposedFeatures.all);
|
|
8
|
+
const services = createLanguageServices({ connection, ...NodeFileSystem });
|
|
9
|
+
startLanguageServer$1(services.shared);
|
|
10
|
+
return {
|
|
11
|
+
...services,
|
|
12
|
+
connection
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { startLanguageServer };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const vscodeJsonrpc = require('vscode-jsonrpc');
|
|
4
|
+
|
|
5
|
+
const onDidChangeModel = new vscodeJsonrpc.NotificationType("likec4/onDidChangeModel");
|
|
6
|
+
const fetchModel = new vscodeJsonrpc.RequestType0(
|
|
7
|
+
"likec4/fetchModel"
|
|
8
|
+
);
|
|
9
|
+
const fetchComputedModel = new vscodeJsonrpc.RequestType0(
|
|
10
|
+
"likec4/fetchComputedModel"
|
|
11
|
+
);
|
|
12
|
+
const computeView = new vscodeJsonrpc.RequestType(
|
|
13
|
+
"likec4/computeView"
|
|
14
|
+
);
|
|
15
|
+
const buildDocuments = new vscodeJsonrpc.RequestType("likec4/build");
|
|
16
|
+
const locate = new vscodeJsonrpc.RequestType("likec4/locate");
|
|
17
|
+
const changeView = new vscodeJsonrpc.RequestType("likec4/change-view");
|
|
18
|
+
|
|
19
|
+
exports.buildDocuments = buildDocuments;
|
|
20
|
+
exports.changeView = changeView;
|
|
21
|
+
exports.computeView = computeView;
|
|
22
|
+
exports.fetchComputedModel = fetchComputedModel;
|
|
23
|
+
exports.fetchModel = fetchModel;
|
|
24
|
+
exports.locate = locate;
|
|
25
|
+
exports.onDidChangeModel = onDidChangeModel;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewID, ComputedView, Fqn, RelationID, ViewChange } from '@likec4/core';
|
|
2
|
+
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
|
+
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
|
+
|
|
5
|
+
declare const onDidChangeModel: NotificationType<string>;
|
|
6
|
+
type OnDidChangeModelNotification = typeof onDidChangeModel;
|
|
7
|
+
declare const fetchModel: RequestType0<{
|
|
8
|
+
model: ParsedLikeC4Model | null;
|
|
9
|
+
}, void>;
|
|
10
|
+
type FetchModelRequest = typeof fetchModel;
|
|
11
|
+
declare const fetchComputedModel: RequestType0<{
|
|
12
|
+
model: ComputedLikeC4Model | null;
|
|
13
|
+
}, void>;
|
|
14
|
+
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
15
|
+
declare const computeView: RequestType<{
|
|
16
|
+
viewId: ViewID;
|
|
17
|
+
}, {
|
|
18
|
+
view: ComputedView | null;
|
|
19
|
+
}, void>;
|
|
20
|
+
type ComputeViewRequest = typeof computeView;
|
|
21
|
+
interface BuildDocumentsParams {
|
|
22
|
+
docs: DocumentUri[];
|
|
23
|
+
}
|
|
24
|
+
declare const buildDocuments: RequestType<BuildDocumentsParams, void, void>;
|
|
25
|
+
type BuildDocumentsRequest = typeof buildDocuments;
|
|
26
|
+
type LocateParams = {
|
|
27
|
+
element: Fqn;
|
|
28
|
+
property?: string;
|
|
29
|
+
} | {
|
|
30
|
+
relation: RelationID;
|
|
31
|
+
} | {
|
|
32
|
+
view: ViewID;
|
|
33
|
+
};
|
|
34
|
+
declare const locate: RequestType<LocateParams, Location, void>;
|
|
35
|
+
type LocateRequest = typeof locate;
|
|
36
|
+
interface ChangeViewRequestParams {
|
|
37
|
+
viewId: ViewID;
|
|
38
|
+
change: ViewChange;
|
|
39
|
+
}
|
|
40
|
+
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|
|
41
|
+
type ChangeViewRequest = typeof changeView;
|
|
42
|
+
|
|
43
|
+
export { type BuildDocumentsParams, type BuildDocumentsRequest, type ChangeViewRequest, type ChangeViewRequestParams, type ComputeViewRequest, type FetchComputedModelRequest, type FetchModelRequest, type LocateParams, type LocateRequest, type OnDidChangeModelNotification, buildDocuments, changeView, computeView, fetchComputedModel, fetchModel, locate, onDidChangeModel };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewID, ComputedView, Fqn, RelationID, ViewChange } from '@likec4/core';
|
|
2
|
+
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
|
+
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
|
+
|
|
5
|
+
declare const onDidChangeModel: NotificationType<string>;
|
|
6
|
+
type OnDidChangeModelNotification = typeof onDidChangeModel;
|
|
7
|
+
declare const fetchModel: RequestType0<{
|
|
8
|
+
model: ParsedLikeC4Model | null;
|
|
9
|
+
}, void>;
|
|
10
|
+
type FetchModelRequest = typeof fetchModel;
|
|
11
|
+
declare const fetchComputedModel: RequestType0<{
|
|
12
|
+
model: ComputedLikeC4Model | null;
|
|
13
|
+
}, void>;
|
|
14
|
+
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
15
|
+
declare const computeView: RequestType<{
|
|
16
|
+
viewId: ViewID;
|
|
17
|
+
}, {
|
|
18
|
+
view: ComputedView | null;
|
|
19
|
+
}, void>;
|
|
20
|
+
type ComputeViewRequest = typeof computeView;
|
|
21
|
+
interface BuildDocumentsParams {
|
|
22
|
+
docs: DocumentUri[];
|
|
23
|
+
}
|
|
24
|
+
declare const buildDocuments: RequestType<BuildDocumentsParams, void, void>;
|
|
25
|
+
type BuildDocumentsRequest = typeof buildDocuments;
|
|
26
|
+
type LocateParams = {
|
|
27
|
+
element: Fqn;
|
|
28
|
+
property?: string;
|
|
29
|
+
} | {
|
|
30
|
+
relation: RelationID;
|
|
31
|
+
} | {
|
|
32
|
+
view: ViewID;
|
|
33
|
+
};
|
|
34
|
+
declare const locate: RequestType<LocateParams, Location, void>;
|
|
35
|
+
type LocateRequest = typeof locate;
|
|
36
|
+
interface ChangeViewRequestParams {
|
|
37
|
+
viewId: ViewID;
|
|
38
|
+
change: ViewChange;
|
|
39
|
+
}
|
|
40
|
+
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|
|
41
|
+
type ChangeViewRequest = typeof changeView;
|
|
42
|
+
|
|
43
|
+
export { type BuildDocumentsParams, type BuildDocumentsRequest, type ChangeViewRequest, type ChangeViewRequestParams, type ComputeViewRequest, type FetchComputedModelRequest, type FetchModelRequest, type LocateParams, type LocateRequest, type OnDidChangeModelNotification, buildDocuments, changeView, computeView, fetchComputedModel, fetchModel, locate, onDidChangeModel };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewID, ComputedView, Fqn, RelationID, ViewChange } from '@likec4/core';
|
|
2
|
+
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
|
+
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
|
+
|
|
5
|
+
declare const onDidChangeModel: NotificationType<string>;
|
|
6
|
+
type OnDidChangeModelNotification = typeof onDidChangeModel;
|
|
7
|
+
declare const fetchModel: RequestType0<{
|
|
8
|
+
model: ParsedLikeC4Model | null;
|
|
9
|
+
}, void>;
|
|
10
|
+
type FetchModelRequest = typeof fetchModel;
|
|
11
|
+
declare const fetchComputedModel: RequestType0<{
|
|
12
|
+
model: ComputedLikeC4Model | null;
|
|
13
|
+
}, void>;
|
|
14
|
+
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
15
|
+
declare const computeView: RequestType<{
|
|
16
|
+
viewId: ViewID;
|
|
17
|
+
}, {
|
|
18
|
+
view: ComputedView | null;
|
|
19
|
+
}, void>;
|
|
20
|
+
type ComputeViewRequest = typeof computeView;
|
|
21
|
+
interface BuildDocumentsParams {
|
|
22
|
+
docs: DocumentUri[];
|
|
23
|
+
}
|
|
24
|
+
declare const buildDocuments: RequestType<BuildDocumentsParams, void, void>;
|
|
25
|
+
type BuildDocumentsRequest = typeof buildDocuments;
|
|
26
|
+
type LocateParams = {
|
|
27
|
+
element: Fqn;
|
|
28
|
+
property?: string;
|
|
29
|
+
} | {
|
|
30
|
+
relation: RelationID;
|
|
31
|
+
} | {
|
|
32
|
+
view: ViewID;
|
|
33
|
+
};
|
|
34
|
+
declare const locate: RequestType<LocateParams, Location, void>;
|
|
35
|
+
type LocateRequest = typeof locate;
|
|
36
|
+
interface ChangeViewRequestParams {
|
|
37
|
+
viewId: ViewID;
|
|
38
|
+
change: ViewChange;
|
|
39
|
+
}
|
|
40
|
+
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|
|
41
|
+
type ChangeViewRequest = typeof changeView;
|
|
42
|
+
|
|
43
|
+
export { type BuildDocumentsParams, type BuildDocumentsRequest, type ChangeViewRequest, type ChangeViewRequestParams, type ComputeViewRequest, type FetchComputedModelRequest, type FetchModelRequest, type LocateParams, type LocateRequest, type OnDidChangeModelNotification, buildDocuments, changeView, computeView, fetchComputedModel, fetchModel, locate, onDidChangeModel };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
2
|
+
|
|
3
|
+
const onDidChangeModel = new NotificationType("likec4/onDidChangeModel");
|
|
4
|
+
const fetchModel = new RequestType0(
|
|
5
|
+
"likec4/fetchModel"
|
|
6
|
+
);
|
|
7
|
+
const fetchComputedModel = new RequestType0(
|
|
8
|
+
"likec4/fetchComputedModel"
|
|
9
|
+
);
|
|
10
|
+
const computeView = new RequestType(
|
|
11
|
+
"likec4/computeView"
|
|
12
|
+
);
|
|
13
|
+
const buildDocuments = new RequestType("likec4/build");
|
|
14
|
+
const locate = new RequestType("likec4/locate");
|
|
15
|
+
const changeView = new RequestType("likec4/change-view");
|
|
16
|
+
|
|
17
|
+
export { buildDocuments, changeView, computeView, fetchComputedModel, fetchModel, locate, onDidChangeModel };
|