refactor(nvim): simplify Neovim configuration with selene
This commit is contained in:
1 parent
98605f84ab
commit
3c02ba5c9d
3 files changed
+19
-66
No files matched your search
+18
-18
@@ -22,65 +22,65 @@ function M.setup()
|
|||||||
local Terminal = require("toggleterm.terminal").Terminal
|
local Terminal = require("toggleterm.terminal").Terminal
|
||||||
|
|
||||||
-- Claude terminal configuration
|
-- Claude terminal configuration
|
||||||
local claude = Terminal:new({
|
local claude = Terminal:new {
|
||||||
cmd = "claude",
|
cmd = "claude --dangerously-skip-permissions",
|
||||||
hidden = true,
|
hidden = true,
|
||||||
direction = "tab",
|
direction = "tab",
|
||||||
close_on_exit = true,
|
close_on_exit = true,
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
-- Yazi file manager terminal
|
-- Yazi file manager terminal
|
||||||
local yazi = Terminal:new({
|
local opencode = Terminal:new {
|
||||||
cmd = "yazi",
|
cmd = "opencode",
|
||||||
hidden = true,
|
hidden = true,
|
||||||
direction = "tab",
|
direction = "tab",
|
||||||
close_on_exit = true,
|
close_on_exit = true,
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
-- Scooter find and replace terminal
|
-- Scooter find and replace terminal
|
||||||
local scooter = Terminal:new({
|
local scooter = Terminal:new {
|
||||||
cmd = "scooter",
|
cmd = "scooter",
|
||||||
hidden = true,
|
hidden = true,
|
||||||
direction = "vertical",
|
direction = "vertical",
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
-- Lazyjournal terminal
|
-- Lazyjournal terminal
|
||||||
local lazyjournal = Terminal:new({
|
local lazyjournal = Terminal:new {
|
||||||
cmd = "lazyjournal",
|
cmd = "lazyjournal",
|
||||||
hidden = true,
|
hidden = true,
|
||||||
direction = "float",
|
direction = "float",
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
-- Mk (make) terminal
|
-- Mk (make) terminal
|
||||||
local mk = Terminal:new({
|
local mk = Terminal:new {
|
||||||
cmd = "mk",
|
cmd = "mk",
|
||||||
hidden = true,
|
hidden = true,
|
||||||
direction = "vertical",
|
direction = "vertical",
|
||||||
on_open = function(term)
|
on_open = function(term)
|
||||||
vim.cmd("startinsert!")
|
vim.cmd "startinsert!"
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", { noremap = true, silent = true })
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
|
||||||
-- Export toggle functions to module instead of global namespace
|
-- Export toggle functions to module instead of global namespace
|
||||||
M.claude_toggle = function() claude:toggle() end
|
M.claude_toggle = function() claude:toggle() end
|
||||||
M.yazi_toggle = function() yazi:toggle() end
|
M.opencode_toggle = function() opencode:toggle() end
|
||||||
M.scooter_toggle = function() scooter:toggle() end
|
M.scooter_toggle = function() scooter:toggle() end
|
||||||
M.lazyjournal_toggle = function() lazyjournal:toggle() end
|
M.lazyjournal_toggle = function() lazyjournal:toggle() end
|
||||||
M.mk_toggle = function() mk:toggle() end
|
M.mk_toggle = function() mk:toggle() end
|
||||||
|
|||||||
@@ -401,6 +401,7 @@ return {
|
|||||||
},
|
},
|
||||||
-- AI/Assistant mappings
|
-- AI/Assistant mappings
|
||||||
["<C-a><C-a>"] = { terminals.claude_toggle, desc = "Claude Toggle" },
|
["<C-a><C-a>"] = { terminals.claude_toggle, desc = "Claude Toggle" },
|
||||||
|
["<C-o><C-o>"] = { terminals.opencode_toggle, desc = "Opencode Toggle" },
|
||||||
},
|
},
|
||||||
i = {
|
i = {
|
||||||
["<C-c>"] = { "<Cmd>wa<CR><Cmd>bd<CR><Esc>", desc = "Save, close buffer, and return to normal mode" },
|
["<C-c>"] = { "<Cmd>wa<CR><Cmd>bd<CR><Esc>", desc = "Save, close buffer, and return to normal mode" },
|
||||||
|
|||||||
@@ -1,51 +1,3 @@
|
|||||||
--- OpenCode integration for Neovim
|
--- OpenCode integration for Neovim
|
||||||
--- Provides AI-powered code assistance directly within the editor
|
--- Provides AI-powered code assistance directly within the editor
|
||||||
--- @module plugins.opencode
|
--- @module plugins.opencode
|
||||||
|
|
||||||
return {
|
|
||||||
"NickvanDyke/opencode.nvim",
|
|
||||||
dependencies = {
|
|
||||||
-- Recommended for `ask()` and `select()`.
|
|
||||||
-- Required for `toggle()`.
|
|
||||||
{ "folke/snacks.nvim", opts = { input = {}, picker = {} } },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
vim.g.opencode_opts = {
|
|
||||||
-- Your configuration, if any — see `lua/opencode/config.lua`
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Required for `vim.g.opencode_opts.auto_reload`
|
|
||||||
vim.opt.autoread = true
|
|
||||||
|
|
||||||
-- Recommended/example keymaps
|
|
||||||
vim.keymap.set(
|
|
||||||
{ "n", "x" },
|
|
||||||
"<C-o>a",
|
|
||||||
function() require("opencode").ask("@this: ", { submit = true }) end,
|
|
||||||
{ desc = "Ask about this" }
|
|
||||||
)
|
|
||||||
vim.keymap.set({ "n", "x" }, "<C-o>A", function() require("opencode").prompt "@this" end, { desc = "Add this" })
|
|
||||||
vim.keymap.set({ "n", "x" }, "<C-o>p", function() require("opencode").select() end, { desc = "Select prompt" })
|
|
||||||
vim.keymap.set("n", "<C-o><C-o>", function() require("opencode").toggle() end, { desc = "Toggle embedded" })
|
|
||||||
vim.keymap.set("n", "<C-o>t", function() require("opencode").toggle() end, { desc = "Toggle embedded" })
|
|
||||||
vim.keymap.set("n", "<C-o>n", function() require("opencode").command "session_new" end, { desc = "New session" })
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<C-o>k",
|
|
||||||
function() require("opencode").command "session_interrupt" end,
|
|
||||||
{ desc = "Interrupt session" }
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<C-o>U",
|
|
||||||
function() require("opencode").command "messages_half_page_up" end,
|
|
||||||
{ desc = "Messages half page up" }
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<C-o>D",
|
|
||||||
function() require("opencode").command "messages_half_page_down" end,
|
|
||||||
{ desc = "Messages half page down" }
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user