feat: NES normal-mode Tab, native inline completion, clippy LSP, and .gitignore expansion #4
+149
-7
@@ -1,5 +1,3 @@
|
|||||||
/.claude_session
|
|
||||||
|
|
||||||
# Plugin installs (managed by vim.pack)
|
# Plugin installs (managed by vim.pack)
|
||||||
/pack/
|
/pack/
|
||||||
|
|
||||||
@@ -25,11 +23,155 @@
|
|||||||
# Logs
|
# Logs
|
||||||
*.log
|
*.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
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
|
||||||
# AI assistant files
|
# Linux trash folder which might appear on any partition or disk
|
||||||
CLAUDE.md
|
.Trash-*
|
||||||
GEMINI.md
|
|
||||||
.gemini_session
|
# 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]
|
||||||
|
|
||||||
|
# ──────────────────────────────────────────────────────────────
|
||||||
|
|||||||
@@ -133,7 +133,8 @@ Place machine-specific or secret configuration in `~/.config/.user-dots/nvim/loc
|
|||||||
| `s` / `S` | Leap Motion (Normal/Window) |
|
| `s` / `S` | Leap Motion (Normal/Window) |
|
||||||
| `ys` / `ds` / `cs` | Surround (Add/Delete/Change) |
|
| `ys` / `ds` / `cs` | Surround (Add/Delete/Change) |
|
||||||
| `gx` / `gX` | Open URL under cursor (Gx.nvim) |
|
| `gx` / `gX` | Open URL under cursor (Gx.nvim) |
|
||||||
| `<Tab>` | Advance snippet → apply NES suggestion → fallback |
|
| `<Tab>` *(insert)* | Advance snippet → NES suggestion → native inline completion → fallback |
|
||||||
|
| `<Tab>` *(normal)* | Jump to / apply Sidekick NES suggestion |
|
||||||
| `<leader>aa` | Toggle Sidekick AI CLI terminal |
|
| `<leader>aa` | Toggle Sidekick AI CLI terminal |
|
||||||
| `<leader>as` | Select AI tool (Sidekick) |
|
| `<leader>as` | Select AI tool (Sidekick) |
|
||||||
| `<Alt-a>` *(picker)* | Send picker selection to active AI CLI session |
|
| `<Alt-a>` *(picker)* | Send picker selection to active AI CLI session |
|
||||||
|
|||||||
@@ -292,6 +292,13 @@ end, { desc = "Neovim News" })
|
|||||||
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
-- Sidekick NES: accept next-edit suggestion in normal mode
|
||||||
|
vim.keymap.set("n", "<Tab>", function()
|
||||||
|
require("sidekick").nes_jump_or_apply()
|
||||||
|
end, { desc = "Apply Sidekick NES Suggestion" })
|
||||||
|
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
-- Leap Keymaps
|
-- Leap Keymaps
|
||||||
vim.keymap.set({ "n", "x", "o" }, "<CR>", "<Plug>(leap)")
|
vim.keymap.set({ "n", "x", "o" }, "<CR>", "<Plug>(leap)")
|
||||||
vim.keymap.set("n", "S", "<Plug>(leap-from-window)")
|
vim.keymap.set("n", "S", "<Plug>(leap-from-window)")
|
||||||
|
|||||||
@@ -344,6 +344,16 @@ lazyload.on_vim_enter(function()
|
|||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local capabilities = (has_blink_bin or has_cargo) and require("blink.cmp").get_lsp_capabilities() or nil
|
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({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"lua_ls",
|
"lua_ls",
|
||||||
@@ -370,9 +380,24 @@ lazyload.on_vim_enter(function()
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
["rust_analyzer"] = function()
|
||||||
|
lspconfig.rust_analyzer.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
check = {
|
||||||
|
command = "clippy",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Enable native inline completion (ghost text in insert mode)
|
||||||
|
vim.lsp.inline_completion.enable()
|
||||||
|
|
||||||
-- Mini.ai
|
-- Mini.ai
|
||||||
vim.pack.add({ { src = "https://github.com/echasnovski/mini.ai", name = "mini.ai" } })
|
vim.pack.add({ { src = "https://github.com/echasnovski/mini.ai", name = "mini.ai" } })
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user