Секції¶
Секції визначаються за допомогою функції 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%}