我目前正在使用doxymacs语法突出显示我正在处理的协作项目中的C ++文件中的doxygen注释和关键字。
然而,在项目中,有“计划”文件基本上是非常长的doxygen评论,有很多待办事项,错误等,都使用html标签进行组织和演示。
目前doxymacs只突出了“todo”和“bug”等关键字。如何在doxygen注释中突出显示html标签?
我可以通过切换到“html-mode”来做到这一点,但后来我失去了标准的doxymacs突出显示“todo”等。只要能够同时使用这两种模式或将它们组合起来就会很有用。
例如,如果我有:
/*!
\todo Test todo
<ul>
<li> Some text. </li>
<li> Some more text. </li>
</ul>
*/
我希望<ul>
代码等的颜色与/*! */
条评论中的普通文字颜色不同。
答案 0 :(得分:1)
这会将<>
中的任何内容锁定为c-derived模式中的注释中的关键字:
(defun my-c-font-lock-doxy-html (limit)
(while (re-search-forward "<.+?>" limit 'move)
(let ((beg (match-beginning 0))
(end (match-end 0)))
(if (nth 4 (syntax-ppss beg))
(when (nth 4 (syntax-ppss end))
(c-put-font-lock-face beg end 'font-lock-keyword-face))
(goto-char end))))
nil)
(defun my-c-mode-common-hook ()
(font-lock-add-keywords nil '((my-c-font-lock-doxy-html))))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)