Repository navigation
TXTeditor 0.4.7
TXTeditor 0.4.7
TXTeditor 0.4.7 adds dedicated JSON editing and localization diagnostics, few things fix or expands based binary-verified D2R linting and bundled reference data, and improves Find, clipboard, grid, freeze, startup, and Vector-LSP workflows.
What's Changed
JSON Editing and Localization Diagnostics
- Added dedicated CodeMirror-based tabs for opening and editing
.jsondocuments, integrated with TXTeditor's normal open, save, close, and document-switching workflows. - Added Vector-LSP diagnostics for localization JSON files under
data/local/lng/strings. - Added checks for duplicate localization IDs and keys, invalid localization string-entry formats, and localization-key usage.
- Malformed JSON now publishes a precise
Json/Syntaxdiagnostic to the Problems panel instead of leaving the parse error visible only in the LSP log. (#56) - Existing localization diagnostics no longer disappear while a JSON document is temporarily invalid. The current syntax error is shown alongside the last valid semantic results, and the semantic rules are recalculated after the syntax is repaired.
- Cross-file duplicate diagnostics remain stable when another JSON file in the same localization scope is temporarily invalid.
- Improved version and latest-result handling for open JSON buffers, externally modified files, and repeated invalid → valid → invalid edits.
- Added runtime coverage for JSON document opening, watched-file changes, syntax-error recovery, diagnostic replacement, and document deletion or restoration.
Linting, Plugins, and Reference Data
- Reworked selected lint rules to match binary-verified game behavior more closely.
- Added bundled, versioned
d2rdocreference txt data for Diablo II 1.13 and Diablo II: Resurrected 2.4, 3.1, and 3.2. - Added automatic fallback to bundled reference data when complete workspace reference files are unavailable.
- Expanded diagnostics for calculation expressions,
CubeMaininputs and outputs, item codes, property codes, and Treasure Class item references. - Improved reference-source selection so diagnostics use the most appropriate data for the configured game version.
- Hardened Vector-LSP plugin discovery and deduplication so the same plugin is not loaded more than once from overlapping discovery paths.
- Improved plugin-host resilience and regression coverage around plugin loading and execution failures.
- Added manifest and release-asset synchronization checks for bundled reference data and plugins.
- Clarified the supported
SkillCalcparameter aliases in the Vector-LSP documentation.
Find and Navigation
- The Find dialog can now be dragged to a different position. (#46)
- The Find dialog position is retained for the rest of the current application session.
- Opening or restarting Find now begins from the active grid cell instead of continuing from an unrelated previous position. (#47)
- Added backward search through the new Find Previous command. (#49)
Editing and Clipboard
- Pasting a single copied cell into a multi-cell selection now fills every selected cell with that value. (#45)
- Desktop builds now use native clipboard access for paste operations, improving compatibility with clipboard content supplied by other applications. (#52)
Grid and Interface
- Added a setting to lock mouse-based row-height and column-width resizing while leaving other grid interactions available. (#48)
- Freeze Row and Freeze Column states are now persisted and restored instead of being lost when document state is restored. (#51)
- Refined the active styling of Freeze Row and Freeze Column with lower-saturation, theme-specific blue-gray colors while preserving clear active, hover, disabled, and focus states. (#57)
- Improved selected-range rendering so the separators between individual cells remain clearly visible instead of being washed out by the selection background.
- Selected-cell separators are redrawn consistently across normal and frozen grid regions, including ranges containing diagnostic markers.
- Swapped the toolbar positions of Shortcuts and Settings for a more natural command order. (#50)
- When Freeze Row and Freeze Column were active, they felt a bit too distracting. Therefore, I adjusted the color saturation so that it is still clear they are active, but no longer sore to the eyes. (#57)
Desktop Startup and Vector-LSP Reliability
- Files passed to TXTeditor through command-line or desktop launch arguments are now opened automatically during startup. (#53)
- Fixed a Vector-LSP close-and-reopen ordering race that could allow stale document lifecycle operations to affect a newly reopened document.
- Improved regression coverage for rapid document close/reopen sequences, JSON diagnostic versioning, watched-file updates, plugin resilience, and bundled release assets.
Full Changelog: TXTeditor PR #44 and vector-lsp PR #5