From 5c980a8b57d9e6d07dc301d6218726a95d216442 Mon Sep 17 00:00:00 2001 From: rootiest Date: Sun, 31 May 2026 00:43:11 -0400 Subject: [PATCH 1/3] chore: expand .gitignore with Lua, Vim, and AI session patterns Replaces the minimal hand-written ignore list with generated gitignore.io patterns for Lua and Vim, plus a boilerplate template covering OS artefacts, temp directories, and AI session/rules files (CLAUDE.md, GEMINI.md, .claud*, .gemin*, .remember, etc.). --- .gitignore | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 149 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 04e8815..83bf9d4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -/.claude_session - # Plugin installs (managed by vim.pack) /pack/ @@ -25,11 +23,155 @@ # Logs *.log -# OS +# id: gi-patterns-aa0d0d1d58f24039fa0491e40c78bb9f +# Created by https://www.toptal.com/developers/gitignore/api/lua +# Edit at https://www.toptal.com/developers/gitignore?templates=lua + +### Lua ### +# Compiled Lua sources +luac.out + +# luarocks build files +*.src.rock +*.zip +*.tar.gz + +# Object files +*.o +*.os +*.ko +*.obj +*.elf + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo +*.def +*.exp + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + + +# End of https://www.toptal.com/developers/gitignore/api/lua + +# id: gi-patterns-be86a7264ac20631fa0112bcaff396d7 +# Created by https://www.toptal.com/developers/gitignore/api/vim +# Edit at https://www.toptal.com/developers/gitignore?templates=vim + +### Vim ### +# Swap +[._]*.s[a-v][a-z] +!*.svg # comment out if you don't need vector files +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + +# End of https://www.toptal.com/developers/gitignore/api/vim + +# id: gitig-boilerplate-129366cbf5c6513e388d0725c2e4923b +# ╭──────────────────────────────────────────────────────────╮ +# │ GitIgnore Boilerplate Template │ +# ╰──────────────────────────────────────────────────────────╯ +# +# ──────────────────── OS-Generated Files ──────────────────── +# automatic backup files created by some editors (e.g., Vim, Emacs) +*~ + +# temporary files created if a process still has a handle to a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# MacOS junk .DS_Store Thumbs.db -# AI assistant files -CLAUDE.md -GEMINI.md -.gemini_session +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# files created when an open file is removed but is still being accessed +.nfs* + +# ─────────────────── Debug/Temporary/Testing ──────────────── +# Matches OLD / .OLD +[Oo][Ll][Dd]/ +.[Oo][Ll][Dd]/ + +# Matches DISABLE / .DISABLE +[Dd][Ii][Ss][Aa][Bb][Ll][Ee]/ +.[Dd][Ii][Ss][Aa][Bb][Ll][Ee]/ + +# Matches DISABLED / .DISABLED +[Dd][Ii][Ss][Aa][Bb][Ll][Ee][Dd]/ +.[Dd][Ii][Ss][Aa][Bb][Ll][Ee][Dd]/ + +# Matches DEBUG / .DEBUG +[Dd][Ee][Bb][Uu][Gg]/ +.[Dd][Ee][Bb][Uu][Gg]/ + +# Matches TMP / .TMP +[Tt][Mm][Pp]/ +.[Tt][Mm][Pp]/ + +# Matches TEMP / .TEMP +[Tt][Ee][Mm][Pp]/ +.[Tt][Ee][Mm][Pp]/ + +# Matches TEMPORARY / .TEMPORARY +[Tt][Ee][Mm][Pp][Oo][Rr][Aa][Rr][Yy]/ +.[Tt][Ee][Mm][Pp][Oo][Rr][Aa][Rr][Yy]/ + +# Matches TESTING / .TESTING +[Tt][Ee][Ss][Tt][Ii][Nn][Gg]/ +.[Tt][Ee][Ss][Tt][Ii][Nn][Gg]/ + +# ─────────────────── AI Sessions and Rules ────────────────── +# Matches CLAUDE.md, .claud*, etc. +[Cc][Ll][Aa][Uu][Dd][Ee].[Mm][Dd] +.[Cc][Ll][Aa][Uu][Dd]* + +# Matches GEMINI.md, .gemin*, etc. +[Gg][Ee][Mm][Ii][Nn][Ii].[Mm][Dd] +.[Gg][Ee][Mm][Ii][Nn]* + +# Matches ANTIGRAVITY.md, .antigrav*, etc. +[Aa][nN][Tt][Ii][Gg][Rr][Aa][Vv][Ii][Tt][Yy].[Mm][Dd] +.[Aa][Nn][Tt][Ii][Gg][Rr][Aa][Vv]* + +# Matches AGENTS.md, .remember, etc. +[Aa][Gg][Ee][Nn][Tt][Ss].[Mm][Dd] +.[Rr][Ee][Mm][Ee][Mm][Bb][Ee][Rr] + +# ────────────────────────────────────────────────────────────── -- 2.52.0 From 7e68bc339103af63990de283ae15035a01870caf Mon Sep 17 00:00:00 2001 From: rootiest Date: Sun, 31 May 2026 00:44:12 -0400 Subject: [PATCH 2/3] feat(lsp): configure rust-analyzer to use clippy for checks Sets the check command to clippy via both vim.lsp.config (for system-installed rust-analyzer via rustup) and the mason-lspconfig handler, so diagnostics reflect clippy lints rather than cargo check output. --- lua/plugins.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lua/plugins.lua b/lua/plugins.lua index d9f65d2..0a96171 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -344,6 +344,16 @@ lazyload.on_vim_enter(function() local lspconfig = require("lspconfig") local capabilities = (has_blink_bin or has_cargo) and require("blink.cmp").get_lsp_capabilities() or nil + vim.lsp.config("rust_analyzer", { + settings = { + ["rust-analyzer"] = { + check = { + command = "clippy", + }, + }, + }, + }) + require("mason-lspconfig").setup({ ensure_installed = { "lua_ls", @@ -370,6 +380,18 @@ lazyload.on_vim_enter(function() }, }) end, + ["rust_analyzer"] = function() + lspconfig.rust_analyzer.setup({ + capabilities = capabilities, + settings = { + ["rust-analyzer"] = { + check = { + command = "clippy", + }, + }, + }, + }) + end, }, }) -- 2.52.0 From 11a5bc1266991d8785b87e88cbc69d72eb6cf533 Mon Sep 17 00:00:00 2001 From: rootiest Date: Sun, 31 May 2026 00:44:34 -0400 Subject: [PATCH 3/3] feat(keymaps): add normal-mode NES keymap and enable native inline completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a normal-mode binding that calls sidekick.nes_jump_or_apply() so NES suggestions can be accepted without entering insert mode. Enables vim.lsp.inline_completion so the insert-mode chain (snippet → NES → native inline completion → fallback) is fully wired. Updates the README keymaps table to reflect both modes and the complete Tab chain. --- README.md | 3 ++- lua/keymaps.lua | 7 +++++++ lua/plugins.lua | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a360c6d..d63b872 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,8 @@ Place machine-specific or secret configuration in `~/.config/.user-dots/nvim/loc | `s` / `S` | Leap Motion (Normal/Window) | | `ys` / `ds` / `cs` | Surround (Add/Delete/Change) | | `gx` / `gX` | Open URL under cursor (Gx.nvim) | -| `` | Advance snippet → apply NES suggestion → fallback | +| `` *(insert)* | Advance snippet → NES suggestion → native inline completion → fallback | +| `` *(normal)* | Jump to / apply Sidekick NES suggestion | | `aa` | Toggle Sidekick AI CLI terminal | | `as` | Select AI tool (Sidekick) | | `` *(picker)* | Send picker selection to active AI CLI session | diff --git a/lua/keymaps.lua b/lua/keymaps.lua index 8b64d85..c359120 100644 --- a/lua/keymaps.lua +++ b/lua/keymaps.lua @@ -292,6 +292,13 @@ end, { desc = "Neovim News" }) ---------------------------------------------------------- +-- Sidekick NES: accept next-edit suggestion in normal mode +vim.keymap.set("n", "", function() + require("sidekick").nes_jump_or_apply() +end, { desc = "Apply Sidekick NES Suggestion" }) + +---------------------------------------------------------- + -- Leap Keymaps vim.keymap.set({ "n", "x", "o" }, "", "(leap)") vim.keymap.set("n", "S", "(leap-from-window)") diff --git a/lua/plugins.lua b/lua/plugins.lua index 0a96171..1c783da 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -395,6 +395,9 @@ lazyload.on_vim_enter(function() }, }) + -- Enable native inline completion (ghost text in insert mode) + vim.lsp.inline_completion.enable() + -- Mini.ai vim.pack.add({ { src = "https://github.com/echasnovski/mini.ai", name = "mini.ai" } }) -- 2.52.0