<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-config/plugin/50-autocompletion.lua, branch master</title>
<subtitle>Neovim configuration</subtitle>
<id>http://git.tvcloud.fr/nvim-config/atom/plugin/50-autocompletion.lua?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/nvim-config/atom/plugin/50-autocompletion.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>fix(cmdline): cycle :find matches on &lt;Tab&gt;, drop :grep completion</title>
<updated>2026-07-03T10:20:22Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-07-03T10:19:54Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=96891e881687e43f1778f60098776466c7fe5f27'/>
<id>urn:sha1:96891e881687e43f1778f60098776466c7fe5f27</id>
<content type='text'>
The :find menu is suppressed while typing and opens only on &lt;Tab&gt;,
but the previous handler just showed it without selecting.
Now &lt;Tab&gt; triggers the menu;
a scheduled callback accepts a lone match or selects the next.

A :grep argument is a search pattern, not a file,
so it is excluded from completion entirely.
</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>feat(cmdline): skip auto-completion for :find and :grep args</title>
<updated>2026-07-01T09:56:12Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-30T19:00:36Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=baf657c77ee141b878616595c01dc7bfcef76353'/>
<id>urn:sha1:baf657c77ee141b878616595c01dc7bfcef76353</id>
<content type='text'>
Their argument is a search pattern, not a file to complete eagerly.
For the find family a `**` pattern recursively walks the tree and
hangs on each keystroke in large directories. `&lt;Tab&gt;` still completes
on demand, and the recursive `**4` path entry is dropped.
</content>
</entry>
<entry>
<title>feat(cmdline): recursive :find, ripgrep :grep, quiet grep menu</title>
<updated>2026-07-01T09:56:10Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-30T09:47:23Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=11ff774a5b21d89487827f68ae9d95196eb779ad'/>
<id>urn:sha1:11ff774a5b21d89487827f68ae9d95196eb779ad</id>
<content type='text'>
- path+=** so :find searches subdirectories recursively
- grepprg/grepformat drive :grep through ripgrep (--vimgrep
  --smart-case), with a comment on the -./-uu/-uuu opt-in flags
- the auto-completion menu skips grep-family commands while their
  search-pattern argument is being typed, and dismisses any menu
  left over from completing the command name
</content>
</entry>
<entry>
<title>refactor(nvim): restructure plugin configs, fix OSV launch port</title>
<updated>2026-06-25T05:44:15Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-25T05:44:15Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=fb3587e51e0908c3d43722c55741cf6a386e39ce'/>
<id>urn:sha1:fb3587e51e0908c3d43722c55741cf6a386e39ce</id>
<content type='text'>
- rewrite the file headers as block comments and regroup the
  autocompletion and dap files into Settings / Autocommands / Keymaps
  sections
- fix `OSVLaunch`: `dap.configurations.lua.port` was nil (the field is
  a list), so the server ignored 8086; share an `OSV_PORT` constant
  between the launch call and the attach configuration
- `.luarc.json`: list each plugin directory explicitly so lua_ls loads
  their type annotations
- use `vim.fs.basename` instead of `vim.fn.fnamemodify(…, ":t")`
</content>
</entry>
<entry>
<title>refactor(nvim): rename functions and edit comments</title>
<updated>2026-06-13T09:17:32Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-13T09:17:32Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=21d091f05161af8eb1a61b580c3f57774358aefe'/>
<id>urn:sha1:21d091f05161af8eb1a61b580c3f57774358aefe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(nvim): rewrite autocompletion plugin</title>
<updated>2026-06-12T21:14:19Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-06-12T21:14:19Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/nvim-config/commit/?id=1eeaf41cf07708d69f67dbb328f00734142513ad'/>
<id>urn:sha1:1eeaf41cf07708d69f67dbb328f00734142513ad</id>
<content type='text'>
</content>
</entry>
</feed>
