summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/p10k.zsh16
1 files changed, 11 insertions, 5 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 6c7be271..c4072d7a 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -5477,10 +5477,16 @@ function _p9k_parse_buffer() {
(( ic )) && tokens[1,0]=(${(Z+C+)s}) || tokens[1,0]=(${(z)s})
done
- if [[ $token == '<<'(|-) ]]; then
- state=h
- continue
- fi
+ case $token in
+ '<<'(|-))
+ state=h
+ continue
+ ;;
+ '`'*'`'|'"`'*'`"'|'$('*')'|'"$('*')"'|['<>=']'('*')')
+ s=${${token##('"'|)(['$<>']|)?}%%?('"'|)}
+ (( ic )) && tokens+=(';' ${(Z+C+)s}) || tokens+=(';' ${(z)s})
+ ;;
+ esac
case $state in
*r)
@@ -5638,7 +5644,7 @@ function _p9k_parse_buffer() {
cmd+=$token$'\0'
else
state=t
- [[ $token == ('(('*'))'|'`'*'`'|'$'*|['<>']'('*')'|*$'\0'*) ]] || cmd+=$token$'\0'
+ [[ $token == ('(('*'))'|'`'*'`'|'$'*|['<>=']'('*')'|*$'\0'*) ]] || cmd+=$token$'\0'
fi
done
} always {