инструмент подсветки синтаксиса с открытым исходным кодом?[закрыто]

StackOverflow https://stackoverflow.com/questions/100415

  •  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">&quot;Hello World&quot;</span></pre>
</div>

а затем вы можете использовать одну из прилагаемых таблиц стилей или создать свою собственную.

Вы также можете вызвать его через it pygmentize сценарий.Скрипт может форматировать вывод различными способами:Вывод цветного терминала HTML, LaTeX, ANSI.

Другие советы

Вим может сохранять любой выделенный им код в «цветной» HTML (он работает на нескольких платформах).Есть Подсветка GNU слишком.И тонны других.

Есть очень хороший, основанный на XML, быстрый и с открытым исходным кодом: http://sourceforge.net/projects/colorer/

Я не помню, если ГеШи имеет программу командной строки, но даже если ее нет, создать ее не составит труда.Он отлично справляется с получением кода и созданием красивого, цветного HTML/XHTML, даже с номерами строк (или даже с номерами каждой X-строк) и другими полезными функциями.

Запись похоже на то, что вы просите:

  1. выплевывать HTML (или PS, или RTF) из файлов ascii
  2. Он включает в себя функции «красивой печати» (подсветку кода с учетом языка) на нескольких языках программирования.

Не уверен, насколько это будет полезно, но моя команда использует doxygen для создания документации, которая обеспечивает цветовую подсветку синтаксиса в наших представлениях кода, а также является дополнительным бонусом.Никогда в этом особо не нуждался, но он это делает.

Если вас устраивает использование Ruby, вам нужно кодрей.

я добавлю мой собственный в список, он окрашивает C#, но может быть адаптирован для C, C++ и Java.По умолчанию он создает встроенные стили и тег pre.

Исходный код находится на C#, вам нужно будет взять mono/monodevelop и скомпилировать его как консольное приложение, чтобы в этом отношении он не был сжат.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top