@likec4/language-server 1.17.1 → 1.18.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 +1 -1
- package/dist/browser.d.cts +2 -2
- package/dist/browser.d.mts +2 -2
- package/dist/browser.d.ts +2 -2
- package/dist/browser.mjs +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/protocol.d.cts +8 -5
- package/dist/protocol.d.mts +8 -5
- package/dist/protocol.d.ts +8 -5
- package/dist/shared/{language-server.DKV_FdPN.cjs → language-server.CO_nmHiL.cjs} +5598 -4213
- package/dist/shared/{language-server.BQRvVmE0.d.cts → language-server.Da6ey08o.d.cts} +390 -74
- package/dist/shared/{language-server.BysPcTxr.d.ts → language-server.De7S3e5Z.d.ts} +390 -74
- package/dist/shared/{language-server._wkyPgso.d.mts → language-server.Dj4iDjtB.d.mts} +390 -74
- package/dist/shared/{language-server.BIbAD1T-.mjs → language-server.oO_9JoAG.mjs} +5604 -4230
- package/package.json +11 -25
- package/src/Rpc.ts +6 -3
- package/src/ast.ts +124 -71
- package/src/generated/ast.ts +655 -39
- package/src/generated/grammar.ts +1 -1
- package/src/index.ts +1 -0
- package/src/like-c4.langium +170 -22
- package/src/logger.ts +7 -2
- package/src/lsp/CodeLensProvider.ts +0 -1
- package/src/lsp/CompletionProvider.ts +17 -2
- package/src/lsp/DocumentSymbolProvider.ts +5 -2
- package/src/lsp/HoverProvider.ts +34 -2
- package/src/lsp/SemanticTokenProvider.ts +58 -32
- package/src/model/deployments-index.ts +218 -0
- package/src/model/fqn-computation.ts +1 -1
- package/src/model/fqn-index.ts +0 -1
- package/src/model/index.ts +1 -0
- package/src/model/model-builder.ts +172 -37
- package/src/model/model-locator.ts +36 -7
- package/src/model/model-parser.ts +554 -92
- package/src/model-change/changeViewLayout.ts +2 -2
- package/src/module.ts +10 -4
- package/src/protocol.ts +10 -6
- package/src/references/index.ts +1 -0
- package/src/references/name-provider.ts +37 -0
- package/src/references/scope-computation.ts +130 -21
- package/src/references/scope-provider.ts +63 -36
- package/src/shared/NodeKindProvider.ts +15 -3
- package/src/utils/deploymentRef.ts +31 -0
- package/src/{elementRef.ts → utils/elementRef.ts} +1 -1
- package/src/utils/stringHash.ts +2 -2
- package/src/validation/_shared.ts +7 -5
- package/src/validation/deployment-checks.ts +144 -0
- package/src/validation/dynamic-view-step.ts +1 -1
- package/src/validation/index.ts +7 -0
- package/src/validation/relation.ts +1 -1
- package/src/validation/view-predicates/deployments.ts +56 -0
- package/src/validation/view-predicates/index.ts +1 -0
- package/src/view-utils/assignNavigateTo.ts +6 -5
- package/src/view-utils/index.ts +0 -1
- package/dist/model-graph/index.cjs +0 -10
- package/dist/model-graph/index.d.cts +0 -81
- package/dist/model-graph/index.d.mts +0 -81
- package/dist/model-graph/index.d.ts +0 -81
- package/dist/model-graph/index.mjs +0 -1
- package/dist/shared/language-server.D2QdbOJO.cjs +0 -1995
- package/dist/shared/language-server.DGrBGmsd.mjs +0 -1981
- package/src/model-graph/LikeC4ModelGraph.ts +0 -338
- package/src/model-graph/compute-view/__test__/fixture.ts +0 -630
- package/src/model-graph/compute-view/compute.ts +0 -788
- package/src/model-graph/compute-view/index.ts +0 -33
- package/src/model-graph/compute-view/predicates.ts +0 -509
- package/src/model-graph/dynamic-view/__test__/fixture.ts +0 -61
- package/src/model-graph/dynamic-view/compute.ts +0 -313
- package/src/model-graph/dynamic-view/index.ts +0 -29
- package/src/model-graph/index.ts +0 -3
- package/src/model-graph/utils/applyCustomElementProperties.ts +0 -65
- package/src/model-graph/utils/applyCustomRelationProperties.ts +0 -41
- package/src/model-graph/utils/applyViewRuleStyles.ts +0 -49
- package/src/model-graph/utils/buildComputeNodes.ts +0 -113
- package/src/model-graph/utils/buildElementNotations.ts +0 -63
- package/src/model-graph/utils/elementExpressionToPredicate.ts +0 -39
- package/src/model-graph/utils/relationExpressionToPredicates.ts +0 -43
- package/src/model-graph/utils/sortNodes.ts +0 -105
- package/src/model-graph/utils/uniqueTags.test.ts +0 -42
- package/src/model-graph/utils/uniqueTags.ts +0 -19
- package/src/utils/graphlib.ts +0 -9
- package/src/view-utils/resolve-extended-views.ts +0 -66
- package/src/view-utils/resolve-global-rules.ts +0 -88
- package/src/view-utils/view-hash.ts +0 -27
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"name": "keyword.control.likec4",
|
|
15
|
-
"match": "\\b(BottomTop|LeftRight|RightLeft|TopBottom|amber|and|autoLayout|blue|border|browser|color|crow|cylinder|dashed|description|diamond|dot|dotted|dynamic|dynamicPredicateGroup|element|element\\.kind|element\\.tag|exclude|extend|extends|global|gray|green|group|head|icon|icons|include|indigo|is|kind|likec4lib|line|link|metadata|mobile|model|muted|navigateTo|none|normal|not|notation|notes|odiamond|odot|of|onormal|opacity|open|or|par|parallel|person|predicate|predicateGroup|primary|queue|rectangle|red|relationship|secondary|shape|sky|slate|solid|specification|storage|style|styleGroup|tag|tail|technology|title|vee|view|views|where|with)\\b"
|
|
15
|
+
"match": "\\b(BottomTop|LeftRight|RightLeft|TopBottom|amber|and|autoLayout|blue|border|browser|color|crow|cylinder|dashed|deployment|deploymentNode|description|diamond|dot|dotted|dynamic|dynamicPredicateGroup|element|element\\.kind|element\\.tag|exclude|extend|extends|global|gray|green|group|head|icon|icons|include|indigo|instance|instanceOf|is|kind|likec4lib|line|link|metadata|mobile|model|muted|navigateTo|node|none|normal|not|notation|notes|odiamond|odot|of|onormal|opacity|open|or|par|parallel|person|predicate|predicateGroup|primary|queue|rectangle|red|relationship|secondary|shape|sky|slate|solid|specification|storage|style|styleGroup|tag|tail|technology|title|vee|view|views|where|with)\\b"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"name": "string.quoted.double.likec4",
|
package/dist/browser.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const lsp = require('langium/lsp');
|
|
4
4
|
const browser = require('vscode-languageserver/browser');
|
|
5
|
-
const module$1 = require('./shared/language-server.
|
|
5
|
+
const module$1 = require('./shared/language-server.CO_nmHiL.cjs');
|
|
6
6
|
|
|
7
7
|
function startLanguageServer() {
|
|
8
8
|
const messageReader = new browser.BrowserMessageReader(self);
|
package/dist/browser.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Da6ey08o.cjs';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, s as setLogLevel } from './shared/language-server.Da6ey08o.cjs';
|
|
3
3
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
4
4
|
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
|
|
5
5
|
import 'langium';
|
package/dist/browser.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Dj4iDjtB.mjs';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, s as setLogLevel } from './shared/language-server.Dj4iDjtB.mjs';
|
|
3
3
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
4
4
|
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
|
|
5
5
|
import 'langium';
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.De7S3e5Z.js';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, s as setLogLevel } from './shared/language-server.De7S3e5Z.js';
|
|
3
3
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
4
4
|
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
|
|
5
5
|
import 'langium';
|
package/dist/browser.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
|
|
2
2
|
import { BrowserMessageReader, BrowserMessageWriter, createConnection } from 'vscode-languageserver/browser';
|
|
3
|
-
import { c as createLanguageServices } from './shared/language-server.
|
|
4
|
-
export { L as LikeC4Module, a as createCustomLanguageServices, s as setLogLevel } from './shared/language-server.
|
|
3
|
+
import { c as createLanguageServices } from './shared/language-server.oO_9JoAG.mjs';
|
|
4
|
+
export { L as LikeC4Module, a as createCustomLanguageServices, s as setLogLevel } from './shared/language-server.oO_9JoAG.mjs';
|
|
5
5
|
|
|
6
6
|
function startLanguageServer() {
|
|
7
7
|
const messageReader = new BrowserMessageReader(self);
|
package/dist/index.cjs
CHANGED
|
@@ -7,7 +7,7 @@ const node = require('langium/node');
|
|
|
7
7
|
const node_fs = require('node:fs');
|
|
8
8
|
const promises = require('node:fs/promises');
|
|
9
9
|
const node_path = require('node:path');
|
|
10
|
-
const module$1 = require('./shared/language-server.
|
|
10
|
+
const module$1 = require('./shared/language-server.CO_nmHiL.cjs');
|
|
11
11
|
|
|
12
12
|
const LikeC4FileSystem = {
|
|
13
13
|
fileSystemProvider: () => new SymLinkTraversingFileSystemProvider()
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Da6ey08o.cjs';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, n as lspLogger, s as setLogLevel } from './shared/language-server.Da6ey08o.cjs';
|
|
3
3
|
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
4
4
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
5
5
|
import { URI, FileSystemNode } from 'langium';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Dj4iDjtB.mjs';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, n as lspLogger, s as setLogLevel } from './shared/language-server.Dj4iDjtB.mjs';
|
|
3
3
|
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
4
4
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
5
5
|
import { URI, FileSystemNode } from 'langium';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.
|
|
2
|
-
export {
|
|
1
|
+
import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.De7S3e5Z.js';
|
|
2
|
+
export { D as DeploymentsIndex, e as DocumentDeploymentsIndex, g as FqnIndex, F as FqnIndexEntry, I as IsValidFn, l as LanguageServicesContext, k as LikeC4AddedServices, h as LikeC4ModelBuilder, i as LikeC4ModelLocator, j as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, f as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, m as createSharedServices, n as lspLogger, s as setLogLevel } from './shared/language-server.De7S3e5Z.js';
|
|
3
3
|
import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
|
|
4
4
|
import * as vscode_languageserver from 'vscode-languageserver';
|
|
5
5
|
import { URI, FileSystemNode } from 'langium';
|
package/dist/index.mjs
CHANGED
|
@@ -5,8 +5,8 @@ import { NodeFileSystemProvider } from 'langium/node';
|
|
|
5
5
|
import { lstatSync, readlinkSync } from 'node:fs';
|
|
6
6
|
import { readdir } from 'node:fs/promises';
|
|
7
7
|
import { dirname, resolve } from 'node:path';
|
|
8
|
-
import { c as createLanguageServices } from './shared/language-server.
|
|
9
|
-
export { L as LikeC4Module, a as createCustomLanguageServices, l as lspLogger, s as setLogLevel } from './shared/language-server.
|
|
8
|
+
import { c as createLanguageServices } from './shared/language-server.oO_9JoAG.mjs';
|
|
9
|
+
export { L as LikeC4Module, a as createCustomLanguageServices, l as lspLogger, s as setLogLevel } from './shared/language-server.oO_9JoAG.mjs';
|
|
10
10
|
|
|
11
11
|
const LikeC4FileSystem = {
|
|
12
12
|
fileSystemProvider: () => new SymLinkTraversingFileSystemProvider()
|
package/dist/protocol.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParsedLikeC4Model, ComputedLikeC4Model,
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewId, ComputedView, Fqn, RelationId, ViewChange } from '@likec4/core';
|
|
2
2
|
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
3
|
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@ declare const fetchComputedModel: RequestType<{
|
|
|
15
15
|
}, void>;
|
|
16
16
|
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
17
17
|
declare const computeView: RequestType<{
|
|
18
|
-
viewId:
|
|
18
|
+
viewId: ViewId;
|
|
19
19
|
}, {
|
|
20
20
|
view: ComputedView | null;
|
|
21
21
|
}, void>;
|
|
@@ -29,14 +29,17 @@ type LocateParams = {
|
|
|
29
29
|
element: Fqn;
|
|
30
30
|
property?: string;
|
|
31
31
|
} | {
|
|
32
|
-
relation:
|
|
32
|
+
relation: RelationId;
|
|
33
33
|
} | {
|
|
34
|
-
|
|
34
|
+
deployment: Fqn;
|
|
35
|
+
property?: string;
|
|
36
|
+
} | {
|
|
37
|
+
view: ViewId;
|
|
35
38
|
};
|
|
36
39
|
declare const locate: RequestType<LocateParams, Location, void>;
|
|
37
40
|
type LocateRequest = typeof locate;
|
|
38
41
|
interface ChangeViewRequestParams {
|
|
39
|
-
viewId:
|
|
42
|
+
viewId: ViewId;
|
|
40
43
|
change: ViewChange;
|
|
41
44
|
}
|
|
42
45
|
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|
package/dist/protocol.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParsedLikeC4Model, ComputedLikeC4Model,
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewId, ComputedView, Fqn, RelationId, ViewChange } from '@likec4/core';
|
|
2
2
|
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
3
|
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@ declare const fetchComputedModel: RequestType<{
|
|
|
15
15
|
}, void>;
|
|
16
16
|
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
17
17
|
declare const computeView: RequestType<{
|
|
18
|
-
viewId:
|
|
18
|
+
viewId: ViewId;
|
|
19
19
|
}, {
|
|
20
20
|
view: ComputedView | null;
|
|
21
21
|
}, void>;
|
|
@@ -29,14 +29,17 @@ type LocateParams = {
|
|
|
29
29
|
element: Fqn;
|
|
30
30
|
property?: string;
|
|
31
31
|
} | {
|
|
32
|
-
relation:
|
|
32
|
+
relation: RelationId;
|
|
33
33
|
} | {
|
|
34
|
-
|
|
34
|
+
deployment: Fqn;
|
|
35
|
+
property?: string;
|
|
36
|
+
} | {
|
|
37
|
+
view: ViewId;
|
|
35
38
|
};
|
|
36
39
|
declare const locate: RequestType<LocateParams, Location, void>;
|
|
37
40
|
type LocateRequest = typeof locate;
|
|
38
41
|
interface ChangeViewRequestParams {
|
|
39
|
-
viewId:
|
|
42
|
+
viewId: ViewId;
|
|
40
43
|
change: ViewChange;
|
|
41
44
|
}
|
|
42
45
|
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParsedLikeC4Model, ComputedLikeC4Model,
|
|
1
|
+
import { ParsedLikeC4Model, ComputedLikeC4Model, ViewId, ComputedView, Fqn, RelationId, ViewChange } from '@likec4/core';
|
|
2
2
|
import { NotificationType, RequestType0, RequestType } from 'vscode-jsonrpc';
|
|
3
3
|
import { DocumentUri, Location } from 'vscode-languageserver-types';
|
|
4
4
|
|
|
@@ -15,7 +15,7 @@ declare const fetchComputedModel: RequestType<{
|
|
|
15
15
|
}, void>;
|
|
16
16
|
type FetchComputedModelRequest = typeof fetchComputedModel;
|
|
17
17
|
declare const computeView: RequestType<{
|
|
18
|
-
viewId:
|
|
18
|
+
viewId: ViewId;
|
|
19
19
|
}, {
|
|
20
20
|
view: ComputedView | null;
|
|
21
21
|
}, void>;
|
|
@@ -29,14 +29,17 @@ type LocateParams = {
|
|
|
29
29
|
element: Fqn;
|
|
30
30
|
property?: string;
|
|
31
31
|
} | {
|
|
32
|
-
relation:
|
|
32
|
+
relation: RelationId;
|
|
33
33
|
} | {
|
|
34
|
-
|
|
34
|
+
deployment: Fqn;
|
|
35
|
+
property?: string;
|
|
36
|
+
} | {
|
|
37
|
+
view: ViewId;
|
|
35
38
|
};
|
|
36
39
|
declare const locate: RequestType<LocateParams, Location, void>;
|
|
37
40
|
type LocateRequest = typeof locate;
|
|
38
41
|
interface ChangeViewRequestParams {
|
|
39
|
-
viewId:
|
|
42
|
+
viewId: ViewId;
|
|
40
43
|
change: ViewChange;
|
|
41
44
|
}
|
|
42
45
|
declare const changeView: RequestType<ChangeViewRequestParams, Location, void>;
|