hledger-lsp 0.1.15 → 0.2.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.
Files changed (70) hide show
  1. package/out/features/codeActions.d.ts.map +1 -1
  2. package/out/features/codeActions.js +2 -5
  3. package/out/features/codeActions.js.map +1 -1
  4. package/out/features/codeLens.d.ts.map +1 -1
  5. package/out/features/codeLens.js +1 -4
  6. package/out/features/codeLens.js.map +1 -1
  7. package/out/features/completion.d.ts.map +1 -1
  8. package/out/features/completion.js +2 -1
  9. package/out/features/completion.js.map +1 -1
  10. package/out/features/definition.js +4 -4
  11. package/out/features/definition.js.map +1 -1
  12. package/out/features/documentLinks.d.ts.map +1 -1
  13. package/out/features/documentLinks.js +4 -2
  14. package/out/features/documentLinks.js.map +1 -1
  15. package/out/features/foldingRanges.d.ts.map +1 -1
  16. package/out/features/foldingRanges.js +1 -4
  17. package/out/features/foldingRanges.js.map +1 -1
  18. package/out/features/formatter.d.ts.map +1 -1
  19. package/out/features/formatter.js +1 -1
  20. package/out/features/formatter.js.map +1 -1
  21. package/out/features/hover.d.ts.map +1 -1
  22. package/out/features/hover.js +24 -9
  23. package/out/features/hover.js.map +1 -1
  24. package/out/features/inlayHints.d.ts.map +1 -1
  25. package/out/features/inlayHints.js +1 -3
  26. package/out/features/inlayHints.js.map +1 -1
  27. package/out/features/symbols.d.ts.map +1 -1
  28. package/out/features/symbols.js +7 -10
  29. package/out/features/symbols.js.map +1 -1
  30. package/out/features/validator.d.ts +3 -3
  31. package/out/features/validator.d.ts.map +1 -1
  32. package/out/features/validator.js +19 -22
  33. package/out/features/validator.js.map +1 -1
  34. package/out/parser/ast.d.ts +10 -9
  35. package/out/parser/ast.d.ts.map +1 -1
  36. package/out/parser/ast.js +5 -56
  37. package/out/parser/ast.js.map +1 -1
  38. package/out/parser/includes.d.ts +7 -7
  39. package/out/parser/includes.d.ts.map +1 -1
  40. package/out/parser/includes.js +7 -7
  41. package/out/parser/includes.js.map +1 -1
  42. package/out/parser/index.d.ts +6 -10
  43. package/out/parser/index.d.ts.map +1 -1
  44. package/out/parser/index.js +13 -16
  45. package/out/parser/index.js.map +1 -1
  46. package/out/server/configFile.d.ts +7 -6
  47. package/out/server/configFile.d.ts.map +1 -1
  48. package/out/server/configFile.js +11 -8
  49. package/out/server/configFile.js.map +1 -1
  50. package/out/server/deps.d.ts +5 -4
  51. package/out/server/deps.d.ts.map +1 -1
  52. package/out/server/deps.js.map +1 -1
  53. package/out/server/settings.d.ts +3 -2
  54. package/out/server/settings.d.ts.map +1 -1
  55. package/out/server/settings.js +2 -3
  56. package/out/server/settings.js.map +1 -1
  57. package/out/server/workspace.d.ts +9 -8
  58. package/out/server/workspace.d.ts.map +1 -1
  59. package/out/server/workspace.js +47 -48
  60. package/out/server/workspace.js.map +1 -1
  61. package/out/server.js +57 -99
  62. package/out/server.js.map +1 -1
  63. package/out/types.d.ts +10 -6
  64. package/out/types.d.ts.map +1 -1
  65. package/out/types.js.map +1 -1
  66. package/out/utils/uri.d.ts +6 -5
  67. package/out/utils/uri.d.ts.map +1 -1
  68. package/out/utils/uri.js +7 -78
  69. package/out/utils/uri.js.map +1 -1
  70. package/package.json +6 -5
@@ -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 Set();
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.add(file);
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 = (0, uri_1.toFilePath)(folder);
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
- // Don't provide fileReader - this prevents following includes
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 Set();
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.add(resolvedUri);
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.log(`[WorkspaceManager] ${fileUri} directly includes ${includedFiles.size} file(s): ${Array.from(includedFiles).join(', ')}`);
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 Set();
249
- this.reverseGraph.set(includedFile, parents);
252
+ parents = new Map();
253
+ this.reverseGraph.set(includedFile.toString(), parents);
250
254
  }
251
- parents.add(fileUri);
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 configDir = path.dirname(this.configPath);
270
- const explicitRoot = (0, configFile_1.resolveRootFile)(this.config, configDir);
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, normalizedUri)) {
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 Set();
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.add(current);
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(included)) {
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 normalizedUri = (0, uri_1.toFileUri)((0, uri_1.toFilePath)(uri));
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, normalizedUri)) {
457
- this.connection.console.info(`[WorkspaceManager] Invalidating cache due to change in: ${normalizedUri}`);
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: ${normalizedUri}`);
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(normalizedUri);
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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"}