Описание тега orca
Нет, замыканий являются слишком сложными для ЗШ. ЗШ предназначена для интерпретации небольшие скрипты, которые не далеко ушли от прямого взаимодействия. Он не имеет необычные особенности языка, которые являются очень полезными для программирования в большом, но меньше так для мелких задач, что снаряды обычно используются для.
Обратите внимание, что если в какой-то форме закрытия, что позволило значений переменных должны быть предварительно вычислены раз и навсегда и затем хранится, значения не обновляются, когда что-то меняется, что вызывает к становятся недействительными.
$git_info
и производных переменных может измениться в любой момент из-за изменений в файл в Git или Git-репозитория. Поэтому они должны быть в любом случае пересчитывается каждый раз.
Вы могли бы кэшировать значения чвд
и who_where
в глобальной переменной, так как они не меняются при нормальной работе. ухо
меняется, когда действующий каталог изменения, так что должны быть обновлены с chpwd
. Однако, эти переменные очень быстро вычислить, поэтому нет смысла беспокоить. Дорогие вычислений здесь работает git_prompt_info
, и что может измениться в любой момент.
Когда вы показываете информацией между каждой команды, это может быть лучшей идеей, чтобы положить его в качестве части строки (ПС1
или psvar
массив). ЗШ знает, что он должен отобразить подсказку в различных обстоятельствах, в то время как он ничего не знает о том, что вы печатаете от precmd
.