hledger-lsp 0.2.10 → 0.2.12

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.
@@ -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;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,SAAS;IACnB,SAAS,IAAI,CAAK,+BAA+B;IACjD,OAAO,IAAI,CAAO,yDAAyD;IAC3E,KAAK,IAAI,CAAS,qBAAqB;IACvC,QAAQ,IAAI,CAAM,iEAAiE;IACnF,QAAQ,IAAI,CAAM,qBAAqB;IACvC,IAAI,IAAI,CAAU,oBAAoB;IACtC,MAAM,IAAI,CAAQ,kBAAkB;IACpC,MAAM,IAAI,CAAQ,0BAA0B;IAC5C,OAAO,IAAI,CAAO,kBAAkB;IACpC,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;IAkDvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAkB7B;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;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,SAAS;IACnB,SAAS,IAAI,CAAK,+BAA+B;IACjD,OAAO,IAAI,CAAO,yDAAyD;IAC3E,KAAK,IAAI,CAAS,qBAAqB;IACvC,QAAQ,IAAI,CAAM,iEAAiE;IACnF,QAAQ,IAAI,CAAM,qBAAqB;IACvC,IAAI,IAAI,CAAU,oBAAoB;IACtC,MAAM,IAAI,CAAQ,kBAAkB;IACpC,MAAM,IAAI,CAAQ,0BAA0B;IAC5C,OAAO,IAAI,CAAO,kBAAkB;IACpC,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;IAuEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmFzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA2EjC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkDvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAkB7B;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
@@ -131,11 +131,12 @@ class SemanticTokensProvider {
131
131
  return;
132
132
  const commentStart = line.indexOf(commentMatch[0].trim());
133
133
  // Check for tags in the comment
134
- const tagRegex = /\b(\w+):/g;
134
+ const tagRegex = /\b([\w-]+):([^,]*)/g;
135
135
  let match;
136
136
  let lastIndex = 0;
137
137
  while ((match = tagRegex.exec(line)) !== null) {
138
138
  const tagName = match[1];
139
+ const tagValue = match[2];
139
140
  const tagStart = match.index;
140
141
  // Add comment token for text before tag
141
142
  if (tagStart > lastIndex) {
@@ -146,7 +147,9 @@ class SemanticTokensProvider {
146
147
  }
147
148
  // Add tag token
148
149
  builder.push(lineIndex, offset + tagStart, tagName.length, TokenType.property, 0);
149
- lastIndex = tagStart + tagName.length;
150
+ builder.push(lineIndex, offset + tagStart + tagName.length + 1, // +1 for colon
151
+ tagValue.length, TokenType.string, 0);
152
+ lastIndex = tagStart + tagName.length + 1 + tagValue.length;
150
153
  }
151
154
  // Add remaining comment text
152
155
  if (lastIndex < line.length) {
@@ -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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"}
@@ -71,6 +71,7 @@ export declare class Validator {
71
71
  /**
72
72
  * Validate balance assertions
73
73
  * Check if balance assertions match calculated balances
74
+ * Respects posting dates for chronological ordering
74
75
  */
75
76
  private validateBalanceAssertions;
76
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAwB,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAmB,iBAAiB,EAAE,eAAe,EAAsC,MAAM,oBAAoB,CAAC;AAM7H,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KACrC,CAAC;CACH;AAED,qBAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB;IAwGzG;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0V/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA8DjC;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6E1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAqHjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA4D9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAoC7B;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAwB,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAmB,iBAAiB,EAAE,eAAe,EAAsC,MAAM,oBAAoB,CAAC;AAO7H,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KACrC,CAAC;CACH;AAED,qBAAa,SAAS;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB;IAwGzG;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0V/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA2EjC;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6E1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAqHjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA4D9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAoC7B;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -16,8 +16,8 @@ const uri_1 = require("../utils/uri");
16
16
  const settings_1 = require("../server/settings");
17
17
  const balanceCalculator_1 = require("../utils/balanceCalculator");
18
18
  const amountFormatter_1 = require("../utils/amountFormatter");
19
- const runningBalanceCalculator_1 = require("../utils/runningBalanceCalculator");
20
19
  const formattingValidation_1 = require("./formattingValidation");
20
+ const index_1 = require("../utils/index");
21
21
  class Validator {
22
22
  /**
23
23
  * Validate a parsed hledger document
@@ -523,50 +523,55 @@ class Validator {
523
523
  /**
524
524
  * Validate balance assertions
525
525
  * Check if balance assertions match calculated balances
526
+ * Respects posting dates for chronological ordering
526
527
  */
527
528
  validateBalanceAssertions(transactions, document, parsedDoc) {
528
529
  const diagnostics = [];
529
530
  // Normalize document URI to ensure proper encoding
530
531
  const documentUri = vscode_uri_1.URI.parse(document.uri).toString();
531
- // Use the shared running balance calculator
532
- // This ensures balances are calculated in chronological order (by date),
533
- // not parse order, which is critical for multi-file journals
534
- const balances = (0, runningBalanceCalculator_1.calculateAccountBalances)(transactions);
535
- // Sort transactions by date to check assertions in chronological order
536
- const sortedTransactions = [...transactions].sort((a, b) => {
537
- return a.date.localeCompare(b.date);
538
- });
539
- // Now check assertions in chronological order
540
- // We need to track balances as we go to know the balance at each assertion
541
- const runningBalances = new Map();
542
- for (const transaction of sortedTransactions) {
532
+ const allPostings = [];
533
+ for (const transaction of transactions) {
543
534
  for (const posting of transaction.postings) {
544
- // Update running balance
545
- if (posting.amount) {
546
- const accountBalances = runningBalances.get(posting.account) || new Map();
547
- const commodity = posting.amount.commodity || '';
548
- const currentBalance = accountBalances.get(commodity) || 0;
549
- accountBalances.set(commodity, currentBalance + posting.amount.quantity);
550
- runningBalances.set(posting.account, accountBalances);
535
+ allPostings.push({
536
+ transaction,
537
+ posting,
538
+ effectiveDate: (0, index_1.getEffectiveDate)(posting, transaction)
539
+ });
540
+ }
541
+ }
542
+ // Sort by effective date for chronological processing
543
+ allPostings.sort((a, b) => a.effectiveDate.localeCompare(b.effectiveDate));
544
+ // Track running balances
545
+ const runningBalances = new Map();
546
+ for (const { transaction, posting } of allPostings) {
547
+ const account = posting.account;
548
+ // Update balance if posting has amount
549
+ if (posting.amount) {
550
+ if (!runningBalances.has(account)) {
551
+ runningBalances.set(account, new Map());
551
552
  }
552
- // Check assertion - but only create diagnostics for assertions in the current document
553
- if (posting.assertion && transaction.sourceUri?.toString() === documentUri) {
554
- const accountBalances = runningBalances.get(posting.account);
555
- const commodity = posting.assertion.commodity || '';
556
- const expectedBalance = posting.assertion.quantity;
557
- const actualBalance = accountBalances?.get(commodity) || 0;
558
- // Allow for small floating point errors
559
- if (Math.abs(actualBalance - expectedBalance) > 0.005) {
560
- const range = this.findPostingRange(transaction, posting, document);
561
- const expectedFormatted = (0, amountFormatter_1.formatAmount)(expectedBalance, commodity, parsedDoc);
562
- const actualFormatted = (0, amountFormatter_1.formatAmount)(actualBalance, commodity, parsedDoc);
563
- diagnostics.push({
564
- severity: node_1.DiagnosticSeverity.Error,
565
- range,
566
- message: `Balance assertion failed for ${posting.account}: expected ${expectedFormatted}, but calculated ${actualFormatted}`,
567
- source: 'hledger'
568
- });
569
- }
553
+ const commodityBalances = runningBalances.get(account);
554
+ const commodity = posting.amount.commodity || '';
555
+ const currentBalance = commodityBalances.get(commodity) || 0;
556
+ const newBalance = currentBalance + posting.amount.quantity;
557
+ commodityBalances.set(commodity, newBalance);
558
+ }
559
+ // Check assertion (only for current document)
560
+ if (posting.assertion && transaction.sourceUri?.toString() === documentUri) {
561
+ const assertedCommodity = posting.assertion.commodity || '';
562
+ const assertedAmount = posting.assertion.quantity;
563
+ const actualBalance = runningBalances.get(account)?.get(assertedCommodity) || 0;
564
+ // Allow for small floating point errors
565
+ if (Math.abs(actualBalance - assertedAmount) > 0.005) {
566
+ const range = this.findPostingRange(transaction, posting, document);
567
+ const expectedFormatted = (0, amountFormatter_1.formatAmount)(assertedAmount, assertedCommodity, parsedDoc);
568
+ const actualFormatted = (0, amountFormatter_1.formatAmount)(actualBalance, assertedCommodity, parsedDoc);
569
+ diagnostics.push({
570
+ severity: node_1.DiagnosticSeverity.Error,
571
+ range,
572
+ message: `Balance assertion failed for ${account}: expected ${expectedFormatted}, but calculated ${actualFormatted}`,
573
+ source: 'hledger'
574
+ });
570
575
  }
571
576
  }
572
577
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/features/validator.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export declare function parseTransactionHeader(line: string): {
36
36
  comment?: string;
37
37
  tags?: Record<string, string>;
38
38
  } | null;
39
- export declare function parsePosting(line: string): Posting | null;
39
+ export declare function parsePosting(line: string, transactionDate?: string): Posting | null;
40
40
  export declare function parseAmount(amountStr: string, decimalMark?: DecimalMark): Amount | null;
41
41
  export declare function parseFormat(sample: string): {
42
42
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAsB,MAAM,EAAE,MAAM,UAAU,CAAC;AAI5I;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAsEvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAsDzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CA6E3D;AA+DD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,IAAI,CA8BnQ;AAsDD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAgEnF;AAqHD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAmFvF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuCpF;AA6CD;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAelI;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAa5H;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBzJ;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAatH;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAKlI;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAK5H;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACpC,SAAS,CAAC,EAAE,GAAG,GACd,MAAM,CA6BR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAKtH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAuCpL;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAyB7D"}
package/out/parser/ast.js CHANGED
@@ -52,7 +52,7 @@ function parseTransaction(lines, startLine) {
52
52
  continue;
53
53
  }
54
54
  if ((0, index_1.isPosting)(line)) {
55
- const posting = parsePosting(line);
55
+ const posting = parsePosting(line, header.date);
56
56
  if (posting) {
57
57
  // Record the line number for the posting so downstream features
58
58
  // (inlay hints, validators, etc.) can position annotations accurately
@@ -231,15 +231,19 @@ function inferAmounts(transaction) {
231
231
  }
232
232
  }
233
233
  function parseDate(line) {
234
- const match = line.match(/^(\d{4}[-/]\d{2}[-/]\d{2})/);
234
+ const match = line.match(/^(\d{4})([-/])(\d{1,2})\2(\d{1,2})/);
235
235
  if (!match)
236
236
  return null;
237
- return { date: match[1], rest: line.substring(match[1].length).trim() };
237
+ // Preserve the original format as written in the source
238
+ const dateStr = match[0];
239
+ return { date: dateStr, rest: line.substring(dateStr.length).trim() };
238
240
  }
239
241
  function parseEffectiveDate(line) {
240
- const match = line.match(/^=(\d{4}[-/]\d{2}[-/]\d{2})/);
242
+ const match = line.match(/^=(\d{4})([-/])(\d{1,2})\2(\d{1,2})/);
241
243
  if (match) {
242
- return { effectiveDate: match[1], rest: line.substring(match[0].length).trim() };
244
+ // Preserve the original format, but skip the = sign
245
+ const dateStr = match[0].substring(1); // Remove the = prefix
246
+ return { effectiveDate: dateStr, rest: line.substring(match[0].length).trim() };
243
247
  }
244
248
  return { effectiveDate: undefined, rest: line };
245
249
  }
@@ -332,7 +336,32 @@ function parseCost(text) {
332
336
  }
333
337
  return { amountPart: text.trim() };
334
338
  }
335
- function parsePosting(line) {
339
+ /**
340
+ * Parse a posting date, handling partial dates (MM-DD) by defaulting to transaction year.
341
+ *
342
+ * @param dateStr Date string from date: tag or [DATE] syntax
343
+ * @param transactionDate Parent transaction date for year defaulting
344
+ * @returns Parsed date in YYYY-MM-DD format, or null if invalid
345
+ */
346
+ function parsePostingDate(dateStr, transactionDate) {
347
+ // Full date: YYYY-MM-DD or YYYY/MM/DD (with 1 or 2 digit months/days)
348
+ const fullDateMatch = dateStr.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$/);
349
+ if (fullDateMatch) {
350
+ const month = fullDateMatch[2].padStart(2, '0');
351
+ const day = fullDateMatch[3].padStart(2, '0');
352
+ return `${fullDateMatch[1]}-${month}-${day}`;
353
+ }
354
+ // Partial date: MM-DD or MM/DD or M-D or M/D (needs transaction year)
355
+ const partialDateMatch = dateStr.match(/^(\d{1,2})[-/](\d{1,2})$/);
356
+ if (partialDateMatch && transactionDate) {
357
+ const txYear = transactionDate.substring(0, 4);
358
+ const month = partialDateMatch[1].padStart(2, '0');
359
+ const day = partialDateMatch[2].padStart(2, '0');
360
+ return `${txYear}-${month}-${day}`;
361
+ }
362
+ return null; // Invalid format
363
+ }
364
+ function parsePosting(line, transactionDate) {
336
365
  if (!(0, index_1.isPosting)(line))
337
366
  return null;
338
367
  const account = (0, index_1.extractAccountFromPosting)(line);
@@ -349,6 +378,26 @@ function parsePosting(line) {
349
378
  const tags = (0, index_1.extractTags)(commentPart);
350
379
  if (Object.keys(tags).length > 0)
351
380
  posting.tags = tags;
381
+ // Parse posting date from tags or bracketed syntax
382
+ // date: tag takes precedence over [DATE] syntax
383
+ if (posting.tags?.date) {
384
+ const postingDate = parsePostingDate(posting.tags.date, transactionDate);
385
+ if (postingDate) {
386
+ posting.date = postingDate;
387
+ delete posting.tags.date; // Remove from tags (it's metadata, not a user tag)
388
+ }
389
+ }
390
+ // Check for bracketed syntax: [YYYY-MM-DD] or [MM-DD]
391
+ // Only use if date: tag is not present
392
+ if (!posting.date) {
393
+ const bracketedDateMatch = commentPart.match(/\[(\d{4}[-/]\d{2}[-/]\d{2}|\d{2}[-/]\d{2})\]/);
394
+ if (bracketedDateMatch) {
395
+ const bracketedDate = parsePostingDate(bracketedDateMatch[1], transactionDate);
396
+ if (bracketedDate) {
397
+ posting.date = bracketedDate;
398
+ }
399
+ }
400
+ }
352
401
  }
353
402
  const trimmed = mainPart.trim();
354
403
  const afterAccount = trimmed.substring(account.length).trim();
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"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"}
package/out/types.d.ts CHANGED
@@ -36,6 +36,7 @@ export interface Posting {
36
36
  comment?: string;
37
37
  tags?: Record<string, string>;
38
38
  line?: number;
39
+ date?: string;
39
40
  }
40
41
  export interface Amount {
41
42
  quantity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/out/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA4FF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA6FF,CAAC"}
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * Utility functions for the hledger language server
3
3
  */
4
+ import type { Posting, Transaction } from '../types';
4
5
  /**
5
6
  * Check if a line is a transaction header
6
7
  * Transaction headers start with a date in YYYY-MM-DD or YYYY/MM/DD format
8
+ * Supports single or double digit months and days (e.g., 2024-1-5 or 2024-01-05)
7
9
  */
8
10
  export declare function isTransactionHeader(line: string): boolean;
9
11
  /**
@@ -35,4 +37,22 @@ export declare function getIndentationLevel(line: string): number;
35
37
  * Normalize account name (collapse multiple spaces)
36
38
  */
37
39
  export declare function normalizeAccountName(account: string): string;
40
+ /**
41
+ * Normalize a date string to YYYY-MM-DD format for consistent comparison.
42
+ * Handles dates with different separators and single/double digit months/days.
43
+ *
44
+ * @param dateStr Date string in various formats (YYYY-MM-DD, YYYY/MM/DD, YYYY/M/D, etc.)
45
+ * @returns Normalized date in YYYY-MM-DD format
46
+ */
47
+ export declare function normalizeDate(dateStr: string): string;
48
+ /**
49
+ * Get the effective date for a posting.
50
+ * Returns posting date if present, otherwise transaction date.
51
+ * Always returns normalized YYYY-MM-DD format for consistent comparison.
52
+ *
53
+ * @param posting The posting
54
+ * @param transaction The parent transaction
55
+ * @returns Effective date in YYYY-MM-DD format
56
+ */
57
+ export declare function getEffectiveDate(posting: Posting, transaction: Transaction): string;
38
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUjD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMrE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUjD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMrE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAGnF"}
@@ -11,16 +11,19 @@ exports.extractAccountFromPosting = extractAccountFromPosting;
11
11
  exports.extractTags = extractTags;
12
12
  exports.getIndentationLevel = getIndentationLevel;
13
13
  exports.normalizeAccountName = normalizeAccountName;
14
+ exports.normalizeDate = normalizeDate;
15
+ exports.getEffectiveDate = getEffectiveDate;
14
16
  /**
15
17
  * Check if a line is a transaction header
16
18
  * Transaction headers start with a date in YYYY-MM-DD or YYYY/MM/DD format
19
+ * Supports single or double digit months and days (e.g., 2024-1-5 or 2024-01-05)
17
20
  */
18
21
  function isTransactionHeader(line) {
19
22
  const trimmed = line.trim();
20
23
  if (!trimmed)
21
24
  return false;
22
- // Simple regex for date patterns
23
- const datePattern = /^\d{4}[-/]\d{2}[-/]\d{2}/;
25
+ // Regex for date patterns with 1 or 2 digit months and days
26
+ const datePattern = /^\d{4}[-/]\d{1,2}[-/]\d{1,2}/;
24
27
  return datePattern.test(trimmed);
25
28
  }
26
29
  /**
@@ -87,4 +90,35 @@ function getIndentationLevel(line) {
87
90
  function normalizeAccountName(account) {
88
91
  return account.replace(/\s+/g, ' ').trim();
89
92
  }
93
+ /**
94
+ * Normalize a date string to YYYY-MM-DD format for consistent comparison.
95
+ * Handles dates with different separators and single/double digit months/days.
96
+ *
97
+ * @param dateStr Date string in various formats (YYYY-MM-DD, YYYY/MM/DD, YYYY/M/D, etc.)
98
+ * @returns Normalized date in YYYY-MM-DD format
99
+ */
100
+ function normalizeDate(dateStr) {
101
+ const match = dateStr.match(/^(\d{4})([-/])(\d{1,2})\2(\d{1,2})$/);
102
+ if (match) {
103
+ const year = match[1];
104
+ const month = match[3].padStart(2, '0');
105
+ const day = match[4].padStart(2, '0');
106
+ return `${year}-${month}-${day}`;
107
+ }
108
+ // If already in correct format or unparseable, return as-is
109
+ return dateStr;
110
+ }
111
+ /**
112
+ * Get the effective date for a posting.
113
+ * Returns posting date if present, otherwise transaction date.
114
+ * Always returns normalized YYYY-MM-DD format for consistent comparison.
115
+ *
116
+ * @param posting The posting
117
+ * @param transaction The parent transaction
118
+ * @returns Effective date in YYYY-MM-DD format
119
+ */
120
+ function getEffectiveDate(posting, transaction) {
121
+ const date = posting.date || transaction.date;
122
+ return normalizeDate(date);
123
+ }
90
124
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Calculates running balances for all accounts across all transactions,
5
5
  * taking into account:
6
- * - Chronological ordering (by date)
6
+ * - Chronological ordering (by effective date, respecting posting dates)
7
7
  * - Multiple commodities per account
8
8
  * - Explicit and inferred amounts
9
9
  * - Transactions from multiple files (via includes)
@@ -23,9 +23,10 @@ export type AccountBalanceMap = Map<string, Map<string, number>>;
23
23
  * Calculate running balances for all transactions in a parsed document
24
24
  *
25
25
  * This function:
26
- * 1. Sorts transactions chronologically by date
27
- * 2. Processes each posting to update account balances
28
- * 3. Returns a map of balances after each posting
26
+ * 1. Extracts all postings with their effective dates (respecting posting dates)
27
+ * 2. Sorts postings chronologically by effective date
28
+ * 3. Processes each posting to update account balances
29
+ * 4. Returns a map of balances after each posting
29
30
  *
30
31
  * @param parsed The parsed document containing all transactions
31
32
  * @returns A map of transaction index -> posting index -> commodity -> balance
@@ -35,9 +36,10 @@ export declare function calculateRunningBalances(parsed: ParsedDocument): Runnin
35
36
  * Calculate running balances for balance assertion validation
36
37
  *
37
38
  * This is a simplified version that only tracks account balances,
38
- * suitable for validating balance assertions.
39
+ * suitable for validating balance assertions. Respects posting dates
40
+ * for chronological ordering.
39
41
  *
40
- * @param transactions List of transactions (will be sorted by date internally)
42
+ * @param transactions List of transactions (postings will be sorted by effective date internally)
41
43
  * @returns A map of account name -> commodity -> balance
42
44
  */
43
45
  export declare function calculateAccountBalances(transactions: Transaction[]): AccountBalanceMap;
@@ -1 +1 @@
1
- {"version":3,"file":"runningBalanceCalculator.d.ts","sourceRoot":"","sources":["../../src/utils/runningBalanceCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAgElF;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,iBAAiB,CA0BvF"}
1
+ {"version":3,"file":"runningBalanceCalculator.d.ts","sourceRoot":"","sources":["../../src/utils/runningBalanceCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CA6DlF;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAwCvF"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Calculates running balances for all accounts across all transactions,
6
6
  * taking into account:
7
- * - Chronological ordering (by date)
7
+ * - Chronological ordering (by effective date, respecting posting dates)
8
8
  * - Multiple commodities per account
9
9
  * - Explicit and inferred amounts
10
10
  * - Transactions from multiple files (via includes)
@@ -12,67 +12,60 @@
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.calculateRunningBalances = calculateRunningBalances;
14
14
  exports.calculateAccountBalances = calculateAccountBalances;
15
+ const index_1 = require("./index");
15
16
  /**
16
17
  * Calculate running balances for all transactions in a parsed document
17
18
  *
18
19
  * This function:
19
- * 1. Sorts transactions chronologically by date
20
- * 2. Processes each posting to update account balances
21
- * 3. Returns a map of balances after each posting
20
+ * 1. Extracts all postings with their effective dates (respecting posting dates)
21
+ * 2. Sorts postings chronologically by effective date
22
+ * 3. Processes each posting to update account balances
23
+ * 4. Returns a map of balances after each posting
22
24
  *
23
25
  * @param parsed The parsed document containing all transactions
24
26
  * @returns A map of transaction index -> posting index -> commodity -> balance
25
27
  */
26
28
  function calculateRunningBalances(parsed) {
27
29
  const result = new Map();
28
- // Track global account balances across all transactions
29
30
  const accountBalances = new Map();
30
- // Sort transactions by date to calculate balances in chronological order
31
- // This is critical when transactions come from multiple files via includes
32
- const sortedTransactions = [...parsed.transactions].sort((a, b) => {
33
- return a.date.localeCompare(b.date);
31
+ const allPostings = [];
32
+ parsed.transactions.forEach((tx, txIdx) => {
33
+ tx.postings.forEach((posting, postingIdx) => {
34
+ allPostings.push({
35
+ transaction: tx,
36
+ posting,
37
+ effectiveDate: (0, index_1.getEffectiveDate)(posting, tx),
38
+ txIndex: txIdx,
39
+ postingIndex: postingIdx
40
+ });
41
+ });
34
42
  });
35
- // Create a map from sorted index to original index
36
- const sortedToOriginalIndex = new Map();
37
- sortedTransactions.forEach((tx, sortedIdx) => {
38
- const originalIdx = parsed.transactions.indexOf(tx);
39
- sortedToOriginalIndex.set(sortedIdx, originalIdx);
40
- });
41
- for (let sortedIdx = 0; sortedIdx < sortedTransactions.length; sortedIdx++) {
42
- const transaction = sortedTransactions[sortedIdx];
43
- const txIndex = sortedToOriginalIndex.get(sortedIdx);
44
- const postingBalances = new Map();
45
- for (let postingIndex = 0; postingIndex < transaction.postings.length; postingIndex++) {
46
- const posting = transaction.postings[postingIndex];
47
- const account = posting.account;
48
- // Get amount (either explicit or inferred)
49
- let amountMap;
50
- if (posting.amount) {
51
- // Explicit amount
52
- const commodity = posting.amount.commodity || '';
53
- amountMap = new Map([[commodity, posting.amount.quantity]]);
43
+ // Sort by effective date for chronological processing
44
+ allPostings.sort((a, b) => a.effectiveDate.localeCompare(b.effectiveDate));
45
+ // Process postings in chronological order
46
+ for (const { posting, txIndex, postingIndex } of allPostings) {
47
+ const account = posting.account;
48
+ // Get amount (explicit only - ignore inferred amounts)
49
+ if (posting.amount) {
50
+ const commodity = posting.amount.commodity || '';
51
+ // Initialize account balance map if needed
52
+ if (!accountBalances.has(account)) {
53
+ accountBalances.set(account, new Map());
54
+ }
55
+ const commodityBalances = accountBalances.get(account);
56
+ // Update balance
57
+ const currentBalance = commodityBalances.get(commodity) || 0;
58
+ const newBalance = currentBalance + posting.amount.quantity;
59
+ commodityBalances.set(commodity, newBalance);
60
+ // Store this posting's resulting balance in result map
61
+ if (!result.has(txIndex)) {
62
+ result.set(txIndex, new Map());
54
63
  }
55
- if (amountMap) {
56
- // Update balance for each commodity in this posting
57
- for (const [commodity, quantity] of amountMap.entries()) {
58
- // Get or create account balance map
59
- if (!accountBalances.has(account)) {
60
- accountBalances.set(account, new Map());
61
- }
62
- const commodityBalances = accountBalances.get(account);
63
- // Update balance
64
- const currentBalance = commodityBalances.get(commodity) || 0;
65
- const newBalance = currentBalance + quantity;
66
- commodityBalances.set(commodity, newBalance);
67
- // Store this posting's resulting balance
68
- if (!postingBalances.has(postingIndex)) {
69
- postingBalances.set(postingIndex, new Map());
70
- }
71
- postingBalances.get(postingIndex).set(commodity, newBalance);
72
- }
64
+ if (!result.get(txIndex).has(postingIndex)) {
65
+ result.get(txIndex).set(postingIndex, new Map());
73
66
  }
67
+ result.get(txIndex).get(postingIndex).set(commodity, newBalance);
74
68
  }
75
- result.set(txIndex, postingBalances);
76
69
  }
77
70
  return result;
78
71
  }
@@ -80,31 +73,40 @@ function calculateRunningBalances(parsed) {
80
73
  * Calculate running balances for balance assertion validation
81
74
  *
82
75
  * This is a simplified version that only tracks account balances,
83
- * suitable for validating balance assertions.
76
+ * suitable for validating balance assertions. Respects posting dates
77
+ * for chronological ordering.
84
78
  *
85
- * @param transactions List of transactions (will be sorted by date internally)
79
+ * @param transactions List of transactions (postings will be sorted by effective date internally)
86
80
  * @returns A map of account name -> commodity -> balance
87
81
  */
88
82
  function calculateAccountBalances(transactions) {
89
83
  const balances = new Map();
90
- // Sort transactions by date to calculate balances in chronological order
91
- const sortedTransactions = [...transactions].sort((a, b) => {
92
- return a.date.localeCompare(b.date);
84
+ // Extract all postings with effective dates
85
+ const allPostings = [];
86
+ transactions.forEach(tx => {
87
+ tx.postings.forEach(posting => {
88
+ allPostings.push({
89
+ posting,
90
+ transaction: tx,
91
+ effectiveDate: (0, index_1.getEffectiveDate)(posting, tx)
92
+ });
93
+ });
93
94
  });
94
- for (const transaction of sortedTransactions) {
95
- for (const posting of transaction.postings) {
96
- // Update running balance
97
- // Note: Balance assertions check the ORIGINAL commodity (amount.commodity),
98
- // not the cost commodity. So we always update balance in the amount's commodity.
99
- if (posting.amount) {
100
- const accountBalances = balances.get(posting.account) || new Map();
101
- const commodity = posting.amount.commodity || '';
102
- const currentBalance = accountBalances.get(commodity) || 0;
103
- // Always use the original amount quantity for balance tracking,
104
- // regardless of whether there's a cost notation
105
- accountBalances.set(commodity, currentBalance + posting.amount.quantity);
106
- balances.set(posting.account, accountBalances);
107
- }
95
+ // Sort by effective date
96
+ allPostings.sort((a, b) => a.effectiveDate.localeCompare(b.effectiveDate));
97
+ // Process postings chronologically
98
+ for (const { posting } of allPostings) {
99
+ // Update running balance
100
+ // Note: Balance assertions check the ORIGINAL commodity (amount.commodity),
101
+ // not the cost commodity. So we always update balance in the amount's commodity.
102
+ if (posting.amount) {
103
+ const accountBalances = balances.get(posting.account) || new Map();
104
+ const commodity = posting.amount.commodity || '';
105
+ const currentBalance = accountBalances.get(commodity) || 0;
106
+ // Always use the original amount quantity for balance tracking,
107
+ // regardless of whether there's a cost notation
108
+ accountBalances.set(commodity, currentBalance + posting.amount.quantity);
109
+ balances.set(posting.account, accountBalances);
108
110
  }
109
111
  }
110
112
  return balances;
@@ -1 +1 @@
1
- {"version":3,"file":"runningBalanceCalculator.js","sourceRoot":"","sources":["../../src/utils/runningBalanceCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runningBalanceCalculator.js","sourceRoot":"","sources":["../../src/utils/runningBalanceCalculator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hledger-lsp",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "Language Server Protocol implementation for hledger plain text accounting",
5
5
  "main": "./out/server.js",
6
6
  "bin": {