From d08d5ef7c5d6903f80d7dad3f14058c4492e557a Mon Sep 17 00:00:00 2001 From: Matthew Martin Date: Sun, 11 Feb 2018 13:03:56 -0600 Subject: [PATCH] main: Remove quotes before tilde expansion --- highlighters/main/main-highlighter.zsh | 7 +++++-- highlighters/main/test-data/path-tilde-named.zsh | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh index 5f23357..fc5cadf 100644 --- a/highlighters/main/main-highlighter.zsh +++ b/highlighters/main/main-highlighter.zsh @@ -1235,8 +1235,11 @@ _zsh_highlight_main_highlighter_expand_path() # The $~1 syntax normally performs filename generation, but not when it's on the right-hand side of ${x:=y}. setopt localoptions nonomatch - unset REPLY - : ${REPLY:=${(Q)${~1}}} + if [[ ${1[1]} == '~' ]]; then + REPLY=${~${(Q)1}} + else + REPLY=${(Q)1} + fi } # ------------------------------------------------------------------------------------------------- diff --git a/highlighters/main/test-data/path-tilde-named.zsh b/highlighters/main/test-data/path-tilde-named.zsh index 335b3fd..f7e1134 100644 --- a/highlighters/main/test-data/path-tilde-named.zsh +++ b/highlighters/main/test-data/path-tilde-named.zsh @@ -31,9 +31,11 @@ mkdir mydir touch mydir/path-tilde-named.test hash -d D=mydir -BUFFER='ls ~D/path-tilde-named.test' +BUFFER='ls ~D/path-tilde-named.test ~"D"' expected_region_highlight=( "1 2 command" # ls - "4 27 path" # ~D/path-tilde-named.test + "4 27 path" # ~D/path-tilde-named.test + "29 32 path" # ~"D" + "30 32 double-quoted-argument" # "D" )