umple-lsp-server 0.1.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/out/bin.d.ts +2 -0
- package/out/bin.js +5 -0
- package/out/bin.js.map +1 -0
- package/out/keywords.d.ts +38 -0
- package/out/keywords.js +205 -0
- package/out/keywords.js.map +1 -0
- package/out/server.d.ts +1 -0
- package/out/server.js +1117 -0
- package/out/server.js.map +1 -0
- package/out/symbolIndex.d.ts +170 -0
- package/out/symbolIndex.js +705 -0
- package/out/symbolIndex.js.map +1 -0
- package/package.json +39 -0
- package/tree-sitter-umple.wasm +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Symbol Index for fast go-to-definition lookups.
|
|
3
|
+
*
|
|
4
|
+
* Uses tree-sitter (via WASM) for incremental parsing and maintains an
|
|
5
|
+
* in-memory index of all symbol definitions in the workspace.
|
|
6
|
+
*/
|
|
7
|
+
declare const TreeSitter: any;
|
|
8
|
+
type Tree = InstanceType<typeof TreeSitter.Tree>;
|
|
9
|
+
export type SymbolKind = "class" | "interface" | "trait" | "enum" | "attribute" | "state" | "statemachine" | "method" | "association";
|
|
10
|
+
export type CompletionContext = "top" | "class_body" | "state_machine" | "state" | "association" | "enum" | "method" | "use_path" | "isa_type" | "transition_target" | "association_type" | "depend_package" | "comment" | "unknown";
|
|
11
|
+
export interface SymbolEntry {
|
|
12
|
+
name: string;
|
|
13
|
+
kind: SymbolKind;
|
|
14
|
+
file: string;
|
|
15
|
+
line: number;
|
|
16
|
+
column: number;
|
|
17
|
+
endLine: number;
|
|
18
|
+
endColumn: number;
|
|
19
|
+
parent?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface UseStatementWithPosition {
|
|
22
|
+
path: string;
|
|
23
|
+
line: number;
|
|
24
|
+
}
|
|
25
|
+
export interface FileIndex {
|
|
26
|
+
symbols: SymbolEntry[];
|
|
27
|
+
tree: Tree | null;
|
|
28
|
+
contentHash: string;
|
|
29
|
+
}
|
|
30
|
+
export declare class SymbolIndex {
|
|
31
|
+
private parser;
|
|
32
|
+
private language;
|
|
33
|
+
private files;
|
|
34
|
+
private symbolsByName;
|
|
35
|
+
private initialized;
|
|
36
|
+
/**
|
|
37
|
+
* Initialize the tree-sitter parser with the Umple grammar.
|
|
38
|
+
* @param wasmPath Path to the tree-sitter-umple.wasm file
|
|
39
|
+
*/
|
|
40
|
+
initialize(wasmPath: string): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if the symbol index is ready to use.
|
|
43
|
+
*/
|
|
44
|
+
isReady(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Index a file or update its index if content changed.
|
|
47
|
+
* @param filePath Absolute path to the file
|
|
48
|
+
* @param content File content (optional, will be read from disk if not provided)
|
|
49
|
+
* @returns true if the file was (re)indexed, false if cache hit
|
|
50
|
+
*/
|
|
51
|
+
indexFile(filePath: string, content?: string): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Update a file with new content.
|
|
54
|
+
* For web-tree-sitter, we do a full reparse but the index diffing is still efficient.
|
|
55
|
+
*/
|
|
56
|
+
updateFile(filePath: string, content: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Find definition of a symbol by name.
|
|
59
|
+
* @param name Symbol name to look up
|
|
60
|
+
* @param kind Optional kind filter
|
|
61
|
+
* @returns Array of matching symbol entries
|
|
62
|
+
*/
|
|
63
|
+
findDefinition(name: string, kind?: SymbolKind): SymbolEntry[];
|
|
64
|
+
/**
|
|
65
|
+
* Find definition with context (for resolving attributes/states within a class/statemachine).
|
|
66
|
+
* @param name Symbol name
|
|
67
|
+
* @param parentName Parent symbol name (class or statemachine name)
|
|
68
|
+
*/
|
|
69
|
+
findDefinitionInContext(name: string, parentName: string): SymbolEntry[];
|
|
70
|
+
/**
|
|
71
|
+
* Get all symbols in a file.
|
|
72
|
+
*/
|
|
73
|
+
getFileSymbols(filePath: string): SymbolEntry[];
|
|
74
|
+
/**
|
|
75
|
+
* Get all indexed files.
|
|
76
|
+
*/
|
|
77
|
+
getIndexedFiles(): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Get all symbol names.
|
|
80
|
+
*/
|
|
81
|
+
getAllSymbolNames(): string[];
|
|
82
|
+
/**
|
|
83
|
+
* Remove a file from the index.
|
|
84
|
+
*/
|
|
85
|
+
removeFile(filePath: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* Clear the entire index.
|
|
88
|
+
*/
|
|
89
|
+
clear(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get index statistics.
|
|
92
|
+
*/
|
|
93
|
+
getStats(): {
|
|
94
|
+
files: number;
|
|
95
|
+
symbols: number;
|
|
96
|
+
uniqueNames: number;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Check if a position is inside a comment.
|
|
100
|
+
* @param filePath Path to the file
|
|
101
|
+
* @param content File content (if available, otherwise reads from disk)
|
|
102
|
+
* @param line 0-indexed line number
|
|
103
|
+
* @param column 0-indexed column number
|
|
104
|
+
*/
|
|
105
|
+
isPositionInComment(filePath: string, content: string | null, line: number, column: number): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Extract use statement paths from a file using tree-sitter.
|
|
108
|
+
* @param filePath Path to the file
|
|
109
|
+
* @param content File content (optional, will be read from disk if not provided)
|
|
110
|
+
* @returns Array of use paths (without quotes)
|
|
111
|
+
*/
|
|
112
|
+
extractUseStatements(filePath: string, content?: string): string[];
|
|
113
|
+
/**
|
|
114
|
+
* Extract use statement paths with their positions from a file using tree-sitter.
|
|
115
|
+
* @param filePath Path to the file
|
|
116
|
+
* @param content File content (optional, will be read from disk if not provided)
|
|
117
|
+
* @returns Array of use statements with path and line number
|
|
118
|
+
*/
|
|
119
|
+
extractUseStatementsWithPositions(filePath: string, content?: string): UseStatementWithPosition[];
|
|
120
|
+
/**
|
|
121
|
+
* Get the use path at a specific position, if the cursor is on a use statement.
|
|
122
|
+
* @param filePath Path to the file
|
|
123
|
+
* @param content File content
|
|
124
|
+
* @param line 0-indexed line number
|
|
125
|
+
* @param column 0-indexed column number
|
|
126
|
+
* @returns The use path (without quotes) or null if not on a use statement
|
|
127
|
+
*/
|
|
128
|
+
getUsePathAtPosition(filePath: string, content: string, line: number, column: number): string | null;
|
|
129
|
+
/**
|
|
130
|
+
* Get the completion context at a specific position using the dummy identifier trick.
|
|
131
|
+
*
|
|
132
|
+
* Inserts a dummy identifier (__CURSOR__) at the cursor position, parses the
|
|
133
|
+
* modified text, then walks up from the dummy node to determine context.
|
|
134
|
+
* This produces reliable results because the dummy forces the parser to place
|
|
135
|
+
* it in a grammatically valid position (e.g. "isA __CURSOR__" parses as an
|
|
136
|
+
* isa_declaration with type __CURSOR__).
|
|
137
|
+
*
|
|
138
|
+
* @param filePath Path to the file
|
|
139
|
+
* @param content File content (original, without dummy)
|
|
140
|
+
* @param line 0-indexed line number
|
|
141
|
+
* @param column 0-indexed column number (raw cursor position, NOT column-1)
|
|
142
|
+
* @returns The completion context type
|
|
143
|
+
*/
|
|
144
|
+
getCompletionContext(filePath: string, content: string, line: number, column: number): CompletionContext;
|
|
145
|
+
/**
|
|
146
|
+
* Get all symbols of a specific kind from the index.
|
|
147
|
+
* @param kind The kind of symbols to retrieve
|
|
148
|
+
* @returns Array of symbol entries of that kind
|
|
149
|
+
*/
|
|
150
|
+
getSymbolsByKind(kind: SymbolKind): SymbolEntry[];
|
|
151
|
+
/**
|
|
152
|
+
* Get all symbols (useful for type completions).
|
|
153
|
+
*/
|
|
154
|
+
getAllSymbols(): SymbolEntry[];
|
|
155
|
+
/**
|
|
156
|
+
* Debug helper: print a tree-sitter AST as an S-expression with positions.
|
|
157
|
+
* Output matches the format used by `tree-sitter parse` and Neovim InspectTree.
|
|
158
|
+
*/
|
|
159
|
+
debugPrintTree(content: string): string | null;
|
|
160
|
+
/**
|
|
161
|
+
* Get the field name for a child node within its parent.
|
|
162
|
+
*/
|
|
163
|
+
private getFieldName;
|
|
164
|
+
private readFileSafe;
|
|
165
|
+
private removeFileSymbols;
|
|
166
|
+
private hashContent;
|
|
167
|
+
private extractSymbols;
|
|
168
|
+
}
|
|
169
|
+
export declare const symbolIndex: SymbolIndex;
|
|
170
|
+
export {};
|