
Как узнать, является ли вводимая команда многострочной?
$CONTEXT может определить, когда происходит вторичная подсказка, например:
$ echo 'hello
quote> world'
Но как определить, есть ли новая строка, например:
$ echo 'hello
world'
(Выполнимо в режиме vi или с помощью self-insert-unmeta)
Мне нужна эта информация в виджете ZLE.
решение1
Полное содержимое логической входной строки находится вBUFFER
.
[[ $BUFFER == *$'\n'* ]]