From c70cbeaedf5d180a4a3a8da0a2dd233d006ef4b5 Mon Sep 17 00:00:00 2001 From: Hayden Hargreaves Date: Sun, 15 Mar 2026 19:30:41 -0700 Subject: [PATCH] chore: updated FEATURES.md --- FEATURES.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/FEATURES.md b/FEATURES.md index daa9b09..9c74fd0 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -43,12 +43,12 @@ - [ ] `zb` - Scroll cursor to bottom ### Search Movement -- [ ] `f{char}` - Find char forward on line -- [ ] `F{char}` - Find char backward on line -- [ ] `t{char}` - Till char forward on line -- [ ] `T{char}` - Till char backward on line -- [ ] `;` - Repeat last f/F/t/T -- [ ] `,` - Repeat last f/F/t/T reversed +- [x] `f{char}` - Find char forward on line +- [x] `F{char}` - Find char backward on line +- [x] `t{char}` - Till char forward on line +- [x] `T{char}` - Till char backward on line +- [x] `;` - Repeat last f/F/t/T +- [x] `,` - Repeat last f/F/t/T reversed - [ ] `/` - Search forward - [ ] `?` - Search backward - [ ] `n` - Next search result @@ -157,7 +157,7 @@ - [x] Motions work in visual mode - [x] `d` / `x` - Delete selection - [x] `y` - Yank selection -- [ ] `c` - Change selection +- [x] `c` - Change selection - [ ] `>` - Indent selection - [ ] `<` - Unindent selection - [ ] `=` - Auto-indent selection @@ -218,7 +218,7 @@ - [x] `:wq` - Write and quit - [x] `:q!` - Force quit - [x] `:e {file}` - Edit file -- [ ] `:bn` / `:bp` - Next/previous buffer +- [x] `:bn` / `:bp` - Next/previous buffer - [ ] `:{range}` - Go to line - [ ] `:%s/old/new/g` - Search and replace - [ ] `:!{cmd}` - Run shell command @@ -265,7 +265,7 @@ Buffers are in-memory representations of files. A buffer exists for each open fi ### Buffer Model - [x] Buffer struct (id, filename, lines, modified flag, cursor position) -- [ ] Buffer list/manager +- [x] Buffer list/manager - [x] Current buffer tracking - [ ] Buffer-local settings (tabstop, filetype, etc.) - [x] Modified/dirty state tracking @@ -273,18 +273,18 @@ Buffers are in-memory representations of files. A buffer exists for each open fi ### Buffer Navigation - [x] `:e {file}` - Edit file (open in new buffer or switch to existing) -- [ ] `:bn` / `:bnext` - Next buffer -- [ ] `:bp` / `:bprev` - Previous buffer -- [ ] `:b {name}` - Switch to buffer by name (partial match) -- [ ] `:b {number}` - Switch to buffer by number -- [ ] `:bf` / `:bfirst` - First buffer -- [ ] `:bl` / `:blast` - Last buffer -- [ ] `:buffers` / `:ls` - List all buffers +- [x] `:bn` / `:bnext` - Next buffer +- [x] `:bp` / `:bprev` - Previous buffer +- [x] `:b {name}` - Switch to buffer by name (partial match) +- [x] `:b {number}` - Switch to buffer by number +- [x] `:bf` / `:bfirst` - First buffer +- [x] `:bl` / `:blast` - Last buffer +- [x] `:buffers` / `:ls` - List all buffers - [ ] `ctrl+^` / `ctrl+6` - Switch to alternate (previous) buffer ### Buffer Operations -- [ ] `:bd` / `:bdelete` - Delete buffer (close file) -- [ ] `:bd!` - Force delete buffer (discard changes) +- [x] `:bd` / `:bdelete` - Delete buffer (close file) +- [x] `:bd!` - Force delete buffer (discard changes) - [ ] `:bw` / `:bwipeout` - Wipe buffer (remove completely) - [x] `:w` - Write current buffer to file - [x] `:w {file}` - Write buffer to specific file @@ -299,13 +299,14 @@ Buffers are in-memory representations of files. A buffer exists for each open fi - [ ] Alternate buffer (`#`) tracking ### Buffer Indicators -- [ ] `%` - Current buffer (in buffer list) +- [x] `%` - Current buffer (in buffer list) - [ ] `#` - Alternate buffer - [ ] `a` - Active (loaded and visible) - [ ] `h` - Hidden (loaded but not visible) -- [ ] `+` - Modified -- [ ] `-` - Read-only -- [ ] `=` - Readonly (cannot be modified) +- [x] `l` - Loaded (active and hidden do not exist yet) +- [x] `+` - Modified +- [x] `-` - Read-only +- [ ] `=` - Readonly (cannot be modified) (?) ### Hidden Buffers - [ ] `:set hidden` - Allow switching with unsaved changes