From 4ded39a0585e40dc7a12e44783bfd59d252c7849 Mon Sep 17 00:00:00 2001 From: Amolith Date: Sun, 9 Nov 2025 16:21:42 -0700 Subject: [PATCH] refactor: improve quoting and keybindings - Quote prefix variables in parameter expansion for safer handling - Use typeset instead of local for Zsh variable declarations - Remove -k flag from Fish bind commands (direct key syntax) - Add trailing newline to agentsh.fish Assisted-by: Claude Sonnet 4.5 via Crush --- agentsh.zsh | 8 ++++---- conf.d/agentsh.fish | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/agentsh.zsh b/agentsh.zsh index 1d47d6daa3385a0ff91fa8b7efe3f7881246da0b..5f724c476570d644493e70a94fbc520162865c9a 100644 --- a/agentsh.zsh +++ b/agentsh.zsh @@ -56,7 +56,7 @@ command_not_found_handler() { effective_cmd=("${remaining_args[@]}") elif [[ "$missing_command" == ${prefix_char}* ]]; then handled=true - local stripped="${missing_command#$prefix_char}" + local stripped="${missing_command#"$prefix_char"}" if [[ -n "$stripped" ]]; then effective_cmd=("$stripped" "${remaining_args[@]}") else @@ -107,7 +107,7 @@ __agentsh_toggle_prefix() { local prefix_len=${#prefix} if [[ "$BUFFER" == "$prefix"* ]]; then - BUFFER="${BUFFER#$prefix}" + BUFFER="${BUFFER#"$prefix"}" if ((CURSOR > prefix_len)); then CURSOR=$((CURSOR - prefix_len)) else @@ -214,8 +214,8 @@ __agentsh_register_guard_widget() { if [[ -o interactive ]]; then zle -N __agentsh_toggle_prefix - local -a __agentsh_keymaps=("emacs" "viins") - local keymap + typeset -a __agentsh_keymaps=("emacs" "viins") + typeset keymap for keymap in "${__agentsh_keymaps[@]}"; do bindkey -M "$keymap" '^X' __agentsh_toggle_prefix 2>/dev/null done diff --git a/conf.d/agentsh.fish b/conf.d/agentsh.fish index 94877c562cb3632cd81657de2bcabf090802725d..c2a7a25e9086c2696b23c803739993cfb6555f81 100644 --- a/conf.d/agentsh.fish +++ b/conf.d/agentsh.fish @@ -170,7 +170,7 @@ if status is-interactive # Bind multiple backspace variants bind \b __agentsh_guard_backward_delete bind \x7f __agentsh_guard_backward_delete - bind -k backspace __agentsh_guard_backward_delete + bind backspace __agentsh_guard_backward_delete # Bind Alt+Backspace variants bind \eb __agentsh_guard_backward_kill_word @@ -182,8 +182,8 @@ if status is-interactive # Bind in insert mode too bind -M insert \b __agentsh_guard_backward_delete bind -M insert \x7f __agentsh_guard_backward_delete - bind -M insert -k backspace __agentsh_guard_backward_delete bind -M insert \eb __agentsh_guard_backward_kill_word bind -M insert \e\x7f __agentsh_guard_backward_kill_word bind -M insert \cw __agentsh_guard_backward_kill_word end +