refactor: improve quoting and keybindings
Amolith
created 2 months ago
- 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
Change summary
agentsh.zsh | 8 ++++----
conf.d/agentsh.fish | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
Detailed changes
@@ -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
@@ -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
+