summaryrefslogtreecommitdiff
path: root/mac/.config
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config')
-rw-r--r--mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua69
-rw-r--r--mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua62
-rw-r--r--mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua30
-rw-r--r--mac/.config/git/ignore2
-rw-r--r--mac/.config/shell/aliasrc8
-rw-r--r--mac/.config/zsh/scripts.zsh10
6 files changed, 144 insertions, 37 deletions
diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua
index 52ceb01..36bd545 100644
--- a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua
+++ b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua
@@ -260,6 +260,75 @@ return {
},
},
{
+ "greggh/claude-code.nvim",
+ dependencies = {
+ "nvim-lua/plenary.nvim", -- Required for git operations
+ },
+ 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",
dependencies = {
-- Recommended for `ask()` and `select()`.
diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua
new file mode 100644
index 0000000..f1c636b
--- /dev/null
+++ b/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/diary.lua
@@ -0,0 +1,62 @@
+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>
+]],
+ {
+ title = i(1, "My Journal"),
+ date = f(function()
+ return os.date("%Y-%m-%d")
+ end, {}),
+ bgm = bgm_node,
+ story = i(3),
+ }
+ )
+)
+
+ls.add_snippets("markdown", { diary_snippet })
+ls.add_snippets("quarto", { diary_snippet })
diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua
deleted file mode 100644
index 9ce9124..0000000
--- a/mac/.config/TheSiahxyz/lua/TheSiahxyz/snippets/recordings.lua
+++ /dev/null
@@ -1,30 +0,0 @@
-local ls = require("luasnip")
-
-local s = ls.snippet
-local i = ls.insert_node
-local f = ls.function_node
-
-local fmt = require("luasnip.extras.fmt").fmta
-
-local recordings_snippet = s(
- "recordings",
- fmt(
- [[---
-title: <title>
-date: <date>
----
-
-<story>
-]],
- {
- title = i(1, "My Journal"),
- date = f(function()
- return os.date("%Y-%m-%d")
- end, {}),
- story = i(3),
- }
- )
-)
-
-ls.add_snippets("markdown", { recordings_snippet })
-ls.add_snippets("quarto", { recordings_snippet })
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
diff --git a/mac/.config/shell/aliasrc b/mac/.config/shell/aliasrc
index 6dcdf7d..64783f8 100644
--- a/mac/.config/shell/aliasrc
+++ b/mac/.config/shell/aliasrc
@@ -383,7 +383,7 @@ alias skype='skypeforlinux'
# ssh
alias gts="ssh $THESIAH_SERVER"
-alias wwr="ssh recordings"
+alias wwr="ssh diary"
# sudo
alias su='sudo su -l root'
@@ -501,6 +501,6 @@ alias szs="source ${XDG_CONFIG_HOME:-${HOME}/.config}/zsh/.zshrc"
alias ylogh='ylog -s hidden -c us | grep $(LC_TIME=C date +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
alias ylogi='ylog -s hidden -c us | grep $(LC_TIME=C date -v-1d +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
-alias ylogt='ylog -s recordings -c us | grep $(LC_TIME=C date +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
-alias ylogy='ylog -s recordings -c us | grep $(LC_TIME=C date -v-1d +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
-alias ylogu='ylog -s recordings -c us'
+alias ylogt='ylog -s diary -c us | grep $(LC_TIME=C date +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
+alias ylogy='ylog -s diary -c us | grep $(LC_TIME=C date -v-1d +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "'
+alias ylogu='ylog -s diary -c us'
diff --git a/mac/.config/zsh/scripts.zsh b/mac/.config/zsh/scripts.zsh
index f92a6c4..ac59ca6 100644
--- a/mac/.config/zsh/scripts.zsh
+++ b/mac/.config/zsh/scripts.zsh
@@ -388,9 +388,13 @@ EOF
)
[[ -z "${SELECTED_DIRS// }" ]] && return
if [[ "$(echo "$SELECTED_DIRS" | wc -l)" -eq 1 ]]; then
- cd "$SELECTED_DIRS"
- if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain)" ]]; then
- git status --porcelain 2>/dev/null
+ if [[ -n "$TMUX" ]]; then
+ opensessions "$SELECTED_DIRS"
+ else
+ cd "$SELECTED_DIRS" || return
+ if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain 2>/dev/null)" ]]; then
+ git status --porcelain
+ fi
fi
else
opensessions "$SELECTED_DIRS"