summaryrefslogtreecommitdiff
path: root/lib/termsupport.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2014-03-25 21:01:34 +0100
committerMarc Cornellà <marc.cornella@live.com>2014-03-25 21:14:20 +0100
commit5137e0e509ae4d6534be132d614d43ea53d8a4e4 (patch)
treeaaf89c4e0ac30c64db6b768230f27a43220902f0 /lib/termsupport.zsh
parentffc17b6b4d55f74b9d3786ba790b7340865e5014 (diff)
downloadzsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.tar.gz
zsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.tar.bz2
zsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.zip
Escape % in $CMD variable
Fixes formatting on some rare cases when a percent ends up in the $CMD variable, like these below: - When assigning a variable, $CMD ends up with the second parameter; in this case, $CMD will contain '+%s%N', messing with the syntax: $ a=`date +%s%N` - A function (or command in general) that contains a percent symbol: $ to\%() { echo $(( $1 * 100 / $3))\% } # $CMD=to%() $ to% 2 of 10 # $CMD=to%
Diffstat (limited to 'lib/termsupport.zsh')
-rw-r--r--lib/termsupport.zsh5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index 5f2fe63d4..9c0a430fb 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -26,8 +26,11 @@ function omz_termsupport_precmd {
function omz_termsupport_preexec {
emulate -L zsh
setopt extended_glob
- local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
+
+ # cmd name only, or if this is sudo or ssh, the next cmd
+ local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]:gs/%/%%}
local LINE="${2:gs/%/%%}"
+
title '$CMD' '%100>...>$LINE%<<'
}