【问题标题】:How to make Doxygen do syntax highlighting in @code containing XML fragments?如何让 Doxygen 在包含 XML 片段的 @code 中进行语法高亮显示?
【发布时间】:2014-12-24 14:59:10
【问题描述】:

我正在记录一个处理 XML 数据格式的软件库。我希望能够在文档中编写 XML 示例,这样做的自然方法是

@code{.xml}
... xml here ...
@endcode

除了 Doxygen 不像 C++ 等其他内容那样对内容进行语法高亮。 (我也尝试过 .html 而不是 .xml ,以防 Doxygen 支持 HTML 但不支持 XML,但 Doxygen 似乎无法识别其中任何一个。)

有人对如何实现 XML 代码片段的语法高亮有任何建议吗?

(关于这个话题,我在哪里可以找到 Doxygen @code/@endcode 块中识别和突出显示的语言列表?我还没有找到它到目前为止在 Doxygen 手册中。) 假设 Doxygen 只能对它可以解析的语言进行语法高亮显示(正如下面 cmets 中的用户“albert”所指出的,变量 EXTENSION_MAPPING 列出了这些语言),那么这意味着需要一些外部预处理。有没有人建议一个聪明的方法来做到这一点?

【问题讨论】:

  • 关于@code 支持的语言。它没有明确写出来,但从使用的句子中可以得出它是 doxygen 直接支持的语言(可能通过 EXTENSION_MAPPING)。
  • 这是一个很好的观点。 Doxygen 1.8.8 的 EXTENSION_MAPPING 的描述表明该列表是 IDL、Java、Javascript、C#、C、C++、D、PHP、Objective-C、Python、Fortran 和 VHDL。假设它只能突出显示它也可以解析的语言,那么它将需要一些非 Doxygen 处理来获得不在列表中的内容(例如 XML)的语法突出显示。我会适当地编辑我的问题。感谢您的提示!

标签: xml doxygen documentation-generation


【解决方案1】:

对于像我这样的其他人,可能会在原始帖子发布多年后遇到,Doxygen 支持通过 Markdown Extensions 支持的语言的语法突出显示。只需使用 Fenced Code Blocks\code 命令并指定明确的文件扩展名。

我也找到了a Javascript library that can be used with Doxygen,但我还没有真正尝试过。

【讨论】:

  • 我不确定我是否理解。我已经在使用带有显式文件扩展名的 \code{} 命令,如我原来的帖子中所示。
  • 我的错。我想我没有仔细阅读你的帖子。我现在看到您的问题特别是针对 XML 的语法突出显示,您已经知道它不受支持。尽管我还没有尝试过,但最后一个链接可能会有所帮助。如果我这样做了,我会回来编辑我的回复。
猜你喜欢
  • 2021-07-09
  • 2016-06-19
  • 2019-09-19
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多