69 Commits
Author SHA1 Message Date
nvrl 4c59e6edaa Merge pull request 'fix: make the template workflow real, and the UI legible' (#19) from feat/finishing-pass into main
Release / Build and Release (push) Successful in 1m31s
Reviewed-on: #19
v0.6.0
2026-09-05 05:05:59 +02:00
nvrlandClaude Opus 5 e8634c17a2 fix: make the template workflow real, and the UI legible
Version Check / check-version (pull_request) Successful in 10s
The headline flow — fill a config from its template — did not work. Three
bugs, each individually enough to make the tool feel unfinished:

- `add_missing` was unreachable. `find_binding` returned the first match in
  a linear array and `edit_append` was also bound to `a`, 17 entries earlier.
  Bindings now resolve through one table built from the config, and
  `KeybindsConfig::conflicts()` reports any key bound twice instead of
  letting one silently shadow the other. `add_missing` moves to `<Space>`,
  with `A` to take every missing default at once.
- Item status was ignored on write. Every writer fell back to
  `template_value`, so "(missing)" keys landed in the output regardless and
  saving was close to a copy. Unaccepted entries are now omitted.
- Parse errors were swallowed, then the good file was overwritten. A
  malformed target opened as an empty editor and `:w` truncated it. Parse
  failures are now fatal, reported with context, before the TUI starts.

Also:

- Split "differs from the template" (ItemStatus::Overridden) from "you
  edited this" (ConfigItem::dirty). A real config differs from its example
  on nearly every line, so the old Modified flag painted the whole list
  orange and carried no signal.
- Splice template-only entries in at their natural position instead of
  appending them, so a missing nested key no longer strands itself at the
  bottom of the tree at depth 3.
- Preserve .env comments and blank lines across a save.
- Header naming the output file and the template it is compared against,
  plus missing/changed counts. Previously nothing on screen said which
  files were in play or where `:w` would write.
- `?` opens a two-column keybinding reference built from the user's own
  config, scrollable on short terminals. The status bar drops to a few
  contextual hints; the old one joined 11+ hints into an unwrapped line
  that truncated at 80 columns.
- Foldable groups, which the `+ ` prefix had always implied.
- Search covers values as well as keys, reports `match n/m`, and `Esc`
  restores the pre-search cursor.
- Quitting with unsaved changes is refused; added `:q!`, `:x`, `:w <path>`.
- Status messages expire after 4s instead of permanently replacing hints.
- Cancelling a rename on a just-created item removes it again.
- Editing a Number field with text demotes the type instead of failing
  obscurely at write time.
- Undo-tree branches are reachable via `g-`/`g+` and reported on undo.
- Poll instead of blocking, so resizes repaint; drop the unused mouse
  capture that was costing terminal text selection for nothing.
- `--format` accepts xml, ini and properties, which were already supported.

36 tests, up from 13.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5mrbEFmwv2A4cdzbcSiS1
2026-09-05 05:01:39 +02:00
nvrl 2e974e0503 Merge pull request 'patch resolver' (#18) from release/0.5.1 into main
Release / Build and Release (push) Successful in 56s
Reviewed-on: #18
v0.5.1
2026-03-20 10:54:51 +01:00
nvrl 8dc96d4605 fixed resolver issue 2026-03-20 10:54:38 +01:00
nvrl 37798d5deb Merge pull request 'release/0.5.1' (#17) from release/0.5.1 into main
Release / Build and Release (push) Failing after 55s
Reviewed-on: #17
2026-03-20 10:48:37 +01:00
nvrl 311f514414 updated nvim plugin
Version Check / check-version (pull_request) Successful in 3s
2026-03-20 10:48:00 +01:00
nvrl 53dc317d7d version bumped to 0.5.1 2026-03-19 10:02:22 +01:00
nvrl f959509538 Merge pull request 'updated readme + config example' (#16) from release/0.5.0 into main
Release / Build and Release (push) Has been cancelled
Reviewed-on: #16
2026-03-19 00:04:05 +01:00
nvrl b07a2d8f75 updated readme + config example 2026-03-19 00:02:52 +01:00
nvrl c773fdf472 Merge pull request 'release/0.5.0' (#15) from release/0.5.0 into main
Release / Build and Release (push) Successful in 1m2s
Reviewed-on: #15
v0.5.0
2026-03-18 22:50:11 +01:00
nvrl 029b4f9da8 refactored group renaming
Version Check / check-version (pull_request) Successful in 2s
2026-03-18 22:49:55 +01:00
nvrl ee85be4e6b fixed lag when S on empty
Version Check / check-version (pull_request) Successful in 2s
2026-03-18 21:12:06 +01:00
nvrl 31dc062ce5 fixed undo tree for new vars/groups + unknown states for lists with o/O
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 18:56:14 +01:00
nvrl 50278821ca implemented adding new vars
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 18:49:43 +01:00
nvrl e3510a96fb added rename 2026-03-18 18:38:35 +01:00
nvrl 51625ed296 fixed undo trees and inputs + S substitute insert
Version Check / check-version (pull_request) Successful in 4s
2026-03-18 18:31:29 +01:00
nvrl ca7ebc9563 implemented undotree with redo
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 17:48:31 +01:00
nvrl a2ec8660c7 fixed pretty format for xml
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 17:38:05 +01:00
nvrl 30fd2d5d75 fixed arrary logic
Version Check / check-version (pull_request) Successful in 4s
2026-03-18 17:35:07 +01:00
nvrl 277d8aa151 improved error handling
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 17:19:09 +01:00
nvrl 5056f8dd0a code style fixes and nesting fixes
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 17:15:24 +01:00
nvrl b3651aa5dd fixed ordering
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 17:11:27 +01:00
nvrl b8c49d4c13 unified merge
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 16:45:06 +01:00
nvrl b88d93c800 merged with main
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 15:39:09 +01:00
nvrl a58906a2a4 version bump to 0.5.0
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 15:34:00 +01:00
nvrl cffea6d806 added xml, properties and ini
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 15:30:14 +01:00
nvrl fca84f5820 Merge pull request 'Update Cargo.toml' (#14) from nvrl-patch-1 into main
Release / Build and Release (push) Successful in 54s
Reviewed-on: #14
v0.4.3
2026-03-18 15:25:53 +01:00
nvrl 1bc4c00e23 Update Cargo.toml
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 15:25:37 +01:00
nvrl 0d15c61d67 Merge pull request 'release/0.4.3' (#13) from release/0.4.3 into main
Release / Build and Release (push) Successful in 56s
Reviewed-on: #13
2026-03-18 15:22:24 +01:00
nvrl 0f26f7ac76 merged with main
Version Check / check-version (pull_request) Successful in 3s
2026-03-18 15:22:28 +01:00
nvrl 184386a96b updated rule based logic for finding and outputting files
Version Check / check-version (pull_request) Successful in 4s
2026-03-18 11:26:40 +01:00
nvrl 69d4963e4f Merge pull request 'Update Cargo.toml' (#12) from nvrl-patch-1 into main
Release / Build and Release (push) Successful in 58s
Reviewed-on: #12
v0.4.2
2026-03-17 15:06:41 +01:00
nvrl 87ced5a47c Update Cargo.toml
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 15:06:32 +01:00
nvrl f85dac3b25 Merge pull request 'release/0.4.2' (#11) from release/0.4.2 into main
Release / Build and Release (push) Successful in 55s
Reviewed-on: #11
2026-03-17 14:33:34 +01:00
nvrl 1d9342186a added undo + dynamic status bar
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 14:33:26 +01:00
nvrl f6a84416e6 updated insert modes + fixed status bar help
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 14:29:51 +01:00
nvrl 01a7bd44b7 updated nvim readme desc
Version Check / check-version (pull_request) Successful in 4s
2026-03-17 13:40:01 +01:00
nvrl f123f2d6df added dd remove
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 13:12:22 +01:00
nvrl 94ff632b39 fixed string to int error 2026-03-17 13:09:22 +01:00
nvrl e09cc3f2d7 Merge pull request 'fixed tests case' (#9) from release/0.4.0 into main
Release / Build and Release (push) Successful in 53s
Reviewed-on: #9
v0.4.0
2026-03-17 12:39:27 +01:00
nvrl f09dbc8321 fixed tests case 2026-03-17 12:39:18 +01:00
nvrl 4e5c0e3b07 merged with main
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 12:30:20 +01:00
nvrl c270d37585 Merge pull request 'release/0.4.0' (#8) from release/0.4.0 into main
Release / Build and Release (push) Successful in 57s
Reviewed-on: #8
2026-03-17 12:30:13 +01:00
nvrl 7aa45974a7 fixed ui and themes for tree view + neovim plugin wrapper
Version Check / check-version (pull_request) Successful in 4s
2026-03-17 12:23:10 +01:00
nvrl 14f1be5a2a Merge pull request 'Update Cargo.toml' (#7) from nvrl-patch-1 into main
Release / Build and Release (push) Successful in 53s
Reviewed-on: #7
v0.3.0
2026-03-17 09:33:13 +01:00
nvrl 49eac25d48 Update Cargo.toml
Version Check / check-version (pull_request) Successful in 3s
2026-03-17 09:33:05 +01:00
nvrl 0ce858da5c fixed transparent defaulting to true 2026-03-17 09:30:33 +01:00
nvrl 3459c67377 Merge pull request 'release/0.3.0' (#6) from release/0.3.0 into main
Release / Build and Release (push) Successful in 18s
Reviewed-on: #6
2026-03-17 09:30:26 +01:00
nvrl 84945b9d83 clear search term everytime 2026-03-17 09:29:12 +01:00
nvrl 0c217c5129 added search functionality 2026-03-17 09:24:58 +01:00