<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-config/plugin/50-autoreload.lua, branch master</title>
<subtitle>Neovim configuration</subtitle>
<id>http://git.tvcloud.fr/nvim-config/atom/plugin/50-autoreload.lua?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/nvim-config/atom/plugin/50-autoreload.lua?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/'/>
<updated>2026-07-03T21:35:25Z</updated>
<entry>
<title>feat: rework buffer &amp; spell toggle commands and keymaps</title>
<updated>2026-07-03T21:35:25Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-03T21:35:25Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=d0170737823552eadcd9120e3dcfef85ba8923fc'/>
<id>urn:sha1:d0170737823552eadcd9120e3dcfef85ba8923fc</id>
<content type='text'>
Rename the toggle commands to consistent CamelCase: FormatToggle →
AutoFormatToggle, AutowriteToggle → AutoWriteToggle, AutoreloadToggle →
AutoReloadToggle; capitalize the AutoWrite/AutoReload feature names in
prose too.

Group the per-buffer toggles under &lt;Leader&gt;b: bs (save), bf (format),
br (reload), bw (wrap, was &lt;Leader&gt;w), bh (LSP hints, was &lt;Leader&gt;lh);
drop the &lt;C-s&gt; autosave map.
Group spelling under &lt;Leader&gt;s: ss (toggle), se/sf/sb (en/fr/en-fr).
Register every command and map in the General help category.
</content>
</entry>
<entry>
<title>feat: group the cheatsheet by feature and scope commands to buffers</title>
<updated>2026-07-03T12:44:16Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-03T12:44:16Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=401b7585b4a27dd6e9d63e818b2505aedd082be0'/>
<id>urn:sha1:401b7585b4a27dd6e9d63e818b2505aedd082be0</id>
<content type='text'>
Break the single "Global" cheatsheet bucket into one section per
feature, and label buffer-local sections "&lt;feature&gt; (buffer-local)" so
each entry's scope is explicit. Drop the completion cursor-motion
entries.

Correct commands that were declared global but only act on the current
buffer, making them buffer-local:
- NotesRename and NotesRenameSection, created in init_notes_buffer.
- ClaudeBashHistory, ClaudeBashHistoryNext and ClaudeBashHistoryPrevious,
  created in the per-buffer init (set_monitor_keymaps renamed to
  init_monitor_buffer, which now sets commands too).
- MarkdownCheck and MarkdownUncheck, created from a new FileType
  markdown autocmd.

ClaudeBashMonitor stays global: it is the opener with session-name
completion and must be callable from any buffer.
</content>
</entry>
<entry>
<title>feat(help): declarative cheatsheet engine and floating window</title>
<updated>2026-07-03T11:34:46Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-03T11:34:46Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=79956264beb1d1dde959f164b011d4fc73d4916e'/>
<id>urn:sha1:79956264beb1d1dde959f164b011d4fc73d4916e</id>
<content type='text'>
Replace the treesitter source scan, ctags tagfile, and fzf-lua tag
picker with a `dotfiles.help` engine and a plain floating window.

The engine's `register(scope, spec)` records metadata only — it sets
no keymap or command — so a feature can declare its buffer-local maps
at load time and they are listed at startup regardless of what buffers
have been opened, and each entry carries a scope.

Features declare their user-facing maps and commands through
`help.register`; the float renders them grouped by scope, keymaps with
Vim's per-mode prefix and commands as `:Name`. `g?` and `:Cheatsheet`
open it; `q`, `&lt;Esc&gt;`, and `&lt;C-c&gt;` close it.
</content>
</entry>
<entry>
<title>refactor: hollow init.lua out into plugin files</title>
<updated>2026-07-02T15:27:28Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-02T15:27:28Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=20fa1dd3eb7a1e55c92968270da818f34896b9be'/>
<id>urn:sha1:20fa1dd3eb7a1e55c92968270da818f34896b9be</id>
<content type='text'>
Move everything but the bootstrap out of init.lua:
plugin/20-keymaps.lua takes the leader key and the misc keymaps,
loading before the 50-* features define their &lt;Leader&gt; maps;
plugin/50-cmdline.lua takes the command-line helpers;
the scrolling, arrow, and yank-highlight bindings join their features
(50-smooth_scroll, 50-autocompletion, 50-ui).

Flatten vim.g.dotfiles:
the augroup becomes vim.g.dotfiles_augroup,
and the textwidth table is dropped in favor of literal widths in the
ftplugins.
The markdown rendering loses its width coupling too,
keeping only a 60-column code-block minimum.
</content>
</entry>
<entry>
<title>refactor: fold multi-line comment stacks into block comments</title>
<updated>2026-07-02T14:40:11Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-02T14:40:11Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=bba6d0b25e8d23c64070615f37c6defd8872dcfe'/>
<id>urn:sha1:bba6d0b25e8d23c64070615f37c6defd8872dcfe</id>
<content type='text'>
Every stacked `--` comment becomes a `--[[ … ]]` block whose first
line stands alone as the fold summary.
Rename plugin/50-color.lua to plugin/50-ui.lua to match its scope
(highlights, statusline, window bar, tabline) and update references.
Type claude_bash_monitor's view state as an EmmyLua @class.
</content>
</entry>
<entry>
<title>fix(autoreload): re-stat all buffers on TermLeave</title>
<updated>2026-07-02T11:22:42Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-02T09:10:43Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=3b3556ef69e5a440210eff5b2919111f58ec901b'/>
<id>urn:sha1:3b3556ef69e5a440210eff5b2919111f58ec901b</id>
<content type='text'>
The baseline prompt-on-change only ran on FocusGained,
so a file overwritten from inside a :terminal went unnoticed —
focus never leaves Neovim there.
Treat TermLeave like FocusGained and re-stat every buffer,
instead of only the autoreload-flagged ones.
</content>
</entry>
<entry>
<title>refactor(nvim): conform comments and API docs to conventions</title>
<updated>2026-07-01T13:38:49Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-01T13:38:49Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=ea097318f87a561855391e74c2922e5f6b74109c'/>
<id>urn:sha1:ea097318f87a561855391e74c2922e5f6b74109c</id>
<content type='text'>
Bring the existing files up to the documented conventions:

- convert stacked-`--` file headers to `--[[ ]]` block comments;
- add `---` EmmyLua annotations to every engine `M.*` and `_`-prefix
  internal helpers (call sites updated);
- give every `vim.notify` a `vim.log.levels.*`;
- switch `:help` references to `&lt;nvim-help://&gt;` autolinks;
- extract inline keymap/command callbacks into named functions;
- replace per-element table comments with one comment above the table.

No behavior change; comment, doc-annotation and callback-naming only.
</content>
</entry>
<entry>
<title>fix(autoreload): reload silently instead of prompting</title>
<updated>2026-07-01T09:56:12Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-30T17:57:15Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=432f68635372c5ac2922c28062388d067cad0216'/>
<id>urn:sha1:432f68635372c5ac2922c28062388d067cad0216</id>
<content type='text'>
The checktime autocmds were not nested, so the FileChangedShell they
trigger was suppressed and Neovim fell back to its default change prompt
instead of running the autoreload handler. Mark them nested and
consolidate the external-change handling (autoread, checktime triggers,
the FileChangedShell handler) from init.lua into the autoreload plugin.
</content>
</entry>
<entry>
<title>refactor(autoreload): scope autoreload to the buffer and fix q: q/ bug</title>
<updated>2026-07-01T09:56:11Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-30T14:56:05Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=781314d7b3cfc50f9a6cdc5d741673bef311d570'/>
<id>urn:sha1:781314d7b3cfc50f9a6cdc5d741673bef311d570</id>
<content type='text'>
checktime is invalid in the command-line window (q:/q/), which fires the
same idle/focus autocmds but rejects it with E11. Guard against it so the
check is skipped there.
</content>
</entry>
<entry>
<title>feat(nvim): opt-in autoreload of buffers changed outside Neovim</title>
<updated>2026-06-25T03:35:15Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-25T03:33:34Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=c22fab35706facfa780b800b4dc72559f0ac6c60'/>
<id>urn:sha1:c22fab35706facfa780b800b4dc72559f0ac6c60</id>
<content type='text'>
</content>
</entry>
</feed>
