diff options
Diffstat (limited to 'ar/.config/TheSiahxyz')
| -rw-r--r-- | ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua | 47 | ||||
| -rw-r--r-- | ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/mini.lua | 48 | ||||
| -rw-r--r-- | ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua (renamed from ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua) | 8 |
3 files changed, 75 insertions, 28 deletions
diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua index 6ff4ac6..52ceb01 100644 --- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua +++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua @@ -260,6 +260,53 @@ 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". + } + + -- 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, { expr = true, desc = "Add range to opencode" }) + vim.keymap.set("n", "goo", function() + return require("opencode").operator("@this ") .. "_" + end, { expr = true, desc = "Add line to opencode" }) + + vim.keymap.set("n", "<S-C-u>", function() + require("opencode").command("session.half.page.up") + end, { desc = "opencode half page up" }) + vim.keymap.set("n", "<S-C-d>", function() + require("opencode").command("session.half.page.down") + end, { desc = "opencode half page 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", noremap = true }) + vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement", noremap = true }) + end, + }, + { "kkrampis/codex.nvim", lazy = true, cmd = { "Codex", "CodexToggle" }, -- Optional: Load only on command execution diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/mini.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/mini.lua index 993b02c..848bf09 100644 --- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/mini.lua +++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/mini.lua @@ -796,21 +796,21 @@ end tell ---@return string symbol, string hlGroup local function mapSymbols(status, is_symlink) local statusMap = { --- stylua: ignore start -[" M"] = { symbol = "✹", hlGroup = "MiniDiffSignChange"}, -- Modified in the working directory -["M "] = { symbol = "•", hlGroup = "MiniDiffSignChange"}, -- modified in index -["MM"] = { symbol = "≠", hlGroup = "MiniDiffSignChange"}, -- modified in both working tree and index -["A "] = { symbol = "+", hlGroup = "MiniDiffSignAdd" }, -- Added to the staging area, new file -["AA"] = { symbol = "≈", hlGroup = "MiniDiffSignAdd" }, -- file is added in both working tree and index -["D "] = { symbol = "-", hlGroup = "MiniDiffSignDelete"}, -- Deleted from the staging area -["AM"] = { symbol = "⊕", hlGroup = "MiniDiffSignChange"}, -- added in working tree, modified in index -["AD"] = { symbol = "-•", hlGroup = "MiniDiffSignChange"}, -- Added in the index and deleted in the working directory -["R "] = { symbol = "→", hlGroup = "MiniDiffSignChange"}, -- Renamed in the index -["U "] = { symbol = "‖", hlGroup = "MiniDiffSignChange"}, -- Unmerged path -["UU"] = { symbol = "⇄", hlGroup = "MiniDiffSignAdd" }, -- file is unmerged -["UA"] = { symbol = "⊕", hlGroup = "MiniDiffSignAdd" }, -- file is unmerged and added in working tree -["??"] = { symbol = "?", hlGroup = "MiniDiffSignDelete"}, -- Untracked files -["!!"] = { symbol = "!", hlGroup = "MiniDiffSignChange"}, -- Ignored files + -- stylua: ignore start + [" M"] = { symbol = "✹", hlGroup = "MiniDiffSignChange"}, -- Modified in the working directory + ["M "] = { symbol = "•", hlGroup = "MiniDiffSignChange"}, -- modified in index + ["MM"] = { symbol = "≠", hlGroup = "MiniDiffSignChange"}, -- modified in both working tree and index + ["A "] = { symbol = "+", hlGroup = "MiniDiffSignAdd" }, -- Added to the staging area, new file + ["AA"] = { symbol = "≈", hlGroup = "MiniDiffSignAdd" }, -- file is added in both working tree and index + ["D "] = { symbol = "-", hlGroup = "MiniDiffSignDelete"}, -- Deleted from the staging area + ["AM"] = { symbol = "⊕", hlGroup = "MiniDiffSignChange"}, -- added in working tree, modified in index + ["AD"] = { symbol = "-•", hlGroup = "MiniDiffSignChange"}, -- Added in the index and deleted in the working directory + ["R "] = { symbol = "→", hlGroup = "MiniDiffSignChange"}, -- Renamed in the index + ["U "] = { symbol = "‖", hlGroup = "MiniDiffSignChange"}, -- Unmerged path + ["UU"] = { symbol = "⇄", hlGroup = "MiniDiffSignAdd" }, -- file is unmerged + ["UA"] = { symbol = "⊕", hlGroup = "MiniDiffSignAdd" }, -- file is unmerged and added in working tree + ["??"] = { symbol = "?", hlGroup = "MiniDiffSignDelete"}, -- Untracked files + ["!!"] = { symbol = "!", hlGroup = "MiniDiffSignChange"}, -- Ignored files -- stylua: ignore end } @@ -927,18 +927,18 @@ end tell ---@param buf_id integer ---@return nil local function updateGitStatus(buf_id) - local cwd = vim.uv.cwd() - if not cwd or not vim.fs.root(cwd, ".git") then + local git_root = vim.fs.root(buf_id, ".git") + if not git_root then return end local currentTime = os.time() - if gitStatusCache[cwd] and currentTime - gitStatusCache[cwd].time < cacheTimeout then - updateMiniWithGit(buf_id, gitStatusCache[cwd].statusMap) + if gitStatusCache[git_root] and currentTime - gitStatusCache[git_root].time < cacheTimeout then + updateMiniWithGit(buf_id, gitStatusCache[git_root].statusMap) else - fetchGitStatus(cwd, function(content) + fetchGitStatus(git_root, function(content) local gitStatusMap = parseGitStatus(content) - gitStatusCache[cwd] = { + gitStatusCache[git_root] = { time = currentTime, statusMap = gitStatusMap, } @@ -979,9 +979,9 @@ end tell pattern = "MiniFilesBufferUpdate", callback = function(sii) local bufnr = sii.data.buf_id - local cwd = vim.fn.expand("%:p:h") - if gitStatusCache[cwd] then - updateMiniWithGit(bufnr, gitStatusCache[cwd].statusMap) + local git_root = vim.fs.root(bufnr, ".git") + if git_root and gitStatusCache[git_root] then + updateMiniWithGit(bufnr, gitStatusCache[git_root].statusMap) end end, }) diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua index 9ce9124..90528a1 100644 --- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua +++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua @@ -6,8 +6,8 @@ local f = ls.function_node local fmt = require("luasnip.extras.fmt").fmta -local recordings_snippet = s( - "recordings", +local diary_snippet = s( + "diary", fmt( [[--- title: <title> @@ -26,5 +26,5 @@ date: <date> ) ) -ls.add_snippets("markdown", { recordings_snippet }) -ls.add_snippets("quarto", { recordings_snippet }) +ls.add_snippets("markdown", { diary_snippet }) +ls.add_snippets("quarto", { diary_snippet }) |
