Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(snacks): addsnacks_win_opts for user to override opts ofSnacks.terminal.open()#65

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
qw457812 wants to merge1 commit intocoder:main
base:main
Choose a base branch
Loading
fromqw457812:feat_snacks_win_opts
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletionsREADME.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -157,6 +157,7 @@ For deep technical details, see [ARCHITECTURE.md](./ARCHITECTURE.md).
split_width_percentage = 0.30,
provider = "auto", -- "auto", "snacks", or "native"
auto_close = true,
snacks_win_opts = {}, -- Opts to pass to `Snacks.terminal.open()`
},

-- Diff Integration
Expand Down
1 change: 1 addition & 0 deletionsdev-config.lua
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,6 +70,7 @@ return {
-- provider = "auto", -- "auto", "snacks", or "native"
-- show_native_term_exit_tip = true, -- Show exit tip for native terminal
-- auto_close = true, -- Auto-close terminal after command completion
-- snacks_win_opts = {}, -- Opts to pass to `Snacks.terminal.open()`
-- },

-- Development overrides (uncomment as needed)
Expand Down
3 changes: 2 additions & 1 deletionlua/claudecode/init.lua
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -87,7 +87,8 @@ M.state = {
--- split_side?: "left"|"right", \
--- split_width_percentage?: number, \
--- provider?: "auto"|"snacks"|"native", \
--- show_native_term_exit_tip?: boolean }
--- show_native_term_exit_tip?: boolean, \
--- snacks_win_opts?: table }
---
---@alias ClaudeCode.SetupOpts { \
--- terminal?: ClaudeCode.TerminalOpts }
Expand Down
8 changes: 8 additions & 0 deletionslua/claudecode/terminal.lua
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ local config = {
show_native_term_exit_tip = true,
terminal_cmd = nil,
auto_close = true,
snacks_win_opts = {},
}

-- Lazy load providers
Expand DownExpand Up@@ -91,6 +92,9 @@ local function build_config(opts_override)
split_width_percentage = function(val)
return type(val) == "number" and val > 0 and val < 1
end,
snacks_win_opts = function(val)
return type(val) == "table"
end,
}
for key, val in pairs(opts_override) do
if effective_config[key] ~= nil and validators[key] and validators[key](val) then
Expand All@@ -102,6 +106,7 @@ local function build_config(opts_override)
split_side = effective_config.split_side,
split_width_percentage = effective_config.split_width_percentage,
auto_close = effective_config.auto_close,
snacks_win_opts = effective_config.snacks_win_opts,
}
end

Expand DownExpand Up@@ -179,6 +184,7 @@ end
-- @field user_term_config.split_width_percentage number Percentage of screen width (0.0 to 1.0, default: 0.30).
-- @field user_term_config.provider string 'snacks' or 'native' (default: 'snacks').
-- @field user_term_config.show_native_term_exit_tip boolean Show tip for exiting native terminal (default: true).
-- @field user_term_config.snacks_win_opts table Opts to pass to `Snacks.terminal.open()` (default: {}).
-- @param p_terminal_cmd string|nil The command to run in the terminal (from main config).
function M.setup(user_term_config, p_terminal_cmd)
if user_term_config == nil then -- Allow nil, default to empty table silently
Expand DownExpand Up@@ -210,6 +216,8 @@ function M.setup(user_term_config, p_terminal_cmd)
config[k] = v
elseif k == "auto_close" and type(v) == "boolean" then
config[k] = v
elseif k == "snacks_win_opts" and type(v) == "table" then
config[k] = v
else
vim.notify("claudecode.terminal.setup: Invalid value for " .. k .. ": " .. tostring(v), vim.log.levels.WARN)
end
Expand Down
4 changes: 2 additions & 2 deletionslua/claudecode/terminal/snacks.lua
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -54,12 +54,12 @@ local function build_opts(config, env_table, focus)
start_insert = focus,
auto_insert = focus,
auto_close = false,
win = {
win =vim.tbl_deep_extend("force",{
position = config.split_side,
width = config.split_width_percentage,
height = 0,
relative = "editor",
},
}, config.snacks_win_opts or {}),
}
end

Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp