Настройка цветовых схем source-highlight?

Вопрос или проблема

Пакет source-highlight установлен на моей системе. Он подсвечивает файлы, которые я просматриваю с помощью less, используя /usr/bin/lesspipe и переменную окружения LESSOPEN.

Теперь я хочу изменить цветовую схему, которую этот механизм использует для некоторых/всех типов файлов. У меня есть root-доступ на машине. Как это сделать?

Примечание: Это распределение Linux Devuan 3 Beowulf (~= Debian 10 Buster).

Вы можете использовать другой файл стиля в source-highlight, который используется для less. В /usr/share/source-highlight/src-hilite-lesspipe.sh вы найдете:

source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i "$source" ;;

Вы можете заменить esc.style на другой файл стиля (из usr/share/source-highlight/). Однако… большинство файлов стилей несовместимы с выводом ANSI escape-кодов и не будут работать. Так что вы, в основном, застряли.

Попробуйте, возможно, связаться с автором.

Я не нашел ничего соответствующего в руководстве GNU source-highlight.

По умолчанию esc действительно плохой (версия 3.1.8), особенно для черных терминалов, потому что имена функций печатаются черным цветом.

Я потратил месяцы, пытаясь разобраться с этим, и наконец нашел хорошее решение. Измените /usr/share/source-highlight/src-hilite-lesspipe.sh на использование встроенного стиля esc256, который имеет более насыщенные цвета:

source-highlight --failsafe --infer-lang -f esc256 --style-file=esc256.style -i "$source" ;;

Вы можете настроить цвета в своем собственном файле стилей, но я нашел изменение esc -> esc256 значительным шагом вперед для кода C++, который я регулярно просматриваю в терминале с less.

Для выборочного определения вы могли бы использовать скрипт lesspipe для определения типа файла, а затем, предположительно, использовать такие опции, как -s, --src-lang=STRING, чтобы запустить source-highlight с другим языковым стилем.

Я знаю, вы конкретно спрашивали о source-highlight, но кажется, что
модификация цветовой схемы в source-highlight не так проста (по крайней мере, пока).

Я использую highlight для просмотра файлов с подсветкой с помощью cat и less.
Домашняя страница: http://andre-simon.de/doku/highlight/en/highlight.php

Я использую эти алиасы в моем .bashrc:

# Алиас для Highlight, см. highlight(1).
alias ccat="highlight --style breeze --out-format xterm256 --force"
alias cless="LESSOPEN="| highlight --style breeze --out-format xterm256 --force %s" less -RM "

Highlight может делать больше, чем вывод в терминал, поэтому не все включенные цветовые темы подходят для просмотра в терминале.
Лично я считаю, что breeze, molokai и nightshimmer наилучшим образом подходят для (темных) терминалов.

.

Ответ или решение

Настройка цветовых схем в source-highlight может казаться непростой задачей, особенно когда целью является достижение максимально удобного отображения кода в терминале. Это особенно важно, если в вашем рабочем окружении, таком как Devuan 3 Beowulf (так же известный как Debian 10 Buster), широко используется система просмотра файлов с помощью less и переменной окружения LESSOPEN.

Теоретическая основа

source-highlight является мощным инструментом для подсветки синтаксиса в текстовых файлах, который преобразует исходный текст в различные форматы с подсветкой синтаксиса, тем самым облегчая чтение и анализ кода. При использовании в сочетании с less, он может значительно улучшить восприятие структурных элементов кода, таких как ключевые слова, функции и комментарии.

Для настройки цветовых схем в source-highlight у вас есть возможность изменить стиль, который используется для отображения синтаксиса в терминале. Это можно сделать, редактируя скрипт src-hilite-lesspipe.sh, который обычно находится в директории /usr/share/source-highlight/. По умолчанию там используется esc.style, который может не удовлетворять вашим требованиям по цветовой насыщенности, особенно если вы работаете на темном фоне терминала.

Пример решения

Рассмотрев проблему, можно заметить, что одним из наиболее простых вариантов улучшения видимости является переход с esc.style на esc256.style. Последний обеспечивает более насыщенные и выделенные цвета, что может значительно улучшить читаемость кода.

Пример изменения в файле /usr/share/source-highlight/src-hilite-lesspipe.sh может выглядеть так:

source-highlight --failsafe --infer-lang -f esc256 --style-file=esc256.style -i "$source" ;;

Этот небольшой модификация не требует значительных усилий, но может значительно улучшить ваше восприятие C++ кода или любого другого исходного кода, который вы просматриваете с помощью less.

Практическое применение

Изменение цветовой схемы в source-highlight может быть лишь начальным шагом. Вы также можете создавать свои собственные стили, прописав настройки цветовой палитры под ваши конкретные нужды. Если esc256 все еще не подходит, вы можете раскрыть потенциал исходного кода, создав собственный стиль. Для этого потребуется редактирование .style файлов, которые располагаются в /usr/share/source-highlight.

Стоит также упомянуть альтернативные инструменты, такие как highlight, которые предоставляют дополнительные возможности для кастомизации цветовой палитры. С помощью таких инструментов, как highlight, можно задать особые стили, которые лучше адаптированы для отображения в терминальных приложениях. Кроме того, воспользоваться ими можно благодаря простым алиасам в файле конфигурации терминала, как, например:

alias ccat="highlight --style breeze --out-format xterm256 --force"
alias cless="LESSOPEN="| highlight --style breeze --out-format xterm256 --force %s" less -RM "

Эти алиасы позволяют быстро переключаться между стилями (например, breeze, molokai, nightshimmer) без необходимости глубоких изменений в настройках source-highlight.

Вывод

Настройка цветовых схем в source-highlight — это мощный способ повышения качества восприятия информации, отображаемой в консоли. Простой переход на esc256.style может уже привести к значительным улучшениям, но всегда есть пространство для дальнейших экспериментов и создания кастомизированных решений, подходящих для ваших уникальных задач. Исследование и адаптация других инструментов, таких как highlight, может также стать релевантным и полезным шагом в достижении комфортной работы с кодом в терминале. Ваша цель — не только добиться функциональности, но и создать среду, в которой каждый работает с удовольствием и эффективностью.

Оцените материал
Добавить комментарий

Капча загружается...