Запуск Julia и получение цветов для вывода в (unix-подобной) командной строке

#terminal #colors #julia #xfce

Вопрос:

Я начинаю работать с Джулией и смотрю это видео, и в то время, когда я подключился, ведущий запускает команду

 palette = distinguishable_colors(100)
 

Теперь, если я запущу это в своем терминале (xfce4-терминал), я просто получу вывод, который выглядит

  RGB{N0f8}(0.471,0.482,0.231)
 RGB{N0f8}(0.714,0.976,0.851)
 RGB{N0f8}(0.855,0.0,0.247)
 RGB{N0f8}(0.18,0.129,0.141)
 RGB{N0f8}(0.0,0.345,0.082)
 RGB{N0f8}(1.0,0.557,0.114)
 RGB{N0f8}(0.4,0.455,0.694)
 RGB{N0f8}(0.0,0.804,0.678)
 RGB{N0f8}(0.0,0.498,0.388)
 RGB{N0f8}(0.6,0.435,0.239)
 

Есть ли способ заставить его выводить фактические цвета на терминале (как в видео)? Это что-то, что должно быть обновлено в отдельной конфигурации (и что именно?), или что-то, что нужно настроить в Julia?

Ответ №1:

Конечно, вы можете просто использовать упаковку цветных карандашей. Этот пакет использует Int s для представления цветов, и API Colors.jl здесь довольно подробен (если только вы не хотите напрямую обращаться pallette к полям объектов, которые не были бы элегантными).

 using Color, Crayons

palette = distinguishable_colors(8);

crs = [Crayon(foreground = reinterpret.((red(palette[i]), green(palette[i]),blue(palette[i]))) ) for i in 1:8];

println.(crs, string.("This is line ",1:8));
 

введите описание изображения здесь

Обратите внимание, что первая строка имеет черный цвет, поэтому ее не видно, однако вы всегда можете добавить что-то подобное background=:white в Crayon конструктор.

введите описание изображения здесь