@likec4/language-server 1.49.0 → 1.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/ConfigurableLayouter.mjs +1 -1
- package/dist/_chunks/LikeC4FileSystem.mjs +3 -3
- package/dist/_chunks/WithMCPServer.mjs +686 -13
- package/dist/_chunks/common-exports.mjs +0 -0
- package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -1
- package/dist/_chunks/libs/eventemitter3.mjs +1 -1
- package/dist/_chunks/libs/fast-equals.mjs +1 -1
- package/dist/_chunks/libs/p-queue.mjs +1 -1
- package/dist/_chunks/libs/picomatch.mjs +1 -1
- package/dist/_chunks/libs/pretty-ms.mjs +1 -1
- package/dist/_chunks/libs/remeda.mjs +2 -1
- package/dist/_chunks/libs/ufo.mjs +1 -1
- package/dist/_chunks/likec4lib.mjs +2 -0
- package/dist/_chunks/{index.d.mts → module.d.mts} +247 -7
- package/dist/_chunks/module.mjs +34 -0
- package/dist/_chunks/noop.mjs +1 -0
- package/dist/_chunks/protocol.d.mts +315 -0
- package/dist/_chunks/rolldown-runtime.mjs +1 -1
- package/dist/_chunks/utils.mjs +1 -1
- package/dist/_chunks/workspace.mjs +1 -0
- package/dist/browser/index.d.mts +7 -2
- package/dist/browser/index.mjs +1 -1
- package/dist/browser/worker.mjs +1 -1
- package/dist/bundled.d.mts +2 -2
- package/dist/bundled.mjs +1 -1
- package/dist/filesystem/index.d.mts +3 -2
- package/dist/filesystem/index.mjs +1 -1
- package/dist/index.d.mts +2 -38
- package/dist/index.mjs +1 -1
- package/dist/likec4lib.mjs +1 -1
- package/dist/mcp/index.d.mts +3 -2
- package/dist/mcp/index.mjs +1 -1
- package/dist/module.d.mts +2 -125
- package/dist/module.mjs +1 -1
- package/dist/protocol.d.mts +1 -314
- package/dist/protocol.mjs +1 -1
- package/package.json +15 -15
- package/dist/_chunks/LikeC4Views.mjs +0 -34
- package/dist/_chunks/ProjectsManager.mjs +0 -1
- package/dist/_chunks/icons.mjs +0 -2
- package/dist/_chunks/logger.mjs +0 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { ChangeView, DidRequestOpenViewNotification
|
|
2
|
-
import { LikeC4Services, LikeC4SharedServices } from "../module.mjs";
|
|
1
|
+
import { h as Locate, n as ChangeView, o as DidRequestOpenViewNotification } from "./protocol.mjs";
|
|
3
2
|
import * as langium from "langium";
|
|
4
|
-
import { AstNode, AstNodeDescription, AsyncDisposable, BuildOptions, Cancellation, CstNode, DefaultAstNodeDescriptionProvider, DefaultDocumentValidator, DefaultIndexManager, DefaultLangiumDocuments, DefaultNameProvider, DefaultScopeComputation, DefaultScopeProvider, DefaultValueConverter, DefaultWorkspaceManager, DiagnosticInfo, Disposable, FileSelector, FileSystemNode, FileSystemProvider, GrammarAST, JSDocDocumentationProvider, LangiumDocument, LangiumDocumentFactory, MaybePromise, PrecomputedScopes, Reference, ReferenceDescription, ReferenceInfo, Scope, SimpleCache, Stream, URI, ValidationOptions, ValueType, WorkspaceCache } from "langium";
|
|
3
|
+
import { AstNode, AstNodeDescription, AsyncDisposable, BuildOptions, Cancellation, CstNode, DefaultAstNodeDescriptionProvider, DefaultDocumentValidator, DefaultIndexManager, DefaultLangiumDocuments, DefaultNameProvider, DefaultScopeComputation, DefaultScopeProvider, DefaultValueConverter, DefaultWorkspaceManager, DiagnosticInfo, Disposable, FileSelector, FileSystemNode, FileSystemProvider, GrammarAST, JSDocDocumentationProvider, LangiumDocument, LangiumDocumentFactory, MaybePromise, Module, PrecomputedScopes, Reference, ReferenceDescription, ReferenceInfo, Scope, SimpleCache, Stream, URI, ValidationOptions, ValueType, WorkspaceCache } from "langium";
|
|
5
4
|
import { DefaultWeakMap, MultiMap as MultiMap$1 } from "@likec4/core/utils";
|
|
6
5
|
import { CompletionItemKind, Diagnostic, DocumentSymbol, FormattingOptions, Hover, Location, Range, SemanticTokens, SemanticTokensDelta, SymbolKind, TextEdit } from "vscode-languageserver-types";
|
|
7
|
-
import { AbstractFormatter, AbstractSemanticTokenProvider, AstNodeHoverProvider, CodeActionProvider, CodeLensProvider, CompletionAcceptor, CompletionContext, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DefaultWorkspaceSymbolProvider, DocumentLinkProvider, DocumentSymbolProvider, FormattingRegion, LangiumSharedServices, NextFeature, NodeKindProvider, SemanticTokenAcceptor } from "langium/lsp";
|
|
6
|
+
import { AbstractFormatter, AbstractSemanticTokenProvider, AstNodeHoverProvider, CodeActionProvider, CodeLensProvider, CompletionAcceptor, CompletionContext, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DefaultSharedModuleContext, DefaultWorkspaceSymbolProvider, DocumentLinkProvider, DocumentSymbolProvider, FormattingRegion, LangiumServices, LangiumSharedServices, NextFeature, NodeKindProvider, PartialLangiumServices, SemanticTokenAcceptor } from "langium/lsp";
|
|
8
7
|
import { GraphvizLayouter, QueueGraphvizLayoter } from "@likec4/layouts";
|
|
9
8
|
import * as c4 from "@likec4/core";
|
|
10
9
|
import { ComputedView, DiagramView, LayoutType, LayoutedView, NonEmptyArray, NonEmptyReadonlyArray, ProjectId, Tag, UnknownComputed, UnknownLayouted, UnknownParsed, ViewChange, ViewId } from "@likec4/core";
|
|
@@ -13,7 +12,7 @@ import { ElementModel, LikeC4Model } from "@likec4/core/model";
|
|
|
13
12
|
import { IncludeConfig, LikeC4ProjectConfig, LikeC4ProjectConfigInput } from "@likec4/config";
|
|
14
13
|
import { URI as URI$2 } from "vscode-uri";
|
|
15
14
|
import { LikeC4Styles } from "@likec4/core/styles";
|
|
16
|
-
import { CancellationToken, CodeLens, CodeLensParams, DocumentHighlight, DocumentLink, DocumentLinkParams, DocumentSymbolParams, WorkspaceFolder } from "vscode-languageserver";
|
|
15
|
+
import { CancellationToken, CodeLens, CodeLensParams, Connection, DocumentHighlight, DocumentLink, DocumentLinkParams, DocumentSymbolParams, WorkspaceFolder } from "vscode-languageserver";
|
|
17
16
|
import { CancellationToken as CancellationToken$1, CodeAction, CodeActionParams, Command, SemanticTokensDeltaParams, SemanticTokensParams, SemanticTokensRangeParams } from "vscode-languageserver-protocol";
|
|
18
17
|
import { Fqn as Fqn$1, GuardedBy, LayoutedView as LayoutedView$1, ProjectId as ProjectId$1, ViewId as ViewId$1 } from "@likec4/core/types";
|
|
19
18
|
import { CancellationToken as CancellationToken$2 } from "vscode-jsonrpc";
|
|
@@ -23,10 +22,23 @@ import { ConditionalPick, MergeExclusive, Simplify, Tagged, ValueOf, Writable }
|
|
|
23
22
|
import { ServerOptions } from "@modelcontextprotocol/sdk/server/index.js";
|
|
24
23
|
|
|
25
24
|
//#region src/documentation/documentation-provider.d.ts
|
|
25
|
+
/**
|
|
26
|
+
* Provides documentation for LikeC4 AST nodes, extending JSDoc parsing
|
|
27
|
+
* with specialized formatting for deployment nodes, deployed instances, and elements.
|
|
28
|
+
*/
|
|
26
29
|
declare class LikeC4DocumentationProvider extends JSDocDocumentationProvider {
|
|
27
30
|
private parser;
|
|
28
31
|
private locator;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new documentation provider.
|
|
34
|
+
* @param services - The LikeC4 language services.
|
|
35
|
+
*/
|
|
29
36
|
constructor(services: LikeC4Services);
|
|
37
|
+
/**
|
|
38
|
+
* Returns documentation for the given AST node (deployment nodes, deployed instances, elements, or JSDoc fallback).
|
|
39
|
+
* @param node - The AST node to document.
|
|
40
|
+
* @returns Formatted documentation string, or undefined if none.
|
|
41
|
+
*/
|
|
30
42
|
getDocumentation(node: AstNode): string | undefined;
|
|
31
43
|
}
|
|
32
44
|
//#endregion
|
|
@@ -1971,7 +1983,10 @@ declare class MergedSpecification {
|
|
|
1971
1983
|
readonly globals: c4.ModelGlobals;
|
|
1972
1984
|
readonly imports: MultiMap$1<c4.ProjectId, c4.Fqn, Set<c4.Fqn>>;
|
|
1973
1985
|
readonly projectId: c4.ProjectId | undefined;
|
|
1974
|
-
|
|
1986
|
+
readonly inferTechFromIcon: boolean;
|
|
1987
|
+
constructor(docs: ReadonlyArray<ParsedLikeC4LangiumDocument>, opts?: {
|
|
1988
|
+
inferTechFromIcon?: boolean;
|
|
1989
|
+
});
|
|
1975
1990
|
/**
|
|
1976
1991
|
* Converts a parsed model into a C4 model element.
|
|
1977
1992
|
*/
|
|
@@ -2025,10 +2040,35 @@ declare class MergedSpecification {
|
|
|
2025
2040
|
declare class LastSeenArtifacts {
|
|
2026
2041
|
#private;
|
|
2027
2042
|
constructor(services: LikeC4Services);
|
|
2043
|
+
/**
|
|
2044
|
+
* Cache the last successful merged specification for its project.
|
|
2045
|
+
* @param specification - MergedSpecification to store (by projectId).
|
|
2046
|
+
* @returns The same specification (stores in internal map when projectId is set).
|
|
2047
|
+
*/
|
|
2028
2048
|
rememberSpecification(specification: MergedSpecification): MergedSpecification;
|
|
2049
|
+
/**
|
|
2050
|
+
* Cache the last successful computed model and its styles for the project.
|
|
2051
|
+
* @param model - LikeC4Model.Computed to store (by projectId).
|
|
2052
|
+
* @returns The same model (stores model and styles in internal maps).
|
|
2053
|
+
*/
|
|
2029
2054
|
rememberModel<M extends LikeC4Model.Computed>(model: M): M;
|
|
2055
|
+
/**
|
|
2056
|
+
* Returns the last seen merged specification for the given project, if available.
|
|
2057
|
+
* @param projectId - Project id to look up.
|
|
2058
|
+
* @returns MergedSpecification or undefined.
|
|
2059
|
+
*/
|
|
2030
2060
|
specification(projectId: c4.ProjectId): MergedSpecification | undefined;
|
|
2061
|
+
/**
|
|
2062
|
+
* Returns the last seen styles for the given project, if available.
|
|
2063
|
+
* @param projectId - Project id to look up.
|
|
2064
|
+
* @returns LikeC4Styles or undefined.
|
|
2065
|
+
*/
|
|
2031
2066
|
styles(projectId: c4.ProjectId): LikeC4Styles | undefined;
|
|
2067
|
+
/**
|
|
2068
|
+
* Returns the last seen computed model for the given project, if available.
|
|
2069
|
+
* @param projectId - Project id to look up.
|
|
2070
|
+
* @returns LikeC4Model.Computed or undefined.
|
|
2071
|
+
*/
|
|
2032
2072
|
model(projectId: c4.ProjectId): LikeC4Model.Computed | undefined;
|
|
2033
2073
|
}
|
|
2034
2074
|
//#endregion
|
|
@@ -2043,11 +2083,16 @@ interface LikeC4ModelBuilder extends Disposable {
|
|
|
2043
2083
|
}
|
|
2044
2084
|
//#endregion
|
|
2045
2085
|
//#region src/model/model-locator.d.ts
|
|
2086
|
+
/** Result of locating a view: document, view AST, and view block node. */
|
|
2046
2087
|
type ViewLocateResult = {
|
|
2047
2088
|
doc: ParsedLikeC4LangiumDocument;
|
|
2048
2089
|
view: ParsedAstView;
|
|
2049
2090
|
viewAst: LikeC4View;
|
|
2050
2091
|
};
|
|
2092
|
+
/**
|
|
2093
|
+
* Locates elements, views, and documents in the LikeC4 model by FQN or AST node.
|
|
2094
|
+
* Used by LSP features (hover, go-to-definition, document tags, etc.).
|
|
2095
|
+
*/
|
|
2051
2096
|
declare class LikeC4ModelLocator {
|
|
2052
2097
|
private services;
|
|
2053
2098
|
private fqnIndex;
|
|
@@ -2060,16 +2105,33 @@ declare class LikeC4ModelLocator {
|
|
|
2060
2105
|
* Returns the parsed documents
|
|
2061
2106
|
*/
|
|
2062
2107
|
private documents;
|
|
2108
|
+
/**
|
|
2109
|
+
* Get parsed element by AST node or by FQN (and optional projectId).
|
|
2110
|
+
* @param args - Either [element AST], [fqn], or [fqn, projectId]
|
|
2111
|
+
* @returns { projectId, element, document } or null if not found
|
|
2112
|
+
*/
|
|
2063
2113
|
getParsedElement(...args: [Element] | [c4.Fqn] | [c4.Fqn, c4.ProjectId]): null | {
|
|
2064
2114
|
projectId: c4.ProjectId;
|
|
2065
2115
|
element: ParsedAstElement;
|
|
2066
2116
|
document: LangiumDocument;
|
|
2067
2117
|
};
|
|
2068
2118
|
private findParsedElementByFqnIn;
|
|
2119
|
+
/**
|
|
2120
|
+
* Get LSP Location for an element by FQN (and optional projectId).
|
|
2121
|
+
* @param fqn - Fully qualified name (may include project prefix)
|
|
2122
|
+
* @param projectId - Optional project scope
|
|
2123
|
+
* @returns Location or null
|
|
2124
|
+
*/
|
|
2069
2125
|
locateElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
|
|
2070
2126
|
locateDeploymentElement(deploymentFqn: c4.DeploymentFqn, projectId?: c4.ProjectId | undefined): Location | null;
|
|
2071
2127
|
locateRelation(relationId: c4.RelationId, projectId?: c4.ProjectId): Location | null;
|
|
2072
2128
|
locateViewAst(viewId: c4.ViewId, projectId?: c4.ProjectId | undefined): null | ViewLocateResult;
|
|
2129
|
+
/**
|
|
2130
|
+
* Get LSP Location for a view by id (and optional projectId).
|
|
2131
|
+
* @param viewId - View id
|
|
2132
|
+
* @param projectId - Optional project scope
|
|
2133
|
+
* @returns Location or null
|
|
2134
|
+
*/
|
|
2073
2135
|
locateView(viewId: c4.ViewId, projectId?: c4.ProjectId): Location | null;
|
|
2074
2136
|
/**
|
|
2075
2137
|
* Returns an array of tags with their name, color, range and whether they are defined in the specification or not.
|
|
@@ -2169,6 +2231,39 @@ interface LikeC4Views {
|
|
|
2169
2231
|
adhocView(predicates: AdhocViewPredicate[], projectId?: ProjectId | undefined): Promise<LayoutedView>;
|
|
2170
2232
|
}
|
|
2171
2233
|
//#endregion
|
|
2234
|
+
//#region src/index.d.ts
|
|
2235
|
+
type StartLanguageServerOptions = {
|
|
2236
|
+
/**
|
|
2237
|
+
* The Language Server Protocol connection to use.
|
|
2238
|
+
*/
|
|
2239
|
+
connection?: Connection;
|
|
2240
|
+
/**
|
|
2241
|
+
* Whether to enable the file system watcher.
|
|
2242
|
+
* @default true
|
|
2243
|
+
*/
|
|
2244
|
+
enableWatcher?: boolean;
|
|
2245
|
+
/**
|
|
2246
|
+
* @default true
|
|
2247
|
+
*/
|
|
2248
|
+
enableTelemetry?: boolean;
|
|
2249
|
+
/**
|
|
2250
|
+
* Whether to enable the MCP server.
|
|
2251
|
+
* @default 'sse'
|
|
2252
|
+
*/
|
|
2253
|
+
enableMCP?: false | 'stdio' | 'sse' | {
|
|
2254
|
+
port: number;
|
|
2255
|
+
};
|
|
2256
|
+
/**
|
|
2257
|
+
* Whether to enable manual layouts, stored in json5 files.
|
|
2258
|
+
* @default true
|
|
2259
|
+
*/
|
|
2260
|
+
enableManualLayouts?: boolean;
|
|
2261
|
+
};
|
|
2262
|
+
declare function startLanguageServer$1(options?: StartLanguageServerOptions): {
|
|
2263
|
+
shared: LikeC4SharedServices;
|
|
2264
|
+
likec4: LikeC4Services;
|
|
2265
|
+
};
|
|
2266
|
+
//#endregion
|
|
2172
2267
|
//#region src/model/parser/Base.d.ts
|
|
2173
2268
|
type ParserLevel = 'base' | 'model' | 'deployment' | 'fqnref' | 'relation' | 'views' | 'globals' | 'imports' | 'specification';
|
|
2174
2269
|
declare class BaseParser {
|
|
@@ -3039,15 +3134,41 @@ declare class LikeC4DocumentSymbolProvider implements DocumentSymbolProvider {
|
|
|
3039
3134
|
}
|
|
3040
3135
|
//#endregion
|
|
3041
3136
|
//#region src/lsp/HoverProvider.d.ts
|
|
3137
|
+
/**
|
|
3138
|
+
* Provides hover content for LikeC4 AST nodes (elements, tags, relations, etc.)
|
|
3139
|
+
* in the language server. Resolves model references and formats markdown hover text.
|
|
3140
|
+
*/
|
|
3042
3141
|
declare class LikeC4HoverProvider extends AstNodeHoverProvider {
|
|
3043
3142
|
protected services: LikeC4Services;
|
|
3044
3143
|
private parser;
|
|
3045
3144
|
private locator;
|
|
3145
|
+
/** @param services - LikeC4 language services (parser, locator, etc.) */
|
|
3046
3146
|
constructor(services: LikeC4Services);
|
|
3047
3147
|
protected getAstNodeHoverContent(node: AstNode): MaybePromise<Hover | undefined>;
|
|
3148
|
+
/**
|
|
3149
|
+
* Builds hover content for an element node (title, summary, model details and view links).
|
|
3150
|
+
* @param node - The element AST node to generate hover content for.
|
|
3151
|
+
* @returns Hover information with markdown content, or undefined if element not found.
|
|
3152
|
+
*/
|
|
3048
3153
|
protected getElementHover(node: Element): MaybePromise<Hover | undefined>;
|
|
3154
|
+
/**
|
|
3155
|
+
* Builds markdown hover content for an element model (relationship counts and links to views).
|
|
3156
|
+
* @param model - The element model containing relationship and view information.
|
|
3157
|
+
* @param projectId - The project identifier for constructing view links.
|
|
3158
|
+
* @returns Markdown string with model details, or undefined if no details available.
|
|
3159
|
+
*/
|
|
3049
3160
|
protected getElementModelHover(model: ElementModel, projectId: ProjectId): string | undefined;
|
|
3161
|
+
/**
|
|
3162
|
+
* Builds hover content for a deployment node (id, title, kind, summary).
|
|
3163
|
+
* @param node - The deployment node AST node to generate hover content for.
|
|
3164
|
+
* @returns Hover information with markdown content.
|
|
3165
|
+
*/
|
|
3050
3166
|
protected getDeploymentNodeHover(node: DeploymentNode): MaybePromise<Hover | undefined>;
|
|
3167
|
+
/**
|
|
3168
|
+
* Builds hover content for a deployed instance (instance id, element ref, title and kind).
|
|
3169
|
+
* @param node - The deployed instance AST node to generate hover content for.
|
|
3170
|
+
* @returns Hover information with markdown content showing instance details.
|
|
3171
|
+
*/
|
|
3051
3172
|
protected getDeployedInstanceHover(node: DeployedInstance): MaybePromise<Hover | undefined>;
|
|
3052
3173
|
}
|
|
3053
3174
|
//#endregion
|
|
@@ -3104,4 +3225,123 @@ declare class NodeKindProvider$1 implements NodeKindProvider {
|
|
|
3104
3225
|
//#region src/shared/WorkspaceSymbolProvider.d.ts
|
|
3105
3226
|
declare class WorkspaceSymbolProvider extends DefaultWorkspaceSymbolProvider {}
|
|
3106
3227
|
//#endregion
|
|
3107
|
-
|
|
3228
|
+
//#region src/module.d.ts
|
|
3229
|
+
type LanguageServicesContext = Omit<DefaultSharedModuleContext, 'fileSystemProvider'> & FileSystemModuleContext & LikeC4MCPServerModuleContext & LikeC4ManualLayoutsModuleContext;
|
|
3230
|
+
interface LikeC4AddedSharedServices {
|
|
3231
|
+
lsp: {
|
|
3232
|
+
NodeKindProvider: NodeKindProvider$1;
|
|
3233
|
+
WorkspaceSymbolProvider: WorkspaceSymbolProvider;
|
|
3234
|
+
};
|
|
3235
|
+
workspace: {
|
|
3236
|
+
Cache: WorkspaceCache<string, any>;
|
|
3237
|
+
ProjectsManager: ProjectsManager;
|
|
3238
|
+
IndexManager: IndexManager;
|
|
3239
|
+
LangiumDocuments: LangiumDocuments;
|
|
3240
|
+
WorkspaceManager: LikeC4WorkspaceManager;
|
|
3241
|
+
FileSystemProvider: FileSystemProvider$1;
|
|
3242
|
+
FileSystemWatcher: FileSystemWatcher;
|
|
3243
|
+
ManualLayouts: LikeC4ManualLayouts;
|
|
3244
|
+
};
|
|
3245
|
+
}
|
|
3246
|
+
type LikeC4SharedServices = LangiumSharedServices & LikeC4AddedSharedServices;
|
|
3247
|
+
/**
|
|
3248
|
+
* Declaration of custom services - add your own service classes here.
|
|
3249
|
+
*/
|
|
3250
|
+
interface LikeC4AddedServices {
|
|
3251
|
+
documentation: {
|
|
3252
|
+
DocumentationProvider: LikeC4DocumentationProvider;
|
|
3253
|
+
};
|
|
3254
|
+
validation: {
|
|
3255
|
+
DocumentValidator: LikeC4DocumentValidator;
|
|
3256
|
+
};
|
|
3257
|
+
Rpc: Rpc;
|
|
3258
|
+
mcp: {
|
|
3259
|
+
Server: LikeC4MCPServer;
|
|
3260
|
+
ServerFactory: LikeC4MCPServerFactory;
|
|
3261
|
+
};
|
|
3262
|
+
likec4: {
|
|
3263
|
+
LanguageServices: LikeC4LanguageServices;
|
|
3264
|
+
Views: LikeC4Views;
|
|
3265
|
+
Layouter: QueueGraphvizLayoter;
|
|
3266
|
+
DeploymentsIndex: DeploymentsIndex;
|
|
3267
|
+
FqnIndex: FqnIndex;
|
|
3268
|
+
ModelParser: LikeC4ModelParser;
|
|
3269
|
+
ModelBuilder: LikeC4ModelBuilder;
|
|
3270
|
+
ModelLocator: LikeC4ModelLocator;
|
|
3271
|
+
ModelChanges: LikeC4ModelChanges;
|
|
3272
|
+
LastSeen: LastSeenArtifacts;
|
|
3273
|
+
};
|
|
3274
|
+
lsp: {
|
|
3275
|
+
CompletionProvider: LikeC4CompletionProvider;
|
|
3276
|
+
DocumentHighlightProvider: LikeC4DocumentHighlightProvider;
|
|
3277
|
+
DocumentSymbolProvider: LikeC4DocumentSymbolProvider;
|
|
3278
|
+
SemanticTokenProvider: LikeC4SemanticTokenProvider;
|
|
3279
|
+
HoverProvider: LikeC4HoverProvider;
|
|
3280
|
+
CodeLensProvider: LikeC4CodeLensProvider;
|
|
3281
|
+
DocumentLinkProvider: LikeC4DocumentLinkProvider;
|
|
3282
|
+
Formatter: LikeC4Formatter;
|
|
3283
|
+
CodeActionProvider: LikeC4CodeActionProvider;
|
|
3284
|
+
};
|
|
3285
|
+
references: {
|
|
3286
|
+
NameProvider: LikeC4NameProvider;
|
|
3287
|
+
ScopeComputation: LikeC4ScopeComputation;
|
|
3288
|
+
ScopeProvider: LikeC4ScopeProvider;
|
|
3289
|
+
};
|
|
3290
|
+
shared?: LikeC4SharedServices;
|
|
3291
|
+
parser: {
|
|
3292
|
+
ValueConverter: LikeC4ValueConverter;
|
|
3293
|
+
};
|
|
3294
|
+
}
|
|
3295
|
+
type LikeC4Services = LangiumServices & LikeC4AddedServices;
|
|
3296
|
+
/**
|
|
3297
|
+
* Most probably you don't need to use this function directly.
|
|
3298
|
+
* Use {@link createLanguageServices} instead.
|
|
3299
|
+
* @internal
|
|
3300
|
+
*/
|
|
3301
|
+
declare function createLikeC4Module(context: LikeC4MCPServerModuleContext): Module<LikeC4Services, PartialLangiumServices & LikeC4AddedServices>;
|
|
3302
|
+
/**
|
|
3303
|
+
* Create and initialize likec4 language services with the given context
|
|
3304
|
+
* @example
|
|
3305
|
+
* ```ts
|
|
3306
|
+
* const { shared, likec4 } = createLanguageServices({
|
|
3307
|
+
* ...WithFileSystem(enableWatcher = true),
|
|
3308
|
+
* ...WithLikeC4ManualLayouts(),
|
|
3309
|
+
* ...NoMcpServer(),
|
|
3310
|
+
* });
|
|
3311
|
+
* ```
|
|
3312
|
+
*
|
|
3313
|
+
* It is possible to extend/override the context with additional modules
|
|
3314
|
+
* See Langium documentation for more details (or at the CliContext in packages/likec4/src/language/module.ts).
|
|
3315
|
+
*/
|
|
3316
|
+
declare function createLanguageServices(): {
|
|
3317
|
+
shared: LikeC4SharedServices;
|
|
3318
|
+
likec4: LikeC4Services;
|
|
3319
|
+
};
|
|
3320
|
+
declare function createLanguageServices(context: Partial<LanguageServicesContext>): {
|
|
3321
|
+
shared: LikeC4SharedServices;
|
|
3322
|
+
likec4: LikeC4Services;
|
|
3323
|
+
};
|
|
3324
|
+
declare function createLanguageServices(context: Partial<LanguageServicesContext>): {
|
|
3325
|
+
shared: LikeC4SharedServices;
|
|
3326
|
+
likec4: LikeC4Services;
|
|
3327
|
+
};
|
|
3328
|
+
declare function createLanguageServices<I1, I extends I1 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1> | undefined): {
|
|
3329
|
+
shared: LikeC4SharedServices;
|
|
3330
|
+
likec4: I;
|
|
3331
|
+
};
|
|
3332
|
+
declare function createLanguageServices<I1, I2, I extends I1 & I2 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1>, module2: Module<I, I2>): {
|
|
3333
|
+
shared: LikeC4SharedServices;
|
|
3334
|
+
likec4: I;
|
|
3335
|
+
};
|
|
3336
|
+
declare function createLanguageServices<I1, I2, I3, I extends I1 & I2 & I3 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1>, module2: Module<I, I2>, module3: Module<I, I3>): {
|
|
3337
|
+
shared: LikeC4SharedServices;
|
|
3338
|
+
likec4: I;
|
|
3339
|
+
};
|
|
3340
|
+
/**
|
|
3341
|
+
* Most probably you don't need to use this function directly.
|
|
3342
|
+
* Use {@link createLanguageServices} instead.
|
|
3343
|
+
* @internal
|
|
3344
|
+
*/
|
|
3345
|
+
declare function createSharedServices(context?: Partial<LanguageServicesContext>): LikeC4SharedServices;
|
|
3346
|
+
//#endregion
|
|
3347
|
+
export { FileNode as A, ProjectsManager as B, LikeC4MCPServerModuleContext as C, NoFileSystem as D, WithFileSystem as E, LikeC4ManualLayouts as F, LikeC4ManualLayoutsModuleContext as I, ManualLayoutsSnapshot as L, FileSystemProvider$1 as M, FileSystemWatcher as N, NoFileSystemWatcher as O, FileSystemWatcherModuleContext as P, Project as R, LikeC4MCPServerFactory as S, WithChokidarWatcher as T, LikeC4ModelBuilder as _, createLanguageServices as a, LangiumDocuments as b, LikeC4LanguageServices as c, startLanguageServer$1 as d, LikeC4Views as f, ViewLocateResult as g, LikeC4ModelLocator as h, LikeC4SharedServices as i, FileSystemModuleContext as j, NoLikeC4ManualLayouts as k, DocumentParser as l, NoMCPServer as m, LikeC4AddedServices as n, createLikeC4Module as o, WithMCPServer as p, LikeC4Services as r, createSharedServices as s, LanguageServicesContext as t, LikeC4ModelParser as u, FqnIndex as v, WithLikeC4ManualLayouts as w, LikeC4MCPServer as x, LikeC4WorkspaceManager as y, ProjectData as z };
|