16 Commits
Author SHA1 Message Date
Stevan Freeborn d424bd7307 docs: fix formatting of padding description in README.md 2026-07-06 21:06:05 -05:00
Stevan Freeborn a67e39eeb3 docs: update punctuation for consistency in README.md 2026-07-06 21:05:25 -05:00
Stevan Freeborn f112ac542e refactor: absorb statusline offset into indicator padding
Remove the hardcoded statusline_offset from calculate_position() and
let padding.y serve as the sole offset from the bottom edge. Bump
default padding.y to 3 to preserve the original visual position.
2026-07-06 20:48:19 -05:00
Stevan Freeborn d82c901ad6 docs: document indicator padding option
Add indicator.padding (x, y) to the vimdoc help file and README config
tables.
2026-07-06 20:34:19 -05:00
Stevan Freeborn e57c55b867 feat: add configurable indicator padding
Add indicator.padding (x, y) to offset the status indicator from the
editor edges. Defaults to 1 cell on each axis, moving the indicator
away from the right edge and bottom of the buffer.
2026-07-06 20:33:46 -05:00
Stevan Freeborn ef48cd178f chore: replace submodule with bootstrap script for test dependency
Remove the .tests/vendor/plenary.nvim git submodule so Neovim plugin
managers (lazy.nvim, etc.) don't pull it during installation. Instead,
run_tests.ps1 and run_checks.ps1 clone plenary.nvim on demand if it's
not present. The .gitea CI workflow also gets its own bootstrap step.
Add .gitignore to exclude the bootstrapped vendor directory.
2026-07-06 20:19:54 -05:00
Stevan Freeborn 6ac6ff6dae docs: update username 2026-07-06 20:14:56 -05:00
Stevan Freeborn e4088c23a7 chore: run stylua 2026-07-06 20:10:26 -05:00
Stevan Freeborn 0434637a12 docs: cleanup 2026-07-06 20:07:44 -05:00
Stevan Freeborn 8bbc045485 docs: add comprehensive README
Replace the placeholder README with a full reference covering features,
requirements, installation (lazy/packer/vim-plug), configuration tables
with defaults, commands, keymaps, highlight groups, API, and a quick
start guide.
2026-07-06 20:03:34 -05:00
Stevan Freeborn c241468954 docs: add vimdoc help file for watchexec.nvim
Create doc/watchexec.txt covering introduction, requirements, installation,
setup, configuration (all fields with defaults), commands, keymaps, highlight
groups, and the public API. Tags are generated via helptags.
2026-07-06 20:00:14 -05:00
Stevan Freeborn 1c46c3fcd9 feat: implement public API and plugin commands
Rewrite init.lua to expose setup(), run(), stop(), and toggle() that
coordinate across config, runner, window, and indicator modules. Replace
the placeholder SayHello command in plugin/watchexec.lua with keymaps
(<Leader>wx{t,s,r}), :WatchexecRun/:WatchexecStop/:WatchexecToggle
commands, VimLeavePre cleanup, and VimResized auto-resize.
2026-07-06 19:51:37 -05:00
Stevan Freeborn 398d3dd585 feat: add process runner and status indicator
Implement runner module for spawning and managing watchexec child processes
via vim.fn.jobstart with stdout/stderr piping and ANSI stripping. Add
indicator module for displaying a small non-focusable float that shows the
last command outcome (success/failure) when the main window is hidden.
2026-07-06 19:51:33 -05:00
Stevan Freeborn 9dc2961180 feat: add configuration system and output window
Introduce config module for managing user options, defaults, and watchexec
binary discovery. Add window module for creating and managing the output
window (float or split) with append, clear, resize, and keymap support.
2026-07-06 19:51:29 -05:00
Stevan Freeborn 65dff6cca7 feat: implement health checks 2026-07-04 11:05:50 -05:00
Stevan Freeborn 56bf4b7d11 chore: initial project setup 2026-07-04 08:46:05 -05:00