hledger-lsp 0.1.2 → 0.1.6

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 (89) hide show
  1. package/README.md +91 -173
  2. package/out/features/codeActions.d.ts +16 -0
  3. package/out/features/codeActions.d.ts.map +1 -1
  4. package/out/features/codeActions.js +129 -0
  5. package/out/features/codeActions.js.map +1 -1
  6. package/out/features/codeLens.d.ts +29 -0
  7. package/out/features/codeLens.d.ts.map +1 -0
  8. package/out/features/codeLens.js +102 -0
  9. package/out/features/codeLens.js.map +1 -0
  10. package/out/features/completion.d.ts +16 -4
  11. package/out/features/completion.d.ts.map +1 -1
  12. package/out/features/completion.js +23 -10
  13. package/out/features/completion.js.map +1 -1
  14. package/out/features/definition.d.ts.map +1 -1
  15. package/out/features/definition.js +4 -4
  16. package/out/features/definition.js.map +1 -1
  17. package/out/features/foldingRanges.d.ts.map +1 -1
  18. package/out/features/foldingRanges.js +6 -2
  19. package/out/features/foldingRanges.js.map +1 -1
  20. package/out/features/formatter.d.ts +4 -20
  21. package/out/features/formatter.d.ts.map +1 -1
  22. package/out/features/formatter.js +271 -223
  23. package/out/features/formatter.js.map +1 -1
  24. package/out/features/formattingUtils.d.ts +38 -0
  25. package/out/features/formattingUtils.d.ts.map +1 -0
  26. package/out/features/formattingUtils.js +107 -0
  27. package/out/features/formattingUtils.js.map +1 -0
  28. package/out/features/hover.d.ts +0 -4
  29. package/out/features/hover.d.ts.map +1 -1
  30. package/out/features/hover.js +11 -20
  31. package/out/features/hover.js.map +1 -1
  32. package/out/features/inlayHints.d.ts +12 -6
  33. package/out/features/inlayHints.d.ts.map +1 -1
  34. package/out/features/inlayHints.js +202 -84
  35. package/out/features/inlayHints.js.map +1 -1
  36. package/out/features/semanticTokens.d.ts.map +1 -1
  37. package/out/features/semanticTokens.js +17 -14
  38. package/out/features/semanticTokens.js.map +1 -1
  39. package/out/features/symbols.d.ts.map +1 -1
  40. package/out/features/symbols.js +8 -5
  41. package/out/features/symbols.js.map +1 -1
  42. package/out/features/validator.d.ts +5 -4
  43. package/out/features/validator.d.ts.map +1 -1
  44. package/out/features/validator.js +145 -105
  45. package/out/features/validator.js.map +1 -1
  46. package/out/parser/ast.d.ts +48 -7
  47. package/out/parser/ast.d.ts.map +1 -1
  48. package/out/parser/ast.js +552 -363
  49. package/out/parser/ast.js.map +1 -1
  50. package/out/parser/document.d.ts +7 -0
  51. package/out/parser/document.d.ts.map +1 -0
  52. package/out/parser/document.js +70 -0
  53. package/out/parser/document.js.map +1 -0
  54. package/out/parser/includes.d.ts.map +1 -1
  55. package/out/parser/includes.js +21 -33
  56. package/out/parser/includes.js.map +1 -1
  57. package/out/parser/index.d.ts +8 -5
  58. package/out/parser/index.d.ts.map +1 -1
  59. package/out/parser/index.js +39 -14
  60. package/out/parser/index.js.map +1 -1
  61. package/out/server/configFile.d.ts +104 -0
  62. package/out/server/configFile.d.ts.map +1 -0
  63. package/out/server/configFile.js +231 -0
  64. package/out/server/configFile.js.map +1 -0
  65. package/out/server/settings.d.ts +13 -0
  66. package/out/server/settings.d.ts.map +1 -1
  67. package/out/server/settings.js +13 -3
  68. package/out/server/settings.js.map +1 -1
  69. package/out/server/workspace.d.ts +126 -0
  70. package/out/server/workspace.d.ts.map +1 -0
  71. package/out/server/workspace.js +599 -0
  72. package/out/server/workspace.js.map +1 -0
  73. package/out/server.js +435 -27
  74. package/out/server.js.map +1 -1
  75. package/out/types.d.ts +27 -12
  76. package/out/types.d.ts.map +1 -1
  77. package/out/types.js +12 -0
  78. package/out/types.js.map +1 -1
  79. package/out/utils/amountFormatter.d.ts +14 -0
  80. package/out/utils/amountFormatter.d.ts.map +1 -0
  81. package/out/utils/amountFormatter.js +55 -0
  82. package/out/utils/amountFormatter.js.map +1 -0
  83. package/out/utils/balanceCalculator.d.ts +32 -0
  84. package/out/utils/balanceCalculator.d.ts.map +1 -0
  85. package/out/utils/balanceCalculator.js +93 -0
  86. package/out/utils/balanceCalculator.js.map +1 -0
  87. package/out/utils/index.js +1 -1
  88. package/out/utils/index.js.map +1 -1
  89. package/package.json +1 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * Code lens provider for hledger language server
4
+ *
5
+ * Provides clickable inline information:
6
+ * - Transaction counts for accounts
7
+ *
8
+ * Note: Running balances are handled by inlay hints, which is a more natural
9
+ * place for position-sensitive information.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.codeLensProvider = exports.CodeLensProvider = void 0;
13
+ const vscode_languageserver_1 = require("vscode-languageserver");
14
+ const DEFAULT_SETTINGS = {
15
+ showTransactionCounts: false
16
+ };
17
+ class CodeLensProvider {
18
+ /**
19
+ * Calculate transaction counts per account up to each transaction
20
+ * Returns a map of transaction index -> account -> count up to that transaction
21
+ */
22
+ calculateTransactionCounts(parsed) {
23
+ const result = new Map();
24
+ const globalCounts = new Map();
25
+ // Sort transactions by date to count in chronological order
26
+ const sortedTransactions = [...parsed.transactions].sort((a, b) => {
27
+ return a.date.localeCompare(b.date);
28
+ });
29
+ // Create a map from sorted index to original index
30
+ const sortedToOriginalIndex = new Map();
31
+ sortedTransactions.forEach((tx, sortedIdx) => {
32
+ const originalIdx = parsed.transactions.indexOf(tx);
33
+ sortedToOriginalIndex.set(sortedIdx, originalIdx);
34
+ });
35
+ for (let sortedIdx = 0; sortedIdx < sortedTransactions.length; sortedIdx++) {
36
+ const transaction = sortedTransactions[sortedIdx];
37
+ const txIndex = sortedToOriginalIndex.get(sortedIdx);
38
+ const accountsInTransaction = new Set();
39
+ // Count each account once per transaction
40
+ for (const posting of transaction.postings) {
41
+ accountsInTransaction.add(posting.account);
42
+ }
43
+ // Increment count for each unique account in this transaction
44
+ for (const account of accountsInTransaction) {
45
+ globalCounts.set(account, (globalCounts.get(account) || 0) + 1);
46
+ }
47
+ // Store snapshot of counts for this transaction
48
+ result.set(txIndex, new Map(globalCounts));
49
+ }
50
+ return result;
51
+ }
52
+ /**
53
+ * Provide code lenses for a document
54
+ */
55
+ provideCodeLenses(document, parsed, settings) {
56
+ const config = { ...DEFAULT_SETTINGS, ...settings };
57
+ const lenses = [];
58
+ // If transaction counts are not enabled, return early
59
+ if (!config.showTransactionCounts) {
60
+ return lenses;
61
+ }
62
+ // Calculate transaction counts
63
+ const transactionCounts = this.calculateTransactionCounts(parsed);
64
+ // Add code lenses for each transaction
65
+ for (let txIndex = 0; txIndex < parsed.transactions.length; txIndex++) {
66
+ const transaction = parsed.transactions[txIndex];
67
+ // Only show code lenses for transactions in the current document
68
+ if (transaction.sourceUri !== document.uri) {
69
+ continue;
70
+ }
71
+ const txLine = transaction.line ?? 0;
72
+ // Transaction count code lens
73
+ const countsAtTx = transactionCounts.get(txIndex);
74
+ if (countsAtTx) {
75
+ // Show counts for accounts in this transaction
76
+ const accountsInTx = new Set();
77
+ for (const posting of transaction.postings) {
78
+ accountsInTx.add(posting.account);
79
+ }
80
+ const countTexts = [];
81
+ for (const account of accountsInTx) {
82
+ const count = countsAtTx.get(account) || 0;
83
+ countTexts.push(`${account}: ${count} tx`);
84
+ }
85
+ if (countTexts.length > 0) {
86
+ // Code lens - display only (command field is optional and unused)
87
+ lenses.push({
88
+ range: vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(txLine, 0), vscode_languageserver_1.Position.create(txLine, 0)),
89
+ command: {
90
+ title: `📊 ${countTexts.join(' | ')}`,
91
+ command: '' // Empty command means display-only
92
+ }
93
+ });
94
+ }
95
+ }
96
+ }
97
+ return lenses;
98
+ }
99
+ }
100
+ exports.CodeLensProvider = CodeLensProvider;
101
+ exports.codeLensProvider = new CodeLensProvider();
102
+ //# sourceMappingURL=codeLens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeLens.js","sourceRoot":"","sources":["../../src/features/codeLens.ts"],"names":[],"mappings":"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"}
@@ -27,28 +27,40 @@ export declare class CompletionProvider {
27
27
  /**
28
28
  * Update the list of known accounts
29
29
  */
30
- updateAccounts(accounts: Array<{
30
+ updateAccounts(accounts: Map<string, {
31
+ name: string;
32
+ declared: boolean;
33
+ }> | Array<{
31
34
  name: string;
32
35
  declared: boolean;
33
36
  }>): void;
34
37
  /**
35
38
  * Update the list of known payees
36
39
  */
37
- updatePayees(payees: Array<{
40
+ updatePayees(payees: Map<string, {
41
+ name: string;
42
+ declared: boolean;
43
+ }> | Array<{
38
44
  name: string;
39
45
  declared: boolean;
40
46
  }>): void;
41
47
  /**
42
48
  * Update the list of known commodities
43
49
  */
44
- updateCommodities(commodities: Array<{
50
+ updateCommodities(commodities: Map<string, {
51
+ name: string;
52
+ declared: boolean;
53
+ }> | Array<{
45
54
  name: string;
46
55
  declared: boolean;
47
56
  }>): void;
48
57
  /**
49
58
  * Update the list of known tags
50
59
  */
51
- updateTags(tags: Array<{
60
+ updateTags(tags: Map<string, {
61
+ name: string;
62
+ declared: boolean;
63
+ }> | Array<{
52
64
  name: string;
53
65
  declared: boolean;
54
66
  }>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/features/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,UAAU,kBAAkB;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAkD;IAClE,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,IAAI,CAAkD;IAE9D;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAInE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI/D;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI3D;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,cAAc,EACvB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,cAAc,EAAE;IAsDnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACH,uBAAuB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE;IAWxE;;OAEG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE;IAYlE;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkEjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAsBlC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CA8CnC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/features/completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAmB,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,UAAU,kBAAkB;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAkD;IAClE,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,IAAI,CAAkD;IAE9D;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAItH;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAIlH;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI5H;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI9G;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,cAAc,EACvB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,cAAc,EAAE;IAiEnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACH,uBAAuB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE;IAWxE;;OAEG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE;IAYlE;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkEjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAsBlC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAgDnC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -46,6 +46,7 @@ var __importStar = (this && this.__importStar) || (function () {
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.completionProvider = exports.CompletionProvider = void 0;
48
48
  const vscode_languageserver_1 = require("vscode-languageserver");
49
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
49
50
  const fs = __importStar(require("fs"));
50
51
  const path = __importStar(require("path"));
51
52
  const transactionAnalyzer_1 = require("./transactionAnalyzer");
@@ -60,25 +61,25 @@ class CompletionProvider {
60
61
  * Update the list of known accounts
61
62
  */
62
63
  updateAccounts(accounts) {
63
- this.accounts = accounts;
64
+ this.accounts = Array.isArray(accounts) ? accounts : Array.from(accounts.values());
64
65
  }
65
66
  /**
66
67
  * Update the list of known payees
67
68
  */
68
69
  updatePayees(payees) {
69
- this.payees = payees;
70
+ this.payees = Array.isArray(payees) ? payees : Array.from(payees.values());
70
71
  }
71
72
  /**
72
73
  * Update the list of known commodities
73
74
  */
74
75
  updateCommodities(commodities) {
75
- this.commodities = commodities;
76
+ this.commodities = Array.isArray(commodities) ? commodities : Array.from(commodities.values());
76
77
  }
77
78
  /**
78
79
  * Update the list of known tags
79
80
  */
80
81
  updateTags(tags) {
81
- this.tags = tags;
82
+ this.tags = Array.isArray(tags) ? tags : Array.from(tags.values());
82
83
  }
83
84
  /**
84
85
  * Get completion items for the current position
@@ -111,13 +112,23 @@ class CompletionProvider {
111
112
  }
112
113
  // Otherwise, suggest accounts for posting line
113
114
  // Try to get smart suggestions based on current transaction context
115
+ // Calculate range for replacement
116
+ const accountMatch = line.match(/^\s+(.*)$/);
117
+ let range;
118
+ if (accountMatch) {
119
+ const startChar = line.length - accountMatch[1].length;
120
+ range = {
121
+ start: { line: position.line, character: startChar },
122
+ end: position
123
+ };
124
+ }
114
125
  if (parsed) {
115
126
  const payee = this.getCurrentTransactionPayee(document, position);
116
127
  if (payee) {
117
- return this.getSmartAccountCompletions(payee, parsed, settings);
128
+ return this.getSmartAccountCompletions(payee, parsed, settings, range);
118
129
  }
119
130
  }
120
- return this.getAccountCompletions(settings);
131
+ return this.getAccountCompletions(settings, range);
121
132
  }
122
133
  // Transaction header - suggest payees
123
134
  if (/^\d{4}[-/]\d{2}[-/]\d{2}/.test(line) && !commentMatch) {
@@ -132,13 +143,14 @@ class CompletionProvider {
132
143
  /**
133
144
  * Get account name completions
134
145
  */
135
- getAccountCompletions(settings) {
146
+ getAccountCompletions(settings, range) {
136
147
  const onlyDeclared = settings?.onlyDeclaredAccounts ?? true;
137
148
  const filtered = onlyDeclared ? this.accounts.filter(a => a.declared) : this.accounts;
138
149
  return filtered.map(account => ({
139
150
  label: account.name,
140
151
  kind: vscode_languageserver_1.CompletionItemKind.Field,
141
- detail: 'Account'
152
+ detail: 'Account',
153
+ textEdit: range ? vscode_languageserver_protocol_1.TextEdit.replace(range, account.name) : undefined
142
154
  }));
143
155
  }
144
156
  /**
@@ -283,7 +295,7 @@ class CompletionProvider {
283
295
  /**
284
296
  * Get smart account completions based on payee history
285
297
  */
286
- getSmartAccountCompletions(payee, parsed, settings) {
298
+ getSmartAccountCompletions(payee, parsed, settings, range) {
287
299
  // Analyze the parsed document to build patterns
288
300
  transactionAnalyzer_1.transactionAnalyzer.analyze(parsed);
289
301
  // Get accounts historically used with this payee
@@ -299,7 +311,8 @@ class CompletionProvider {
299
311
  const item = {
300
312
  label: account.name,
301
313
  kind: vscode_languageserver_1.CompletionItemKind.Field,
302
- detail: 'Account'
314
+ detail: 'Account',
315
+ textEdit: range ? vscode_languageserver_protocol_1.TextEdit.replace(range, account.name) : undefined
303
316
  };
304
317
  // Add sort text to prioritize suggested accounts
305
318
  if (suggestedAccounts.has(account.name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/features/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/features/completion.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iEAA2E;AAE3E,mFAA2E;AAC3E,uCAAyB;AACzB,2CAA6B;AAE7B,+DAA4D;AAS5D,MAAa,kBAAkB;IAA/B;QACU,aAAQ,GAA+C,EAAE,CAAC;QAC1D,WAAM,GAA+C,EAAE,CAAC;QACxD,gBAAW,GAA+C,EAAE,CAAC;QAC7D,SAAI,GAA+C,EAAE,CAAC;IAsUhE,CAAC;IApUC;;OAEG;IACH,cAAc,CAAC,QAAuG;QACpH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAqG;QAChH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,WAA0G;QAC1H,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAmG;QAC5G,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,QAAsB,EACtB,QAAkB,EAClB,MAAuB,EACvB,QAA6B;QAE7B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAC5C,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;SAC5D,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,mEAAmE;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,2EAA2E;YAC3E,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YAED,+CAA+C;YAC/C,oEAAoE;YACpE,kCAAkC;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,KAAwB,CAAC;YAC7B,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvD,KAAK,GAAG;oBACN,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;oBACpD,GAAG,EAAE,QAAQ;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,sCAAsC;QACtC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAA6B,EAAE,KAAa;QACxE,MAAM,YAAY,GAAG,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;QAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEtF,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,IAAI,EAAE,0CAAkB,CAAC,KAAK;YAC9B,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,yCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAA6B;QACvD,MAAM,YAAY,GAAG,QAAQ,EAAE,kBAAkB,IAAI,IAAI,CAAC;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAElF,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,IAAI,EAAE,0CAAkB,CAAC,IAAI;YAC7B,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,MAAM,UAAU,GAAG;YACjB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE;YAClD,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,EAAE;YACrD,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAC7C,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE;YACzC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE;YACpD,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE;SACtD,CAAC;QAEF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,0CAAkB,CAAC,OAAO;YAChC,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAA6B;QACnD,MAAM,YAAY,GAAG,QAAQ,EAAE,uBAAuB,IAAI,IAAI,CAAC;QAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5F,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,IAAI,EAAE,0CAAkB,CAAC,IAAI;YAC7B,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAA6B;QAC7C,MAAM,YAAY,GAAG,QAAQ,EAAE,gBAAgB,IAAI,IAAI,CAAC;QACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAE9E,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,IAAI,EAAE,0CAAkB,CAAC,QAAQ;YACjC,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,WAAmB,EAAE,WAAmB;QACxE,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;gBACvD,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,WAAW,CAAC;YAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEjD,2DAA2D;YAC3D,IAAI,SAAiB,CAAC;YAEtB,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,qGAAqG;gBACrG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvE,+CAA+C;gBAC/C,qEAAqE;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1C,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;gBACvD,wEAAwE;gBACxE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,iDAAiD;gBACjD,SAAS,GAAG,UAAU,CAAC;YACzB,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,0BAA0B;YAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAExC,MAAM,WAAW,GAAqB,EAAE,CAAC;YAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,sCAAsC;oBACtC,WAAW,CAAC,IAAI,CAAC;wBACf,KAAK,EAAE,IAAI,GAAG,GAAG;wBACjB,IAAI,EAAE,0CAAkB,CAAC,MAAM;wBAC/B,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,oBAAoB;oBACpB,WAAW,CAAC,IAAI,CAAC;wBACf,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,0CAAkB,CAAC,IAAI;wBAC7B,MAAM,EAAE,cAAc;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8DAA8D;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,QAAsB,EAAE,QAAkB;QAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,gEAAgE;QAChE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,gCAAgC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACpG,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YAED,6DAA6D;YAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,0BAA0B,CAChC,KAAa,EACb,MAAsB,EACtB,QAA6B,EAC7B,KAAa;QAEb,gDAAgD;QAChD,yCAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,iDAAiD;QACjD,MAAM,QAAQ,GAAG,yCAAmB,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhE,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,yCAAmB,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;QAEF,oCAAoC;QACpC,MAAM,YAAY,GAAG,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;QAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEtF,6CAA6C;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACnC,MAAM,IAAI,GAAmB;gBAC3B,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,IAAI,EAAE,0CAAkB,CAAC,KAAK;gBAC9B,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,yCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aACpE,CAAC;YAEF,iDAAiD;YACjD,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;gBACjF,2DAA2D;gBAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjF,IAAI,CAAC,MAAM,GAAG,iBAAiB,SAAS,UAAU,KAAK,GAAG,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,GAAG,KAAK,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/E,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1UD,gDA0UC;AAEY,QAAA,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/features/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;CAkDpH;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/features/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;CAkDpH;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -30,25 +30,25 @@ class DefinitionProvider {
30
30
  if (!token)
31
31
  return null;
32
32
  // Search accounts
33
- const account = parsed.accounts.find(a => a.name === token);
33
+ const account = parsed.accounts.get(token);
34
34
  if (account && account.sourceUri) {
35
35
  const lineNum = account.line ?? 0;
36
36
  return vscode_languageserver_1.Location.create(account.sourceUri, vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(lineNum, 0), vscode_languageserver_1.Position.create(lineNum, 0)));
37
37
  }
38
38
  // Search payees
39
- const payee = parsed.payees.find(p => p.name === token);
39
+ const payee = parsed.payees.get(token);
40
40
  if (payee && payee.sourceUri) {
41
41
  const lineNum = payee.line ?? 0;
42
42
  return vscode_languageserver_1.Location.create(payee.sourceUri, vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(lineNum, 0), vscode_languageserver_1.Position.create(lineNum, 0)));
43
43
  }
44
44
  // Search commodities
45
- const commodity = parsed.commodities.find(c => c.name === token || c.format?.symbol === token);
45
+ const commodity = parsed.commodities.get(token) || Array.from(parsed.commodities.values()).find(c => c.format?.symbol === token);
46
46
  if (commodity && commodity.sourceUri) {
47
47
  const lineNum = commodity.line ?? 0;
48
48
  return vscode_languageserver_1.Location.create(commodity.sourceUri, vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(lineNum, 0), vscode_languageserver_1.Position.create(lineNum, 0)));
49
49
  }
50
50
  // Search tags
51
- const tag = parsed.tags.find(t => t.name === token);
51
+ const tag = parsed.tags.get(token);
52
52
  if (tag && tag.sourceUri) {
53
53
  const lineNum = tag.line ?? 0;
54
54
  return vscode_languageserver_1.Location.create(tag.sourceUri, vscode_languageserver_1.Range.create(vscode_languageserver_1.Position.create(lineNum, 0), vscode_languageserver_1.Position.create(lineNum, 0)));
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/features/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/features/definition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"foldingRanges.d.ts","sourceRoot":"","sources":["../../src/features/foldingRanges.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,qBAAa,qBAAqB;IAChC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,EAAE;IAavF;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA4CnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAwChC;AAED,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
1
+ {"version":3,"file":"foldingRanges.d.ts","sourceRoot":"","sources":["../../src/features/foldingRanges.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,qBAAa,qBAAqB;IAChC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,EAAE;IAavF;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAiDnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAwChC;AAED,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
@@ -18,7 +18,7 @@ class FoldingRangesProvider {
18
18
  const foldingRanges = [];
19
19
  const lines = document.getText().split('\n');
20
20
  // Add folding ranges for transactions
21
- foldingRanges.push(...this.getTransactionFoldingRanges(lines, parsedDoc));
21
+ foldingRanges.push(...this.getTransactionFoldingRanges(document, lines, parsedDoc));
22
22
  // Add folding ranges for comment blocks
23
23
  foldingRanges.push(...this.getCommentFoldingRanges(lines));
24
24
  return foldingRanges;
@@ -27,11 +27,15 @@ class FoldingRangesProvider {
27
27
  * Get folding ranges for transactions
28
28
  * Transactions can be folded to hide their postings
29
29
  */
30
- getTransactionFoldingRanges(lines, parsedDoc) {
30
+ getTransactionFoldingRanges(document, lines, parsedDoc) {
31
31
  const ranges = [];
32
32
  for (const transaction of parsedDoc.transactions) {
33
33
  if (transaction.line === undefined)
34
34
  continue;
35
+ // Only fold transactions from the current document (skip if from workspace parsing)
36
+ if (transaction.sourceUri !== document.uri) {
37
+ continue;
38
+ }
35
39
  // Find the last posting line for this transaction
36
40
  const startLine = transaction.line;
37
41
  let endLine = startLine;
@@ -1 +1 @@
1
- {"version":3,"file":"foldingRanges.js","sourceRoot":"","sources":["../../src/features/foldingRanges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foldingRanges.js","sourceRoot":"","sources":["../../src/features/foldingRanges.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ export declare class FormattingProvider {
25
25
  * Format an entire document
26
26
  */
27
27
  formatDocument(document: TextDocument, parsed: ParsedDocument, _lspOptions: LSPFormattingOptions, userOptions?: Partial<FormattingOptions>): TextEdit[];
28
+ private formatTransactionLines;
29
+ private layoutAmount;
30
+ private formatIntegerAmount;
31
+ private formatDecimalAmount;
28
32
  /**
29
33
  * Format a range of lines
30
34
  */
@@ -41,26 +45,6 @@ export declare class FormattingProvider {
41
45
  * Format a directive
42
46
  */
43
47
  private formatDirective;
44
- /**
45
- * Parse a posting into its layout components
46
- */
47
- private parsePostingLayout;
48
- /**
49
- * Parse an amount into its components for column alignment
50
- */
51
- private parseAmount;
52
- /**
53
- * Parse a cost into its components for formatting
54
- */
55
- private parseCost;
56
- /**
57
- * Format all postings in a transaction with column alignment
58
- */
59
- private formatTransactionPostings;
60
- /**
61
- * Get the number of decimal places in a number
62
- */
63
- private getDecimalPlaces;
64
48
  /**
65
49
  * Find the commodity format from parsed document
66
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/features/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAU,cAAc,EAAsB,MAAM,UAAU,CAAC;AAItE,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AA4CD,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAuFb;;OAEG;IACH,WAAW,CACT,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAMb;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,QAAQ,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAUb;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgDnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkIjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAGtB;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/features/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAU,cAAc,EAA2C,MAAM,UAAU,CAAC;AAI3F,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AA8BD,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAoEb,OAAO,CAAC,sBAAsB;IA0N9B,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,WAAW,CACT,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAMb;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,QAAQ,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,oBAAoB,EACjC,WAAW,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,QAAQ,EAAE;IAUb;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAGtB;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}