Skip to content

Releases: kibi2/tirenvi.nvim

v0.5.0

Choose a tag to compare

@kibi2 kibi2 released this 28 Jul 05:19

✨ 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:
    • nowrap
    • wrap
    • auto
  • Added table width commands:
    • :Tir fit
    • :Tir wrap
    • :Tir width?
  • Added manage_wrap mode 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

Choose a tag to compare

@kibi2 kibi2 released this 25 May 05:40

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-vim terminology to tir-buf
  • Rename vim_* modules to buf_*
  • 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

Choose a tag to compare

@kibi2 kibi2 released this 20 Apr 01:27
db29441

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

demo gif


💬 Notes

This release marks a major step toward practical GFM table editing, especially in documents where tables are embedded within text.

v0.2.0

Choose a tag to compare

@kibi2 kibi2 released this 14 Mar 04:59

Refactor core architecture in preparation for GFM table support.

v0.1.2

Choose a tag to compare

@kibi2 kibi2 released this 04 Mar 06:13

v0.1.2

Fixed

  • Preserve undo tree on :e! reload

v0.1.1

Choose a tag to compare

@kibi2 kibi2 released this 04 Mar 01:35

Bug Fix

  • Fix assertion failure in InsertLeave when switching buffers via Telescope

v0.1.0

Choose a tag to compare

@kibi2 kibi2 released this 03 Mar 01:58

First release