инструмент подсветки синтаксиса с открытым исходным кодом?[закрыто]
-
01-07-2019 - |
Вопрос
Я ищу кроссплатформенный (по крайней мере, для Windows и Linux) инструмент командной строки с открытым исходным кодом, который мог бы взять некоторый код (C++, но было бы неплохо использовать несколько языков) и выдать действительное XHTML-представление этого кода с подсветкой синтаксиса. включено.
В идеале XHTML должен просто обернуть код <span>
и <div>
теги с разными классами, чтобы я мог предоставить код CSS и изменить цвет, но это необязательно.
Кто-нибудь знает такое приложение?
Решение
Я могу порекомендовать Пигменты.С ним легко работать, и он поддерживает множество языков.Он делает то, что вы хотите, т. е. оборачивает код в <span>
теги:
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter())
дает
<div class="highlight">
<pre><span class="k">print</span> <span class="s">"Hello World"</span></pre>
</div>
а затем вы можете использовать одну из прилагаемых таблиц стилей или создать свою собственную.
Вы также можете вызвать его через it pygmentize
сценарий.Скрипт может форматировать вывод различными способами:Вывод цветного терминала HTML, LaTeX, ANSI.
Другие советы
Вим может сохранять любой выделенный им код в «цветной» HTML (он работает на нескольких платформах).Есть Подсветка GNU слишком.И тонны других.
Есть очень хороший, основанный на XML, быстрый и с открытым исходным кодом: http://sourceforge.net/projects/colorer/
Я не помню, если ГеШи имеет программу командной строки, но даже если ее нет, создать ее не составит труда.Он отлично справляется с получением кода и созданием красивого, цветного HTML/XHTML, даже с номерами строк (или даже с номерами каждой X-строк) и другими полезными функциями.
Запись похоже на то, что вы просите:
- выплевывать HTML (или PS, или RTF) из файлов ascii
- Он включает в себя функции «красивой печати» (подсветку кода с учетом языка) на нескольких языках программирования.
Не уверен, насколько это будет полезно, но моя команда использует doxygen для создания документации, которая обеспечивает цветовую подсветку синтаксиса в наших представлениях кода, а также является дополнительным бонусом.Никогда в этом особо не нуждался, но он это делает.
Если вас устраивает использование Ruby, вам нужно кодрей.
я добавлю мой собственный в список, он окрашивает C#, но может быть адаптирован для C, C++ и Java.По умолчанию он создает встроенные стили и тег pre.
Исходный код находится на C#, вам нужно будет взять mono/monodevelop и скомпилировать его как консольное приложение, чтобы в этом отношении он не был сжат.