From 1448d234d6d9c25f64a48b16379b34db28a36898 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 11 Nov 2021 17:20:07 +0100 Subject: fix(dirhistory): fix Up/Down key bindings for Terminal.app Reference: https://github.com/ohmyzsh/ohmyzsh/commit/7f49494#commitcomment-60117011 --- plugins/dirhistory/dirhistory.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins/dirhistory/dirhistory.plugin.zsh') diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index 26ef07494..971eb6540 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -182,7 +182,7 @@ bindkey "\e\e[A" dirhistory_zle_dirhistory_up # Putty bindkey "\eO3A" dirhistory_zle_dirhistory_up # GNU screen case "$TERM_PROGRAM" in iTerm.app) bindkey "^[^[[A" dirhistory_zle_dirhistory_up ;; # iTerm2 -Apple_Terminal) bindkey "^[OA" dirhistory_zle_dirhistory_up ;; # Terminal.app +Apple_Terminal) bindkey "^[[A" dirhistory_zle_dirhistory_up ;; # Terminal.app esac if (( ${+terminfo[kcuu1]} )); then bindkey "^[${terminfo[kcuu1]}" dirhistory_zle_dirhistory_up # urxvt @@ -195,7 +195,7 @@ bindkey "\e\e[B" dirhistory_zle_dirhistory_down # Putty bindkey "\eO3B" dirhistory_zle_dirhistory_down # GNU screen case "$TERM_PROGRAM" in iTerm.app) bindkey "^[^[[B" dirhistory_zle_dirhistory_down ;; # iTerm2 -Apple_Terminal) bindkey "^[OB" dirhistory_zle_dirhistory_down ;; # Terminal.app +Apple_Terminal) bindkey "^[[B" dirhistory_zle_dirhistory_down ;; # Terminal.app esac if (( ${+terminfo[kcud1]} )); then bindkey "^[${terminfo[kcud1]}" dirhistory_zle_dirhistory_down # urxvt -- cgit v1.2.3-70-g09d2 From 06fc5fb12900d7ee5821a5f20b47be2c4b894ac0 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Tue, 9 Nov 2021 15:05:53 +0100 Subject: fix(dirhistory): fix unsafe eval bug in back and forward widgets The plugin unsafely processes directory paths in pop_past and pop_future. This commit fixes that. --- plugins/dirhistory/dirhistory.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins/dirhistory/dirhistory.plugin.zsh') diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index 971eb6540..e3f45ee99 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -19,14 +19,14 @@ export DIRHISTORY_SIZE=30 # Returns the element if the array was not empty, # otherwise returns empty string. function pop_past() { - eval "$1='$dirhistory_past[$#dirhistory_past]'" + eval "$1=${(q)dirhistory_past[$#dirhistory_past]}" if [[ $#dirhistory_past -gt 0 ]]; then dirhistory_past[$#dirhistory_past]=() fi } function pop_future() { - eval "$1='$dirhistory_future[$#dirhistory_future]'" + eval "$1=${(q)dirhistory_future[$#dirhistory_future]}" if [[ $#dirhistory_future -gt 0 ]]; then dirhistory_future[$#dirhistory_future]=() fi -- cgit v1.2.3-70-g09d2 From 2c06852546f52330c389b53a1b81348e62f64423 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Tue, 16 Nov 2021 17:18:07 +0100 Subject: style(dirhistory): remove use of `eval` completely --- plugins/dirhistory/dirhistory.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins/dirhistory/dirhistory.plugin.zsh') diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index e3f45ee99..9f39264cf 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -19,14 +19,14 @@ export DIRHISTORY_SIZE=30 # Returns the element if the array was not empty, # otherwise returns empty string. function pop_past() { - eval "$1=${(q)dirhistory_past[$#dirhistory_past]}" + print -v $1 "${dirhistory_past[$#dirhistory_past]}" if [[ $#dirhistory_past -gt 0 ]]; then dirhistory_past[$#dirhistory_past]=() fi } function pop_future() { - eval "$1=${(q)dirhistory_future[$#dirhistory_future]}" + print -v $1 "${dirhistory_future[$#dirhistory_future]}" if [[ $#dirhistory_future -gt 0 ]]; then dirhistory_future[$#dirhistory_future]=() fi -- cgit v1.2.3-70-g09d2 From fb86ec7749644bba4792f95bd06076049d9c74a6 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Tue, 14 Dec 2021 13:09:02 +0100 Subject: style: use `typeset` for dynamic variable names --- plugins/dirhistory/dirhistory.plugin.zsh | 4 ++-- themes/adben.zsh-theme | 4 ++-- themes/jonathan.zsh-theme | 4 ++-- themes/simonoff.zsh-theme | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'plugins/dirhistory/dirhistory.plugin.zsh') diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index 9f39264cf..2f5a79735 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -19,14 +19,14 @@ export DIRHISTORY_SIZE=30 # Returns the element if the array was not empty, # otherwise returns empty string. function pop_past() { - print -v $1 "${dirhistory_past[$#dirhistory_past]}" + typeset $1="${dirhistory_past[$#dirhistory_past]}" if [[ $#dirhistory_past -gt 0 ]]; then dirhistory_past[$#dirhistory_past]=() fi } function pop_future() { - print -v $1 "${dirhistory_future[$#dirhistory_future]}" + typeset $1="${dirhistory_future[$#dirhistory_future]}" if [[ $#dirhistory_future -gt 0 ]]; then dirhistory_future[$#dirhistory_future]=() fi diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme index ddb34236b..a11f7b0a9 100644 --- a/themes/adben.zsh-theme +++ b/themes/adben.zsh-theme @@ -32,8 +32,8 @@ ########## COLOR ########### for COLOR in CYAN WHITE YELLOW MAGENTA BLACK BLUE RED DEFAULT GREEN GREY; do - print -v "PR_$COLOR" "%b%{$fg[${(L)COLOR}]%}" - print -v "PR_BRIGHT_$COLOR" "%B%{$fg[${(L)COLOR}]%}" + typeset PR_$COLOR="%b%{$fg[${(L)COLOR}]%}" + typeset PR_BRIGHT_$COLOR="%B%{$fg[${(L)COLOR}]%}" done PR_RESET="%{$reset_color%}" diff --git a/themes/jonathan.zsh-theme b/themes/jonathan.zsh-theme index ca58b94a3..fc3cb2caa 100644 --- a/themes/jonathan.zsh-theme +++ b/themes/jonathan.zsh-theme @@ -37,8 +37,8 @@ setopt prompt_subst # See if we can use colors. autoload zsh/terminfo for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do - print -v "PR_$color" "%{$terminfo[bold]$fg[${(L)color}]%}" - print -v "PR_LIGHT_$color" "%{$fg[${(L)color}]%}" + typeset PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" + typeset PR_LIGHT_$color="%{$fg[${(L)color}]%}" done PR_NO_COLOUR="%{$terminfo[sgr0]%}" diff --git a/themes/simonoff.zsh-theme b/themes/simonoff.zsh-theme index 201d5d7e4..c7e35e160 100644 --- a/themes/simonoff.zsh-theme +++ b/themes/simonoff.zsh-theme @@ -45,8 +45,8 @@ setopt prompt_subst # See if we can use colors. autoload zsh/terminfo for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do - print -v "PR_$color" "%{$terminfo[bold]$fg[${(L)color}]%}" - print -v "PR_LIGHT_$color" "%{$fg[${(L)color}]%}" + typeset PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" + typeset PR_LIGHT_$color="%{$fg[${(L)color}]%}" done PR_NO_COLOUR="%{$terminfo[sgr0]%}" -- cgit v1.2.3-70-g09d2 From 7d03ea18eda8d89316fdb035fb3840f48a065338 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 16 Dec 2021 10:15:55 +0100 Subject: fix: declare variables as global when using `typeset` Fixes fb86ec77 --- plugins/dirhistory/dirhistory.plugin.zsh | 4 ++-- themes/adben.zsh-theme | 4 ++-- themes/jonathan.zsh-theme | 4 ++-- themes/simonoff.zsh-theme | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'plugins/dirhistory/dirhistory.plugin.zsh') diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index 2f5a79735..8268147f6 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -19,14 +19,14 @@ export DIRHISTORY_SIZE=30 # Returns the element if the array was not empty, # otherwise returns empty string. function pop_past() { - typeset $1="${dirhistory_past[$#dirhistory_past]}" + typeset -g $1="${dirhistory_past[$#dirhistory_past]}" if [[ $#dirhistory_past -gt 0 ]]; then dirhistory_past[$#dirhistory_past]=() fi } function pop_future() { - typeset $1="${dirhistory_future[$#dirhistory_future]}" + typeset -g $1="${dirhistory_future[$#dirhistory_future]}" if [[ $#dirhistory_future -gt 0 ]]; then dirhistory_future[$#dirhistory_future]=() fi diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme index a11f7b0a9..c2fdbed23 100644 --- a/themes/adben.zsh-theme +++ b/themes/adben.zsh-theme @@ -32,8 +32,8 @@ ########## COLOR ########### for COLOR in CYAN WHITE YELLOW MAGENTA BLACK BLUE RED DEFAULT GREEN GREY; do - typeset PR_$COLOR="%b%{$fg[${(L)COLOR}]%}" - typeset PR_BRIGHT_$COLOR="%B%{$fg[${(L)COLOR}]%}" + typeset -g PR_$COLOR="%b%{$fg[${(L)COLOR}]%}" + typeset -g PR_BRIGHT_$COLOR="%B%{$fg[${(L)COLOR}]%}" done PR_RESET="%{$reset_color%}" diff --git a/themes/jonathan.zsh-theme b/themes/jonathan.zsh-theme index fc3cb2caa..48927f1db 100644 --- a/themes/jonathan.zsh-theme +++ b/themes/jonathan.zsh-theme @@ -37,8 +37,8 @@ setopt prompt_subst # See if we can use colors. autoload zsh/terminfo for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do - typeset PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" - typeset PR_LIGHT_$color="%{$fg[${(L)color}]%}" + typeset -g PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" + typeset -g PR_LIGHT_$color="%{$fg[${(L)color}]%}" done PR_NO_COLOUR="%{$terminfo[sgr0]%}" diff --git a/themes/simonoff.zsh-theme b/themes/simonoff.zsh-theme index c7e35e160..287781d9e 100644 --- a/themes/simonoff.zsh-theme +++ b/themes/simonoff.zsh-theme @@ -45,8 +45,8 @@ setopt prompt_subst # See if we can use colors. autoload zsh/terminfo for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do - typeset PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" - typeset PR_LIGHT_$color="%{$fg[${(L)color}]%}" + typeset -g PR_$color="%{$terminfo[bold]$fg[${(L)color}]%}" + typeset -g PR_LIGHT_$color="%{$fg[${(L)color}]%}" done PR_NO_COLOUR="%{$terminfo[sgr0]%}" -- cgit v1.2.3-70-g09d2