Иногда бывает так, что для какой-то презентации или для документации вам нужен листинг кода который имеют такую же красивую раскраску кода как и в вашей IDE. Выхода тут конечно два. Или делать скриншоты, или раскрашивать сам листинг с помощью стилей. И если первый вариант подойдет для презентации, хотя и придется повозиться, то для документации такое уже не пойдет. Для пользователей Linux выход есть.
Есть такая замечательная программа Pygments.
В ubuntu ставим так:
$ sudo apt-get install python-pygments
Далее используем как обычную консольную программу:
$ pygmentize -O style=monokai -o output.rtf input.js
Здесь всё просто.
- -O параметр передающий далее опции для лексического анализатора и для форматирования.
- style= — задаем в каком стиле у нас будет подсветка. В мануале и справке для консоли — я не нашел как посмотреть доступные стили, однако поглядеть их всё же можно в исходниках на Bitbucket
- -o путь к файлу куда будет выведен результат. Я указал RTF как пример. Судя по документации — можно сделать вывод в HTML разметке, но я не пробовал — врать не стану.
- input.js — файл с исходным кодом который надо раскрасить.
Ну а дальше, можете с получившимся файлом поступать как вам хочется. Можно, кстати этот RTF вставить в презентацию в LibreOffice Impress — если вы готовите именно презентацию, а не документацию к коду.
Для этой же программы есть биндинг на PHP — для использования в своём PHP проекте. Найти можно по адресу https://github.com/capynet/PHPygments