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
@@ -10,52 +10,31 @@
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.inlayHintsProvider = exports.InlayHintsProvider = void 0;
12
12
  const vscode_languageserver_1 = require("vscode-languageserver");
13
+ const amountFormatter_1 = require("../utils/amountFormatter");
14
+ const balanceCalculator_1 = require("../utils/balanceCalculator");
13
15
  const DEFAULT_SETTINGS = {
14
- showInferredAmounts: true,
15
- showRunningBalances: false, // Can be noisy, off by default
16
- showCostConversions: true
16
+ showInferredAmounts: false,
17
+ showRunningBalances: false,
18
+ showCostConversions: false
17
19
  };
18
20
  class InlayHintsProvider {
19
- /**
20
- * Format an amount with proper commodity placement
21
- */
22
- formatAmount(quantity, commodity, parsed) {
23
- // Find commodity format if available
24
- const commodityInfo = parsed.commodities.find(c => c.name === commodity);
25
- // Determine commodity placement
26
- let commodityBefore = '';
27
- let commodityAfter = '';
28
- if (commodityInfo?.format) {
29
- if (commodityInfo.format.symbolOnLeft) {
30
- commodityBefore = commodityInfo.format.symbol || commodity;
31
- }
32
- else {
33
- commodityAfter = commodityInfo.format.symbol || commodity;
34
- }
35
- }
36
- else if (commodity) {
37
- // Default heuristic: common currencies go on left
38
- const leftSymbols = ['$', '€', '£', '¥'];
39
- if (leftSymbols.includes(commodity)) {
40
- commodityBefore = commodity;
41
- }
42
- else {
43
- commodityAfter = ' ' + commodity;
44
- }
45
- }
46
- // Format the number
47
- const formattedNumber = quantity.toFixed(2);
48
- // Build the formatted amount
49
- return commodityBefore + formattedNumber + commodityAfter;
50
- }
51
21
  /**
52
22
  * Provide inlay hints for a document
53
23
  */
54
24
  provideInlayHints(document, range, parsed, settings) {
55
25
  const config = { ...DEFAULT_SETTINGS, ...settings };
56
26
  const hints = [];
27
+ // If showing running balances, we need to process all transactions to accumulate balances
28
+ // Otherwise, only process transactions within the requested range
29
+ const runningBalances = config.showRunningBalances
30
+ ? this.calculateRunningBalances(parsed)
31
+ : new Map();
57
32
  // Only process transactions within the requested range
58
33
  for (const transaction of parsed.transactions) {
34
+ // Only show inlay hints for transactions in the current document
35
+ if (transaction.sourceUri !== document.uri) {
36
+ continue;
37
+ }
59
38
  const txLine = transaction.line ?? 0;
60
39
  // Skip transactions outside the range
61
40
  if (txLine < range.start.line || txLine > range.end.line) {
@@ -67,7 +46,7 @@ class InlayHintsProvider {
67
46
  }
68
47
  // Running balance hints
69
48
  if (config.showRunningBalances) {
70
- hints.push(...this.getRunningBalanceHints(document, transaction, parsed));
49
+ hints.push(...this.getRunningBalanceHintsWithState(document, transaction, parsed, runningBalances));
71
50
  }
72
51
  // Cost conversion hints
73
52
  if (config.showCostConversions) {
@@ -88,7 +67,59 @@ class InlayHintsProvider {
88
67
  return hints;
89
68
  }
90
69
  // Calculate the inferred amount(s)
91
- // Group by commodity
70
+ const balances = (0, balanceCalculator_1.calculateTransactionBalance)(transaction);
71
+ // The inferred amount is the negation of the sum
72
+ const inferredAmounts = [];
73
+ for (const [commodity, balance] of balances.entries()) {
74
+ const amount = -balance;
75
+ inferredAmounts.push((0, amountFormatter_1.formatAmount)(amount, commodity, parsed));
76
+ }
77
+ // Find posting(s) without amounts and add hints
78
+ const txLine = transaction.line ?? 0;
79
+ let postingIndex = 0;
80
+ for (const posting of transaction.postings) {
81
+ if (!posting.amount) {
82
+ const lineNum = txLine + 1 + postingIndex; // +1 for header, then posting index
83
+ const line = document.getText({
84
+ start: { line: lineNum, character: 0 },
85
+ end: { line: lineNum, character: Number.MAX_SAFE_INTEGER }
86
+ });
87
+ // Find end of account name
88
+ const accountEnd = line.indexOf(posting.account) + posting.account.length;
89
+ const amountText = inferredAmounts.join(', ');
90
+ // Create clickable label part with command to insert the amount
91
+ const labelPart = {
92
+ value: ` ${amountText}`,
93
+ command: {
94
+ title: 'Insert inferred amount',
95
+ command: 'hledger.insertInferredAmount',
96
+ arguments: [
97
+ document.uri,
98
+ lineNum,
99
+ posting.account,
100
+ amountText
101
+ ]
102
+ }
103
+ };
104
+ hints.push({
105
+ position: vscode_languageserver_1.Position.create(lineNum, accountEnd),
106
+ label: [labelPart],
107
+ kind: vscode_languageserver_1.InlayHintKind.Parameter,
108
+ paddingLeft: true,
109
+ tooltip: 'Click to insert this inferred amount into the document'
110
+ });
111
+ }
112
+ postingIndex++;
113
+ }
114
+ return hints;
115
+ }
116
+ /**
117
+ * Calculate inferred amounts for a transaction
118
+ * Returns a map of posting index to inferred amounts (commodity -> quantity)
119
+ */
120
+ calculateInferredAmounts(transaction) {
121
+ const result = new Map();
122
+ // Calculate balance per commodity from explicit amounts
92
123
  const balances = new Map();
93
124
  for (const posting of transaction.postings) {
94
125
  if (posting.amount) {
@@ -113,46 +144,102 @@ class InlayHintsProvider {
113
144
  }
114
145
  }
115
146
  // The inferred amount is the negation of the sum
116
- const inferredAmounts = [];
147
+ const inferredAmounts = new Map();
117
148
  for (const [commodity, balance] of balances.entries()) {
118
- const amount = -balance;
119
- inferredAmounts.push(this.formatAmount(amount, commodity, parsed));
149
+ inferredAmounts.set(commodity, -balance);
120
150
  }
121
- // Find posting(s) without amounts and add hints
122
- const txLine = transaction.line ?? 0;
123
- let postingIndex = 0;
124
- for (const posting of transaction.postings) {
125
- if (!posting.amount) {
126
- const lineNum = txLine + 1 + postingIndex; // +1 for header, then posting index
127
- const line = document.getText({
128
- start: { line: lineNum, character: 0 },
129
- end: { line: lineNum, character: Number.MAX_SAFE_INTEGER }
130
- });
131
- // Find end of account name
132
- const accountEnd = line.indexOf(posting.account) + posting.account.length;
133
- hints.push({
134
- position: vscode_languageserver_1.Position.create(lineNum, accountEnd),
135
- label: ` ${inferredAmounts.join(', ')}`,
136
- kind: vscode_languageserver_1.InlayHintKind.Parameter,
137
- paddingLeft: true
138
- });
151
+ // Assign inferred amounts to postings without explicit amounts
152
+ for (let i = 0; i < transaction.postings.length; i++) {
153
+ if (!transaction.postings[i].amount) {
154
+ result.set(i, new Map(inferredAmounts));
139
155
  }
140
- postingIndex++;
141
156
  }
142
- return hints;
157
+ return result;
158
+ }
159
+ /**
160
+ * Calculate running balances for all transactions
161
+ * Returns a map of transaction->posting index->account->commodity->balance
162
+ */
163
+ calculateRunningBalances(parsed) {
164
+ const result = new Map();
165
+ // Track global account balances across all transactions
166
+ const accountBalances = new Map();
167
+ // Sort transactions by date to calculate balances in chronological order
168
+ // This is important when transactions come from multiple files via includes
169
+ const sortedTransactions = [...parsed.transactions].sort((a, b) => {
170
+ return a.date.localeCompare(b.date);
171
+ });
172
+ // Create a map from sorted index to original index
173
+ const sortedToOriginalIndex = new Map();
174
+ sortedTransactions.forEach((tx, sortedIdx) => {
175
+ const originalIdx = parsed.transactions.indexOf(tx);
176
+ sortedToOriginalIndex.set(sortedIdx, originalIdx);
177
+ });
178
+ for (let sortedIdx = 0; sortedIdx < sortedTransactions.length; sortedIdx++) {
179
+ const transaction = sortedTransactions[sortedIdx];
180
+ const txIndex = sortedToOriginalIndex.get(sortedIdx);
181
+ const postingBalances = new Map();
182
+ // Calculate inferred amounts for this transaction
183
+ const inferredAmounts = this.calculateInferredAmounts(transaction);
184
+ for (let postingIndex = 0; postingIndex < transaction.postings.length; postingIndex++) {
185
+ const posting = transaction.postings[postingIndex];
186
+ const account = posting.account;
187
+ // Get amount (either explicit or inferred)
188
+ let amountMap;
189
+ if (posting.amount) {
190
+ // Explicit amount
191
+ const commodity = posting.amount.commodity || '';
192
+ amountMap = new Map([[commodity, posting.amount.quantity]]);
193
+ }
194
+ else {
195
+ // Inferred amount
196
+ amountMap = inferredAmounts.get(postingIndex);
197
+ }
198
+ if (amountMap) {
199
+ // Update balance for each commodity in this posting
200
+ for (const [commodity, quantity] of amountMap.entries()) {
201
+ // Get or create account balance map
202
+ if (!accountBalances.has(account)) {
203
+ accountBalances.set(account, new Map());
204
+ }
205
+ const commodityBalances = accountBalances.get(account);
206
+ // Update balance
207
+ const currentBalance = commodityBalances.get(commodity) || 0;
208
+ const newBalance = currentBalance + quantity;
209
+ commodityBalances.set(commodity, newBalance);
210
+ // Store this posting's resulting balance
211
+ if (!postingBalances.has(postingIndex)) {
212
+ postingBalances.set(postingIndex, new Map());
213
+ }
214
+ postingBalances.get(postingIndex).set(commodity, newBalance);
215
+ }
216
+ }
217
+ }
218
+ result.set(txIndex, postingBalances);
219
+ }
220
+ return result;
143
221
  }
144
222
  /**
145
- * Get hints for running balances after each posting
223
+ * Get hints for running balances after each posting (with pre-calculated state)
146
224
  */
147
- getRunningBalanceHints(document, transaction, parsed) {
225
+ getRunningBalanceHintsWithState(document, transaction, parsed, runningBalances) {
148
226
  const hints = [];
149
- // Track running balances across all transactions
150
- // This would need to process ALL transactions up to this point
151
- // For now, we'll just show transaction-local balance changes
227
+ // Find transaction index
228
+ const txIndex = parsed.transactions.indexOf(transaction);
229
+ if (txIndex === -1) {
230
+ return hints;
231
+ }
232
+ const postingBalances = runningBalances.get(txIndex);
233
+ if (!postingBalances) {
234
+ return hints;
235
+ }
152
236
  const txLine = transaction.line ?? 0;
153
- let postingIndex = 0;
154
- for (const posting of transaction.postings) {
155
- if (posting.amount) {
237
+ for (let postingIndex = 0; postingIndex < transaction.postings.length; postingIndex++) {
238
+ const posting = transaction.postings[postingIndex];
239
+ const balanceMap = postingBalances.get(postingIndex);
240
+ // Don't show running balance hint if posting already has a balance assertion
241
+ // Show hint for both explicit and inferred amounts
242
+ if (balanceMap && !posting.assertion) {
156
243
  const lineNum = txLine + 1 + postingIndex;
157
244
  const line = document.getText({
158
245
  start: { line: lineNum, character: 0 },
@@ -164,16 +251,36 @@ class InlayHintsProvider {
164
251
  if (commentPos >= 0) {
165
252
  endPos = commentPos;
166
253
  }
167
- const formattedAmount = this.formatAmount(posting.amount.quantity, posting.amount.commodity || '', parsed);
168
- const balanceHint = `balance: ${formattedAmount}`;
254
+ // Format all commodity balances for this posting
255
+ const balanceHints = [];
256
+ for (const [commodity, balance] of balanceMap.entries()) {
257
+ const formattedBalance = (0, amountFormatter_1.formatAmount)(balance, commodity, parsed);
258
+ balanceHints.push(formattedBalance);
259
+ }
260
+ const balanceText = balanceHints.join(', ');
261
+ // Create clickable label part with command to insert balance assertion
262
+ // Format as actual balance assertion syntax: " = $amount"
263
+ const labelPart = {
264
+ value: ` = ${balanceText}`,
265
+ command: {
266
+ title: 'Insert balance assertion',
267
+ command: 'hledger.insertBalanceAssertion',
268
+ arguments: [
269
+ document.uri,
270
+ lineNum,
271
+ posting.account,
272
+ balanceHints
273
+ ]
274
+ }
275
+ };
169
276
  hints.push({
170
277
  position: vscode_languageserver_1.Position.create(lineNum, endPos),
171
- label: ` (${balanceHint})`,
278
+ label: [labelPart],
172
279
  kind: vscode_languageserver_1.InlayHintKind.Type,
173
- paddingLeft: true
280
+ paddingLeft: true,
281
+ tooltip: `Click to insert balance assertion for ${posting.account}`
174
282
  });
175
283
  }
176
- postingIndex++;
177
284
  }
178
285
  return hints;
179
286
  }
@@ -185,14 +292,10 @@ class InlayHintsProvider {
185
292
  const txLine = transaction.line ?? 0;
186
293
  let postingIndex = 0;
187
294
  for (const posting of transaction.postings) {
188
- if (posting.amount && posting.cost) {
189
- let totalCost;
190
- if (posting.cost.type === 'unit') {
191
- totalCost = posting.amount.quantity * posting.cost.amount.quantity;
192
- }
193
- else {
194
- totalCost = posting.cost.amount.quantity;
195
- }
295
+ // Only show cost conversion hints for unit cost (@), not total cost (@@)
296
+ // since total cost is already explicit
297
+ if (posting.amount && posting.cost && posting.cost.type === 'unit') {
298
+ const totalCost = posting.amount.quantity * posting.cost.amount.quantity;
196
299
  const lineNum = txLine + 1 + postingIndex;
197
300
  const line = document.getText({
198
301
  start: { line: lineNum, character: 0 },
@@ -202,12 +305,27 @@ class InlayHintsProvider {
202
305
  const costMatch = line.match(/@@?[^;#]*/);
203
306
  if (costMatch) {
204
307
  const costEnd = line.indexOf(costMatch[0]) + costMatch[0].length;
205
- const formattedCost = this.formatAmount(totalCost, posting.cost.amount.commodity || '', parsed);
308
+ const formattedCost = (0, amountFormatter_1.formatAmount)(totalCost, posting.cost.amount.commodity || '', parsed);
309
+ // For unit cost (@), show total cost equivalent (@@ notation)
310
+ const labelPart = {
311
+ value: ` @@ ${formattedCost}`,
312
+ command: {
313
+ title: 'Convert to total cost',
314
+ command: 'hledger.convertToTotalCost',
315
+ arguments: [
316
+ document.uri,
317
+ lineNum,
318
+ posting.account,
319
+ formattedCost
320
+ ]
321
+ }
322
+ };
206
323
  hints.push({
207
324
  position: vscode_languageserver_1.Position.create(lineNum, costEnd),
208
- label: ` = ${formattedCost}`,
325
+ label: [labelPart],
209
326
  kind: vscode_languageserver_1.InlayHintKind.Type,
210
- paddingLeft: true
327
+ paddingLeft: true,
328
+ tooltip: 'Click to convert unit cost (@) to total cost (@@)'
211
329
  });
212
330
  }
213
331
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../src/features/inlayHints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../src/features/inlayHints.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"semanticTokens.d.ts","sourceRoot":"","sources":["../../src/features/semanticTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,oBAAY,SAAS;IACnB,SAAS,IAAI,CAAK,+BAA+B;IACjD,IAAI,IAAI,CAAU,QAAQ;IAC1B,KAAK,IAAI,CAAS,SAAS;IAC3B,IAAI,IAAI,CAAU,yBAAyB;IAC3C,QAAQ,IAAI,CAAM,OAAO;IACzB,OAAO,IAAI,CAAO,+CAA+C;IACjE,MAAM,IAAI,CAAQ,UAAU;IAC5B,MAAM,IAAI,CAAQ,oBAAoB;IACtC,OAAO,IAAI,CAAO,WAAW;IAC7B,QAAQ,IAAI;CACb;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,WAAW,IAAI,CAAG,qCAAqC;IACvD,QAAQ,IAAI,CAAM,qCAAqC;IACvD,UAAU,IAAI;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAW9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,EAIlC,CAAC;AAaF;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,cAAc,GACxB,MAAM,EAAE;IAYX;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA8DvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmFzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA2EjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiDvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAyDtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA8D7B;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
1
+ {"version":3,"file":"semanticTokens.d.ts","sourceRoot":"","sources":["../../src/features/semanticTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,oBAAY,SAAS;IACnB,SAAS,IAAI,CAAK,+BAA+B;IACjD,IAAI,IAAI,CAAU,QAAQ;IAC1B,KAAK,IAAI,CAAS,SAAS;IAC3B,IAAI,IAAI,CAAU,yBAAyB;IAC3C,QAAQ,IAAI,CAAM,OAAO;IACzB,OAAO,IAAI,CAAO,+CAA+C;IACjE,MAAM,IAAI,CAAQ,UAAU;IAC5B,MAAM,IAAI,CAAQ,oBAAoB;IACtC,OAAO,IAAI,CAAO,WAAW;IAC7B,QAAQ,IAAI;CACb;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,WAAW,IAAI,CAAG,qCAAqC;IACvD,QAAQ,IAAI,CAAM,qCAAqC;IACvD,UAAU,IAAI;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAW9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,EAIlC,CAAC;AAaF;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,cAAc,GACxB,MAAM,EAAE;IAYX;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA8DvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmFzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA2EjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiDvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA+D7B;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
@@ -297,9 +297,11 @@ class SemanticTokensProvider {
297
297
  this.tokenizeSingleAmount(basePart, lineIndex, startOffset + amountPart.indexOf(basePart), builder);
298
298
  // Tokenize cost operator and cost amount if present
299
299
  if (costOperator && costPart) {
300
- const operatorStart = startOffset + amountPart.indexOf(costOperator, basePart.length);
300
+ const operatorIndex = amountPart.indexOf(costOperator, basePart.length);
301
+ const operatorStart = startOffset + operatorIndex;
301
302
  builder.push(lineIndex, operatorStart, costOperator.length, TokenType.operator, 0);
302
- const costStart = startOffset + amountPart.indexOf(costPart, operatorStart + costOperator.length);
303
+ const costIndex = amountPart.indexOf(costPart, operatorIndex + costOperator.length);
304
+ const costStart = startOffset + costIndex;
303
305
  this.tokenizeSingleAmount(costPart, lineIndex, costStart, builder);
304
306
  }
305
307
  // Tokenize assertion operator and assertion amount if present
@@ -315,52 +317,53 @@ class SemanticTokensProvider {
315
317
  * Tokenize a single amount (number + commodity) without cost or assertion.
316
318
  */
317
319
  tokenizeSingleAmount(amountStr, lineIndex, startOffset, builder) {
318
- // Match commodity-first with space: $ 100.00
319
- let match = amountStr.match(/^([^\d\s;+-]+)\s+([-+]?\d[\d,.']*(?:\.\d+)?)/);
320
+ // Match commodity-first with space: $ 100.00 or EUR 1 000 000,00
321
+ // Number pattern allows digits, commas, dots, apostrophes, and spaces within the number
322
+ let match = amountStr.match(/^([^\d\s;+-]+)\s+([-+]?\d[\d,.'\s]*(?:[.,]\d+)?)/);
320
323
  if (match) {
321
324
  const [, commodity, number] = match;
322
325
  const commodityStart = startOffset + amountStr.indexOf(commodity);
323
326
  const numberStart = startOffset + amountStr.indexOf(number);
324
327
  builder.push(lineIndex, commodityStart, commodity.length, TokenType.enum, 0);
325
- builder.push(lineIndex, numberStart, number.length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
328
+ builder.push(lineIndex, numberStart, number.trim().length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
326
329
  return;
327
330
  }
328
331
  // Match commodity-first without space: $100.00
329
- match = amountStr.match(/^([^\d\s;+-]+)([-+]?\d[\d,.']*(?:\.\d+)?)/);
332
+ match = amountStr.match(/^([^\d\s;+-]+)([-+]?\d[\d,.'\s]*(?:[.,]\d+)?)/);
330
333
  if (match) {
331
334
  const [, commodity, number] = match;
332
335
  const commodityStart = startOffset + amountStr.indexOf(commodity);
333
336
  const numberStart = commodityStart + commodity.length;
334
337
  builder.push(lineIndex, commodityStart, commodity.length, TokenType.enum, 0);
335
- builder.push(lineIndex, numberStart, number.length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
338
+ builder.push(lineIndex, numberStart, number.trim().length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
336
339
  return;
337
340
  }
338
- // Match commodity-after with space: 100.00 USD
339
- match = amountStr.match(/([-+]?\d[\d,.']*(?:\.\d+)?)\s+([^\d\s;+-]+)/);
341
+ // Match commodity-after with space: 100.00 USD or 1 000 000,00 EUR
342
+ match = amountStr.match(/([-+]?\d[\d,.'\s]*(?:[.,]\d+)?)\s+([^\d\s;+-]+)/);
340
343
  if (match) {
341
344
  const [, number, commodity] = match;
342
345
  const numberStart = startOffset + amountStr.indexOf(number);
343
346
  const commodityStart = startOffset + amountStr.indexOf(commodity, number.length);
344
- builder.push(lineIndex, numberStart, number.length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
347
+ builder.push(lineIndex, numberStart, number.trim().length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
345
348
  builder.push(lineIndex, commodityStart, commodity.length, TokenType.enum, 0);
346
349
  return;
347
350
  }
348
351
  // Match commodity-after without space: 100.00USD
349
- match = amountStr.match(/([-+]?\d[\d,.']*(?:\.\d+)?)([^\d\s;+-]+)/);
352
+ match = amountStr.match(/([-+]?\d[\d,.'\s]*(?:[.,]\d+)?)([^\d\s;+-]+)/);
350
353
  if (match) {
351
354
  const [, number, commodity] = match;
352
355
  const numberStart = startOffset + amountStr.indexOf(number);
353
356
  const commodityStart = numberStart + number.length;
354
- builder.push(lineIndex, numberStart, number.length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
357
+ builder.push(lineIndex, numberStart, number.trim().length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
355
358
  builder.push(lineIndex, commodityStart, commodity.length, TokenType.enum, 0);
356
359
  return;
357
360
  }
358
361
  // Match number only (no commodity)
359
- match = amountStr.match(/([-+]?\d[\d,.']*(?:\.\d+)?)/);
362
+ match = amountStr.match(/([-+]?\d[\d,.'\s]*(?:[.,]\d+)?)/);
360
363
  if (match) {
361
364
  const number = match[1];
362
365
  const numberStart = startOffset + amountStr.indexOf(number);
363
- builder.push(lineIndex, numberStart, number.length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
366
+ builder.push(lineIndex, numberStart, number.trim().length, TokenType.number, encodeModifiers([TokenModifier.readonly]));
364
367
  }
365
368
  }
366
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"semanticTokens.js","sourceRoot":"","sources":["../../src/features/semanticTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semanticTokens.js","sourceRoot":"","sources":["../../src/features/semanticTokens.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/features/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAA+B,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAA0B,MAAM,UAAU,CAAC;AAElE,qBAAa,sBAAsB;IACjC;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,GAAG,cAAc,EAAE;IA2E3F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED,qBAAa,uBAAuB;IAClC;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,iBAAiB,EAAE;CAyFvF;AAED,eAAO,MAAM,sBAAsB,wBAA+B,CAAC;AACnE,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/features/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAA+B,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAA0B,MAAM,UAAU,CAAC;AAGlE,qBAAa,sBAAsB;IACjC;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,GAAG,cAAc,EAAE;IA6E3F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED,qBAAa,uBAAuB;IAClC;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,iBAAiB,EAAE;CAyFvF;AAED,eAAO,MAAM,sBAAsB,wBAA+B,CAAC;AACnE,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
@@ -5,6 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.workspaceSymbolProvider = exports.documentSymbolProvider = exports.WorkspaceSymbolProvider = exports.DocumentSymbolProvider = void 0;
7
7
  const vscode_languageserver_1 = require("vscode-languageserver");
8
+ const amountFormatter_1 = require("../utils/amountFormatter");
8
9
  class DocumentSymbolProvider {
9
10
  /**
10
11
  * Provide document symbols for outline view
@@ -53,7 +54,9 @@ class DocumentSymbolProvider {
53
54
  const postingLine = this.findPostingLine(lines, posting.account, line, endLine);
54
55
  if (postingLine !== -1) {
55
56
  const postingRange = vscode_languageserver_1.Range.create(postingLine, 0, postingLine, lines[postingLine].length);
56
- const amountStr = posting.amount ? ` ${posting.amount.quantity}${posting.amount.commodity}` : '';
57
+ const amountStr = posting.amount
58
+ ? ` ${(0, amountFormatter_1.formatAmount)(posting.amount.quantity, posting.amount.commodity, parsedDoc)}`
59
+ : '';
57
60
  children.push({
58
61
  name: posting.account + amountStr,
59
62
  kind: vscode_languageserver_1.SymbolKind.Field,
@@ -169,7 +172,7 @@ class WorkspaceSymbolProvider {
169
172
  const symbols = [];
170
173
  const lowerQuery = query.toLowerCase();
171
174
  // Search accounts
172
- for (const account of parsedDoc.accounts) {
175
+ for (const account of parsedDoc.accounts.values()) {
173
176
  if (account.name.toLowerCase().includes(lowerQuery)) {
174
177
  const uri = account.sourceUri || '';
175
178
  const line = account.line ?? 0;
@@ -183,7 +186,7 @@ class WorkspaceSymbolProvider {
183
186
  }
184
187
  }
185
188
  // Search payees
186
- for (const payee of parsedDoc.payees) {
189
+ for (const payee of parsedDoc.payees.values()) {
187
190
  if (payee.name.toLowerCase().includes(lowerQuery)) {
188
191
  const uri = payee.sourceUri || '';
189
192
  const line = payee.line ?? 0;
@@ -197,7 +200,7 @@ class WorkspaceSymbolProvider {
197
200
  }
198
201
  }
199
202
  // Search commodities
200
- for (const commodity of parsedDoc.commodities) {
203
+ for (const commodity of parsedDoc.commodities.values()) {
201
204
  if (commodity.name.toLowerCase().includes(lowerQuery)) {
202
205
  const uri = commodity.sourceUri || '';
203
206
  const line = commodity.line ?? 0;
@@ -211,7 +214,7 @@ class WorkspaceSymbolProvider {
211
214
  }
212
215
  }
213
216
  // Search tags
214
- for (const tag of parsedDoc.tags) {
217
+ for (const tag of parsedDoc.tags.values()) {
215
218
  if (tag.name.toLowerCase().includes(lowerQuery)) {
216
219
  const uri = tag.sourceUri || '';
217
220
  const line = tag.line ?? 0;