<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-config/plugin/50-follow.lua, branch master</title>
<subtitle>Neovim configuration</subtitle>
<id>http://git.tvcloud.fr/nvim-config/atom/plugin/50-follow.lua?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/nvim-config/atom/plugin/50-follow.lua?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/'/>
<updated>2026-07-03T12:44:16Z</updated>
<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: 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>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>feat(nvim): follow &lt;scheme://…&gt; autolinks with gf</title>
<updated>2026-06-25T03:35:07Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-25T03:04:15Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=d8654076282df55d425b2e4fa0be9355bde6b928'/>
<id>urn:sha1:d8654076282df55d425b2e4fa0be9355bde6b928</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(nvim): group all follow registrations into one section</title>
<updated>2026-06-24T15:58:27Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-24T15:58:03Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=bc17346650fd043a72045d0be6141aa832336233'/>
<id>urn:sha1:bc17346650fd043a72045d0be6141aa832336233</id>
<content type='text'>
</content>
</entry>
<entry>
<title>misc: format</title>
<updated>2026-06-24T15:39:07Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-24T15:39:07Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=a905605cdd128c0a0540096198a65781c6b23cd5'/>
<id>urn:sha1:a905605cdd128c0a0540096198a65781c6b23cd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(nvim): check that NOTES_DIR exists before running code that depends on it</title>
<updated>2026-06-24T15:35:22Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-24T15:31:53Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=d21d7758dae1e80f2a50bcda580179bf12bf2bf1'/>
<id>urn:sha1:d21d7758dae1e80f2a50bcda580179bf12bf2bf1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(nvim): rewrite goto plugin (now called follow)</title>
<updated>2026-06-24T15:02:52Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-24T14:54:10Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=42233850cef2e1b30dc6524e056f604c3b5d021b'/>
<id>urn:sha1:42233850cef2e1b30dc6524e056f604c3b5d021b</id>
<content type='text'>
`lua/dotfiles/follow.lua` provides an engine to register "followable
entities" like URL, wiki-links etc and can be easily expanded.

The engine provides a function to navigate between followable entities
and a function to edit them inside neovim.
</content>
</entry>
<entry>
<title>refactor(nvim): rename files and move code around</title>
<updated>2026-06-12T22:39:24Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-12T22:26:25Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=61d119a3e078066c9b0be56d422c92432f9f42b9'/>
<id>urn:sha1:61d119a3e078066c9b0be56d422c92432f9f42b9</id>
<content type='text'>
</content>
</entry>
</feed>
