Spec-Zone.ru › Elixir 1.14

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 просто отбрасываются.

Краткое описание

Типы

ansicode()
ansidata()
ansilist()

Функции

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(ansidata, emit? \\ enabled?())

Форматирует аргумент, похожий на chardata, преобразуя именованные ANSI-последовательности в фактические ANSI-коды.

format_fragment(ansidata, 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()

Изображение: позитивное. Нормальный цвет переднего и заднего плана.

syntax_colors()

Цвета синтаксиса, используемые Inspect.

underline()

Подчёркивание: одиночное.

white()

Устанавливает цвет переднего плана на белый.

white_background()

Устанавливает цвет фона на белый.

yellow()

Устанавливает цвет переднего плана на жёлтый.

yellow_background()

Устанавливает цвет фона на жёлтый.

Типы

ansicode()Source

@type ansicode() :: atom()

ansidata()Source

@type ansidata() :: ansilist() | ansicode() | binary()

ansilist()Source

@type ansilist() ::
  maybe_improper_list(
    char() | ansicode() | binary() | ansilist(),
    binary() | ansicode() | []
  )

Функции

black()Source

@spec black() :: String.t()

Устанавливает цвет переднего плана на чёрный.

black_background()Source

@spec black_background() :: String.t()

Устанавливает цвет фона на чёрный.

blink_off()Source

@spec blink_off() :: String.t()

Мигание: выключено.

blink_rapid()Source

@spec blink_rapid() :: String.t()

Мигание: быстро. MS-DOS ANSI.SYS; 150 или более импульсов в минуту; не широко поддерживается.

blink_slow()Source

@spec blink_slow() :: String.t()

Мигание: медленно. Менее 150 импульсов в минуту.

blue()Source

@spec blue() :: String.t()

Устанавливает цвет переднего плана на синий.

blue_background()Source

@spec blue_background() :: String.t()

Устанавливает цвет фона на синий.

bright()Source

@spec bright() :: String.t()

Яркий (увеличенная интенсивность) или жирный.

clear()Source

@spec clear() :: String.t()

Очищает экран.

clear_line()Source

@spec clear_line() :: String.t()

Очищает строку.

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

@spec conceal() :: String.t()

Скрыть. Не широко поддерживается.

crossed_out()Source

@spec crossed_out() :: String.t()

Зачёркнутый. Символы читаются, но помечены для удаления. Не широко поддерживается.

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

@spec cyan() :: String.t()

Устанавливает цвет переднего плана на светло-синий.

cyan_background()Source

@spec cyan_background() :: String.t()

Устанавливает цвет фона на светло-синий.

default_background()Source

@spec default_background() :: String.t()

Цвет фона по умолчанию.

default_color()Source

@spec default_color() :: String.t()

Цвет текста по умолчанию.

enabled?()Source

@spec enabled?() :: boolean()

Проверяет, поддерживается ли и включена ли ANSI-раскраска на этом компьютере.

Эта функция просто считывает значение конфигурации для :ansi_enabled в приложении :elixir. Значение по умолчанию false, если Elixir не может определить во время запуска, что оба stdout и stderr являются терминалами.

encircled()Source

@spec encircled() :: String.t()

Окружённый.

faint()Source

@spec faint() :: String.t()

Тусклый (уменьшенная интенсивность). Не широко поддерживается.

font_1()Source

@spec font_1() :: String.t()

Устанавливает альтернативный шрифт 1.

font_2()Source

@spec font_2() :: String.t()

Устанавливает альтернативный шрифт 2.

font_3()Source

@spec font_3() :: String.t()

Устанавливает альтернативный шрифт 3.

font_4()Source

@spec font_4() :: String.t()

Устанавливает альтернативный шрифт 4.

END_OF_DOCUMENT_MARKER

font_5()Source

@spec font_5() :: String.t()

Устанавливает альтернативный шрифт 5.

font_6()Source

@spec font_6() :: String.t()

Устанавливает альтернативный шрифт 6.

font_7()Source

@spec font_7() :: String.t()

Устанавливает альтернативный шрифт 7.

font_8()Source

@spec font_8() :: String.t()

Устанавливает альтернативный шрифт 8.

font_9()Source

@spec font_9() :: String.t()

Устанавливает альтернативный шрифт 9.

format(ansidata, emit? \\ enabled?())Source

@spec format(ansidata(), boolean()) :: IO.chardata()

Форматирует аргумент типа 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(ansidata, emit? \\ enabled?())Source

@spec format_fragment(ansidata(), boolean()) :: IO.chardata()

Форматирует аргумент типа 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

@spec framed() :: String.t()

Оформлено рамкой.

green()Source

@spec green() :: String.t()

Устанавливает цвет переднего плана на зелёный.

green_background()Source

@spec green_background() :: String.t()

Устанавливает цвет фона на зелёный.

home()Source

@spec home() :: String.t()

Перемещает курсор в начало.

inverse()Source

@spec inverse() :: String.t()

Изображение: отрицание. Меняет местами передний и задний планы.

inverse_off()Source

@spec inverse_off() :: String.t()

Изображение: положительное. Нормальный передний и задний планы.

italic()Source

@spec italic() :: String.t()

Курсив: включен. Не широко поддерживается. Иногда рассматривается как инверсия.

light_black()Source

@spec light_black() :: String.t()

Устанавливает цвет переднего плана на светло-чёрный.

light_black_background()Source

@spec light_black_background() :: String.t()

Устанавливает цвет фона на светло-чёрный.

light_blue()Source

@spec light_blue() :: String.t()

Устанавливает цвет переднего плана на светло-синий.

light_blue_background()Source

@spec light_blue_background() :: String.t()

Устанавливает цвет фона на светло-синий.

light_cyan()Source

@spec light_cyan() :: String.t()

Устанавливает цвет переднего плана на светло-голубой.

light_cyan_background()Source

@spec light_cyan_background() :: String.t()

Устанавливает цвет фона на светло-голубой.

light_green()Source

@spec light_green() :: String.t()

Устанавливает цвет переднего плана на светло-зелёный.

light_green_background()Source

@spec light_green_background() :: String.t()

Устанавливает цвет фона на светло-зелёный.

light_magenta()Source

@spec light_magenta() :: String.t()

Устанавливает цвет переднего плана на светло-пурпурный.

light_magenta_background()Source

@spec light_magenta_background() :: String.t()

Устанавливает цвет фона на светло-пурпурный.

light_red()Source

@spec light_red() :: String.t()

Устанавливает цвет переднего плана на светло-красный.

light_red_background()Source

@spec light_red_background() :: String.t()

Устанавливает цвет фона на светло-красный.

light_white()Source

@spec light_white() :: String.t()

Устанавливает цвет переднего плана на светло-белый.

light_white_background()Source

@spec light_white_background() :: String.t()

Устанавливает цвет фона на светло-белый.

light_yellow()Source

@spec light_yellow() :: String.t()

Устанавливает цвет переднего плана на светло-жёлтый.

light_yellow_background()Source

@spec light_yellow_background() :: String.t()

Устанавливает цвет фона на светло-жёлтый.

END_OF_DOCUMENT_MARKER

magenta()Source

@spec magenta() :: String.t()

Устанавливает цвет фона в пурпурный.

magenta_background()Source

@spec magenta_background() :: String.t()

Устанавливает цвет фона в пурпурный.

no_underline()Source

@spec no_underline() :: String.t()

Подчёркивание: нет.

normal()Source

@spec normal() :: String.t()

Нормальный цвет или интенсивность.

not_framed_encircled()Source

@spec not_framed_encircled() :: String.t()

Без рамки или окружения.

not_italic()Source

@spec not_italic() :: String.t()

Не курсив.

not_overlined()Source

@spec not_overlined() :: String.t()

Без подчеркивания сверху.

overlined()Source

@spec overlined() :: String.t()

С подчеркиванием сверху.

primary_font()Source

@spec primary_font() :: String.t()

Устанавливает основной (по умолчанию) шрифт.

red()Source

@spec red() :: String.t()

Устанавливает цвет фона в красный.

red_background()Source

@spec red_background() :: String.t()

Устанавливает цвет фона в красный.

reset()Source

@spec reset() :: String.t()

Сбрасывает все атрибуты.

reverse()Source

@spec reverse() :: String.t()

Изображение: отрицательное. Меняет местами передний и задний фоны.

reverse_off()Source

@spec reverse_off() :: String.t()

Изображение: положительное. Нормальный передний и задний фоны.

syntax_colors()Source

@spec syntax_colors() :: Keyword.t(ansidata())

Цвета синтаксиса, которые используются Inspect.

Эти цвета используются во всей стандартной библиотеке Elixir, например, в dbg/2 и IEx.

Цвета можно изменить, установив :ansi_syntax_colors в конфигурации приложения :elixir. Поддерживается конфигурация для большинства встроенных типов данных: :atom, :binary, :boolean, :charlist, :list, :map, :nil, :number, :string, и :tuple. По умолчанию:

[
  atom: :cyan
  boolean: :magenta,
  charlist: :yellow,
  nil: :magenta,
  number: :yellow,
  string: :green
]

underline()Source

@spec underline() :: String.t()

Подчёркивание: одинарное.

white()Source

@spec white() :: String.t()

Устанавливает цвет фона в белый.

white_background()Source

@spec white_background() :: String.t()

Устанавливает цвет фона в белый.

yellow()Source

@spec yellow() :: String.t()

Устанавливает цвет фона в жёлтый.

yellow_background()Source

@spec yellow_background() :: String.t()

Устанавливает цвет фона в жёлтый.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.14.1/IO.ANSI.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API