hledger-lsp 0.1.5 → 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.
- package/README.md +82 -167
- package/out/features/codeActions.d.ts +0 -4
- package/out/features/codeActions.d.ts.map +1 -1
- package/out/features/codeActions.js +7 -23
- package/out/features/codeActions.js.map +1 -1
- package/out/features/codeLens.d.ts +29 -0
- package/out/features/codeLens.d.ts.map +1 -0
- package/out/features/codeLens.js +102 -0
- package/out/features/codeLens.js.map +1 -0
- package/out/features/completion.d.ts.map +1 -1
- package/out/features/completion.js +19 -6
- package/out/features/completion.js.map +1 -1
- package/out/features/definition.d.ts.map +1 -1
- package/out/features/definition.js.map +1 -1
- package/out/features/foldingRanges.d.ts.map +1 -1
- package/out/features/foldingRanges.js +6 -2
- package/out/features/foldingRanges.js.map +1 -1
- package/out/features/formatter.d.ts.map +1 -1
- package/out/features/formatter.js.map +1 -1
- package/out/features/formattingUtils.d.ts +38 -0
- package/out/features/formattingUtils.d.ts.map +1 -0
- package/out/features/formattingUtils.js +107 -0
- package/out/features/formattingUtils.js.map +1 -0
- package/out/features/hover.d.ts +0 -4
- package/out/features/hover.d.ts.map +1 -1
- package/out/features/hover.js +7 -16
- package/out/features/hover.js.map +1 -1
- package/out/features/inlayHints.d.ts +5 -4
- package/out/features/inlayHints.d.ts.map +1 -1
- package/out/features/inlayHints.js +154 -84
- package/out/features/inlayHints.js.map +1 -1
- package/out/features/symbols.d.ts.map +1 -1
- package/out/features/symbols.js +4 -1
- package/out/features/symbols.js.map +1 -1
- package/out/features/validator.d.ts +0 -4
- package/out/features/validator.d.ts.map +1 -1
- package/out/features/validator.js +101 -93
- package/out/features/validator.js.map +1 -1
- package/out/parser/ast.d.ts +2 -2
- package/out/parser/ast.d.ts.map +1 -1
- package/out/parser/ast.js +8 -3
- package/out/parser/ast.js.map +1 -1
- package/out/parser/index.d.ts +8 -5
- package/out/parser/index.d.ts.map +1 -1
- package/out/parser/index.js +0 -7
- package/out/parser/index.js.map +1 -1
- package/out/server/configFile.d.ts +104 -0
- package/out/server/configFile.d.ts.map +1 -0
- package/out/server/configFile.js +231 -0
- package/out/server/configFile.js.map +1 -0
- package/out/server/settings.d.ts +8 -0
- package/out/server/settings.d.ts.map +1 -1
- package/out/server/settings.js +8 -0
- package/out/server/settings.js.map +1 -1
- package/out/server/workspace.d.ts +126 -0
- package/out/server/workspace.d.ts.map +1 -0
- package/out/server/workspace.js +599 -0
- package/out/server/workspace.js.map +1 -0
- package/out/server.js +431 -23
- package/out/server.js.map +1 -1
- package/out/types.d.ts +15 -4
- package/out/types.d.ts.map +1 -1
- package/out/types.js +11 -0
- package/out/types.js.map +1 -1
- package/out/utils/amountFormatter.d.ts +14 -0
- package/out/utils/amountFormatter.d.ts.map +1 -0
- package/out/utils/amountFormatter.js +55 -0
- package/out/utils/amountFormatter.js.map +1 -0
- package/out/utils/balanceCalculator.d.ts +32 -0
- package/out/utils/balanceCalculator.d.ts.map +1 -0
- package/out/utils/balanceCalculator.js +93 -0
- package/out/utils/balanceCalculator.js.map +1 -0
- package/package.json +1 -1
|
@@ -13,6 +13,8 @@ exports.validator = exports.Validator = void 0;
|
|
|
13
13
|
const node_1 = require("vscode-languageserver/node");
|
|
14
14
|
const uri_1 = require("../utils/uri");
|
|
15
15
|
const settings_1 = require("../server/settings");
|
|
16
|
+
const balanceCalculator_1 = require("../utils/balanceCalculator");
|
|
17
|
+
const amountFormatter_1 = require("../utils/amountFormatter");
|
|
16
18
|
class Validator {
|
|
17
19
|
/**
|
|
18
20
|
* Validate a parsed hledger document
|
|
@@ -32,9 +34,14 @@ class Validator {
|
|
|
32
34
|
};
|
|
33
35
|
// Validate each transaction
|
|
34
36
|
for (const transaction of parsedDoc.transactions) {
|
|
37
|
+
// Only validate transactions in the current document
|
|
38
|
+
// (workspace parsing may include transactions from other files)
|
|
39
|
+
if (transaction.sourceUri !== document.uri) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
35
42
|
// Check balance
|
|
36
43
|
if (isEnabled('balance')) {
|
|
37
|
-
const balanceIssues = this.validateBalance(transaction, document);
|
|
44
|
+
const balanceIssues = this.validateBalance(transaction, document, parsedDoc);
|
|
38
45
|
diagnostics.push(...balanceIssues);
|
|
39
46
|
}
|
|
40
47
|
// Check missing amounts
|
|
@@ -87,36 +94,15 @@ class Validator {
|
|
|
87
94
|
* Validate transaction balance
|
|
88
95
|
* Transactions must balance (all amounts sum to zero per commodity)
|
|
89
96
|
*/
|
|
90
|
-
validateBalance(transaction, document) {
|
|
97
|
+
validateBalance(transaction, document, parsedDoc) {
|
|
91
98
|
const diagnostics = [];
|
|
92
|
-
//
|
|
93
|
-
const balances =
|
|
99
|
+
// Calculate transaction balance by commodity
|
|
100
|
+
const balances = (0, balanceCalculator_1.calculateTransactionBalance)(transaction);
|
|
94
101
|
// Count how many postings have amounts
|
|
95
102
|
let postingsWithAmounts = 0;
|
|
96
103
|
for (const posting of transaction.postings) {
|
|
97
104
|
if (posting.amount) {
|
|
98
105
|
postingsWithAmounts++;
|
|
99
|
-
// If posting has a cost, use the cost commodity for balance calculation
|
|
100
|
-
if (posting.cost) {
|
|
101
|
-
const costCommodity = posting.cost.amount.commodity || '';
|
|
102
|
-
let costValue;
|
|
103
|
-
if (posting.cost.type === 'unit') {
|
|
104
|
-
// @ unitPrice: total cost = quantity * unitPrice
|
|
105
|
-
costValue = posting.amount.quantity * posting.cost.amount.quantity;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
// @@ totalPrice: use total price directly
|
|
109
|
-
costValue = posting.cost.amount.quantity;
|
|
110
|
-
}
|
|
111
|
-
const current = balances.get(costCommodity) || 0;
|
|
112
|
-
balances.set(costCommodity, current + costValue);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
// No cost notation, use the posting's commodity
|
|
116
|
-
const commodity = posting.amount.commodity || '';
|
|
117
|
-
const current = balances.get(commodity) || 0;
|
|
118
|
-
balances.set(commodity, current + posting.amount.quantity);
|
|
119
|
-
}
|
|
120
106
|
}
|
|
121
107
|
}
|
|
122
108
|
// If all postings have amounts, check if they balance
|
|
@@ -124,11 +110,13 @@ class Validator {
|
|
|
124
110
|
for (const [commodity, balance] of balances.entries()) {
|
|
125
111
|
// Allow for small floating point errors
|
|
126
112
|
if (Math.abs(balance) > 0.005) {
|
|
127
|
-
const
|
|
113
|
+
const formattedBalance = commodity
|
|
114
|
+
? (0, amountFormatter_1.formatAmount)(balance, commodity, parsedDoc)
|
|
115
|
+
: balance.toFixed(2);
|
|
128
116
|
diagnostics.push({
|
|
129
117
|
severity: node_1.DiagnosticSeverity.Error,
|
|
130
118
|
range: this.getTransactionRange(transaction, document),
|
|
131
|
-
message: `Transaction does not balance: ${
|
|
119
|
+
message: `Transaction does not balance: ${formattedBalance} off`,
|
|
132
120
|
source: 'hledger'
|
|
133
121
|
});
|
|
134
122
|
}
|
|
@@ -317,46 +305,23 @@ class Validator {
|
|
|
317
305
|
*/
|
|
318
306
|
validateDateOrdering(transactions, document) {
|
|
319
307
|
const diagnostics = [];
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
308
|
+
// Only validate transactions in the current document
|
|
309
|
+
const documentTransactions = transactions.filter(t => t.sourceUri === document.uri);
|
|
310
|
+
for (let i = 1; i < documentTransactions.length; i++) {
|
|
311
|
+
const prevDate = this.parseDate(documentTransactions[i - 1].date);
|
|
312
|
+
const currDate = this.parseDate(documentTransactions[i].date);
|
|
323
313
|
if (prevDate && currDate && currDate < prevDate) {
|
|
324
|
-
const range = this.getTransactionRange(
|
|
314
|
+
const range = this.getTransactionRange(documentTransactions[i], document);
|
|
325
315
|
diagnostics.push({
|
|
326
316
|
severity: node_1.DiagnosticSeverity.Warning,
|
|
327
317
|
range,
|
|
328
|
-
message: `Transaction date ${
|
|
318
|
+
message: `Transaction date ${documentTransactions[i].date} is before previous transaction date ${documentTransactions[i - 1].date}`,
|
|
329
319
|
source: 'hledger'
|
|
330
320
|
});
|
|
331
321
|
}
|
|
332
322
|
}
|
|
333
323
|
return diagnostics;
|
|
334
324
|
}
|
|
335
|
-
/**
|
|
336
|
-
* Format an amount with commodity according to declared format
|
|
337
|
-
*/
|
|
338
|
-
formatAmountWithCommodity(quantity, commodityName, parsedDoc) {
|
|
339
|
-
// Find commodity format
|
|
340
|
-
const commodity = parsedDoc.commodities.get(commodityName);
|
|
341
|
-
if (!commodity?.format) {
|
|
342
|
-
// No format declared, use default: amount then commodity with space
|
|
343
|
-
return commodityName ? `${quantity.toFixed(2)} ${commodityName}` : quantity.toFixed(2);
|
|
344
|
-
}
|
|
345
|
-
const format = commodity.format;
|
|
346
|
-
const symbol = format.symbol || commodityName;
|
|
347
|
-
const symbolOnLeft = format.symbolOnLeft ?? false;
|
|
348
|
-
const spaceBetween = format.spaceBetween ?? true;
|
|
349
|
-
const space = spaceBetween ? ' ' : '';
|
|
350
|
-
// Use precision from format, or default to 2
|
|
351
|
-
const precision = format.precision ?? 2;
|
|
352
|
-
const formattedNumber = quantity.toFixed(precision);
|
|
353
|
-
if (symbolOnLeft) {
|
|
354
|
-
return `${symbol}${space}${formattedNumber}`;
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
return `${formattedNumber}${space}${symbol}`;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
325
|
/**
|
|
361
326
|
* Validate balance assertions
|
|
362
327
|
* Check if balance assertions match calculated balances
|
|
@@ -365,6 +330,8 @@ class Validator {
|
|
|
365
330
|
const diagnostics = [];
|
|
366
331
|
// Track running balances per account per commodity
|
|
367
332
|
const balances = new Map();
|
|
333
|
+
// Process ALL transactions to calculate running balances correctly
|
|
334
|
+
// (workspace parsing includes transactions from all files)
|
|
368
335
|
for (const transaction of transactions) {
|
|
369
336
|
for (const posting of transaction.postings) {
|
|
370
337
|
// Update running balance
|
|
@@ -379,8 +346,8 @@ class Validator {
|
|
|
379
346
|
accountBalances.set(commodity, currentBalance + posting.amount.quantity);
|
|
380
347
|
balances.set(posting.account, accountBalances);
|
|
381
348
|
}
|
|
382
|
-
// Check assertion
|
|
383
|
-
if (posting.assertion) {
|
|
349
|
+
// Check assertion - but only create diagnostics for assertions in the current document
|
|
350
|
+
if (posting.assertion && transaction.sourceUri === document.uri) {
|
|
384
351
|
const accountBalances = balances.get(posting.account);
|
|
385
352
|
const commodity = posting.assertion.commodity || '';
|
|
386
353
|
const expectedBalance = posting.assertion.quantity;
|
|
@@ -388,8 +355,8 @@ class Validator {
|
|
|
388
355
|
// Allow for small floating point errors
|
|
389
356
|
if (Math.abs(actualBalance - expectedBalance) > 0.005) {
|
|
390
357
|
const range = this.findPostingRange(transaction, posting, document);
|
|
391
|
-
const expectedFormatted =
|
|
392
|
-
const actualFormatted =
|
|
358
|
+
const expectedFormatted = (0, amountFormatter_1.formatAmount)(expectedBalance, commodity, parsedDoc);
|
|
359
|
+
const actualFormatted = (0, amountFormatter_1.formatAmount)(actualBalance, commodity, parsedDoc);
|
|
393
360
|
diagnostics.push({
|
|
394
361
|
severity: node_1.DiagnosticSeverity.Error,
|
|
395
362
|
range,
|
|
@@ -580,50 +547,91 @@ class Validator {
|
|
|
580
547
|
const includeDirectives = parsedDoc.directives.filter(d => d.type === 'include');
|
|
581
548
|
for (const directive of includeDirectives) {
|
|
582
549
|
const includePath = directive.value;
|
|
583
|
-
//
|
|
584
|
-
const
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
const
|
|
588
|
-
if (
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
550
|
+
// Check if this is a glob pattern
|
|
551
|
+
const isGlob = /[*?\[\]{}]/.test(includePath);
|
|
552
|
+
if (isGlob) {
|
|
553
|
+
// For glob patterns, expand to all matching files
|
|
554
|
+
const resolvedPaths = (0, uri_1.resolveIncludePaths)(includePath, baseUri);
|
|
555
|
+
// Check if glob matched any files (if enabled)
|
|
556
|
+
if (resolvedPaths.length === 0 && checkMissingFiles) {
|
|
557
|
+
const range = this.findFirstOccurrence(document, includePath);
|
|
558
|
+
if (range) {
|
|
559
|
+
diagnostics.push({
|
|
560
|
+
severity: node_1.DiagnosticSeverity.Error,
|
|
561
|
+
range,
|
|
562
|
+
message: `Include glob pattern matches no files: ${includePath}`,
|
|
563
|
+
source: 'hledger'
|
|
564
|
+
});
|
|
565
|
+
}
|
|
595
566
|
}
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
567
|
+
// Check for circular includes for each matched file
|
|
568
|
+
if (checkCircularIncludes) {
|
|
569
|
+
for (const resolvedPath of resolvedPaths) {
|
|
570
|
+
const includeDoc = fileReader(resolvedPath);
|
|
571
|
+
if (includeDoc) {
|
|
572
|
+
const circularCheck = this.checkCircularInclude(document.uri, includeDoc, fileReader, new Set([baseUri, resolvedPath]));
|
|
573
|
+
if (circularCheck) {
|
|
574
|
+
const range = this.findFirstOccurrence(document, includePath);
|
|
575
|
+
if (range) {
|
|
576
|
+
diagnostics.push({
|
|
577
|
+
severity: node_1.DiagnosticSeverity.Error,
|
|
578
|
+
range,
|
|
579
|
+
message: `Circular include detected in glob: ${includePath} (via ${resolvedPath})`,
|
|
580
|
+
source: 'hledger'
|
|
581
|
+
});
|
|
582
|
+
break; // Only report once per glob pattern
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
611
587
|
}
|
|
612
588
|
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
const
|
|
616
|
-
|
|
589
|
+
else {
|
|
590
|
+
// Single file include (existing logic)
|
|
591
|
+
const resolvedPath = (0, uri_1.resolveIncludePath)(includePath, baseUri);
|
|
592
|
+
// Check for duplicate includes in the same document
|
|
593
|
+
if (visited.has(resolvedPath)) {
|
|
594
|
+
const range = this.findFirstOccurrence(document, includePath);
|
|
595
|
+
if (range) {
|
|
596
|
+
diagnostics.push({
|
|
597
|
+
severity: node_1.DiagnosticSeverity.Warning,
|
|
598
|
+
range,
|
|
599
|
+
message: `Duplicate include: ${includePath}`,
|
|
600
|
+
source: 'hledger'
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
continue;
|
|
604
|
+
}
|
|
605
|
+
visited.add(resolvedPath);
|
|
606
|
+
// Check if file exists (if enabled)
|
|
607
|
+
const includeDoc = fileReader(resolvedPath);
|
|
608
|
+
if (!includeDoc && checkMissingFiles) {
|
|
609
|
+
// File doesn't exist
|
|
617
610
|
const range = this.findFirstOccurrence(document, includePath);
|
|
618
611
|
if (range) {
|
|
619
612
|
diagnostics.push({
|
|
620
613
|
severity: node_1.DiagnosticSeverity.Error,
|
|
621
614
|
range,
|
|
622
|
-
message: `
|
|
615
|
+
message: `Include file not found: ${includePath}`,
|
|
623
616
|
source: 'hledger'
|
|
624
617
|
});
|
|
625
618
|
}
|
|
626
619
|
}
|
|
620
|
+
// Check for circular includes (if enabled and file exists)
|
|
621
|
+
if (includeDoc && checkCircularIncludes) {
|
|
622
|
+
const circularCheck = this.checkCircularInclude(document.uri, includeDoc, fileReader, new Set([baseUri, resolvedPath]));
|
|
623
|
+
if (circularCheck) {
|
|
624
|
+
const range = this.findFirstOccurrence(document, includePath);
|
|
625
|
+
if (range) {
|
|
626
|
+
diagnostics.push({
|
|
627
|
+
severity: node_1.DiagnosticSeverity.Error,
|
|
628
|
+
range,
|
|
629
|
+
message: `Circular include detected: ${includePath}`,
|
|
630
|
+
source: 'hledger'
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
627
635
|
}
|
|
628
636
|
}
|
|
629
637
|
return diagnostics;
|
|
@@ -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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"}
|
package/out/parser/ast.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transaction, Posting, Amount, Account, Payee, Commodity, Tag, Directive,
|
|
1
|
+
import { Transaction, Posting, Amount, Account, Payee, Commodity, Tag, Directive, DecimalMark, Format } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Parse a transaction starting at startLine within lines array.
|
|
4
4
|
* This is a pure helper extracted from HledgerParser.
|
|
@@ -27,7 +27,7 @@ export declare function parseTransactionHeader(line: string): {
|
|
|
27
27
|
tags?: Record<string, string>;
|
|
28
28
|
} | null;
|
|
29
29
|
export declare function parsePosting(line: string): Posting | null;
|
|
30
|
-
export declare function parseAmount(amountStr: string, decimalMark?:
|
|
30
|
+
export declare function parseAmount(amountStr: string, decimalMark?: DecimalMark): Amount | null;
|
|
31
31
|
export declare function parseFormat(sample: string): {
|
|
32
32
|
name: string;
|
|
33
33
|
format?: Format;
|
package/out/parser/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"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"}
|
package/out/parser/ast.js
CHANGED
|
@@ -341,13 +341,18 @@ function detectNumberFormat(numStr, defaultDecimalMark) {
|
|
|
341
341
|
// Filter out the decimal mark from potential separators just in case
|
|
342
342
|
const potentialSeparators = separators.filter(s => s !== decimalMark);
|
|
343
343
|
if (potentialSeparators.length === 1) {
|
|
344
|
-
|
|
344
|
+
const candidate = potentialSeparators[0];
|
|
345
|
+
// Only accept valid thousand separators: '.', ',', ' '
|
|
346
|
+
if (candidate === '.' || candidate === ',' || candidate === ' ') {
|
|
347
|
+
thousandsSeparator = candidate;
|
|
348
|
+
}
|
|
345
349
|
}
|
|
346
350
|
else if (potentialSeparators.length > 1) {
|
|
347
351
|
let max = 0;
|
|
348
352
|
let pick = null;
|
|
349
353
|
for (const k of potentialSeparators) {
|
|
350
|
-
|
|
354
|
+
// Only consider valid thousand separators
|
|
355
|
+
if ((k === '.' || k === ',' || k === ' ') && sepCounts[k] > max) {
|
|
351
356
|
max = sepCounts[k];
|
|
352
357
|
pick = k;
|
|
353
358
|
}
|
|
@@ -506,7 +511,7 @@ function parseFormat(sample) {
|
|
|
506
511
|
const after = s.substring(end);
|
|
507
512
|
spaceBetween = /\s/.test(after.replace(stripQuotes(rightRaw), '')) || /\s/.test(s[end - 1]);
|
|
508
513
|
}
|
|
509
|
-
const format = { symbol: rawSymbol, symbolOnLeft, spaceBetween, decimalMark
|
|
514
|
+
const format = { symbol: rawSymbol, symbolOnLeft, spaceBetween, decimalMark, thousandsSeparator, precision };
|
|
510
515
|
let name = rawSymbol;
|
|
511
516
|
if (rightRaw) {
|
|
512
517
|
const candidate = stripQuotes(rightRaw);
|
package/out/parser/ast.js.map
CHANGED
|
@@ -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/parser/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Comments and tags
|
|
9
9
|
* - Include directives
|
|
10
10
|
*/
|
|
11
|
-
import { ParsedDocument
|
|
11
|
+
import { ParsedDocument } from '../types';
|
|
12
12
|
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
13
13
|
/**
|
|
14
14
|
* Function type for reading file contents
|
|
@@ -34,6 +34,13 @@ export interface ParseOptions {
|
|
|
34
34
|
* Internal use only
|
|
35
35
|
*/
|
|
36
36
|
visited?: Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse mode: 'document' or 'workspace'
|
|
39
|
+
* - 'document': Standard include-based parsing from the current file
|
|
40
|
+
* - 'workspace': Parse from workspace root for global state
|
|
41
|
+
* This option is primarily used by the server's parseDocument helper
|
|
42
|
+
*/
|
|
43
|
+
parseMode?: 'document' | 'workspace';
|
|
37
44
|
}
|
|
38
45
|
export declare class HledgerParser {
|
|
39
46
|
/**
|
|
@@ -45,10 +52,6 @@ export declare class HledgerParser {
|
|
|
45
52
|
* Parse a complete hledger document
|
|
46
53
|
*/
|
|
47
54
|
parse(document: TextDocument, options?: ParseOptions): ParsedDocument;
|
|
48
|
-
/**
|
|
49
|
-
* Validate transaction balance
|
|
50
|
-
*/
|
|
51
|
-
validateBalance(transaction: Transaction): boolean;
|
|
52
55
|
}
|
|
53
56
|
export declare const parser: HledgerParser;
|
|
54
57
|
//# sourceMappingURL=index.d.ts.map
|