- Rename master to legacy-2025 on remote (frozen pre-chezmoi snapshot) - New orphan 'main' branch with bootstrap-enabled config - .chezmoi.yaml.tmpl detects os_family (debian | arch) from /etc/os-release - dot_zshrc.tmpl refactored from current miche config with os_family conditional for pacman vs apt aliases - dot_config/: bat, btop, ghostty (with gruvbox themes), kitty (with gruvbox colors), nvim (LazyVim), paru - dot_gitconfig.tmpl, dot_tmux.conf (verbatim from current state) - run_once_00-install-bootstrap-tools.sh.tmpl: age, git, curl, ca-certificates - run_once_10-add-chaotic-aur.sh.tmpl (arch-only): add Chaotic-AUR + install paru - run_once_20-install-user-packages.sh.tmpl: zsh, tmux, neovim (with version check + binary tarball fallback for debian), oh-my-zsh + plugins, tpm, rustup, all CLI tools - run_onchange_30-ensure-cargo.sh.tmpl: rustup fallback - README.md with onboarding runbook
47 lines
1.9 KiB
Lua
47 lines
1.9 KiB
Lua
return {
|
|
"NickvanDyke/opencode.nvim",
|
|
dependencies = {
|
|
-- Recommended for `ask()` and `select()`.
|
|
-- Required for `snacks` provider.
|
|
---@module 'snacks' <- Loads `snacks.nvim` types for configuration intellisense.
|
|
{ "folke/snacks.nvim", opts = { input = {}, picker = {}, terminal = {} } },
|
|
},
|
|
config = function()
|
|
---@type opencode.Opts
|
|
vim.g.opencode_opts = {
|
|
-- Your configuration, if any — see `lua/opencode/config.lua`, or "goto definition" on the type or field.
|
|
}
|
|
|
|
-- Required for `opts.events.reload`.
|
|
vim.o.autoread = true
|
|
|
|
-- Recommended/example keymaps.
|
|
vim.keymap.set({ "n", "x" }, "<C-a>", function()
|
|
require("opencode").ask("@this: ", { submit = true })
|
|
end, { desc = "Ask opencode…" })
|
|
vim.keymap.set({ "n", "x" }, "<C-x>", function()
|
|
require("opencode").select()
|
|
end, { desc = "Execute opencode action…" })
|
|
vim.keymap.set({ "n", "t" }, "<C-.>", function()
|
|
require("opencode").toggle()
|
|
end, { desc = "Toggle opencode" })
|
|
|
|
vim.keymap.set({ "n", "x" }, "go", function()
|
|
return require("opencode").operator("@this ")
|
|
end, { desc = "Add range to opencode", expr = true })
|
|
vim.keymap.set("n", "goo", function()
|
|
return require("opencode").operator("@this ") .. "_"
|
|
end, { desc = "Add line to opencode", expr = true })
|
|
|
|
vim.keymap.set("n", "<S-C-u>", function()
|
|
require("opencode").command("session.half.page.up")
|
|
end, { desc = "Scroll opencode up" })
|
|
vim.keymap.set("n", "<S-C-d>", function()
|
|
require("opencode").command("session.half.page.down")
|
|
end, { desc = "Scroll opencode down" })
|
|
|
|
-- You may want these if you stick with the opinionated "<C-a>" and "<C-x>" above — otherwise consider "<leader>o…".
|
|
vim.keymap.set("n", "+", "<C-a>", { desc = "Increment under cursor", noremap = true })
|
|
vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement under cursor", noremap = true })
|
|
end,
|
|
}
|