Skip to content

Releases: yinyin333333/TXTeditor

TXTeditor 0.5.4

Choose a tag to compare

@github-actions github-actions released this 13 Sep 01:30
934e685
image

What's New

TXTeditor

  • Added a setting that controls where cloned rows are placed:
    • Add them at the end of the file
    • Insert them directly below the current row
  • Fixed a stack overflow that could occur when cloning selected rows.
  • Improved save reliability by coordinating save-lock creation and cleanup, including cleanup after failed save operations.
  • Improved Problems panel performance by using delegated diagnostic events.
  • Reduced unnecessary overview-ruler rebuilding when diagnostic markers have not changed.

Bundled vector-lsp 0.1.1

  • Improved performance when processing full TXT document changes.
  • Reduced reference-indexing work for sparse or uneven tables.
  • Fixed workspace revalidation workers remaining reserved when a scan interrupted pending validation.
  • Excluded certain SkillDesc display calculation fields from the decimal-value warning rule.

Full Changelog

TXTeditor 0.5.3

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:25

What's Changed

New Contributors

Full Changelog: 0.5.2...0.5.3

TXTeditor 0.5.2

Choose a tag to compare

@yinyin333333 yinyin333333 released this 29 Aug 00:39
47cbb10

TXTeditor 0.5.2

This release adds new editing workflows and improves overall stability, localization, and Vector-LSP integration.

image image image

What's New

  • Added support for opening, editing, and saving AnimData.d2 files.
  • Added a New Table workflow for creating blank TXT tables.
  • Added Duplicate as Temporary Table, allowing the active document to be copied into an independent unsaved table.

Fixes and Improvements

  • Eliminated stale application state and redundant editor work.
  • Localized the error shown when attempting to save over another open document.
  • Improved Vector-LSP launch configuration and environment sanitization.
  • Prevented invalid inherited plugin timeout settings from affecting Vector-LSP.
  • Removed superseded internal helpers and improved code-quality checks.

TXTeditor 0.5.1

Choose a tag to compare

@yinyin333333 yinyin333333 released this 19 Aug 02:40
8e5dd98

TXTeditor 0.5.1

Originally, since things had become pretty stable after version 0.5.0, I was planning to slow down and only release updates occasionally. However, with the release of D2R 3.3 (93847), I’m putting out a small update to add the new reference data.

  • Added reference data for 3.3. (That said, there aren’t actually any new columns, and there aren’t many changes to the TXT files either, aside from the newly added hardcoded row indices in states.txt.)
  • Looking at it now, I found the shadow effect when using Freeze a bit distracting, so I removed it.
image

Linux support is temp...

TXTeditor 0.5.0

Choose a tag to compare

@yinyin333333 yinyin333333 released this 09 Aug 03:40
c03beac

TXTeditor 0.5.0

Version 0.5.0 mostly includes a few minor bug fixes.

changes

  • can now toggle the search bar with Ctrl+F.
  • can now choose the scrolling behavior in Settings.
image

TXTeditor 0.4.9

Choose a tag to compare

@yinyin333333 yinyin333333 released this 29 Jul 00:27
5b78c13

TXTeditor 0.4.9

TXTeditor 0.4.9 introduces a new active-cell input bar, improved diagnostic and search workflows, persistent manual highlights, streamlined lint controls, additional display preferences, and a coordinated accuracy update for both TXTeditor and Vector-LSP.

What's Changed ## What's Changed

Cell Editing and Diagnostics

  • Added an active-cell input bar that displays the address and full value of the selected cell, including values that are truncated in the grid. Changes made through the input bar use the standard save, Undo/Redo, Legacy Lint, and Vector-LSP synchronization paths. (#73)
  • Supported calculation fields now display a live current/255 character count in both the input bar and Vector-LSP hover information.
  • Values exceeding the recommended 255-character limit receive a non-blocking warning and are never truncated automatically.
  • The input bar mirrors cell diagnostic markers and precise error ranges reported by Legacy Lint and Vector-LSP.
  • Added options to copy either the diagnostic message only or a complete diagnostic containing the file, display row, column name, rule ID, and message. Standard keyboard copy is also supported. (#74)
  • Improved diagnostic location labels so long record identifiers no longer obscure the affected column.
  • Added stable diagnostic display metadata from Vector-LSP, allowing TXTeditor to present consistent record, row, and field identities.
  • Calculation counts and visible hover information now refresh as document edits and diagnostics change.

Search, Selection, and Editing

  • Added Find All for table and JSON documents, including the total match count, result snippets, and direct keyboard or mouse navigation to each result. (#76)
  • Find All respects the current search scope and case-sensitivity setting and automatically discards stale results when the document or search conditions change.
  • Added persistent manual highlight colors for individual cells, ranges, and full rows. (#77)
  • Manual highlights are stored as local TXTeditor annotations and do not modify TXT files or game data.
  • Added commands to remove highlights from the current selection or clear all highlights from the active document.
  • Row headers can now be dragged vertically to select contiguous full rows. (#80, #83)
  • Pasting a copied horizontal range into a vertical row selection now repeats the copied range across every selected row as a single undoable operation. (#82)
  • Expanded the draggable area at the top of the Find window. (#78)
  • Added consistent hover and pressed-state feedback to interface buttons. (#75)

Lint Workflow and Game-Version Support

  • Moved frequently used lint controls to the bottom toolbar. The lint engine, game version, and Vector-LSP Hover state can now be changed without opening Settings. (#88)
  • Unified game-version selection for Vector-LSP and Legacy Lint across 3.2, 3.1, 2.4, and 1.13c.
  • Vector-LSP configuration is now updated and restarted automatically when a version change requires it.
  • Added a dedicated Legacy Lint profile for Diablo II 1.13c.
  • Improved Legacy Lint and Vector-LSP parity for boolean fields, stat parameter validation, and version-specific reference behavior.
  • Corrected Vector-LSP reference semantics for 1.13c and 2.4, including legacy SkillCalc and monequip behavior.
  • Adjusted legacy lint rules to better match actual game behavior and reduce false-positive diagnostics.

Workspace, Startup, and Display

  • On Windows, subsequent file-open requests are now routed to the existing TXTeditor instance instead of starting another editor process. (#79)
  • Relative paths, multi-file requests, file ordering, and reuse of already-open tabs are now handled more consistently.
  • The currently selected folder workspace is safely restored after an in-app WebView refresh. (#81, #84)
  • A full application restart now correctly starts without automatically reopening the previously selected folder. (#85)
  • Added an opt-in Automatic Resize to Fit setting that applies Resize to Fit whenever a file is opened. (#86)
  • Added an opt-in Keep zoom level setting that applies the most recently selected zoom level to subsequently opened documents. (#87)
image image image image image

TXTeditor 0.4.8

Choose a tag to compare

@yinyin333333 yinyin333333 released this 23 Jul 12:43
64b5078

TXTeditor 0.4.8

TXTeditor 0.4.8 expands search, navigation, and editing workflows, adds application-wide localization, introduces a complete Close All workflow, and delivers a coordinated reliability update for TXTeditor and Vector-LSP.

Important: TXTeditor 0.4.8 and its matching Vector-LSP build should be updated together. The editor-side transport and session changes and the server-side watcher and revalidation changes are complementary parts of the same LSP stability fix.

What's Changed

What's Changed

Search, Navigation, and Editing

  • Added F3 / Shift+F3 for Find Next and Find Previous. (#60)
  • Added Find and Replace (Ctrl+Shift+H), including Replace, Replace All, table scopes (All Cells, Column Only, and Row Only), and replace support in the JSON editor. (#60)
  • Added Go to Row (Ctrl+G) for tables and Ctrl+Tab / Ctrl+Shift+Tab for switching between open tabs. (#60)
  • Added column cloning. Row and column cloning now append cloned data to the end of the table.
  • Fixed multi-cell paste alignment when copied cells are pasted into a dragged selection. (#68)

Localization

  • Added a persistent Language setting with 13 locales: English (US), Traditional Chinese, German, Spanish (Spain), French, Italian, Korean, Polish, Spanish (Mexico), Japanese, Portuguese (Brazil), Russian, and Simplified Chinese. (#67, #69)
  • Language changes now take effect immediately and persist across restarts.
  • Localized menus, toolbar controls, dialogs, settings, panels, status and error messages, Legacy Lint output, Vector-LSP diagnostics and hover text, column guidance, and What to do instructions.
  • Improved Korean and other translations, simplified plugin hover details, and removed redundant reference-source labels.
  • Standardized document language metadata using BCP 47 language tags.

TXTeditor and Vector-LSP Reliability

  • Fixed LSP stalls during rapid edits, saves, tab or document switches, and lint toggling through coordinated editor and server changes.
  • TXTeditor now routes child-process writes through a bounded queue, cleanly stops and restarts LSP sessions, discards stale session events, and reduces redundant diagnostics and UI refresh work.
  • Vector-LSP now coalesces live validation work, ignores stale disk and close events, and revalidates only affected workspace data instead of performing a full scan for every watched-file burst.
  • Improved diagnostic responsiveness and reliability in workspaces containing same-named files in different subfolders.
  • Restored live diagnostics for invalid skilldesc references. (#63)

Workspace Management

  • Added a localized Close All toolbar action for both folder workspaces and standalone documents.
  • Close All preserves Save, Don't Save, and Cancel handling for modified files, stops active Vector-LSP and Legacy Lint work, clears diagnostics and Explorer state, and fully resets the empty workspace.

Bug Fixes

  • Fixed a desktop freeze and cross-tab race in copy, cut, and paste workflows involving same-named files from different folders. Native clipboard access is now serialized, and delayed operations remain bound to the document that initiated them. (#65)
  • Fixed Ctrl+G in the JSON editor so it opens Go to Line instead of Find and Replace. (#61)
  • Fixed JSON diagnostic navigation in CRLF documents so diagnostics select the correct line and range. (#62)
  • Fixed JSON Find and Go to Line panel sizing, closing, focus restoration, repeated-shortcut behavior, and duplicate Go to Line dialogs. (#66)
  • Updated the README to reflect the current feature set and shortcuts.
image image image image image image

TXTeditor 0.4.7

Choose a tag to compare

@yinyin333333 yinyin333333 released this 17 Jul 03:06
e3bdaa3

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.

image image

What's Changed

JSON Editing and Localization Diagnostics

  • Added dedicated CodeMirror-based tabs for opening and editing .json documents, 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/Syntax diagnostic 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 d2rdoc reference 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, CubeMain inputs 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 SkillCalc parameter 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

TXTeditor 0.4.6

Choose a tag to compare

@yinyin333333 yinyin333333 released this 12 Jul 07:12
2a829a5

TXTeditor 0.4.6

image

What's Changed

Keyboard new Shortcuts command and grid-scrolling shortcuts.

  • Shortcuts can be reassigned, restored individually, or reset all at once.
  • Assigning a shortcut that is already in use now moves it to the selected command and removes it from the previous command.
  • Shortcut changes are applied only after selecting Save. Selecting Cancel discards them.
  • Added the following grid-scrolling shortcuts:
    • PageUp / PageDown: scroll one grid page vertically
    • Home / End: scroll to the top or bottom of the grid
    • Shift+Home / Shift+End: scroll to the left or right edge of the grid

Search and Navigation

  • Fixed focus handling around the Find window and restored keyboard focus to the grid after opening or switching documents. (#41)
  • Search matches are now centered in the grid.
  • The grid can now be scrolled with the mouse wheel while the Find window is open. (#42)
  • Improved diagnostic navigation so opening a problem no longer causes unexpected scrolling in the Problems list.

File Safety and Encoding

  • Reworked file saving to reduce the risk of corruption from overlapping or interrupted saves, using serialized save transactions, temporary files, file locking, and recovery handling.
  • Added proper round-trip support for UTF-8, UTF-8 with BOM, Windows-1252, UTF-16 LE, and UTF-16 BE files.
  • Files now retain their detected encoding when saved or downloaded.
  • Edits made while a large file is being saved are no longer mixed into the same saved output and correctly remain marked as unsaved afterward.
  • Save As now correctly rebinds the active Vector-LSP document to its new file path.

Editing and Data Integrity

  • Fixed Cut so cells are not deleted when copying to the clipboard fails.
  • Fixed pasted text ending with a newline creating an unintended extra row.
  • Fixed Undo after pasting beyond the current table bounds so the original row count, row lengths, and serialized column shape are restored.
  • Preserved trailing empty columns during incremental Vector-LSP synchronization.
  • Improved synchronization when an edit occurs before a document has finished opening in Vector-LSP.

Workspace and Vector-LSP

  • Workspace discovery now includes deeply nested .txt, .tsv, .tbl, and .csv files.
  • Added protection against duplicate files and directory cycles caused by junctions or symbolic links.
  • Improved Windows path normalization for workspace files.
  • Reworked Vector-LSP startup, restart, workspace switching, and process lifecycle handling.
  • Added generation- and version-aware synchronization so stale LSP sessions, document updates, and diagnostics cannot overwrite newer state.
  • Improved Vector-LSP configuration isolation so editor settings take precedence over unrelated environment or workspace configuration.
  • Diagnostic updates are now batched and coalesced, reducing unnecessary UI rebuilds and improving responsiveness during large diagnostic bursts.
  • Existing diagnostics are preserved while documents are reopened or resynchronized, reducing flicker in the grid and Problems panel.
  • Improved diagnostic indexing and file badge updates for workspaces with many problems.

Other Fixes

  • Freeze Row and Freeze Column controls are now disabled when no document is open.
  • Freeze state is reset after the last document is closed instead of remaining active without a document.
  • Improved error handling when saving lint settings and restarting Vector-LSP.

TXTeditor 0.4.5

Choose a tag to compare

@yinyin333333 yinyin333333 released this 30 Jun 11:01
808eb0d

TXTeditor 0.4.5

Highlights

  • Added Explorer search for quickly finding and opening TXT files from the sidebar.
  • Improved large-file handling, including lighter open-time processing and chunked saving.
  • Made bulk row and column operations much faster for large tables.
  • Preserved each file’s selection and scroll position when switching tabs.

Improvements

  • Added support for inserting multiple rows or columns at once.
  • Improved grid scrolling and hidden row/column handling for large files.
  • Added clearer lint rule descriptions in Settings.
  • Improved Vector-LSP update behavior for large edits and structural changes.(

Fixes

  • Committed the active cell edit before saving or closing a file.
  • Kept files marked as dirty if they change while a save is still running.
  • Prevented view-only changes such as hiding rows or resizing columns from marking file content as dirty.
  • Queued repeated saves for the same file so they run in order.

Internal

  • Bumped version metadata to 0.4.5.
  • Refactored app startup, event handling, edit commands, grid commands, and performance helpers.
  • Added tests and performance scripts for large-file, save, grid, Explorer search, and bulk operation behavior.