如何在doxygen文档中嵌入shell片段

时间:2014-03-19 14:58:41

标签: shell syntax-highlighting doxygen

安装我的软件包时,用户应该在某个时候键入

./wand-new "`cat wandcfg_install.spell`"

或者调用任何配置文件。如果我把这行放在\ code ... \ endcode中,doxygen认为它是C ++或......无论如何,单词“new”被视为关键字。如何以语义正确的方式避免这种情况?

我认为\逐字被取消资格,因为它实际上是代码,对吗?

(我想答案是捅Dimitri应该在像LaTeX列表包这样的代码块中添加对更多语言的支持,或者至少在此期间为代码添加disableparse选项)

1 个答案:

答案 0 :(得分:0)

Doxygen,截至2017年7月,并未正式支持记录Shell / Bash脚本语言,甚至不是extension。有一个名为bash-doxygen的非官方过滤器。设置简单:只有一个文件下载和三个标志调整:

  • 编辑Doxyfile以将shell文件映射到C解析器:EXTENSION_MAPPING = sh=C
  • 将您的shell脚本文件名模式设置为Doxygen输入,例如 例如:FILE_PATTERNS = *.sh
  • doxygen-bash.sedINTPUT_FILTER中提及FILTER_PATTERN 您的Doxyfile的doxygen-bash.sed指令。如果$PATH在 您的sed -n -f /path/to/doxygen-bash.sed --,然后您可以按原样调用它,否则请使用\code {.sh}

请注意,因为它使用C语言解析,所以有一些限制,如bash-doxygen的主 README 页面所述,其中一个,至少在我的测试中, *识别shell语法,但代码块中的所有行都以星号(##)开头,显然是要求所有Doxygen doc部分都以双散列开头的行的副作用({ {1}})。