IO.ANSI
Функциональность для рендеринга последовательностей ANSI.
Последовательности ANSI — это символы, встроенные в текст, используемые для управления форматированием, цветом и другими параметрами вывода на текстовых терминалах.
Последовательности ANSI обычно включены на всех Unix-терминалах. Они также доступны в консолях Windows начиная с Windows 10, хотя для текущего пользователя их необходимо явно включить в реестре, выполнив следующую команду:
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
После выполнения указанной выше команды необходимо перезапустить текущую консоль.
Примеры
Так как последовательности ANSI встроены в текст, обычное использование этих функций заключается в конкатенации их вывода с текстом.
formatted_text = IO.ANSI.blue_background() <> "Example" <> IO.ANSI.reset() IO.puts(formatted_text)
Также доступен API более высокого уровня и удобнее посредством IO.ANSI.format/1, где вы используете атомы для представления каждой последовательности ANSI и по умолчанию проверяете, включен ли ANSI:
IO.puts(IO.ANSI.format([:blue_background, "Example"]))
В случае, если ANSI отключен, последовательности ANSI просто отбрасываются.
Краткое описание
Типы
Функции
- black()
Устанавливает цвет переднего плана на чёрный.
- black_background()
Устанавливает цвет фона на чёрный.
- blink_off()
Мигание: выключено.
- blink_rapid()
Мигание: быстрое. MS-DOS ANSI.SYS; 150 и более раз в минуту; не широко поддерживается.
- blink_slow()
Мигание: медленное. Менее 150 раз в минуту.
- blue()
Устанавливает цвет переднего плана на синий.
- blue_background()
Устанавливает цвет фона на синий.
- bright()
Яркий (увеличенная интенсивность) или жирный.
- clear()
Очищает экран.
- clear_line()
Очищает строку.
- color(code)
Устанавливает цвет переднего плана.
- color(r, g, b)
Устанавливает цвет переднего плана по отдельным значениям RGB.
- color_background(code)
Устанавливает цвет фона.
- color_background(r, g, b)
Устанавливает цвет фона по отдельным значениям RGB.
- conceal()
Скрыть. Не широко поддерживается.
- crossed_out()
Зачёркнутый. Символы читаемы, но помечены для удаления. Не широко поддерживается.
- cursor(line, column)
Перемещает курсор в абсолютную позицию, заданную
lineиcolumn.- cursor_down(lines \\ 1)
Перемещает курсор
linesвниз.- cursor_left(columns \\ 1)
Перемещает курсор
columnsвлево.- cursor_right(columns \\ 1)
Перемещает курсор
columnsвправо.- cursor_up(lines \\ 1)
Перемещает курсор
linesвверх.- cyan()
Устанавливает цвет переднего плана на светло-голубой.
- cyan_background()
Устанавливает цвет фона на светло-голубой.
- default_background()
Цвет фона по умолчанию.
- default_color()
Цвет текста по умолчанию.
- enabled?()
Проверяет, поддерживается ли и включено ли ANSI-окрашивание на данном компьютере.
- encircled()
Обведённое.
- faint()
Блеклый (уменьшенная интенсивность). Не широко поддерживается.
- font_1()
Устанавливает альтернативный шрифт 1.
- font_2()
Устанавливает альтернативный шрифт 2.
- font_3()
Устанавливает альтернативный шрифт 3.
- font_4()
Устанавливает альтернативный шрифт 4.
- font_5()
Устанавливает альтернативный шрифт 5.
- font_6()
Устанавливает альтернативный шрифт 6.
- font_7()
Устанавливает альтернативный шрифт 7.
- font_8()
Устанавливает альтернативный шрифт 8.
- font_9()
Устанавливает альтернативный шрифт 9.
- format(chardata, emit? \\ enabled?())
Форматирует аргумент типа chardata, преобразуя именованные ANSI-последовательности в фактические ANSI-коды.
- format_fragment(chardata, emit? \\ enabled?())
Форматирует аргумент типа chardata, преобразуя именованные ANSI-последовательности в фактические ANSI-коды.
- framed()
Оформлено рамкой.
- green()
Устанавливает цвет переднего плана на зелёный.
- green_background()
Устанавливает цвет фона на зелёный.
- home()
Перемещает курсор в начало.
- inverse()
Изображение: отрицательное. Меняет местами цвет переднего плана и фона.
- inverse_off()
Изображение: положительное. Нормальный цвет переднего плана и фона.
- italic()
Курсив: включен. Не широко поддерживается. Иногда обрабатывается как инвертированный.
- light_black()
Устанавливает цвет переднего плана на светло-чёрный.
- light_black_background()
Устанавливает цвет фона на светло-чёрный.
- light_blue()
Устанавливает цвет переднего плана на светло-синий.
- light_blue_background()
Устанавливает цвет фона на светло-синий.
- light_cyan()
Устанавливает цвет переднего плана на светло-голубой.
- light_cyan_background()
Устанавливает цвет фона на светло-голубой.
- light_green()
Устанавливает цвет переднего плана на светло-зелёный.
- light_green_background()
Устанавливает цвет фона на светло-зелёный.
- light_magenta()
Устанавливает цвет переднего плана на светло-пурпурный.
- light_magenta_background()
Устанавливает цвет фона на светло-пурпурный.
- light_red()
Устанавливает цвет переднего плана на светло-красный.
- light_red_background()
Устанавливает цвет фона на светло-красный.
- light_white()
Устанавливает цвет переднего плана на светло-белый.
- light_white_background()
Устанавливает цвет фона на светло-белый.
- light_yellow()
Устанавливает цвет переднего плана на светло-жёлтый.
- light_yellow_background()
Устанавливает цвет фона на светло-жёлтый.
- magenta()
Устанавливает цвет переднего плана на пурпурный.
- magenta_background()
Устанавливает цвет фона на пурпурный.
- no_underline()
Подчёркивание: нет.
- normal()
Нормальный цвет или интенсивность.
- not_framed_encircled()
Без рамки или окружения.
- not_italic()
Не курсивный.
- not_overlined()
Без черты сверху.
- overlined()
С чертой сверху.
- primary_font()
Устанавливает основной (по умолчанию) шрифт.
- red()
Устанавливает цвет переднего плана на красный.
- red_background()
Устанавливает цвет фона на красный.
- reset()
Сбрасывает все атрибуты.
- reverse()
Изображение: отрицательное. Меняет местами цвет переднего и заднего планов.
- reverse_off()
Изображение: положительное. Нормальные цвет переднего и заднего планов.
- underline()
Подчёркивание: одиночное.
- white()
Устанавливает цвет переднего плана на белый.
- white_background()
Устанавливает цвет фона на белый.
- yellow()
Устанавливает цвет переднего плана на жёлтый.
- yellow_background()
Устанавливает цвет фона на жёлтый.
Типы
Функции
black()Source
Устанавливает цвет переднего плана на черный.
black_background()Source
Устанавливает цвет фона на черный.
blink_off()Source
Мигание: выключено.
blink_rapid()Source
Мигание: быстро. ANSI MS-DOS.SYS; 150 или более кадров в секунду; не широко поддерживается.
blink_slow()Source
Мигание: медленно. Менее 150 кадров в секунду.
blue()Source
Устанавливает цвет переднего плана на синий.
blue_background()Source
Устанавливает цвет фона на синий.
bright()Source
Яркий (увеличенная интенсивность) или жирный.
clear()Source
Очищает экран.
clear_line()Source
Очищает строку.
color(code)Source
@spec color(0..255) :: String.t()
Устанавливает цвет переднего плана.
color(r, g, b)Source
@spec color(0..5, 0..5, 0..5) :: String.t()
Устанавливает цвет переднего плана из отдельных значений RGB.
Допустимые значения для каждого цвета находятся в диапазоне от 0 до 5.
color_background(code)Source
@spec color_background(0..255) :: String.t()
Устанавливает цвет фона.
color_background(r, g, b)Source
@spec color_background(0..5, 0..5, 0..5) :: String.t()
Устанавливает цвет фона из отдельных значений RGB.
Допустимые значения для каждого цвета находятся в диапазоне от 0 до 5.
conceal()Source
Скрывать. Не широко поддерживается.
crossed_out()Source
Зачеркнуто. Символы читаемые, но помеченные для удаления. Не широко поддерживается.
cursor(line, column)Source
@spec cursor(non_neg_integer(), non_neg_integer()) :: String.t()
Перемещает курсор в абсолютную позицию, указанную line и column.
Строка 0 и столбец 0 обозначают верхний левый угол.
cursor_down(lines \\ 1)Source
@spec cursor_down(pos_integer()) :: String.t()
Перемещает курсор lines вниз.
cursor_left(columns \\ 1)Source
@spec cursor_left(pos_integer()) :: String.t()
Перемещает курсор columns влево.
cursor_right(columns \\ 1)Source
@spec cursor_right(pos_integer()) :: String.t()
Перемещает курсор columns вправо.
cursor_up(lines \\ 1)Source
@spec cursor_up(pos_integer()) :: String.t()
Перемещает курсор lines вверх.
cyan()Source
Устанавливает цвет переднего плана на светло-голубой.
cyan_background()Source
Устанавливает цвет фона на светло-голубой.
default_background()Source
Цвет фона по умолчанию.
default_color()Source
Цвет текста по умолчанию.
enabled?()Source
@spec enabled?() :: boolean()
Проверяет, поддерживается ли и включена ли цветная распечатка ANSI на этом компьютере.
Эта функция просто считывает значение конфигурации для :ansi_enabled в приложении :elixir. Значение по умолчанию false, если Elixir не может определить во время запуска, что stdout и stderr являются терминалами.
encircled()Source
Окружено.
faint()Source
Блеклый (уменьшенная интенсивность). Не широко поддерживается.
font_1()Source
Устанавливает альтернативный шрифт 1.
font_2()Source
Устанавливает альтернативный шрифт 2.
font_3()Source
Устанавливает альтернативный шрифт 3.
font_4()Source
Устанавливает альтернативный шрифт 4.
font_5()Source
Устанавливает альтернативный шрифт 5.
font_6()Source
Устанавливает альтернативный шрифт 6.
font_7()Source
Устанавливает альтернативный шрифт 7.
font_8()Source
Устанавливает альтернативный шрифт 8.
font_9()Source
Устанавливает альтернативный шрифт 9.
format(chardata, emit? \\ enabled?())Source
Форматирует аргумент типа chardata, преобразуя именованные ANSI-последовательности в фактические ANSI-коды.
Именованные последовательности представлены атомами.
Он также добавит IO.ANSI.reset/0 к chardata при выполнении преобразования. Если вам не нужно это поведение, используйте format_fragment/2.
Необязательный булевый параметр может быть передан для включения или отключения вывода фактических ANSI-кодов. Когда false, ANSI-коды выводиться не будут. По умолчанию проверяет, включен ли ANSI, используя функцию enabled?/0.
Примеры
iex> IO.ANSI.format(["Hello, ", :red, :bright, "world!"], true) [[[[[[], "Hello, "] | "\e[31m"] | "\e[1m"], "world!"] | "\e[0m"]
format_fragment(chardata, emit? \\ enabled?())Source
Форматирует аргумент типа chardata, преобразуя именованные ANSI-последовательности в фактические ANSI-коды.
Именованные последовательности представлены атомами.
Необязательный булевый параметр может быть передан для включения или отключения вывода фактических ANSI-кодов. Когда false, ANSI-коды выводиться не будут. По умолчанию проверяет, включен ли ANSI, используя функцию enabled?/0.
Примеры
iex> IO.ANSI.format_fragment([:bright, 'Word'], true) [[[[[[] | "\e[1m"], 87], 111], 114], 100]
framed()Source
В рамке.
green()Source
Устанавливает цвет переднего плана в зеленый.
green_background()Source
Устанавливает цвет фона в зеленый.
home()Source
Перемещает курсор в начало.
inverse()Source
Изображение: негатив. Меняет местами передний и задний план.
inverse_off()Source
Изображение: позитив. Обычный передний и задний план.
italic()Source
Курсив: включен. Не поддерживается широко. Иногда трактуется как обратный.
light_black()Source
Устанавливает цвет переднего плана в светло-серый.
light_black_background()Source
Устанавливает цвет фона в светло-серый.
light_blue()Source
Устанавливает цвет переднего плана в светло-голубой.
light_blue_background()Source
Устанавливает цвет фона в светло-голубой.
light_cyan()Source
Устанавливает цвет переднего плана в светло-бирюзовый.
light_cyan_background()Source
Устанавливает цвет фона в светло-бирюзовый.
light_green()Source
Устанавливает цвет переднего плана в светло-зеленый.
light_green_background()Source
Устанавливает цвет фона в светло-зеленый.
light_magenta()Source
Устанавливает цвет переднего плана в светло-пурпурный.
light_magenta_background()Source
Устанавливает цвет фона в светло-пурпурный.
light_red()Source
Устанавливает цвет переднего плана в светло-красный.
light_red_background()Source
Устанавливает цвет фона в светло-красный.
light_white()Source
Устанавливает цвет переднего плана в светло-белый.
light_white_background()Source
Устанавливает цвет фона в светло-белый.
light_yellow()Source
Устанавливает цвет переднего плана в светло-желтый.
light_yellow_background()Source
Устанавливает цвет фона в светло-желтый.
magenta()Source
Устанавливает цвет переднего плана в пурпурный.
magenta_background()Source
Устанавливает цвет фона в пурпурный.
no_underline()Source
Подчеркивание: нет.
normal()Source
Обычный цвет или интенсивность.
not_framed_encircled()Source
Без рамки или кружка.
not_italic()Source
Не курсив.
not_overlined()Source
Без зачеркивания.
overlined()Source
С зачеркиванием.
primary_font()Source
Устанавливает основной (по умолчанию) шрифт.
red()Source
Устанавливает цвет переднего плана на красный.
red_background()Source
Устанавливает цвет заднего плана на красный.
reset()Source
Сбрасывает все атрибуты.
reverse()Source
Изображение: инвертированное. Меняет местами цвет переднего и заднего плана.
reverse_off()Source
Изображение: позитивное. Обычный цвет переднего и заднего плана.
underline()Source
Подчёркивание: одиночное.
white()Source
Устанавливает цвет переднего плана на белый.
white_background()Source
Устанавливает цвет заднего плана на белый.
yellow()Source
Устанавливает цвет переднего плана на жёлтый.
yellow_background()Source
Устанавливает цвет заднего плана на жёлтый.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.13.4/IO.ANSI.html