ansi для платформы
Сигнатура
> ansi {flags} (code)
Флаги
-
--escape, -e: управляющая последовательность без символа(-ов) управления ('\x1b[' не требуется) -
--osc, -o: управляющая последовательность операционной системы (osc) без символа(-ов) управления ('\x1b]' не требуется) -
--list, -l: Вывести список доступных имён кодов ANSI.
Параметры
-
code: Имя используемого кода (изansi -l).
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| ничего | любой тип |
Примеры
Изменить цвет на зелёный (см. следующий пример — его текст будет зелёным!)
> ansi green
Сбросить все стили и цвета
> ansi reset
Использовать разные цвета и стили в одном тексте
> $'(ansi red_bold)Hello(ansi reset) (ansi green_dimmed)Nu(ansi reset) (ansi purple_italic)World(ansi reset)' Hello Nu World
Тот же пример, что выше, с короткими именами
> $'(ansi rb)Hello(ansi rst) (ansi gd)Nu(ansi rst) (ansi pi)World(ansi rst)' Hello Nu World
Не сбрасывать цвет при установке или сбросе разных кодов стиля
> $'Set color to (ansi g)GREEN then style to (ansi bo)BOLD(ansi rst_bo) or (ansi d)DIMMED(ansi rst_d) or (ansi i)ITALICS(ansi rst_i) or (ansi u)UNDERLINE(ansi rst_u) or (ansi re)REVERSE(ansi rst_re) or (ansi h)HIDDEN(ansi rst_h) or (ansi s)STRIKE(ansi rst_s) then (ansi rst)reset everything' Set color to GREEN then style to BOLD or DIMMED or ITALICS or UNDERLINE or REVERSE or HIDDEN or STRIKE then reset everything
Использовать управляющие коды без '\x1b['
> $"(ansi --escape '3;93;41m')Hello(ansi reset)" # italic bright yellow on red background Hello
Использовать простую шестнадцатеричную строку
> $"(ansi '#4169E1')Hello(ansi reset)" # royal blue foreground color Hello
Использовать структурированные управляющие коды
> let bold_blue_on_red = { # `fg`, `bg`, `attr` are the acceptable keys, all other keys are considered invalid and will throw errors.
fg: '#0000ff'
bg: '#ff0000'
attr: b
}
$"(ansi --escape $bold_blue_on_red)Hello, Nu World!(ansi reset)"
Hello, Nu World!Использовать структурированные управляющие коды с именем атрибута
> let strike_blue_on_red = {
fg: '#0000ff'
bg: '#ff0000'
attr: strike
}
$"(ansi --escape $strike_blue_on_red)Hello, Nu World!(ansi reset)"
Hello, Nu World!Использовать структурированные управляющие коды с несколькими именами атрибутов
> let bold_italic_blue_on_red = {
fg: '#0000ff'
bg: '#ff0000'
attr: 'bold italic'
}
$"(ansi --escape $bold_italic_blue_on_red)Hello, Nu World!(ansi reset)"
Hello, Nu World!Использовать структурированные управляющие коды с объединёнными кодами атрибутов
> let bold_italic_strike_blue_on_red = {
fg: '#0000ff'
bg: '#ff0000'
attr: bis
}
$"(ansi --escape $bold_italic_strike_blue_on_red)Hello, Nu World!(ansi reset)"
Hello, Nu World!Использовать структурированные управляющие коды со списком атрибутов (разделённых запятыми)
> let bold_underline_blue = {
fg: '#0000ff'
attr: [b,underline]
}
$"(ansi --escape $bold_underline_blue)Hello, Nu World!(ansi reset)"
Hello, Nu World!Использовать структурированные управляющие коды с несколькими атрибутами в списке
> let styled_text = {
fg: '#0000ff'
bg: '#ff0000'
attr: [bold, italic, strike]
}
$"(ansi --escape $styled_text)Hello, Nu World!(ansi reset)"
Hello, Nu World!Примечания
An introduction to what ANSI escape sequences are can be found in the ]8;;https://en.wikipedia.org/wiki/ANSI_escape_code\ANSI escape code]8;;\ Wikipedia page. Escape sequences usual values: ╭────┬────────────┬────────┬────────┬─────────╮ │ # │ type │ normal │ bright │ name │ ├────┼────────────┼────────┼────────┼─────────┤ │ 0 │ foreground │ 30 │ 90 │ black │ │ 1 │ foreground │ 31 │ 91 │ red │ │ 2 │ foreground │ 32 │ 92 │ green │ │ 3 │ foreground │ 33 │ 93 │ yellow │ │ 4 │ foreground │ 34 │ 94 │ blue │ │ 5 │ foreground │ 35 │ 95 │ magenta │ │ 5 │ foreground │ 35 │ 95 │ purple │ │ 6 │ foreground │ 36 │ 96 │ cyan │ │ 7 │ foreground │ 37 │ 97 │ white │ │ 8 │ foreground │ 39 │ │ default │ │ 9 │ background │ 40 │ 100 │ black │ │ 10 │ background │ 41 │ 101 │ red │ │ 11 │ background │ 42 │ 102 │ green │ │ 12 │ background │ 43 │ 103 │ yellow │ │ 13 │ background │ 44 │ 104 │ blue │ │ 14 │ background │ 45 │ 105 │ magenta │ │ 14 │ background │ 45 │ 105 │ purple │ │ 15 │ background │ 46 │ 106 │ cyan │ │ 16 │ background │ 47 │ 107 │ white │ │ 17 │ background │ 49 │ │ default │ ╰────┴────────────┴────────┴────────┴─────────╯ Escape sequences style attributes: ╭────┬────┬──────────────┬─────────────────────────────────────────╮ │ # │ id │ abbreviation │ description │ ├────┼────┼──────────────┼─────────────────────────────────────────┤ │ 0 │ 0 │ rst │ reset / normal display │ │ 1 │ 1 │ bo │ bold on │ │ 2 │ 2 │ d │ dimmed on │ │ 3 │ 3 │ i │ italic on (non-mono font) │ │ 4 │ 4 │ u │ underline on │ │ 5 │ 5 │ bl │ blink on │ │ 6 │ 6 │ bf │ fast blink on │ │ 7 │ 7 │ r │ reverse video on │ │ 8 │ 8 │ h │ hidden (invisible) on │ │ 9 │ 9 │ s │ strike-through on │ │ 10 │ 21 │ rst_bo │ bold or dimmed off │ │ 11 │ 22 │ du │ double underline (not widely supported) │ │ 12 │ 23 │ rst_i │ italic off (non-mono font) │ │ 13 │ 24 │ rst_u │ underline off │ │ 14 │ 25 │ rst_bl │ blink off │ │ 15 │ 26 │ │ <reserved> │ │ 16 │ 27 │ rst_r │ reverse video off │ │ 17 │ 28 │ rst_h │ hidden (invisible) off │ │ 18 │ 29 │ rst_s │ strike-through off │ ╰────┴────┴──────────────┴─────────────────────────────────────────╯ Operating system commands: ╭───┬─────┬───────────────────────────────────────╮ │ # │ id │ description │ ├───┼─────┼───────────────────────────────────────┤ │ 0 │ 0 │ Set window title and icon name │ │ 1 │ 1 │ Set icon name │ │ 2 │ 2 │ Set window title │ │ 3 │ 4 │ Set/read color palette │ │ 4 │ 9 │ iTerm2 Grown notifications │ │ 5 │ 10 │ Set foreground color (x11 color spec) │ │ 6 │ 11 │ Set background color (x11 color spec) │ │ 7 │ ... │ others │ ╰───┴─────┴───────────────────────────────────────╯
Подкоманды:
| имя | описание | тип |
|---|---|---|
ansi gradient |
Добавляет цветовой градиент (с помощью кодов ANSI) к указанной строке. | встроенная |
ansi link |
Добавляет ссылку (с помощью управляющей последовательности OSC 8) к указанной строке. | встроенная |
ansi strip |
Удаляет управляющие последовательности ANSI из строки. | встроенная |
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/ansi.html