summaryrefslogtreecommitdiff
path: root/mac
diff options
context:
space:
mode:
Diffstat (limited to 'mac')
-rw-r--r--mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua92
-rw-r--r--mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua32
-rw-r--r--mac/.config/git/ignore2
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