|
4 | 4 |
|
5 | 5 | ### Fixed |
6 | 6 | - **CRITICAL**: Removed duplicate completion provider causing conflicts (#37) |
| 7 | + - Eliminated 219 lines of redundant code from extension.ts |
| 8 | + - Now uses LSP server completion exclusively |
| 9 | + - Member completions work correctly without duplicates |
7 | 10 | - **CRITICAL**: Fixed npm test failing with "tsc: command not found" error (#38) |
| 11 | + - Added pretest script to auto-install dependencies |
| 12 | + - Tests now work in clean environments |
8 | 13 | - **CRITICAL**: Fixed iec61131-definitions/ access in packaged extension (#39) |
| 14 | + - Extension path properly passed via LSP initialization |
| 15 | + - Standard function blocks accessible in all environments |
9 | 16 | - **CRITICAL**: Fixed hardcoded workspace root breaking in renamed folders (#40) |
10 | | -- Added case-insensitive symbol lookup for member completions |
11 | | -- Extension now uses proper LSP initializationOptions for extension path |
12 | | -- Member access provider now correctly locates standard FB definitions |
| 17 | + - Removed hardcoded 'controlforge-structured-text' directory search |
| 18 | + - Uses extensionPath from VS Code context |
| 19 | + - Works regardless of folder name or installation method |
| 20 | +- **HIGH**: Inconsistent case-insensitive symbol lookup (#42) |
| 21 | + - Added normalizedName to all symbol types (Program, Function, FunctionBlock, Parameter) |
| 22 | + - Ensures IEC 61131-3 case-insensitive compliance |
| 23 | + - myTimer, MyTimer, MYTIMER now resolve to same symbol |
| 24 | +- **HIGH**: Memory leak - no index cleanup on file delete (#43) |
| 25 | + - Added 300ms debouncing on document changes |
| 26 | + - Added onDidClose handler to remove files from symbol index |
| 27 | + - Prevents memory growth in long-running sessions |
| 28 | + - Improves typing performance on large files |
13 | 29 |
|
14 | 30 | ### Changed |
15 | | -- Reduced extension.ts from 357 to 140 lines (-61%) by removing duplicate provider |
16 | | -- Added pretest script to auto-install dependencies before running tests |
17 | | -- Improved LSP server initialization with extension path configuration |
| 31 | +- Reduced extension.ts from 357 to 140 lines (-61%) |
| 32 | +- All symbol types now consistently store normalized names for case-insensitive lookups |
| 33 | +- Document changes debounced to prevent re-parsing on every keystroke |
| 34 | +- File cleanup automatically removes closed files from index |
| 35 | + |
| 36 | +### Performance |
| 37 | +- Typing no longer triggers full file parse on every keystroke (300ms debounce) |
| 38 | +- Memory usage remains stable over time with proper cleanup |
| 39 | +- Large workspace performance significantly improved |
18 | 40 |
|
19 | 41 | ## [1.2.4] - 2025-06-21 |
20 | 42 |
|
|
0 commit comments