Releases: kibi2/tirenvi.nvim
Release list
v0.5.0
✨ Highlights
This release significantly expands tirenvi beyond Markdown and CSV editing.
The biggest addition is Tir-embedded, which allows structural editing of
tables embedded in arbitrary text files, including source code and configuration
files.
The width management system has also been redesigned with three display modes,
making it easier to switch between editing-focused and viewing-focused layouts.
New Features
- Tir-embedded support
- Edit tables embedded in arbitrary text files such as Python, Java, and plain text.
- Automatically install required parser packages when using
lazy.nvim. - Added three width modes:
nowrapwrapauto
- Added table width commands:
:Tir fit:Tir wrap:Tir width?
- Added
manage_wrapmode for automatic wrap handling. - Restore cursor position after
:write. - Added TIR (ndjson) import/export commands for debugging.
- Support opening files saved in tir-buf format.
Improvements
- Improved vertical cursor navigation across rows with different cell widths.
- Width settings are now managed per table instead of per buffer.
- Reorganized internal modules and layout state handling.
- Rebuilt CI test cases.
- Updated the README and Vim help documentation.
Bug Fixes
- Fixed parser detection when switching buffer filetypes.
- Flat/structured mode is now determined by parser availability instead of the current filetype.
Thanks
Thank you to everyone who tried tirenvi and provided feedback.
v0.4.0
tirenvi v0.4.0
This release introduces a new deferred repair model for table editing.
Tirenvi can now temporarily allow malformed table edits while preserving a consistent internal table model, making editing behavior more flexible and closer to native Vim workflows.
✨ Highlights
-
Deferred repair mode
Temporarily allow broken table structure during editing -
Dirty line tracking
Detect and track lines that diverge from the internal table model -
Dirty line highlighting
Visualize unrepaired table regions using configurable highlights -
Repair-based workflow
Replace the old redraw/reconcile terminology with a clearer repair model
🧩 New Features
:Tir repair:Tir repair enable:Tir repair disable:Tir repair toggle- Dirty range tracking infrastructure
- Configurable highlight groups for dirty markers
🔄 Architectural Changes
- Internal attrs/model state is now treated as the source of truth
- Buffer text may temporarily diverge from the model in deferred repair mode
- Structural repair is now explicitly controlled via
:Tir repair - Rename
tir-vimterminology totir-buf - Rename
vim_*modules tobuf_* - Rename reconcile-based APIs/modules to repair
⚠️ Deprecated
:Tir redraw
Deprecated in favor of:Tir repair
(scheduled for removal in v0.5)
💬 Notes
Previous versions focused on keeping the visible buffer structurally valid at all times.
v0.4.0 shifts toward a more editor-native model:
users may temporarily create malformed tables while editing, while tirenvi maintains a valid internal representation and repairs the visible buffer on demand.
This architecture is also intended to support future editor integrations beyond Neovim.
v0.3.0
tirenvi v0.3.0
This release introduces support for mixed text and tables (GFM-style content), enabling a more natural editing experience for real-world Markdown documents.
✨ Highlights
-
Mixed content support (GFM-style)
Seamlessly handle documents where text and tables coexist -
Multiline cell support
Preserve line breaks inside cells while editing -
Column-based editing
Adjust column widths and repeat operations with. -
Lossless round-trip
Switch between raw Markdown and structured table view without breaking formatting
🧩 New Features
- Column text objects (
vil,val,v3al) - Grid-aware join (cell-level join while preserving structure)
- Automatic wrapping based on column width
- Table border and special character highlighting
- Visual row separators for wrapped vs non-wrapped cells
🔧 Improvements
- Reduced unnecessary buffer reads via caching
- More stable buffer-local autocmd handling
🎬 Demo
💬 Notes
This release marks a major step toward practical GFM table editing, especially in documents where tables are embedded within text.
