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 +