parse process substitutions

pull/436/head
romkatv 5 years ago
parent cbb3f2bc41
commit 35d2432326

@ -5477,10 +5477,16 @@ function _p9k_parse_buffer() {
(( ic )) && tokens[1,0]=(${(Z+C+)s}) || tokens[1,0]=(${(z)s}) (( ic )) && tokens[1,0]=(${(Z+C+)s}) || tokens[1,0]=(${(z)s})
done done
if [[ $token == '<<'(|-) ]]; then case $token in
state=h '<<'(|-))
continue state=h
fi continue
;;
'`'*'`'|'"`'*'`"'|'$('*')'|'"$('*')"'|['<>=']'('*')')
s=${${token##('"'|)(['$<>']|)?}%%?('"'|)}
(( ic )) && tokens+=(';' ${(Z+C+)s}) || tokens+=(';' ${(z)s})
;;
esac
case $state in case $state in
*r) *r)
@ -5638,7 +5644,7 @@ function _p9k_parse_buffer() {
cmd+=$token$'\0' cmd+=$token$'\0'
else else
state=t state=t
[[ $token == ('(('*'))'|'`'*'`'|'$'*|['<>']'('*')'|*$'\0'*) ]] || cmd+=$token$'\0' [[ $token == ('(('*'))'|'`'*'`'|'$'*|['<>=']'('*')'|*$'\0'*) ]] || cmd+=$token$'\0'
fi fi
done done
} always { } always {

Loading…
Cancel
Save