hledger-lsp 0.1.7 → 0.1.9
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 +168 -99
- package/out/features/hover.d.ts.map +1 -1
- package/out/features/hover.js +42 -4
- package/out/features/hover.js.map +1 -1
- package/out/server/configFile.d.ts.map +1 -1
- package/out/server/configFile.js +2 -1
- package/out/server/configFile.js.map +1 -1
- package/out/server/settings.js +3 -3
- package/out/server/settings.js.map +1 -1
- package/out/server.js +0 -0
- package/out/utils/uri.d.ts +4 -2
- package/out/utils/uri.d.ts.map +1 -1
- package/out/utils/uri.js +78 -18
- package/out/utils/uri.js.map +1 -1
- package/package.json +1 -1
- package/out/features/formattingUtils.d.ts +0 -38
- package/out/features/formattingUtils.d.ts.map +0 -1
- package/out/features/formattingUtils.js +0 -107
- package/out/features/formattingUtils.js.map +0 -1
- package/out/parser/document.d.ts +0 -7
- package/out/parser/document.d.ts.map +0 -1
- package/out/parser/document.js +0 -70
- package/out/parser/document.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,8 +1,87 @@
|
|
|
1
1
|
# hledger Language Server
|
|
2
2
|
|
|
3
|
+
<!--toc:start-->
|
|
4
|
+
- [hledger Language Server](#hledger-language-server)
|
|
5
|
+
- [Installation](#installation)
|
|
6
|
+
- [IDE Integration](#ide-integration)
|
|
7
|
+
- [VS Code](#vs-code)
|
|
8
|
+
- [Neovim](#neovim)
|
|
9
|
+
- [Other Editors](#other-editors)
|
|
10
|
+
- [Features](#features)
|
|
11
|
+
- [Code Completion](#code-completion)
|
|
12
|
+
- [Hover](#hover)
|
|
13
|
+
- [Validation](#validation)
|
|
14
|
+
- [Include Directive Support](#include-directive-support)
|
|
15
|
+
- [Navigation](#navigation)
|
|
16
|
+
- [Code Actions and Quick Fixes](#code-actions-and-quick-fixes)
|
|
17
|
+
- [Formatting](#formatting)
|
|
18
|
+
- [Semantic Highlighting](#semantic-highlighting)
|
|
19
|
+
- [Inlay Hints](#inlay-hints)
|
|
20
|
+
- [Code Lens](#code-lens)
|
|
21
|
+
- [Editor Integration](#editor-integration)
|
|
22
|
+
- [Configuration](#configuration)
|
|
23
|
+
- [General Settings](#general-settings)
|
|
24
|
+
- [Validation Settings](#validation-settings)
|
|
25
|
+
- [Severity Settings](#severity-settings)
|
|
26
|
+
- [Include Settings](#include-settings)
|
|
27
|
+
- [Workspace Settings](#workspace-settings)
|
|
28
|
+
- [Completion Settings](#completion-settings)
|
|
29
|
+
- [Formatting Settings](#formatting-settings)
|
|
30
|
+
- [Inlay Hints Settings](#inlay-hints-settings)
|
|
31
|
+
- [Code Lens Settings](#code-lens-settings)
|
|
32
|
+
- [Development](#development)
|
|
33
|
+
- [Prerequisites](#prerequisites)
|
|
34
|
+
- [Building from Source](#building-from-source)
|
|
35
|
+
- [Project Structure](#project-structure)
|
|
36
|
+
- [Development Commands](#development-commands)
|
|
37
|
+
- [Contributing](#contributing)
|
|
38
|
+
- [License](#license)
|
|
39
|
+
- [Links](#links)
|
|
40
|
+
<!--toc:end-->
|
|
41
|
+
|
|
3
42
|
A Language Server Protocol (LSP) implementation for
|
|
4
43
|
[hledger](https://hledger.org/), a plain text accounting tool.
|
|
5
44
|
|
|
45
|
+
## Installation
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g hledger-lsp
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This provides the `hledger-lsp` command globally. After installation, the
|
|
52
|
+
language server can be used with any LSP-compatible editor.
|
|
53
|
+
|
|
54
|
+
## IDE Integration
|
|
55
|
+
|
|
56
|
+
This language server can be used with any LSP-compatible editor. Currently available extensions:
|
|
57
|
+
|
|
58
|
+
### VS Code
|
|
59
|
+
|
|
60
|
+
**Extension**: [hledger-lsp](https://marketplace.visualstudio.com/items?itemName=patrickt.hledger-lsp)
|
|
61
|
+
**GitHub**: [patrickt/hledger-lsp](https://github.com/patrickt/hledger-lsp)
|
|
62
|
+
|
|
63
|
+
Install from the VS Code Marketplace or Extensions view. The extension provides
|
|
64
|
+
all LSP features with zero configuration.
|
|
65
|
+
|
|
66
|
+
### Neovim
|
|
67
|
+
|
|
68
|
+
**Plugin**: [ptimoney/hledger-nvim](https://github.com/ptimoney/hledger-nvim)
|
|
69
|
+
|
|
70
|
+
Provides automatic LSP configuration, filetype detection, and workspace visualization.
|
|
71
|
+
|
|
72
|
+
### Other Editors
|
|
73
|
+
|
|
74
|
+
The server can be used with any LSP client. Example configuration:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"command": "hledger-lsp",
|
|
79
|
+
"args": ["--stdio"],
|
|
80
|
+
"filetypes": ["hledger", "journal"],
|
|
81
|
+
"rootPatterns": [".hledger-lsp.json", ".git"]
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
6
85
|
## Features
|
|
7
86
|
|
|
8
87
|
This language server provides comprehensive IDE support for hledger journal
|
|
@@ -71,7 +150,7 @@ and tags
|
|
|
71
150
|
- **Find references** - Show all usages of accounts, payees, commodities, or
|
|
72
151
|
tags across the document
|
|
73
152
|
|
|
74
|
-
### Code Actions
|
|
153
|
+
### Code Actions and Quick Fixes
|
|
75
154
|
|
|
76
155
|
- **Add declarations** - Automatically add account, payee, commodity, or tag
|
|
77
156
|
declarations for undeclared items
|
|
@@ -145,7 +224,7 @@ multi-line comment blocks
|
|
|
145
224
|
- **Selection range** - Smart text selection expansion: Word → Account → Posting
|
|
146
225
|
→ Transaction (requires editor keybinding setup, see configuration below)
|
|
147
226
|
|
|
148
|
-
|
|
227
|
+
## Configuration
|
|
149
228
|
|
|
150
229
|
All validations and completion behaviors can be individually configured per
|
|
151
230
|
workspace or document:
|
|
@@ -155,41 +234,6 @@ customize severity levels
|
|
|
155
234
|
- **Completion filtering** - Control whether completions show only declared
|
|
156
235
|
items or all items (declared + undeclared)
|
|
157
236
|
|
|
158
|
-
## Installation
|
|
159
|
-
|
|
160
|
-
### Prerequisites
|
|
161
|
-
|
|
162
|
-
- Node.js >= 16.0.0
|
|
163
|
-
|
|
164
|
-
### Install from npm
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
npm install -g hledger-lsp
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
This provides the `hledger-lsp` command globally. After installation, the
|
|
171
|
-
language server can be used with any LSP-compatible editor.
|
|
172
|
-
|
|
173
|
-
## Editor Configuration
|
|
174
|
-
|
|
175
|
-
### Neovim
|
|
176
|
-
|
|
177
|
-
Use the dedicated plugin: [ptimoney/hledger-nvim](https://github.com/ptimoney/hledger-nvim)
|
|
178
|
-
|
|
179
|
-
The plugin provides:
|
|
180
|
-
- Automatic LSP configuration
|
|
181
|
-
- Filetype detection for `.journal` and `.hledger` files
|
|
182
|
-
- Workspace graph visualization (`:HledgerGraph`)
|
|
183
|
-
- Easy configuration of all server settings
|
|
184
|
-
|
|
185
|
-
See the plugin repository for installation and configuration instructions.
|
|
186
|
-
|
|
187
|
-
### VS Code
|
|
188
|
-
|
|
189
|
-
The VS Code extension is published separately. Install it from the VS Code
|
|
190
|
-
marketplace or see the `vscode-client/` directory in the repository for
|
|
191
|
-
development instructions.
|
|
192
|
-
|
|
193
237
|
### General Settings
|
|
194
238
|
|
|
195
239
|
- `maxNumberOfProblems` (number, default: 1000): Maximum number of diagnostic
|
|
@@ -202,20 +246,31 @@ problems to report per file
|
|
|
202
246
|
Most validation settings default to `true` and can be individually disabled:
|
|
203
247
|
|
|
204
248
|
- `validation.balance` (default: true): Verify transactions balance to zero per commodity
|
|
205
|
-
- `validation.missingAmounts` (default: true): Ensure at most one posting per
|
|
206
|
-
|
|
207
|
-
- `validation.
|
|
208
|
-
|
|
209
|
-
- `validation.
|
|
210
|
-
|
|
211
|
-
- `validation.
|
|
212
|
-
|
|
213
|
-
- `validation.
|
|
249
|
+
- `validation.missingAmounts` (default: true): Ensure at most one posting per
|
|
250
|
+
transaction omits an amount
|
|
251
|
+
- `validation.undeclaredAccounts` (default: true): Warn about accounts used but
|
|
252
|
+
not declared
|
|
253
|
+
- `validation.undeclaredPayees` (default: **false**): Warn about payees used but
|
|
254
|
+
not declared
|
|
255
|
+
- `validation.undeclaredCommodities` (default: true): Warn about commodities
|
|
256
|
+
used but not declared
|
|
257
|
+
- `validation.undeclaredTags` (default: **false**): Warn about tags used but not
|
|
258
|
+
declared
|
|
259
|
+
- `validation.dateOrdering` (default: true): Detect transactions with dates out
|
|
260
|
+
of chronological order
|
|
261
|
+
- `validation.balanceAssertions` (default: true): Verify balance assertions
|
|
262
|
+
match calculated balances
|
|
263
|
+
- `validation.emptyTransactions` (default: true): Require at least 2 postings
|
|
264
|
+
per transaction
|
|
265
|
+
- `validation.invalidDates` (default: true): Check for invalid dates (e.g.,
|
|
266
|
+
February 30, month 13)
|
|
214
267
|
- `validation.futureDates` (default: true): Warn about future-dated transactions
|
|
215
|
-
- `validation.emptyDescriptions` (default: true): Warn about transactions with
|
|
268
|
+
- `validation.emptyDescriptions` (default: true): Warn about transactions with
|
|
269
|
+
no description
|
|
216
270
|
- `validation.includeFiles` (default: true): Detect missing include files
|
|
217
271
|
- `validation.circularIncludes` (default: true): Detect circular include dependencies
|
|
218
|
-
- `validation.markAllUndeclaredInstances` (default:
|
|
272
|
+
- `validation.markAllUndeclaredInstances` (default: true): Mark all
|
|
273
|
+
instances of undeclared resources with diagnostics, not just the first occurrence
|
|
219
274
|
|
|
220
275
|
### Severity Settings
|
|
221
276
|
|
|
@@ -236,15 +291,25 @@ infinite recursion
|
|
|
236
291
|
|
|
237
292
|
### Workspace Settings
|
|
238
293
|
|
|
239
|
-
Enable workspace-aware parsing for features that need global context (running
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
- `workspace.
|
|
243
|
-
|
|
294
|
+
Enable workspace-aware parsing for features that need global context (running
|
|
295
|
+
balances, completion, validation):
|
|
296
|
+
|
|
297
|
+
- `workspace.enabled` (boolean, default: true): Enable workspace-aware parsing.
|
|
298
|
+
When enabled, the server discovers all journal files in your workspace, builds
|
|
299
|
+
an include graph, and identifies a single root file. This allows features to
|
|
300
|
+
access workspace-wide state even when working with "leaf" files that don't
|
|
301
|
+
include other files.
|
|
302
|
+
- `workspace.eagerParsing` (boolean, default: true): Parse all discovered files
|
|
303
|
+
eagerly on startup. If disabled, files are parsed on-demand.
|
|
304
|
+
- `workspace.autoDetectRoot` (boolean, default: true): Automatically detect the
|
|
305
|
+
root file using heuristics (prefers files with no parents that include many
|
|
306
|
+
others, with names like "main", "all", or "index"). If disabled, only an
|
|
307
|
+
explicitly configured root file is used (see Configuration File Support below).
|
|
244
308
|
|
|
245
309
|
**Configuration File Support:**
|
|
246
310
|
|
|
247
|
-
You can create a `.hledger-lsp.json` file in your workspace to explicitly
|
|
311
|
+
You can create a `.hledger-lsp.json` file in your workspace to explicitly
|
|
312
|
+
configure workspace behavior:
|
|
248
313
|
|
|
249
314
|
```json
|
|
250
315
|
{
|
|
@@ -260,16 +325,26 @@ You can create a `.hledger-lsp.json` file in your workspace to explicitly config
|
|
|
260
325
|
```
|
|
261
326
|
|
|
262
327
|
Settings:
|
|
328
|
+
|
|
263
329
|
- `rootFile` (string): Explicit root file path (relative to config file location)
|
|
264
|
-
- `include` (array of glob patterns): File discovery patterns
|
|
265
|
-
|
|
330
|
+
- `include` (array of glob patterns): File discovery patterns
|
|
331
|
+
(default: `["**/*.journal", "**/*.hledger"]`)
|
|
332
|
+
- `exclude` (array of glob patterns): Files to exclude
|
|
333
|
+
(default: `["**/node_modules/**", "**/.git/**", "**/.*"]`)
|
|
266
334
|
- `workspace` (object): Same workspace settings as above
|
|
267
335
|
|
|
268
|
-
**Important**: The `.hledger-lsp.json` file is ONLY for workspace structure
|
|
336
|
+
**Important**: The `.hledger-lsp.json` file is ONLY for workspace structure
|
|
337
|
+
configuration (which files to discover, which are roots, etc.).
|
|
338
|
+
LSP feature settings like inlay hints, code lens, validation rules,
|
|
339
|
+
and formatting preferences should be configured in your editor/IDE
|
|
340
|
+
settings (VS Code `settings.json`, Neovim LSP config, etc.).
|
|
269
341
|
|
|
270
|
-
The configuration file will be automatically discovered by walking up the
|
|
342
|
+
The configuration file will be automatically discovered by walking up the
|
|
343
|
+
directory tree from your journal files. Settings from VS Code/editor
|
|
344
|
+
configuration override settings from the config file.
|
|
271
345
|
|
|
272
346
|
**Performance Tips:**
|
|
347
|
+
|
|
273
348
|
- For large workspaces (>100 files), use `exclude` patterns to skip unnecessary files
|
|
274
349
|
- Disable `eagerParsing` if initialization is slow
|
|
275
350
|
- Check LSP server logs for performance warnings and metrics
|
|
@@ -317,81 +392,75 @@ commodities (e.g., `-100.00 EUR`), which always show the sign before the number.
|
|
|
317
392
|
|
|
318
393
|
### Inlay Hints Settings
|
|
319
394
|
|
|
320
|
-
Configure which inline hints to display (
|
|
395
|
+
Configure which inline hints to display (running balances is disabled by default
|
|
396
|
+
as it can make the file busy):
|
|
321
397
|
|
|
322
|
-
- `inlayHints.showInferredAmounts` (boolean, default:
|
|
398
|
+
- `inlayHints.showInferredAmounts` (boolean, default: true): Show calculated
|
|
323
399
|
amounts for postings that omit explicit amounts
|
|
324
400
|
- `inlayHints.showRunningBalances` (boolean, default: false): Display running
|
|
325
401
|
balance after each posting
|
|
326
|
-
- `inlayHints.showCostConversions` (boolean, default:
|
|
402
|
+
- `inlayHints.showCostConversions` (boolean, default: true): Show total cost in
|
|
327
403
|
target commodity for postings with @ or @@ notation
|
|
328
404
|
|
|
329
405
|
### Code Lens Settings
|
|
330
406
|
|
|
331
|
-
Configure which code lenses to display (disabled by default
|
|
332
|
-
|
|
333
|
-
- `codeLens.showTransactionCounts` (boolean, default: false): Show transaction counts for each account on transaction headers
|
|
407
|
+
Configure which code lenses to display (disabled by default, largely a holding
|
|
408
|
+
for future features):
|
|
334
409
|
|
|
335
|
-
|
|
410
|
+
- `codeLens.showTransactionCounts` (boolean, default: false): Show transaction
|
|
411
|
+
counts for each account on transaction headers
|
|
336
412
|
|
|
337
413
|
## Development
|
|
338
414
|
|
|
339
|
-
###
|
|
415
|
+
### Prerequisites
|
|
340
416
|
|
|
341
|
-
|
|
417
|
+
- Node.js >= 16.0.0
|
|
418
|
+
|
|
419
|
+
### Building from Source
|
|
342
420
|
|
|
343
421
|
```bash
|
|
344
422
|
# Clone the repository
|
|
345
423
|
git clone https://github.com/ptimoney/hledger-lsp.git
|
|
346
424
|
cd hledger-lsp
|
|
347
425
|
|
|
348
|
-
# Install dependencies
|
|
426
|
+
# Install dependencies
|
|
349
427
|
npm install
|
|
350
428
|
|
|
351
429
|
# Build the server
|
|
352
|
-
npm run build
|
|
430
|
+
npm run build
|
|
353
431
|
|
|
354
432
|
# Run the server directly
|
|
355
|
-
node
|
|
433
|
+
node out/server.js --stdio
|
|
356
434
|
```
|
|
357
435
|
|
|
358
436
|
### Project Structure
|
|
359
437
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
│
|
|
364
|
-
│
|
|
365
|
-
│
|
|
366
|
-
│
|
|
367
|
-
│
|
|
368
|
-
│
|
|
369
|
-
|
|
370
|
-
|
|
438
|
+
```
|
|
439
|
+
hledger-lsp/
|
|
440
|
+
├── src/
|
|
441
|
+
│ ├── server.ts # Main LSP server implementation
|
|
442
|
+
│ ├── types.ts # Type definitions for hledger structures
|
|
443
|
+
│ ├── parser/ # Journal file parser
|
|
444
|
+
│ ├── features/ # LSP feature implementations
|
|
445
|
+
│ ├── server/ # Server infrastructure
|
|
446
|
+
│ └── utils/ # Utility functions
|
|
447
|
+
├── tests/ # Test suite (515+ test cases)
|
|
448
|
+
├── out/ # Compiled JavaScript output
|
|
449
|
+
└── package.json
|
|
450
|
+
```
|
|
371
451
|
|
|
372
452
|
### Development Commands
|
|
373
453
|
|
|
374
|
-
From the `server/` directory:
|
|
375
|
-
|
|
376
454
|
```bash
|
|
377
455
|
# Build once
|
|
378
456
|
npm run build
|
|
379
457
|
|
|
380
458
|
# Watch mode (rebuild on changes)
|
|
381
459
|
npm run watch
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
### Linting
|
|
385
460
|
|
|
386
|
-
|
|
461
|
+
# Lint code
|
|
387
462
|
npm run lint
|
|
388
|
-
```
|
|
389
463
|
|
|
390
|
-
### Testing
|
|
391
|
-
|
|
392
|
-
The project includes comprehensive test coverage using Jest:
|
|
393
|
-
|
|
394
|
-
```bash
|
|
395
464
|
# Run all tests
|
|
396
465
|
npm test
|
|
397
466
|
|
|
@@ -411,8 +480,6 @@ npx jest tests/parser/index.test.ts
|
|
|
411
480
|
npx jest --testNamePattern="balance"
|
|
412
481
|
```
|
|
413
482
|
|
|
414
|
-
Test files mirror the `src/` directory structure (515 test cases total)
|
|
415
|
-
|
|
416
483
|
## Contributing
|
|
417
484
|
|
|
418
485
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
@@ -421,8 +488,10 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
421
488
|
|
|
422
489
|
MIT
|
|
423
490
|
|
|
424
|
-
##
|
|
491
|
+
## Links
|
|
425
492
|
|
|
426
|
-
- [hledger
|
|
427
|
-
- [
|
|
428
|
-
- [
|
|
493
|
+
- **VS Code Extension**: [hledger-vscode](https://github.com/ptimoney/hledger-vscode)
|
|
494
|
+
- **Neovim Plugin**: [hledger-nvim](https://github.com/ptimoney/hledger-nvim)
|
|
495
|
+
- **Report Issues**: [GitHub Issues](https://github.com/ptimoney/hledger-lsp/issues)
|
|
496
|
+
- **hledger**: [Official Documentation](https://hledger.org/)
|
|
497
|
+
- **LSP Specification**: [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/features/hover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/features/hover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAe,MAAM,UAAU,CAAC;AAOvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,aAAa;IACxB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,IAAI;IA8FxI;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuD7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoDvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0D/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAwB1B;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
package/out/features/hover.js
CHANGED
|
@@ -10,6 +10,39 @@
|
|
|
10
10
|
* - Transaction headers (totals per commodity)
|
|
11
11
|
* - Dates (formatted date information)
|
|
12
12
|
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
13
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
47
|
exports.hoverProvider = exports.HoverProvider = void 0;
|
|
15
48
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
@@ -17,6 +50,7 @@ const index_1 = require("../utils/index");
|
|
|
17
50
|
const balanceCalculator_1 = require("../utils/balanceCalculator");
|
|
18
51
|
const amountFormatter_1 = require("../utils/amountFormatter");
|
|
19
52
|
const uri_1 = require("../utils/uri");
|
|
53
|
+
const path = __importStar(require("path"));
|
|
20
54
|
class HoverProvider {
|
|
21
55
|
/**
|
|
22
56
|
* Provide hover information at the given document position
|
|
@@ -169,7 +203,8 @@ class HoverProvider {
|
|
|
169
203
|
if (account.declared) {
|
|
170
204
|
parts.push(`**Status:** Declared`);
|
|
171
205
|
if (account.sourceUri) {
|
|
172
|
-
const
|
|
206
|
+
const filePath = (0, uri_1.toFilePath)(account.sourceUri);
|
|
207
|
+
const fileName = path.basename(filePath);
|
|
173
208
|
const lineNum = (account.line ?? 0) + 1;
|
|
174
209
|
parts.push(`**Location:** ${fileName}:${lineNum}`);
|
|
175
210
|
}
|
|
@@ -198,7 +233,8 @@ class HoverProvider {
|
|
|
198
233
|
if (commodity.declared) {
|
|
199
234
|
parts.push(`**Status:** Declared`);
|
|
200
235
|
if (commodity.sourceUri) {
|
|
201
|
-
const
|
|
236
|
+
const filePath = (0, uri_1.toFilePath)(commodity.sourceUri);
|
|
237
|
+
const fileName = path.basename(filePath);
|
|
202
238
|
const lineNum = (commodity.line ?? 0) + 1;
|
|
203
239
|
parts.push(`**Location:** ${fileName}:${lineNum}`);
|
|
204
240
|
}
|
|
@@ -246,7 +282,8 @@ class HoverProvider {
|
|
|
246
282
|
if (payee.declared) {
|
|
247
283
|
parts.push(`**Status:** Declared`);
|
|
248
284
|
if (payee.sourceUri) {
|
|
249
|
-
const
|
|
285
|
+
const filePath = (0, uri_1.toFilePath)(payee.sourceUri);
|
|
286
|
+
const fileName = path.basename(filePath);
|
|
250
287
|
const lineNum = (payee.line ?? 0) + 1;
|
|
251
288
|
parts.push(`**Location:** ${fileName}:${lineNum}`);
|
|
252
289
|
}
|
|
@@ -284,7 +321,8 @@ class HoverProvider {
|
|
|
284
321
|
if (tag.declared) {
|
|
285
322
|
parts.push(`**Status:** Declared`);
|
|
286
323
|
if (tag.sourceUri) {
|
|
287
|
-
const
|
|
324
|
+
const filePath = (0, uri_1.toFilePath)(tag.sourceUri);
|
|
325
|
+
const fileName = path.basename(filePath);
|
|
288
326
|
const lineNum = (tag.line ?? 0) + 1;
|
|
289
327
|
parts.push(`**Location:** ${fileName}:${lineNum}`);
|
|
290
328
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover.js","sourceRoot":"","sources":["../../src/features/hover.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hover.js","sourceRoot":"","sources":["../../src/features/hover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../../src/server/configFile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;;WAGG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAgBD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,MAAM,EAAE,gBAAgB,CAAC;IACzB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../../src/server/configFile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB;;;WAGG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;;WAGG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAgBD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,MAAM,EAAE,gBAAgB,CAAC;IACzB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B1F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CA8FnE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,gBAAgB,EAC5B,eAAe,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC1C,QAAQ,CAAC,gBAAgB,CAAC,CAW5B"}
|
package/out/server/configFile.js
CHANGED
|
@@ -81,8 +81,9 @@ function discoverConfigFile(startUri, workspaceRoot) {
|
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
83
|
// Stop at filesystem root
|
|
84
|
+
// This check works on both Unix (/) and Windows (C:\)
|
|
84
85
|
const parentDir = path.dirname(currentDir);
|
|
85
|
-
if (parentDir === currentDir) {
|
|
86
|
+
if (parentDir === currentDir || currentDir === path.parse(currentDir).root) {
|
|
86
87
|
break;
|
|
87
88
|
}
|
|
88
89
|
currentDir = parentDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/server/configFile.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FH,
|
|
1
|
+
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/server/configFile.ts"],"names":[],"mappings":"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"}
|
package/out/server/settings.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.defaultSettings = {
|
|
|
14
14
|
undeclaredAccounts: true,
|
|
15
15
|
undeclaredPayees: false,
|
|
16
16
|
undeclaredCommodities: true,
|
|
17
|
-
undeclaredTags:
|
|
17
|
+
undeclaredTags: false,
|
|
18
18
|
dateOrdering: true,
|
|
19
19
|
balanceAssertions: true,
|
|
20
20
|
emptyTransactions: true,
|
|
@@ -52,9 +52,9 @@ exports.defaultSettings = {
|
|
|
52
52
|
signPosition: 'after-symbol',
|
|
53
53
|
},
|
|
54
54
|
inlayHints: {
|
|
55
|
-
showInferredAmounts:
|
|
55
|
+
showInferredAmounts: true,
|
|
56
56
|
showRunningBalances: false,
|
|
57
|
-
showCostConversions:
|
|
57
|
+
showCostConversions: true,
|
|
58
58
|
},
|
|
59
59
|
codeLens: {
|
|
60
60
|
showTransactionCounts: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":";;;AAkIA,8BAmBC;AAMD,kDAqBC;AAED,sDAEC;AAED,4DAEC;AAzHY,QAAA,eAAe,GAAoB;IAC9C,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,KAAK;QACvB,qBAAqB,EAAE,IAAI;QAC3B,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/server/settings.ts"],"names":[],"mappings":"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"}
|
package/out/server.js
CHANGED
|
File without changes
|
package/out/utils/uri.d.ts
CHANGED
|
@@ -2,13 +2,15 @@ import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
|
2
2
|
/**
|
|
3
3
|
* Convert a file:// URI to a filesystem path
|
|
4
4
|
* Properly decodes URI-encoded characters (e.g., %20 → space)
|
|
5
|
+
* Handles both Unix (file:///home/...) and Windows (file:///C:/...) formats
|
|
5
6
|
*/
|
|
6
7
|
export declare function toFilePath(uri: string): string;
|
|
7
8
|
/**
|
|
8
9
|
* Ensure a path is represented as a file:// URI
|
|
9
10
|
* Properly encodes special characters (e.g., space → %20)
|
|
11
|
+
* Handles both Unix and Windows filesystem paths
|
|
10
12
|
*/
|
|
11
|
-
export declare function toFileUri(
|
|
13
|
+
export declare function toFileUri(fsPath: string): string;
|
|
12
14
|
/**
|
|
13
15
|
* Default fileReader implementation used by parser/server
|
|
14
16
|
*/
|
|
@@ -17,7 +19,7 @@ export declare function defaultFileReader(uri: string): TextDocument | null;
|
|
|
17
19
|
* Resolve include paths relative to a base URI.
|
|
18
20
|
* Behavior:
|
|
19
21
|
* - If includePath starts with 'file://': treat as absolute URI
|
|
20
|
-
* - If includePath
|
|
22
|
+
* - If includePath is an absolute path (Unix: /..., Windows: C:\...): treat as absolute filesystem path
|
|
21
23
|
* - If includePath starts with '~': expand tilde to home directory
|
|
22
24
|
* - Otherwise, treat as relative to the directory of baseUri
|
|
23
25
|
*/
|
package/out/utils/uri.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmC9C;AA2BD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWlE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqC/E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqElF"}
|
package/out/utils/uri.js
CHANGED
|
@@ -49,13 +49,14 @@ const vscode_languageserver_textdocument_1 = require("vscode-languageserver-text
|
|
|
49
49
|
/**
|
|
50
50
|
* Convert a file:// URI to a filesystem path
|
|
51
51
|
* Properly decodes URI-encoded characters (e.g., %20 → space)
|
|
52
|
+
* Handles both Unix (file:///home/...) and Windows (file:///C:/...) formats
|
|
52
53
|
*/
|
|
53
54
|
function toFilePath(uri) {
|
|
54
55
|
if (uri.startsWith('file://')) {
|
|
55
|
-
|
|
56
|
+
let encodedPath = uri.substring(7);
|
|
56
57
|
// Decode each path component separately to handle encoded characters
|
|
57
58
|
const parts = encodedPath.split('/');
|
|
58
|
-
const
|
|
59
|
+
const decodedParts = parts.map(part => {
|
|
59
60
|
try {
|
|
60
61
|
return decodeURIComponent(part);
|
|
61
62
|
}
|
|
@@ -63,8 +64,24 @@ function toFilePath(uri) {
|
|
|
63
64
|
// If decoding fails, return the part as-is
|
|
64
65
|
return part;
|
|
65
66
|
}
|
|
66
|
-
})
|
|
67
|
-
|
|
67
|
+
});
|
|
68
|
+
// On Windows, check if this is a Windows path (has drive letter)
|
|
69
|
+
// If so, convert to backslashes. Otherwise, keep forward slashes (for Unix-style test paths)
|
|
70
|
+
if (process.platform === 'win32') {
|
|
71
|
+
// Check if second part (after leading empty string) is a drive letter
|
|
72
|
+
const hasDriveLetter = decodedParts.length > 1 && /^[A-Za-z]:$/.test(decodedParts[1]);
|
|
73
|
+
if (hasDriveLetter) {
|
|
74
|
+
// Windows path with drive letter: file:///C:/Users/... -> C:\Users\...
|
|
75
|
+
const decoded = decodedParts.join(path.sep);
|
|
76
|
+
return decoded.substring(1); // Remove leading separator
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// Unix-style path on Windows (e.g., from tests): keep forward slashes
|
|
80
|
+
return decodedParts.join('/');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Unix: always use forward slashes
|
|
84
|
+
return decodedParts.join('/');
|
|
68
85
|
}
|
|
69
86
|
return uri;
|
|
70
87
|
}
|
|
@@ -95,13 +112,26 @@ function encodePathComponent(component) {
|
|
|
95
112
|
/**
|
|
96
113
|
* Ensure a path is represented as a file:// URI
|
|
97
114
|
* Properly encodes special characters (e.g., space → %20)
|
|
115
|
+
* Handles both Unix and Windows filesystem paths
|
|
98
116
|
*/
|
|
99
|
-
function toFileUri(
|
|
100
|
-
if (
|
|
101
|
-
return
|
|
117
|
+
function toFileUri(fsPath) {
|
|
118
|
+
if (fsPath.startsWith('file://'))
|
|
119
|
+
return fsPath;
|
|
120
|
+
// Normalize path separators to forward slashes for URI
|
|
121
|
+
// This handles Windows paths that may use backslashes
|
|
122
|
+
const normalized = fsPath.split(path.sep).join('/');
|
|
102
123
|
// Encode each path component separately to preserve slashes
|
|
103
|
-
const parts =
|
|
124
|
+
const parts = normalized.split('/');
|
|
104
125
|
const encoded = parts.map(part => encodePathComponent(part)).join('/');
|
|
126
|
+
// Ensure proper format:
|
|
127
|
+
// Windows: file:///C:/Users/... (3 slashes total)
|
|
128
|
+
// Unix: file:///home/... (3 slashes total)
|
|
129
|
+
// The encoded path should already have leading slash for Unix or drive letter for Windows
|
|
130
|
+
if (encoded.startsWith('/') || /^[A-Za-z]:/.test(encoded)) {
|
|
131
|
+
// Remove any leading slashes and add exactly 3
|
|
132
|
+
return `file:///${encoded.replace(/^\/+/, '')}`;
|
|
133
|
+
}
|
|
134
|
+
// Relative path - prepend with two slashes
|
|
105
135
|
return `file://${encoded}`;
|
|
106
136
|
}
|
|
107
137
|
/**
|
|
@@ -124,7 +154,7 @@ function defaultFileReader(uri) {
|
|
|
124
154
|
* Resolve include paths relative to a base URI.
|
|
125
155
|
* Behavior:
|
|
126
156
|
* - If includePath starts with 'file://': treat as absolute URI
|
|
127
|
-
* - If includePath
|
|
157
|
+
* - If includePath is an absolute path (Unix: /..., Windows: C:\...): treat as absolute filesystem path
|
|
128
158
|
* - If includePath starts with '~': expand tilde to home directory
|
|
129
159
|
* - Otherwise, treat as relative to the directory of baseUri
|
|
130
160
|
*/
|
|
@@ -153,9 +183,9 @@ function resolveIncludePath(includePath, baseUri) {
|
|
|
153
183
|
const resolved = path.resolve(home, rest);
|
|
154
184
|
return toFileUri(resolved);
|
|
155
185
|
}
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
if (
|
|
186
|
+
// Check if it's an absolute path (works for both Unix and Windows)
|
|
187
|
+
// Unix: /home/... Windows: C:\... or C:/...
|
|
188
|
+
if (path.isAbsolute(includePath)) {
|
|
159
189
|
const resolved = path.resolve(includePath);
|
|
160
190
|
return toFileUri(resolved);
|
|
161
191
|
}
|
|
@@ -179,10 +209,37 @@ function resolveIncludePaths(includePath, baseUri) {
|
|
|
179
209
|
// Determine cwd and pattern for fast-glob
|
|
180
210
|
let cwd;
|
|
181
211
|
let pattern = includePath;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
pattern
|
|
212
|
+
// Check for absolute paths (Unix: /..., Windows: C:\... or C:/...)
|
|
213
|
+
if (path.isAbsolute(includePath)) {
|
|
214
|
+
// For absolute paths with glob patterns, use the directory part as cwd
|
|
215
|
+
// and the basename as the pattern (fast-glob works better this way)
|
|
216
|
+
const normalizedPath = path.normalize(includePath);
|
|
217
|
+
const dir = path.dirname(normalizedPath);
|
|
218
|
+
const base = path.basename(normalizedPath);
|
|
219
|
+
// If the basename has glob characters, use it as pattern
|
|
220
|
+
// Otherwise, the whole path should be treated as a single file (already handled by non-glob case above)
|
|
221
|
+
if (/[*?\[\]{}]/.test(base)) {
|
|
222
|
+
cwd = dir;
|
|
223
|
+
pattern = base;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// Full path with glob in directory parts - keep the full pattern
|
|
227
|
+
if (process.platform === 'win32') {
|
|
228
|
+
const driveMatch = includePath.match(/^([A-Za-z]:)/);
|
|
229
|
+
if (driveMatch) {
|
|
230
|
+
cwd = driveMatch[1] + path.sep;
|
|
231
|
+
pattern = includePath.slice(driveMatch[1].length).replace(/^[\\\/]+/, '');
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
cwd = path.parse(process.cwd()).root;
|
|
235
|
+
pattern = includePath.replace(/^[\\\/]+/, '');
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
cwd = '/';
|
|
240
|
+
pattern = includePath.replace(/^\/+/, '');
|
|
241
|
+
}
|
|
242
|
+
}
|
|
186
243
|
}
|
|
187
244
|
else if (includePath.startsWith('~')) {
|
|
188
245
|
const home = os.homedir();
|
|
@@ -207,8 +264,11 @@ function resolveIncludePaths(includePath, baseUri) {
|
|
|
207
264
|
// fast-glob options: only files, absolute paths, ignore dotfiles/directories
|
|
208
265
|
const entries = fast_glob_1.default.sync(pattern, { cwd, onlyFiles: true, absolute: true, dot: false });
|
|
209
266
|
// Exclude the including file itself if present
|
|
210
|
-
|
|
211
|
-
const
|
|
267
|
+
// Normalize paths for comparison (handle case sensitivity and separators on Windows)
|
|
268
|
+
const includingFile = path.normalize(toFilePath(baseUri));
|
|
269
|
+
const filtered = entries
|
|
270
|
+
.filter(p => path.normalize(p) !== includingFile)
|
|
271
|
+
.map(p => toFileUri(p));
|
|
212
272
|
filtered.sort();
|
|
213
273
|
return filtered;
|
|
214
274
|
}
|
package/out/utils/uri.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared formatting utilities
|
|
3
|
-
*/
|
|
4
|
-
import { Amount, ParsedDocument, Commodity, Format } from '../types';
|
|
5
|
-
export interface FormattingOptions {
|
|
6
|
-
/** Number of spaces for posting indentation (default: 4) */
|
|
7
|
-
indentation?: number;
|
|
8
|
-
/** Maximum width for account names (default: 42) */
|
|
9
|
-
maxAccountWidth?: number;
|
|
10
|
-
/** Maximum width for commodity symbols (default: 4) */
|
|
11
|
-
maxCommodityWidth?: number;
|
|
12
|
-
/** Maximum width for amount numbers (default: 12) */
|
|
13
|
-
maxAmountWidth?: number;
|
|
14
|
-
/** Minimum spaces between account and amount (default: 2) */
|
|
15
|
-
minSpacing?: number;
|
|
16
|
-
/** Target column for decimal alignment (default: 52) */
|
|
17
|
-
decimalAlignColumn?: number;
|
|
18
|
-
/** Target column for assertion decimal alignment (default: 70) */
|
|
19
|
-
assertionDecimalAlignColumn?: number;
|
|
20
|
-
}
|
|
21
|
-
export interface AmountLayout {
|
|
22
|
-
commodityBefore: string;
|
|
23
|
-
isNegative: boolean;
|
|
24
|
-
amountIntegerString: string;
|
|
25
|
-
amountDecimalString: string;
|
|
26
|
-
demicalMark: string;
|
|
27
|
-
commodityAfter: string;
|
|
28
|
-
spaceBetweenCommodityAndAmount: boolean;
|
|
29
|
-
}
|
|
30
|
-
export declare const DEFAULT_OPTIONS: Required<FormattingOptions>;
|
|
31
|
-
/**
|
|
32
|
-
* Find the commodity format from parsed document
|
|
33
|
-
*/
|
|
34
|
-
export declare function findCommodity(commodityName: string, parsed: ParsedDocument): Commodity | undefined;
|
|
35
|
-
export declare function formatIntegerAmount(amount: Amount, format: Format): string;
|
|
36
|
-
export declare function formatDecimalAmount(amount: Amount, format: Format, targetPrecision?: number): string;
|
|
37
|
-
export declare function layoutAmount(amount: Amount, parsed: ParsedDocument, options: Required<FormattingOptions>): AmountLayout;
|
|
38
|
-
//# sourceMappingURL=formattingUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formattingUtils.d.ts","sourceRoot":"","sources":["../../src/features/formattingUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAC9B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B,EAAE,OAAO,CAAC;CAC3C;AAED,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,iBAAiB,CAQvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS,CAElG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAYpG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAsDvH"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Shared formatting utilities
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_OPTIONS = void 0;
|
|
7
|
-
exports.findCommodity = findCommodity;
|
|
8
|
-
exports.formatIntegerAmount = formatIntegerAmount;
|
|
9
|
-
exports.formatDecimalAmount = formatDecimalAmount;
|
|
10
|
-
exports.layoutAmount = layoutAmount;
|
|
11
|
-
exports.DEFAULT_OPTIONS = {
|
|
12
|
-
indentation: 4,
|
|
13
|
-
maxAccountWidth: 42,
|
|
14
|
-
maxCommodityWidth: 4,
|
|
15
|
-
maxAmountWidth: 12,
|
|
16
|
-
minSpacing: 2,
|
|
17
|
-
decimalAlignColumn: 52,
|
|
18
|
-
assertionDecimalAlignColumn: 70
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Find the commodity format from parsed document
|
|
22
|
-
*/
|
|
23
|
-
function findCommodity(commodityName, parsed) {
|
|
24
|
-
return parsed.commodities.get(commodityName);
|
|
25
|
-
}
|
|
26
|
-
function formatIntegerAmount(amount, format) {
|
|
27
|
-
const integerPart = Math.floor(Math.abs(amount.quantity)).toString();
|
|
28
|
-
// Format integer part with grouping if specified
|
|
29
|
-
let integerString = '';
|
|
30
|
-
if (format.thousandsSeparator) {
|
|
31
|
-
const regex = /\B(?=(\d{3})+(?!\d))/g;
|
|
32
|
-
integerString = integerPart.replace(regex, format.thousandsSeparator);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
integerString = integerPart;
|
|
36
|
-
}
|
|
37
|
-
return integerString;
|
|
38
|
-
}
|
|
39
|
-
function formatDecimalAmount(amount, format, targetPrecision) {
|
|
40
|
-
const decimalPart = Math.abs(amount.quantity) % 1;
|
|
41
|
-
// Format decimal part based on target precision
|
|
42
|
-
let decimalString = '';
|
|
43
|
-
if (targetPrecision !== undefined && targetPrecision > 0) {
|
|
44
|
-
decimalString = decimalPart.toFixed(targetPrecision).substring(2); // Skip "0."
|
|
45
|
-
}
|
|
46
|
-
else if (decimalPart > 0) {
|
|
47
|
-
decimalString = decimalPart.toString().substring(2); // Skip "0."
|
|
48
|
-
}
|
|
49
|
-
return decimalString;
|
|
50
|
-
}
|
|
51
|
-
function layoutAmount(amount, parsed, options) {
|
|
52
|
-
const commodity = findCommodity(amount.commodity, parsed);
|
|
53
|
-
let format = {};
|
|
54
|
-
let declaredPrecision = undefined;
|
|
55
|
-
if (commodity && commodity.format) {
|
|
56
|
-
format = commodity.format;
|
|
57
|
-
declaredPrecision = commodity.format.precision ?? undefined;
|
|
58
|
-
}
|
|
59
|
-
else if (amount.format) {
|
|
60
|
-
format = amount.format;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// Default heuristic: common currencies go on left
|
|
64
|
-
const leftSymbols = ['$', '€', '£', '¥'];
|
|
65
|
-
if (leftSymbols.includes(amount.commodity)) {
|
|
66
|
-
format = { symbolOnLeft: true, symbol: amount.commodity, decimalMark: '.' };
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// For other commodities, default to right with space if not empty
|
|
70
|
-
format = {
|
|
71
|
-
symbolOnLeft: false,
|
|
72
|
-
symbol: amount.commodity,
|
|
73
|
-
spaceBetween: !!amount.commodity,
|
|
74
|
-
decimalMark: '.'
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Determine the actual precision to use based on the rules:
|
|
79
|
-
// 1. Never reduce precision if posting has higher precision than declared
|
|
80
|
-
// 2. Add zeros to match declared precision when actual < declared
|
|
81
|
-
// 3. Don't change formatting when commodity is not declared
|
|
82
|
-
const actualPrecision = amount.format?.precision ?? undefined;
|
|
83
|
-
let targetPrecision = undefined;
|
|
84
|
-
if (declaredPrecision !== undefined) {
|
|
85
|
-
// Commodity is declared - use max of actual and declared precision
|
|
86
|
-
if (actualPrecision !== undefined) {
|
|
87
|
-
targetPrecision = Math.max(actualPrecision, declaredPrecision);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
targetPrecision = declaredPrecision;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// Commodity is not declared - preserve original precision
|
|
95
|
-
targetPrecision = actualPrecision;
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
commodityBefore: format.symbolOnLeft ? format.symbol || '' : '',
|
|
99
|
-
isNegative: amount.quantity < 0,
|
|
100
|
-
amountIntegerString: formatIntegerAmount(amount, format),
|
|
101
|
-
amountDecimalString: formatDecimalAmount(amount, format, targetPrecision),
|
|
102
|
-
demicalMark: targetPrecision && targetPrecision > 0 ? (format.decimalMark || '.') : '',
|
|
103
|
-
spaceBetweenCommodityAndAmount: format.spaceBetween || false,
|
|
104
|
-
commodityAfter: !format.symbolOnLeft ? format.symbol || '' : ''
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=formattingUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formattingUtils.js","sourceRoot":"","sources":["../../src/features/formattingUtils.ts"],"names":[],"mappings":"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"}
|
package/out/parser/document.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ParsedDocument, Commodity, Account, Payee, Tag, Transaction } from "../types";
|
|
2
|
-
export declare function addCommodity(parsedDocument: ParsedDocument, commodity: Commodity): void;
|
|
3
|
-
export declare function addAccount(parsedDocument: ParsedDocument, account: Account): void;
|
|
4
|
-
export declare function addPayee(parsedDocument: ParsedDocument, payee: Payee): void;
|
|
5
|
-
export declare function addTag(parsedDocument: ParsedDocument, tag: Tag): void;
|
|
6
|
-
export declare function addTransaction(parsedDocument: ParsedDocument, transaction: Transaction): void;
|
|
7
|
-
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/parser/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvF,wBAAgB,YAAY,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAYvF;AAED,wBAAgB,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAajF;AAED,wBAAgB,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAY3E;AAED,wBAAgB,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAYrE;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAE7F"}
|
package/out/parser/document.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Parsed Document helper functions
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.addCommodity = addCommodity;
|
|
7
|
-
exports.addAccount = addAccount;
|
|
8
|
-
exports.addPayee = addPayee;
|
|
9
|
-
exports.addTag = addTag;
|
|
10
|
-
exports.addTransaction = addTransaction;
|
|
11
|
-
function addCommodity(parsedDocument, commodity) {
|
|
12
|
-
const existingCommodity = parsedDocument.commodities.get(commodity.name);
|
|
13
|
-
if (existingCommodity) {
|
|
14
|
-
if (!existingCommodity.declared && commodity.declared) {
|
|
15
|
-
// If the commodity is not declared, we want to override it with the declared one
|
|
16
|
-
parsedDocument.commodities.set(commodity.name, commodity);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
parsedDocument.commodities.set(commodity.name, commodity);
|
|
24
|
-
}
|
|
25
|
-
function addAccount(parsedDocument, account) {
|
|
26
|
-
const existingAccount = parsedDocument.accounts.get(account.name);
|
|
27
|
-
if (existingAccount) {
|
|
28
|
-
if (!existingAccount.declared && account.declared) {
|
|
29
|
-
// If the account is not declared, we want to override it with the declared one
|
|
30
|
-
parsedDocument.accounts.set(account.name, account);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
parsedDocument.accounts.set(account.name, account);
|
|
38
|
-
}
|
|
39
|
-
function addPayee(parsedDocument, payee) {
|
|
40
|
-
const existingPayee = parsedDocument.payees.get(payee.name);
|
|
41
|
-
if (existingPayee) {
|
|
42
|
-
if (!existingPayee.declared && payee.declared) {
|
|
43
|
-
// If the payee is not declared, we want to override it with the declared one
|
|
44
|
-
parsedDocument.payees.set(payee.name, payee);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
parsedDocument.payees.set(payee.name, payee);
|
|
52
|
-
}
|
|
53
|
-
function addTag(parsedDocument, tag) {
|
|
54
|
-
const existingTag = parsedDocument.tags.get(tag.name);
|
|
55
|
-
if (existingTag) {
|
|
56
|
-
if (!existingTag.declared && tag.declared) {
|
|
57
|
-
// If the tag is not declared, we want to override it with the declared one
|
|
58
|
-
parsedDocument.tags.set(tag.name, tag);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
parsedDocument.tags.set(tag.name, tag);
|
|
66
|
-
}
|
|
67
|
-
function addTransaction(parsedDocument, transaction) {
|
|
68
|
-
parsedDocument.transactions.push(transaction);
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/parser/document.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAIH,oCAYC;AAED,gCAaC;AAED,4BAYC;AAED,wBAYC;AAED,wCAEC;AA3DD,SAAgB,YAAY,CAAC,cAA8B,EAAE,SAAoB;IAC7E,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,iBAAiB,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACpD,iFAAiF;YACjF,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1D,OAAO;QACX,CAAC;aAAM,CAAC;YACJ,OAAO;QACX,CAAC;IACL,CAAC;IACD,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,UAAU,CAAC,cAA8B,EAAE,OAAgB;IACvE,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,IAAI,eAAe,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChD,+EAA+E;YAC/E,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO;QACX,CAAC;aAAM,CAAC;YACJ,OAAO;QACX,CAAC;IACL,CAAC;IACD,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,QAAQ,CAAC,cAA8B,EAAE,KAAY;IACjE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5C,6EAA6E;YAC7E,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO;QACX,CAAC;aAAM,CAAC;YACJ,OAAO;QACX,CAAC;IACL,CAAC;IACD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,MAAM,CAAC,cAA8B,EAAE,GAAQ;IAC3D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxC,2EAA2E;YAC3E,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO;QACX,CAAC;aAAM,CAAC;YACJ,OAAO;QACX,CAAC;IACL,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,cAAc,CAAC,cAA8B,EAAE,WAAwB;IACnF,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClD,CAAC"}
|