Учитывая большое количество вопросов , которые оказываются связанными с подоболочками в Bash ( «Почему не моя переменная прибавка в этом централизованной while read
цикле ?»), Я просто подумала , что было бы очень хорошо , чтобы обратиться к некоторому редактору или службе , где код который будет выполняться в подоболочках, форматируется иначе, чем код, выполняемый в родительской оболочке. Это может быть полезно в качестве учебного устройства (см. Разницу между code | code
и code < <(code)
мгновенно). Это существует?
Бонусные баллы, если кто-то реализует его для jEdit или VIm.
Очевидно , что это не должно быть совершенным (без подсветки синтаксиса есть, по моему опыту), но я подозреваю , что такие вещи , как (foo=bar; echo $foo;)
и command | while read ...
не должно быть слишком сложно для начала.
vim
подсветке кода.Ответы:
Я не думаю, что это существует. Это было бы полезно, но трудно реализовать стандартными средствами синтаксического анализа, используемыми в редакторах. С точки зрения синтаксического анализа существует много ключевых слов и специальных символов, которые необходимо проанализировать, чтобы определить блок кода, который принадлежит подоболочке.
Но я был бы рад видеть, что я неправ, и кто-то приложил усилия, необходимые для создания таких конфигураций.
источник
Мой Vim уже делает это.
Это на самом деле беспокоит меня, потому что это заставляет комментарии внутри подоболочек не применять правильное выделение.
Это Vim 7.3, патч 874, скомпилированный из исходного кода.
источник
zsh
когда я работаю в подоболочке. Это исправляет подсветку синтаксиса.set -x; set -e
этот раздел. И захватить весь этот вывод, включая stderr, в журнал.trap
ключевое слово выделены там. просто не удалось выделить комментарии. Тип файла Zsh работает, хотя. Теперь, что касается дифференциации суб-оболочки от основной, (что, в конце концов, то, что вы хотели, я думаю), ну ....... использовать некоторые комментарии?