feat: NES normal-mode Tab, native inline completion, clippy LSP, and .gitignore expansion #4

Merged
rootiest merged 3 commits from feat/nes-normal-tab-inline-completion-clippy into main 2026-05-31 04:45:31 +00:00
Owner

Summary

  • .gitignore: 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.)
  • feat(lsp): Configures rust-analyzer to use clippy for checks via both vim.lsp.config (system rustup install) and the mason-lspconfig handler, so diagnostics surface clippy lints instead of plain cargo check output.
  • feat(keymaps): Adds a normal-mode <Tab> binding (sidekick.nes_jump_or_apply) so NES suggestions can be accepted without entering insert mode. Enables vim.lsp.inline_completion so the insert-mode <Tab> chain (snippet → NES → native inline completion → fallback) is fully wired. Updates README keymaps table to reflect both modes and the complete chain.

Manual Verification

  • Open a Rust file and confirm rust-analyzer diagnostics show clippy lints (e.g. clippy::needless_return) rather than only cargo check errors.
  • In a file with an active Sidekick NES suggestion, press <Tab> in normal mode and confirm the suggestion is accepted / cursor jumps to next edit location.
  • In insert mode inside a snippet, press <Tab> and confirm it advances the snippet placeholder; when no snippet is active, confirm it falls through to NES → inline completion → fallback.
  • Confirm that CLAUDE.md and .claud* files are listed as ignored by running git check-ignore -v CLAUDE.md (should output a match from .gitignore).
  • Confirm no previously-tracked files were accidentally dropped by the gitignore expansion (git status should show a clean tree after checkout).
## Summary - **`.gitignore`**: 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.) - **`feat(lsp)`**: Configures rust-analyzer to use `clippy` for checks via both `vim.lsp.config` (system rustup install) and the mason-lspconfig handler, so diagnostics surface clippy lints instead of plain `cargo check` output. - **`feat(keymaps)`**: Adds a normal-mode `<Tab>` binding (`sidekick.nes_jump_or_apply`) so NES suggestions can be accepted without entering insert mode. Enables `vim.lsp.inline_completion` so the insert-mode `<Tab>` chain (snippet → NES → native inline completion → fallback) is fully wired. Updates README keymaps table to reflect both modes and the complete chain. ## Manual Verification - [x] Open a Rust file and confirm rust-analyzer diagnostics show clippy lints (e.g. `clippy::needless_return`) rather than only `cargo check` errors. - [x] In a file with an active Sidekick NES suggestion, press `<Tab>` in **normal mode** and confirm the suggestion is accepted / cursor jumps to next edit location. - [x] In insert mode inside a snippet, press `<Tab>` and confirm it advances the snippet placeholder; when no snippet is active, confirm it falls through to NES → inline completion → fallback. - [x] Confirm that `CLAUDE.md` and `.claud*` files are listed as ignored by running `git check-ignore -v CLAUDE.md` (should output a match from `.gitignore`). - [x] Confirm no previously-tracked files were accidentally dropped by the gitignore expansion (`git status` should show a clean tree after checkout).
rootiest added 3 commits 2026-05-31 04:45:07 +00:00
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.).
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.
Adds a normal-mode <Tab> 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 <Tab> chain (snippet → NES →
native inline completion → fallback) is fully wired. Updates the README
keymaps table to reflect both modes and the complete Tab chain.
rootiest merged commit c867d55228 into main 2026-05-31 04:45:31 +00:00
rootiest deleted branch feat/nes-normal-tab-inline-completion-clippy 2026-05-31 04:45:31 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rootiest/neovim-config#4