Секції¶
Секції визначаються за допомогою функції spaceship::section
. Секція отримує значення параметрів для показу, такі як префікс, суфікс, колір та символ. Ці значення будуть використані для показу секції.
spaceship::section
використовується для упаковування даних секції в кортеж даних. Цей кортеж даних зберігається в кеші. Під час процесу обробки, кортеж для кожної секції перетворюється в секцію за допомогою функції spaceship::section::render
.
spaceship::section
¶
Порада
Для створення власної секції бажано використовувати функцію spaceship::section::v4
function. Функція з зазначенням версії забезпечить сумісність з новими версіями Spaceship.
Це основна функція для створення секції. Вона зчитує параметри секції і її вміст і перетворює їх на кортежі даних.
spaceship::section [--color color] [--prefix prefix] [--suffix suffix] [--symbol symbol] <content>
Вона бере один аргумент content
, який є контентом секції. Крім того, функція приймає наступні додаткові параметри:
--color
— колір для показувмісту
. Може бути назвою кольору чи кодом кольору.--prefix
— префікс передcontent
. Зазвичай це значенняSPACESHIP_<SECTION>_PREFIX
.--symbol
— символ секції. Може бути будь-яким допустимим значенням або результатом виконання команд. Буде додано перед змістом.--suffix
— суфікс післяcontent
. Зазвичай це значенняSPACESHIP_<SECTION>_SUFFIX
.
Порядок параметрів не важливий. Типово всі вони є порожніми рядками.
Довідка
content
, --prefix
, --suffix
та --symbol
можуть містити esc-послідовності для встановлення додаткових кольорів фону, написів та інших візуальних ефектів.
Детальніше про esc-послідовності в [13 Prompt Expansion](http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html) розділі документації Zsh.
spaceship::section::v4
¶
Це псевдонім функції spaceship:section
. Це функція з версією для створення власної секції.
Підпис цієї функції такий самий, як і для функції spaceship::section
.
Приклад використання:
local content="value"
spaceship::section::v4 \
--color "$SPACESHIP_SECTION_COLOR" \
--prefix "$SPACESHIP_SECTION_PREFIX" \
--suffix "$SPACESHIP_SECTION_SUFFIX" \
--symbol "$SPACESHIP_SECTION_SYMBOL" \
"$content"
spaceship::section::v3
¶
Попередження
Ця функція введена для сумісності з секціями Spachip v3. Натомість рекомендується використовувати функцію spaceship::section::v4
.
Це замінник для функції spaceship::section
, що використовувався в Spaceship v3. Використовуйте його для зворотної сумісності.
spaceship::section <color> [prefix] <content> [suffix]
spaceship::section:v3
покладається на наступний порядок аргументів:
color
Обовʼязково — колір для показуcontent
. Може бути назвою кольору чи кодом кольору.prefix
Опціонально — префікс передcontent
. Зазвичай це значенняSPACESHIP_<SECTION>_PREFIX
.content
Обовʼязково — вміст секції. Може бути будь-яким допустимим значенням або результатом виконання команд.suffix
Опціонально — суфікс післяcontent
. Зазвичай це значенняSPACESHIP_<SECTION>_SUFFIX
.
Ось простий приклад:
# Показ секції з префіксом та суфіксом
# Зворотна коса риска використовується для екранування кінця рядка
spaceship::section \
"$SPACESHIP_SECTION_COLOR" \
"$SPACESHIP_SECTION_PREFIX" \
"$SPACESHIP_SECTION_SYMBOL$section_content" \
"$SPACESHIP_SECTION_SUFFIX"
# Показ секції без префікса та суфікса
spaceship::section "$color" "$SPACESHIP_CHAR_SYMBOL"
spaceship::section::render
¶
Ця функція обробляє секцію з кортежу даних отриманих з spaceship::section
.
spaceship::render section <data>
Якщо SPACESHIP_PROMPT_PREFIXES_SHOW
є false
або якщо секція не є першою у запиті, то префікс буде пропущений.
Якщо SPACESHIP_PROMPT_SUFFIXES_SHOW
є false
, тоді суфікс буде пропущено.
data
є результатом функції spaceship::section
. Наприклад:
local color="red" content="value"
spaceship::section::render "$(spaceship::section --color "$color" "$content")"
#> %{%B%F{red}%}value%{%b%f%}