hledger-lsp 0.1.15 → 0.2.1
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/features/codeActions.d.ts.map +1 -1
- package/out/features/codeActions.js +2 -5
- package/out/features/codeActions.js.map +1 -1
- package/out/features/codeLens.d.ts.map +1 -1
- package/out/features/codeLens.js +1 -4
- package/out/features/codeLens.js.map +1 -1
- package/out/features/completion.d.ts.map +1 -1
- package/out/features/completion.js +2 -1
- package/out/features/completion.js.map +1 -1
- package/out/features/definition.js +4 -4
- package/out/features/definition.js.map +1 -1
- package/out/features/documentLinks.d.ts.map +1 -1
- package/out/features/documentLinks.js +4 -2
- package/out/features/documentLinks.js.map +1 -1
- package/out/features/foldingRanges.d.ts.map +1 -1
- package/out/features/foldingRanges.js +1 -4
- package/out/features/foldingRanges.js.map +1 -1
- package/out/features/formatter.d.ts +3 -7
- package/out/features/formatter.d.ts.map +1 -1
- package/out/features/formatter.js +104 -256
- package/out/features/formatter.js.map +1 -1
- package/out/features/hover.d.ts.map +1 -1
- package/out/features/hover.js +24 -9
- package/out/features/hover.js.map +1 -1
- package/out/features/inlayHints.d.ts +0 -11
- package/out/features/inlayHints.d.ts.map +1 -1
- package/out/features/inlayHints.js +6 -85
- package/out/features/inlayHints.js.map +1 -1
- package/out/features/semanticTokens.js +6 -6
- package/out/features/semanticTokens.js.map +1 -1
- package/out/features/symbols.d.ts.map +1 -1
- package/out/features/symbols.js +7 -10
- package/out/features/symbols.js.map +1 -1
- package/out/features/validator.d.ts +3 -3
- package/out/features/validator.d.ts.map +1 -1
- package/out/features/validator.js +44 -34
- package/out/features/validator.js.map +1 -1
- package/out/parser/ast.d.ts +10 -9
- package/out/parser/ast.d.ts.map +1 -1
- package/out/parser/ast.js +11 -62
- package/out/parser/ast.js.map +1 -1
- package/out/parser/includes.d.ts +7 -7
- package/out/parser/includes.d.ts.map +1 -1
- package/out/parser/includes.js +7 -7
- package/out/parser/includes.js.map +1 -1
- package/out/parser/index.d.ts +6 -10
- package/out/parser/index.d.ts.map +1 -1
- package/out/parser/index.js +13 -16
- package/out/parser/index.js.map +1 -1
- package/out/server/configFile.d.ts +7 -6
- package/out/server/configFile.d.ts.map +1 -1
- package/out/server/configFile.js +11 -8
- package/out/server/configFile.js.map +1 -1
- package/out/server/deps.d.ts +5 -4
- package/out/server/deps.d.ts.map +1 -1
- package/out/server/deps.js.map +1 -1
- package/out/server/settings.d.ts +3 -2
- package/out/server/settings.d.ts.map +1 -1
- package/out/server/settings.js +2 -3
- package/out/server/settings.js.map +1 -1
- package/out/server/workspace.d.ts +9 -8
- package/out/server/workspace.d.ts.map +1 -1
- package/out/server/workspace.js +47 -48
- package/out/server/workspace.js.map +1 -1
- package/out/server.js +75 -99
- package/out/server.js.map +1 -1
- package/out/types.d.ts +10 -6
- package/out/types.d.ts.map +1 -1
- package/out/types.js.map +1 -1
- package/out/utils/amountFormatter.d.ts +31 -11
- package/out/utils/amountFormatter.d.ts.map +1 -1
- package/out/utils/amountFormatter.js +147 -70
- package/out/utils/amountFormatter.js.map +1 -1
- package/out/utils/runningBalanceCalculator.d.ts +44 -0
- package/out/utils/runningBalanceCalculator.d.ts.map +1 -0
- package/out/utils/runningBalanceCalculator.js +163 -0
- package/out/utils/runningBalanceCalculator.js.map +1 -0
- package/out/utils/uri.d.ts +6 -5
- package/out/utils/uri.d.ts.map +1 -1
- package/out/utils/uri.js +7 -78
- package/out/utils/uri.js.map +1 -1
- package/package.json +6 -5
package/out/server/settings.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Connection } from 'vscode-languageserver/node';
|
|
2
|
+
import { URI } from 'vscode-uri';
|
|
2
3
|
export interface HledgerSettings {
|
|
3
4
|
maxNumberOfProblems: number;
|
|
4
5
|
hledgerPath?: string;
|
|
@@ -68,7 +69,7 @@ export declare function deepMerge<T extends Record<string, any>>(target: T, sour
|
|
|
68
69
|
* Get settings for a document. If the client does not support workspace/configuration
|
|
69
70
|
* the default settings are returned.
|
|
70
71
|
*/
|
|
71
|
-
export declare function getDocumentSettings(connection: Connection, resource:
|
|
72
|
-
export declare function clearDocumentSettings(resource:
|
|
72
|
+
export declare function getDocumentSettings(connection: Connection, resource: URI, hasConfigurationCapability: boolean): Thenable<HledgerSettings>;
|
|
73
|
+
export declare function clearDocumentSettings(resource: URI): void;
|
|
73
74
|
export declare function clearAllDocumentSettings(): void;
|
|
74
75
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":"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"}
|
package/out/server/settings.js
CHANGED
|
@@ -99,13 +99,12 @@ function getDocumentSettings(connection, resource, hasConfigurationCapability) {
|
|
|
99
99
|
let result = documentSettings.get(resource);
|
|
100
100
|
if (!result) {
|
|
101
101
|
result = connection.workspace.getConfiguration({
|
|
102
|
-
scopeUri: resource,
|
|
102
|
+
scopeUri: resource.toString(),
|
|
103
103
|
section: 'hledgerLanguageServer'
|
|
104
104
|
}).then((userSettings) => {
|
|
105
105
|
// Merge user settings with defaults so unspecified settings use default values
|
|
106
106
|
const merged = deepMerge(exports.defaultSettings, userSettings || {});
|
|
107
|
-
//
|
|
108
|
-
connection.console.log(`Loaded hledgerLanguageServer settings for ${resource}: ${JSON.stringify(userSettings || {})}`);
|
|
107
|
+
// connection.console.log(`Loaded hledgerLanguageServer settings for ${resource.toString()}`);
|
|
109
108
|
return merged;
|
|
110
109
|
});
|
|
111
110
|
documentSettings.set(resource, result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Connection } from 'vscode-languageserver/node';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { URI } from 'vscode-uri';
|
|
3
|
+
import { HledgerParser } from '../parser/index';
|
|
4
|
+
import { ParsedDocument, FileReader } from '../types';
|
|
4
5
|
import { HledgerLspConfig } from './configFile';
|
|
5
6
|
export declare class WorkspaceManager {
|
|
6
7
|
private workspaceFolders;
|
|
@@ -20,7 +21,7 @@ export declare class WorkspaceManager {
|
|
|
20
21
|
* This discovers all journal files, builds the include graph, and identifies root files.
|
|
21
22
|
* Optionally loads configuration from .hledger-lsp.json if present.
|
|
22
23
|
*/
|
|
23
|
-
initialize(workspaceFolders:
|
|
24
|
+
initialize(workspaceFolders: URI[], parser: HledgerParser, fileReader: FileReader, connection: Connection, runtimeConfig?: Partial<HledgerLspConfig>): Promise<void>;
|
|
24
25
|
/**
|
|
25
26
|
* Discover and load configuration from .hledger-lsp.json
|
|
26
27
|
*/
|
|
@@ -58,7 +59,7 @@ export declare class WorkspaceManager {
|
|
|
58
59
|
* 2. If the root file transitively includes this file (or is the file itself), return the root
|
|
59
60
|
* 3. Otherwise return null (file is not part of the workspace's include graph)
|
|
60
61
|
*/
|
|
61
|
-
getRootForFile(uri:
|
|
62
|
+
getRootForFile(uri: URI): URI | null;
|
|
62
63
|
/**
|
|
63
64
|
* Check if a root file transitively includes a target file.
|
|
64
65
|
* Uses BFS to traverse the include graph.
|
|
@@ -82,16 +83,16 @@ export declare class WorkspaceManager {
|
|
|
82
83
|
* Invalidate the cache for a file.
|
|
83
84
|
* Clears the workspace cache if the root file transitively includes this file.
|
|
84
85
|
*/
|
|
85
|
-
invalidateFile(uri:
|
|
86
|
+
invalidateFile(uri: URI): void;
|
|
86
87
|
/**
|
|
87
88
|
* Get diagnostic information about the workspace.
|
|
88
89
|
* Useful for troubleshooting and performance monitoring.
|
|
89
90
|
*/
|
|
90
91
|
getDiagnosticInfo(): {
|
|
91
92
|
totalFiles: number;
|
|
92
|
-
rootFile:
|
|
93
|
+
rootFile: URI | null;
|
|
93
94
|
cached: boolean;
|
|
94
|
-
configFile:
|
|
95
|
+
configFile: URI | null;
|
|
95
96
|
performance: {
|
|
96
97
|
initializationTime: number;
|
|
97
98
|
cacheHits: number;
|
|
@@ -118,7 +119,7 @@ export declare class WorkspaceManager {
|
|
|
118
119
|
getWorkspaceTreeStructured(): Array<{
|
|
119
120
|
display: string;
|
|
120
121
|
path: string;
|
|
121
|
-
uri:
|
|
122
|
+
uri: URI;
|
|
122
123
|
}>;
|
|
123
124
|
private collectTreeEntries;
|
|
124
125
|
private printTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/server/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/server/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAa,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAoE,MAAM,cAAc,CAAC;AAElH,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,OAAO,CAMb;IAGF,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAc;IAEhC;;;;OAIG;IACG,UAAU,CACd,gBAAgB,EAAE,GAAG,EAAE,EACvB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC;IAmDhB;;OAEG;YACW,UAAU;IA8CxB;;;OAGG;YACW,oBAAoB;IA2BlC;;;;;;OAMG;YACW,iBAAiB;IAkG/B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA4FxB;;;;;;;;OAQG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI;IAiBpC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;OAGG;IACH,cAAc,CAAC,KAAK,GAAE,OAAe,GAAG,cAAc,GAAG,IAAI;IAmD7D;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAa9B;;;OAGG;IACH,iBAAiB,IAAI;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;QACvB,WAAW,EAAE;YACX,kBAAkB,EAAE,MAAM,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,MAAM,CAAC;YACzB,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH;IA0BD;;;OAGG;IACH,cAAc,IAAI,IAAI;IAgBtB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAY1B;;;OAGG;IACH,0BAA0B,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC;IAiBhF,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,SAAS;CAgClB"}
|
package/out/server/workspace.js
CHANGED
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.WorkspaceManager = void 0;
|
|
40
|
+
const vscode_uri_1 = require("vscode-uri");
|
|
40
41
|
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
41
42
|
const path = __importStar(require("path"));
|
|
42
43
|
const os = __importStar(require("os"));
|
|
@@ -46,7 +47,7 @@ class WorkspaceManager {
|
|
|
46
47
|
constructor() {
|
|
47
48
|
// Core state
|
|
48
49
|
this.workspaceFolders = [];
|
|
49
|
-
this.journalFiles = new
|
|
50
|
+
this.journalFiles = new Map();
|
|
50
51
|
this.includeGraph = new Map(); // file → files it includes
|
|
51
52
|
this.reverseGraph = new Map(); // file → files that include it
|
|
52
53
|
this.rootFile = null;
|
|
@@ -80,7 +81,7 @@ class WorkspaceManager {
|
|
|
80
81
|
for (const folder of workspaceFolders) {
|
|
81
82
|
const files = await this.discoverJournalFiles(folder);
|
|
82
83
|
for (const file of files) {
|
|
83
|
-
this.journalFiles.
|
|
84
|
+
this.journalFiles.set(file.toString(), file);
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
connection.console.log(`Discovered ${this.journalFiles.size} journal files in workspace`);
|
|
@@ -106,15 +107,18 @@ class WorkspaceManager {
|
|
|
106
107
|
* Discover and load configuration from .hledger-lsp.json
|
|
107
108
|
*/
|
|
108
109
|
async loadConfig(runtimeConfig) {
|
|
110
|
+
this.connection.console.debug(`Loading Config`);
|
|
109
111
|
if (this.workspaceFolders.length === 0) {
|
|
110
112
|
return;
|
|
111
113
|
}
|
|
112
114
|
// Try to find config file starting from first workspace folder
|
|
113
115
|
const workspaceRoot = this.workspaceFolders[0];
|
|
114
116
|
this.configPath = (0, configFile_1.discoverConfigFile)(workspaceRoot, workspaceRoot);
|
|
117
|
+
this.connection.console.debug(`Conifg path is ${this.configPath}`);
|
|
115
118
|
if (this.configPath) {
|
|
116
119
|
try {
|
|
117
120
|
const loadResult = (0, configFile_1.loadConfigFile)(this.configPath);
|
|
121
|
+
this.connection.console.debug(`Loaded Config is ${JSON.stringify(loadResult.config)}`);
|
|
118
122
|
// Log any warnings
|
|
119
123
|
if (loadResult.warnings.length > 0) {
|
|
120
124
|
this.connection.console.warn(`Warnings in ${this.configPath}:\n${loadResult.warnings.join('\n')}`);
|
|
@@ -122,6 +126,7 @@ class WorkspaceManager {
|
|
|
122
126
|
// Merge with runtime config (runtime takes precedence)
|
|
123
127
|
this.config = (0, configFile_1.mergeConfig)(loadResult.config, runtimeConfig);
|
|
124
128
|
this.connection.console.log(`Loaded configuration from ${this.configPath}`);
|
|
129
|
+
this.connection.console.debug(`Config is ${JSON.stringify(this.config)}`);
|
|
125
130
|
}
|
|
126
131
|
catch (error) {
|
|
127
132
|
this.connection.console.error(`Failed to load config file ${this.configPath}: ${error}`);
|
|
@@ -138,7 +143,7 @@ class WorkspaceManager {
|
|
|
138
143
|
* Uses fast-glob to find files, using patterns from config.
|
|
139
144
|
*/
|
|
140
145
|
async discoverJournalFiles(folder) {
|
|
141
|
-
const folderPath =
|
|
146
|
+
const folderPath = folder.fsPath;
|
|
142
147
|
// Use patterns from config, or defaults
|
|
143
148
|
const patterns = this.config?.include ?? ['**/*.journal', '**/*.hledger'];
|
|
144
149
|
const ignore = this.config?.exclude ?? ['**/node_modules/**', '**/.git/**', '**/.*'];
|
|
@@ -168,20 +173,19 @@ class WorkspaceManager {
|
|
|
168
173
|
* not transitive ones. This ensures the graph accurately represents the include structure.
|
|
169
174
|
*/
|
|
170
175
|
async buildIncludeGraph() {
|
|
171
|
-
for (const fileUri of this.journalFiles) {
|
|
176
|
+
for (const fileUri of this.journalFiles.values()) {
|
|
172
177
|
const doc = this.fileReader(fileUri);
|
|
173
178
|
if (!doc)
|
|
174
179
|
continue;
|
|
175
180
|
// Parse WITHOUT following includes - we only want direct include directives from this file
|
|
176
181
|
const parsed = this.parser.parse(doc, {
|
|
177
182
|
baseUri: fileUri,
|
|
178
|
-
|
|
179
|
-
fileReader: undefined
|
|
183
|
+
parseMode: 'document'
|
|
180
184
|
});
|
|
181
185
|
// Extract include directives from this file only
|
|
182
|
-
const includeDirectives = parsed.directives.filter((d) => d.type === 'include' && d.sourceUri === fileUri);
|
|
186
|
+
const includeDirectives = parsed.directives.filter((d) => d.type === 'include' && d.sourceUri?.toString() === fileUri.toString());
|
|
183
187
|
// Now resolve each include directive to get the actual file URIs
|
|
184
|
-
const includedFiles = new
|
|
188
|
+
const includedFiles = new Map();
|
|
185
189
|
for (const directive of includeDirectives) {
|
|
186
190
|
// The parser's include manager already resolved these paths
|
|
187
191
|
// We can find which files were meant to be included by looking at
|
|
@@ -225,30 +229,30 @@ class WorkspaceManager {
|
|
|
225
229
|
}
|
|
226
230
|
const resolvedUri = (0, uri_1.toFileUri)(resolvedPath);
|
|
227
231
|
// Only add if it's in our discovered files
|
|
228
|
-
if (this.journalFiles.has(resolvedUri)) {
|
|
232
|
+
if (this.journalFiles.has(resolvedUri.toString())) {
|
|
229
233
|
resolvedPaths = [resolvedUri];
|
|
230
234
|
}
|
|
231
235
|
}
|
|
232
236
|
// Add all resolved paths to included files
|
|
233
237
|
for (const resolvedUri of resolvedPaths) {
|
|
234
|
-
if (this.journalFiles.has(resolvedUri)) {
|
|
235
|
-
includedFiles.
|
|
238
|
+
if (this.journalFiles.has(resolvedUri.toString())) {
|
|
239
|
+
includedFiles.set(resolvedUri.toString(), resolvedUri);
|
|
236
240
|
}
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
243
|
// Update include graph
|
|
240
|
-
this.includeGraph.set(fileUri, includedFiles);
|
|
244
|
+
this.includeGraph.set(fileUri.toString(), includedFiles);
|
|
241
245
|
if (includedFiles.size > 0) {
|
|
242
|
-
this.connection.console.
|
|
246
|
+
this.connection.console.debug(`[WorkspaceManager] ${fileUri} directly includes ${includedFiles.size} file(s): ${Array.from(includedFiles).join(', ')}`);
|
|
243
247
|
}
|
|
244
248
|
// Update reverse graph
|
|
245
249
|
for (const includedFile of includedFiles) {
|
|
246
|
-
let parents = this.reverseGraph.get(includedFile);
|
|
250
|
+
let parents = this.reverseGraph.get(includedFile.toString());
|
|
247
251
|
if (!parents) {
|
|
248
|
-
parents = new
|
|
249
|
-
this.reverseGraph.set(includedFile, parents);
|
|
252
|
+
parents = new Map();
|
|
253
|
+
this.reverseGraph.set(includedFile.toString(), parents);
|
|
250
254
|
}
|
|
251
|
-
parents.
|
|
255
|
+
parents.set(fileUri.toString(), fileUri);
|
|
252
256
|
}
|
|
253
257
|
}
|
|
254
258
|
}
|
|
@@ -266,11 +270,12 @@ class WorkspaceManager {
|
|
|
266
270
|
this.rootFile = null;
|
|
267
271
|
// Step 1: Check for explicit root file from config
|
|
268
272
|
if (this.config && this.config.rootFile && this.configPath) {
|
|
269
|
-
const
|
|
270
|
-
|
|
273
|
+
const explicitRoot = (0, configFile_1.resolveRootFile)(this.config, this.configPath);
|
|
274
|
+
console.log(`[WorkspaceManager] Explicit root from config: ${explicitRoot}`);
|
|
271
275
|
if (explicitRoot) {
|
|
276
|
+
console.log(`Journal files has explicit root: ${this.journalFiles.has(explicitRoot.toString())}`);
|
|
272
277
|
// Verify the file exists and is in our discovered files
|
|
273
|
-
if (this.journalFiles.has(explicitRoot)) {
|
|
278
|
+
if (this.journalFiles.has(explicitRoot.toString())) {
|
|
274
279
|
this.rootFile = explicitRoot;
|
|
275
280
|
this.connection.console.log(`[WorkspaceManager] Using explicit root from config: ${explicitRoot}`);
|
|
276
281
|
return;
|
|
@@ -288,8 +293,8 @@ class WorkspaceManager {
|
|
|
288
293
|
}
|
|
289
294
|
// Find all files with no parents (not included by anyone)
|
|
290
295
|
const candidateRoots = [];
|
|
291
|
-
for (const fileUri of this.journalFiles) {
|
|
292
|
-
const parents = this.reverseGraph.get(fileUri);
|
|
296
|
+
for (const fileUri of this.journalFiles.values()) {
|
|
297
|
+
const parents = this.reverseGraph.get(fileUri.toString());
|
|
293
298
|
if (!parents || parents.size === 0) {
|
|
294
299
|
candidateRoots.push(fileUri);
|
|
295
300
|
this.connection.console.log(`[WorkspaceManager] Root candidate (no parents): ${fileUri}`);
|
|
@@ -308,7 +313,7 @@ class WorkspaceManager {
|
|
|
308
313
|
this.connection.console.log(`[WorkspaceManager] Multiple root candidates (${candidateRoots.length}), using heuristics to select best`);
|
|
309
314
|
// Score each candidate
|
|
310
315
|
const scores = candidateRoots.map(root => {
|
|
311
|
-
const includeCount = this.includeGraph.get(root)?.size || 0;
|
|
316
|
+
const includeCount = this.includeGraph.get(root.toString())?.size || 0;
|
|
312
317
|
const basename = path.basename((0, uri_1.toFilePath)(root)).toLowerCase();
|
|
313
318
|
const hasMainInName = basename.includes('main') || basename.includes('all') || basename.includes('index');
|
|
314
319
|
return {
|
|
@@ -341,14 +346,12 @@ class WorkspaceManager {
|
|
|
341
346
|
* 3. Otherwise return null (file is not part of the workspace's include graph)
|
|
342
347
|
*/
|
|
343
348
|
getRootForFile(uri) {
|
|
344
|
-
// Normalize URI to ensure consistent encoding (handles VSCode %20 vs internal space)
|
|
345
|
-
const normalizedUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(uri));
|
|
346
349
|
// If workspace hasn't finished initializing yet, return null
|
|
347
350
|
if (!this.rootFile) {
|
|
348
351
|
return null;
|
|
349
352
|
}
|
|
350
353
|
// Check if the root file transitively includes this file
|
|
351
|
-
if (this.rootIncludesFile(this.rootFile,
|
|
354
|
+
if (this.rootIncludesFile(this.rootFile, uri)) {
|
|
352
355
|
return this.rootFile;
|
|
353
356
|
}
|
|
354
357
|
// File is not part of the workspace's include graph
|
|
@@ -359,21 +362,21 @@ class WorkspaceManager {
|
|
|
359
362
|
* Uses BFS to traverse the include graph.
|
|
360
363
|
*/
|
|
361
364
|
rootIncludesFile(root, target) {
|
|
362
|
-
if (root === target)
|
|
365
|
+
if (root.toString() === target.toString())
|
|
363
366
|
return true;
|
|
364
|
-
const visited = new
|
|
367
|
+
const visited = new Map();
|
|
365
368
|
const queue = [root];
|
|
366
369
|
while (queue.length > 0) {
|
|
367
370
|
const current = queue.shift();
|
|
368
|
-
if (visited.has(current))
|
|
371
|
+
if (visited.has(current.toString()))
|
|
369
372
|
continue;
|
|
370
|
-
visited.
|
|
371
|
-
if (current === target)
|
|
373
|
+
visited.set(current.toString(), current);
|
|
374
|
+
if (current.toString() === target.toString())
|
|
372
375
|
return true;
|
|
373
|
-
const includes = this.includeGraph.get(current);
|
|
376
|
+
const includes = this.includeGraph.get(current.toString());
|
|
374
377
|
if (includes) {
|
|
375
|
-
for (const included of includes) {
|
|
376
|
-
if (!visited.has(
|
|
378
|
+
for (const [includedString, included] of includes) {
|
|
379
|
+
if (!visited.has(includedString)) {
|
|
377
380
|
queue.push(included);
|
|
378
381
|
}
|
|
379
382
|
}
|
|
@@ -391,8 +394,7 @@ class WorkspaceManager {
|
|
|
391
394
|
*/
|
|
392
395
|
getWorkspaceFolder(uri) {
|
|
393
396
|
// Normalize URI to ensure consistent matching
|
|
394
|
-
const
|
|
395
|
-
const filePath = (0, uri_1.toFilePath)(normalizedUri);
|
|
397
|
+
const filePath = (0, uri_1.toFilePath)(uri);
|
|
396
398
|
for (const folder of this.workspaceFolders) {
|
|
397
399
|
const folderPath = (0, uri_1.toFilePath)(folder);
|
|
398
400
|
if (filePath.startsWith(folderPath)) {
|
|
@@ -415,7 +417,6 @@ class WorkspaceManager {
|
|
|
415
417
|
// Check cache unless force is true
|
|
416
418
|
if (!force && this.workspaceCache) {
|
|
417
419
|
this.metrics.cacheHits++;
|
|
418
|
-
this.connection.console.info(`[WorkspaceManager] Using cached workspace (root: ${path.basename((0, uri_1.toFilePath)(this.rootFile))})`);
|
|
419
420
|
return this.workspaceCache;
|
|
420
421
|
}
|
|
421
422
|
// Cache miss - need to parse
|
|
@@ -450,18 +451,16 @@ class WorkspaceManager {
|
|
|
450
451
|
* Clears the workspace cache if the root file transitively includes this file.
|
|
451
452
|
*/
|
|
452
453
|
invalidateFile(uri) {
|
|
453
|
-
// Normalize URI to ensure consistent encoding
|
|
454
|
-
const normalizedUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(uri));
|
|
455
454
|
// If root file includes this file, clear the workspace cache
|
|
456
|
-
if (this.rootFile && this.rootIncludesFile(this.rootFile,
|
|
457
|
-
this.connection.console.info(`[WorkspaceManager] Invalidating cache due to change in: ${
|
|
455
|
+
if (this.rootFile && this.rootIncludesFile(this.rootFile, uri)) {
|
|
456
|
+
this.connection.console.info(`[WorkspaceManager] Invalidating cache due to change in: ${uri}`);
|
|
458
457
|
this.workspaceCache = null;
|
|
459
458
|
}
|
|
460
459
|
else {
|
|
461
|
-
this.connection.console.info(`[WorkspaceManager] File change doesn't affect workspace cache: ${
|
|
460
|
+
this.connection.console.info(`[WorkspaceManager] File change doesn't affect workspace cache: ${uri}`);
|
|
462
461
|
}
|
|
463
462
|
// Also clear the parser's include cache
|
|
464
|
-
this.parser.clearCache(
|
|
463
|
+
this.parser.clearCache(uri);
|
|
465
464
|
}
|
|
466
465
|
/**
|
|
467
466
|
* Get diagnostic information about the workspace.
|
|
@@ -542,14 +541,14 @@ class WorkspaceManager {
|
|
|
542
541
|
return entries;
|
|
543
542
|
}
|
|
544
543
|
collectTreeEntries(uri, prefix, entries, visited) {
|
|
545
|
-
const includes = this.includeGraph.get(uri);
|
|
544
|
+
const includes = this.includeGraph.get(uri.toString());
|
|
546
545
|
if (!includes || includes.size === 0)
|
|
547
546
|
return;
|
|
548
547
|
const children = Array.from(includes).sort();
|
|
549
548
|
const parentPath = (0, uri_1.toFilePath)(uri);
|
|
550
549
|
const parentDir = path.dirname(parentPath);
|
|
551
550
|
for (let i = 0; i < children.length; i++) {
|
|
552
|
-
const child = children[i];
|
|
551
|
+
const child = children[i][1];
|
|
553
552
|
const isLast = i === children.length - 1;
|
|
554
553
|
const marker = isLast ? '└── ' : '├── ';
|
|
555
554
|
const childPath = (0, uri_1.toFilePath)(child);
|
|
@@ -567,20 +566,20 @@ class WorkspaceManager {
|
|
|
567
566
|
entries.push({
|
|
568
567
|
display: `${prefix}${isLast ? ' ' : '│ '}└── (cycle)`,
|
|
569
568
|
path: '',
|
|
570
|
-
uri: ''
|
|
569
|
+
uri: vscode_uri_1.URI.parse('')
|
|
571
570
|
});
|
|
572
571
|
}
|
|
573
572
|
}
|
|
574
573
|
}
|
|
575
574
|
printTree(uri, prefix, lines, visited) {
|
|
576
|
-
const includes = this.includeGraph.get(uri);
|
|
575
|
+
const includes = this.includeGraph.get(uri.toString());
|
|
577
576
|
if (!includes || includes.size === 0)
|
|
578
577
|
return;
|
|
579
578
|
const children = Array.from(includes).sort();
|
|
580
579
|
const parentPath = (0, uri_1.toFilePath)(uri);
|
|
581
580
|
const parentDir = path.dirname(parentPath);
|
|
582
581
|
for (let i = 0; i < children.length; i++) {
|
|
583
|
-
const child = children[i];
|
|
582
|
+
const child = children[i][1];
|
|
584
583
|
const isLast = i === children.length - 1;
|
|
585
584
|
const marker = isLast ? '└── ' : '├── ';
|
|
586
585
|
const childPath = (0, uri_1.toFilePath)(child);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/server/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/server/workspace.ts"],"names":[],"mappings":"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"}
|