hledger-lsp 0.2.1 → 0.2.2
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/out/features/codeActions.d.ts.map +1 -1
- package/out/features/codeActions.js +5 -2
- package/out/features/codeActions.js.map +1 -1
- package/out/features/codeLens.d.ts.map +1 -1
- package/out/features/codeLens.js +4 -1
- package/out/features/codeLens.js.map +1 -1
- package/out/features/foldingRanges.d.ts.map +1 -1
- package/out/features/foldingRanges.js +4 -1
- package/out/features/foldingRanges.js.map +1 -1
- package/out/features/formatter.d.ts +4 -3
- package/out/features/formatter.d.ts.map +1 -1
- package/out/features/formatter.js +20 -9
- package/out/features/formatter.js.map +1 -1
- package/out/features/inlayHints.d.ts +12 -0
- package/out/features/inlayHints.d.ts.map +1 -1
- package/out/features/inlayHints.js +125 -43
- package/out/features/inlayHints.js.map +1 -1
- package/out/features/symbols.d.ts.map +1 -1
- package/out/features/symbols.js +5 -2
- package/out/features/symbols.js.map +1 -1
- package/out/server.js +104 -53
- package/out/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -58,6 +58,68 @@ class InlayHintsProvider {
|
|
|
58
58
|
}
|
|
59
59
|
return hints;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Calculate insertion position for inferred amount hint
|
|
63
|
+
*/
|
|
64
|
+
calculateInferredAmountHintInsertionPosition(line, accountEnd, amount, parsed, settings) {
|
|
65
|
+
const options = {
|
|
66
|
+
indentation: 4,
|
|
67
|
+
maxAccountWidth: 42,
|
|
68
|
+
maxCommodityWidth: 4,
|
|
69
|
+
maxAmountWidth: 12,
|
|
70
|
+
minSpacing: 2,
|
|
71
|
+
decimalAlignColumn: 52,
|
|
72
|
+
assertionDecimalAlignColumn: 70,
|
|
73
|
+
signPosition: 'after-symbol',
|
|
74
|
+
...settings?.formatting
|
|
75
|
+
};
|
|
76
|
+
// Get amount layout to determine pre-decimal width
|
|
77
|
+
const layout = (0, amountFormatter_1.getAmountLayout)(amount, parsed, options);
|
|
78
|
+
const preDecimalWidth = layout.commodityBefore.length +
|
|
79
|
+
(layout.spaceBetweenCommodityAndAmount && layout.commodityBefore ? 1 : 0) +
|
|
80
|
+
(layout.isNegative ? 1 : 0) +
|
|
81
|
+
layout.amountIntegerString.length;
|
|
82
|
+
// Calculate the target position for the start of the amount (before the decimal)
|
|
83
|
+
const targetColumn = Math.max(options.decimalAlignColumn, accountEnd + options.minSpacing + preDecimalWidth);
|
|
84
|
+
const amountStartColumn = targetColumn - preDecimalWidth;
|
|
85
|
+
return amountStartColumn;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Calculate insertion position for Running Balance assertion hint
|
|
89
|
+
*/
|
|
90
|
+
calculateAssertionHintInsertionPosition(line, accountEnd, amount, parsed, settings) {
|
|
91
|
+
const options = {
|
|
92
|
+
indentation: 4,
|
|
93
|
+
maxAccountWidth: 42,
|
|
94
|
+
maxCommodityWidth: 4,
|
|
95
|
+
maxAmountWidth: 12,
|
|
96
|
+
minSpacing: 2,
|
|
97
|
+
decimalAlignColumn: 52,
|
|
98
|
+
assertionDecimalAlignColumn: 70,
|
|
99
|
+
signPosition: 'after-symbol',
|
|
100
|
+
...settings?.formatting
|
|
101
|
+
};
|
|
102
|
+
// TODO implement proper calculation for assertion hint position
|
|
103
|
+
return options.decimalAlignColumn + 4; // +3 for ".00"
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Calculate insertion position for Cost assertion hint
|
|
107
|
+
*/
|
|
108
|
+
calculateCostHintInsertionPosition(line, accountEnd, amount, parsed, settings) {
|
|
109
|
+
const options = {
|
|
110
|
+
indentation: 4,
|
|
111
|
+
maxAccountWidth: 42,
|
|
112
|
+
maxCommodityWidth: 4,
|
|
113
|
+
maxAmountWidth: 12,
|
|
114
|
+
minSpacing: 2,
|
|
115
|
+
decimalAlignColumn: 52,
|
|
116
|
+
assertionDecimalAlignColumn: 70,
|
|
117
|
+
signPosition: 'after-symbol',
|
|
118
|
+
...settings?.formatting
|
|
119
|
+
};
|
|
120
|
+
// TODO implement proper calculation for assertion hint position
|
|
121
|
+
return options.decimalAlignColumn + 3;
|
|
122
|
+
}
|
|
61
123
|
/**
|
|
62
124
|
* Get hints for inferred amounts (postings with amounts marked as inferred)
|
|
63
125
|
*/
|
|
@@ -75,26 +137,43 @@ class InlayHintsProvider {
|
|
|
75
137
|
});
|
|
76
138
|
// Find end of account name
|
|
77
139
|
const accountEnd = line.indexOf(posting.account) + posting.account.length;
|
|
140
|
+
// Check if non-whitespace content exists after account (before comment)
|
|
141
|
+
const afterAccount = line.substring(accountEnd);
|
|
142
|
+
const commentPos = afterAccount.search(/[;#]/);
|
|
143
|
+
const beforeComment = commentPos >= 0
|
|
144
|
+
? afterAccount.substring(0, commentPos)
|
|
145
|
+
: afterAccount;
|
|
146
|
+
const hasContentAfterAccount = beforeComment.trim().length > 0;
|
|
147
|
+
// Skip hint if non-whitespace, non-comment content exists after account
|
|
148
|
+
// This prevents hints from appearing when amounts, costs, or assertions are present
|
|
149
|
+
if (hasContentAfterAccount) {
|
|
150
|
+
postingIndex++;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
// Calculate alignment padding and insertion position
|
|
154
|
+
const insertPosition = this.calculateInferredAmountHintInsertionPosition(line, accountEnd, posting.amount, parsed, settings);
|
|
155
|
+
// Format amount without extra padding (padding handled separately)
|
|
78
156
|
const amountText = (0, amountFormatter_1.formatAmount)(posting.amount.quantity, posting.amount.commodity, parsed, settings?.formatting);
|
|
79
157
|
// Create clickable label part with command to insert the amount
|
|
80
158
|
const labelPart = {
|
|
81
|
-
value:
|
|
159
|
+
value: `${amountText}`,
|
|
82
160
|
command: {
|
|
83
161
|
title: 'Insert inferred amount',
|
|
84
162
|
command: 'hledger.insertInferredAmount',
|
|
85
163
|
arguments: [
|
|
86
164
|
document.uri,
|
|
87
165
|
lineNum,
|
|
88
|
-
|
|
89
|
-
|
|
166
|
+
accountEnd,
|
|
167
|
+
posting.amount.quantity,
|
|
168
|
+
posting.amount.commodity
|
|
90
169
|
]
|
|
91
170
|
}
|
|
92
171
|
};
|
|
93
172
|
hints.push({
|
|
94
|
-
position: vscode_languageserver_1.Position.create(lineNum,
|
|
173
|
+
position: vscode_languageserver_1.Position.create(lineNum, insertPosition),
|
|
95
174
|
label: [labelPart],
|
|
96
175
|
kind: vscode_languageserver_1.InlayHintKind.Parameter,
|
|
97
|
-
paddingLeft:
|
|
176
|
+
paddingLeft: false, // We handle padding ourselves
|
|
98
177
|
tooltip: 'Click to insert this inferred amount into the document'
|
|
99
178
|
});
|
|
100
179
|
}
|
|
@@ -128,12 +207,17 @@ class InlayHintsProvider {
|
|
|
128
207
|
start: { line: lineNum, character: 0 },
|
|
129
208
|
end: { line: lineNum, character: Number.MAX_SAFE_INTEGER }
|
|
130
209
|
});
|
|
131
|
-
// Find end of
|
|
132
|
-
let endPos = line.length;
|
|
210
|
+
// Find end of non-whitespace content (before comment)
|
|
133
211
|
const commentPos = line.search(/[;#]/);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
212
|
+
const beforeComment = commentPos >= 0
|
|
213
|
+
? line.substring(0, commentPos)
|
|
214
|
+
: line;
|
|
215
|
+
const trimmedLine = beforeComment.trimEnd();
|
|
216
|
+
const contentEnd = trimmedLine.length;
|
|
217
|
+
// Check if there's only whitespace between content end and a reasonable position
|
|
218
|
+
const afterContent = beforeComment.substring(contentEnd);
|
|
219
|
+
const hasOnlyWhitespace = afterContent.trim().length === 0;
|
|
220
|
+
const insertPosition = this.calculateAssertionHintInsertionPosition(line, contentEnd, posting.amount, parsed, settings);
|
|
137
221
|
// Format all commodity balances for this posting
|
|
138
222
|
const balanceHints = [];
|
|
139
223
|
for (const [commodity, balance] of balanceMap.entries()) {
|
|
@@ -157,10 +241,10 @@ class InlayHintsProvider {
|
|
|
157
241
|
}
|
|
158
242
|
};
|
|
159
243
|
hints.push({
|
|
160
|
-
position: vscode_languageserver_1.Position.create(lineNum,
|
|
244
|
+
position: vscode_languageserver_1.Position.create(lineNum, insertPosition),
|
|
161
245
|
label: [labelPart],
|
|
162
246
|
kind: vscode_languageserver_1.InlayHintKind.Type,
|
|
163
|
-
paddingLeft:
|
|
247
|
+
paddingLeft: false, // No LSP padding
|
|
164
248
|
tooltip: `Click to insert balance assertion for ${posting.account}`
|
|
165
249
|
});
|
|
166
250
|
}
|
|
@@ -175,42 +259,40 @@ class InlayHintsProvider {
|
|
|
175
259
|
const txLine = transaction.line ?? 0;
|
|
176
260
|
let postingIndex = 0;
|
|
177
261
|
for (const posting of transaction.postings) {
|
|
178
|
-
//
|
|
179
|
-
|
|
180
|
-
if (posting.amount && posting.cost && posting.cost.type === 'unit') {
|
|
181
|
-
const totalCost = posting.amount.quantity * posting.cost.amount.quantity;
|
|
262
|
+
// Show hint only for postings inferred costs
|
|
263
|
+
if (posting.cost && posting.cost.inferred) {
|
|
182
264
|
const lineNum = txLine + 1 + postingIndex;
|
|
183
265
|
const line = document.getText({
|
|
184
266
|
start: { line: lineNum, character: 0 },
|
|
185
267
|
end: { line: lineNum, character: Number.MAX_SAFE_INTEGER }
|
|
186
268
|
});
|
|
187
|
-
// Find
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
269
|
+
// Find end of account name
|
|
270
|
+
const accountEnd = line.indexOf(posting.account) + posting.account.length;
|
|
271
|
+
const insertPosition = this.calculateCostHintInsertionPosition(line, accountEnd, posting.cost.amount, parsed, settings);
|
|
272
|
+
// Format amount without extra padding (padding handled separately)
|
|
273
|
+
const amountText = (0, amountFormatter_1.formatAmount)(posting.cost.amount.quantity, posting.cost.amount.commodity, parsed, settings?.formatting);
|
|
274
|
+
// Create clickable label part with command to insert the amount
|
|
275
|
+
const labelPart = {
|
|
276
|
+
value: ` @@ ${amountText}`,
|
|
277
|
+
command: {
|
|
278
|
+
title: 'Insert inferred cost',
|
|
279
|
+
command: 'hledger.insertCost',
|
|
280
|
+
arguments: [
|
|
281
|
+
document.uri,
|
|
282
|
+
lineNum,
|
|
283
|
+
accountEnd,
|
|
284
|
+
posting.cost.amount.quantity,
|
|
285
|
+
posting.cost.amount.commodity
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
hints.push({
|
|
290
|
+
position: vscode_languageserver_1.Position.create(lineNum, insertPosition),
|
|
291
|
+
label: [labelPart],
|
|
292
|
+
kind: vscode_languageserver_1.InlayHintKind.Parameter,
|
|
293
|
+
paddingLeft: false, // We handle padding ourselves
|
|
294
|
+
tooltip: 'Click to insert this inferred cost into the document'
|
|
295
|
+
});
|
|
214
296
|
}
|
|
215
297
|
postingIndex++;
|
|
216
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../src/features/inlayHints.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,iEAA+G;AAE/G,2CAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../src/features/inlayHints.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;
|
|
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;AAElE,OAAO,EAAE,cAAc,EAA0B,MAAM,UAAU,CAAC;AAIlE,qBAAa,sBAAsB;IACjC;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,GAAG,cAAc,EAAE;IA+E3F;;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"}
|
package/out/features/symbols.js
CHANGED
|
@@ -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 vscode_uri_1 = require("vscode-uri");
|
|
8
9
|
const amountFormatter_1 = require("../utils/amountFormatter");
|
|
9
10
|
class DocumentSymbolProvider {
|
|
10
11
|
/**
|
|
@@ -14,10 +15,12 @@ class DocumentSymbolProvider {
|
|
|
14
15
|
provideDocumentSymbols(document, parsedDoc) {
|
|
15
16
|
const symbols = [];
|
|
16
17
|
const lines = document.getText().split('\n');
|
|
18
|
+
// Normalize document URI to ensure proper encoding
|
|
19
|
+
const documentUri = vscode_uri_1.URI.parse(document.uri).toString();
|
|
17
20
|
// Add directive symbols
|
|
18
21
|
for (const directive of parsedDoc.directives) {
|
|
19
22
|
// Only include directives from the current document
|
|
20
|
-
if (directive.sourceUri && directive.sourceUri.toString() !==
|
|
23
|
+
if (directive.sourceUri && directive.sourceUri.toString() !== documentUri) {
|
|
21
24
|
continue;
|
|
22
25
|
}
|
|
23
26
|
const line = this.findDirectiveLine(lines, directive);
|
|
@@ -36,7 +39,7 @@ class DocumentSymbolProvider {
|
|
|
36
39
|
// Add transaction symbols
|
|
37
40
|
for (const transaction of parsedDoc.transactions) {
|
|
38
41
|
// Only include transactions from the current document
|
|
39
|
-
if (transaction.sourceUri && transaction.sourceUri.toString() !==
|
|
42
|
+
if (transaction.sourceUri && transaction.sourceUri.toString() !== documentUri) {
|
|
40
43
|
continue;
|
|
41
44
|
}
|
|
42
45
|
const line = this.findTransactionLine(lines, transaction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/features/symbols.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAuG;
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/features/symbols.ts"],"names":[],"mappings":"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"}
|