diff options
Diffstat (limited to 'mac')
| -rw-r--r-- | mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua | 92 | ||||
| -rw-r--r-- | mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua | 32 | ||||
| -rw-r--r-- | mac/.config/git/ignore | 2 |
3 files changed, 57 insertions, 69 deletions
diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua index ee97612..0482ce0 100644 --- a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua +++ b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua @@ -260,73 +260,28 @@ return { }, }, { - "greggh/claude-code.nvim", - dependencies = { - "nvim-lua/plenary.nvim", -- Required for git operations + "coder/claudecode.nvim", + dependencies = { "folke/snacks.nvim" }, + config = true, + keys = { + { "<leader>a", nil, desc = "AI/Claude Code" }, + { "<leader>ac", "<cmd>ClaudeCode<cr>", desc = "Toggle Claude" }, + { "<leader>af", "<cmd>ClaudeCodeFocus<cr>", desc = "Focus Claude" }, + { "<leader>ar", "<cmd>ClaudeCode --resume<cr>", desc = "Resume Claude" }, + { "<leader>aC", "<cmd>ClaudeCode --continue<cr>", desc = "Continue Claude" }, + { "<leader>am", "<cmd>ClaudeCodeSelectModel<cr>", desc = "Select Claude model" }, + { "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer" }, + { "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send to Claude" }, + { + "<leader>as", + "<cmd>ClaudeCodeTreeAdd<cr>", + desc = "Add file", + ft = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw" }, + }, + -- Diff management + { "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" }, + { "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" }, }, - config = function() - require("claude-code").setup({ - -- Terminal window settings - window = { - split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits) - position = "vertical", -- Position of the window: "botright", "topleft", "vertical", "float", etc. - enter_insert = true, -- Whether to enter insert mode when opening Claude Code - hide_numbers = true, -- Hide line numbers in the terminal window - hide_signcolumn = true, -- Hide the sign column in the terminal window - - -- Floating window configuration (only applies when position = "float") - float = { - width = "80%", -- Width: number of columns or percentage string - height = "80%", -- Height: number of rows or percentage string - row = "center", -- Row position: number, "center", or percentage string - col = "center", -- Column position: number, "center", or percentage string - relative = "editor", -- Relative to: "editor" or "cursor" - border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow" - }, - }, - -- File refresh settings - refresh = { - enable = true, -- Enable file change detection - updatetime = 100, -- updatetime when Claude Code is active (milliseconds) - timer_interval = 1000, -- How often to check for file changes (milliseconds) - show_notifications = true, -- Show notification when files are reloaded - }, - -- Git project settings - git = { - use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project) - }, - -- Shell-specific settings - shell = { - separator = "&&", -- Command separator used in shell commands - pushd_cmd = "pushd", -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell) - popd_cmd = "popd", -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell) - }, - -- Command settings - command = "claude", -- Command used to launch Claude Code - -- Command variants - command_variants = { - -- Conversation management - continue = "--continue", -- Resume the most recent conversation - resume = "--resume", -- Display an interactive conversation picker - - -- Output options - verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output - }, - -- Keymaps - keymaps = { - toggle = { - normal = "<C-,>", -- Normal mode keymap for toggling Claude Code, false to disable - terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable - variants = { - continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag - verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag - }, - }, - window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>) - scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down - }, - }) - end, }, { "NickvanDyke/opencode.nvim", @@ -349,7 +304,7 @@ return { vim.keymap.set({ "n", "x" }, "<C-q>", function() require("opencode").ask("@this: ", { submit = true }) end, { desc = "Ask opencode" }) - vim.keymap.set({ "n", "x" }, "<C-x>", function() + vim.keymap.set({ "n", "x" }, "<C-CR>", function() require("opencode").select() end, { desc = "Execute opencode action…" }) vim.keymap.set({ "n", "t" }, "<C-.>", function() @@ -456,7 +411,7 @@ return { instructions_file = "avante.md", ---@alias Provider "claude" | "openai" | "azure" | "gemini" | "cohere" | "copilot" | string ---@type Provider - provider = "claude", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode + provider = "openai", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode ---@alias Mode "agentic" | "legacy" ---@type Mode mode = "agentic", -- The default mode for interaction. "agentic" uses tools to automatically generate code, "legacy" uses the old planning method to generate code. @@ -467,7 +422,6 @@ return { providers = { claude = { endpoint = "https://api.anthropic.com", - auth_type = "max", -- Set to "max" to sign in with Claude Pro/Max subscription model = "claude-sonnet-4-20250514", timeout = 30000, -- Timeout in milliseconds extra_request_body = { diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua index 90528a1..f1c636b 100644 --- a/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua +++ b/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua @@ -3,15 +3,46 @@ local ls = require("luasnip") local s = ls.snippet local i = ls.insert_node local f = ls.function_node +local c = ls.choice_node +local t = ls.text_node local fmt = require("luasnip.extras.fmt").fmta +local function bgm_list() + local handle = io.popen("ssh root@thesiah.xyz 'ls /var/www/thesiah/bgm/' 2>/dev/null") + if not handle then + return nil + end + + local result = handle:read("*a") + handle:close() + + if not result or result == "" then + return nil + end + + local choices = {} + for filename in result:gmatch("[^\r\n]+") do + table.insert(choices, t(filename)) + end + + if #choices == 0 then + return nil + end + + return choices +end + +local bgm_choices = bgm_list() +local bgm_node = bgm_choices and c(2, bgm_choices) or i(2, "bgm") + local diary_snippet = s( "diary", fmt( [[--- title: <title> date: <date> +bgm: <bgm> --- <story> @@ -21,6 +52,7 @@ date: <date> date = f(function() return os.date("%Y-%m-%d") end, {}), + bgm = bgm_node, story = i(3), } ) diff --git a/mac/.config/git/ignore b/mac/.config/git/ignore index 2121586..7c177dc 100644 --- a/mac/.config/git/ignore +++ b/mac/.config/git/ignore @@ -119,3 +119,5 @@ thesiah.mom # thesiah.mom */thesiah/thesiah.mom + +**/.claude/settings.local.json |
