在Python中使用doxygen样式文档字符串的Vim语法高亮显示

时间:2013-08-08 07:52:04

标签: python vim syntax-highlighting doxygen

我开始使用 doxygen 来生成我的Python代码的文档。 我使用doxypy过滤器来预处理Python文档字符串。 我的目标是在Python中有一个很好的语法突出显示doxygen注释。

在专用.dox文件中编写主页时,我发现可以使用以下命令在 vim 中突出显示doxygen注释:

set syntax=c.doxygen

我为Python尝试了相同的命令,但我什么都没得到:     set syntax = python.doxygen

我也做了一些谷歌搜索,找不到任何有趣的东西

以下是我要强调的典型代码:

class CompilationTab:
    """
    The compilation tab of the verif GUI. It contains the layout description
    and the functions required to deal with specific behaviors of the tab
    """
    def __init__(self, notebook, tab_name):
        """
        The class constructor.

        @param notebook Notebook: The parent @c Notebook widget
        @param tab_name String: The display name of the tab
        """

有人已经解决了这个问题吗? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:7)

如果您查看syntax/doxygen.vim,您可以阅读目前仅

的文件的前导码
cpp, c, idl, doxygen and php
支持

文件。

由于doxygen.vim使用syn region命令工作很多,我搜索了syntax/python.vim中定义多行字符串的行。

定义此区域的命令的有趣部分是

syn region pythonString start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend

doxygen.vim和上面的行中得到的内容可以添加以下行

"delete the following line if you don't want to have enhanced colors
let g:doxygen_enhanced_color=1
runtime! syntax/doxygen.vim
syn region doxygenComment matchgroup=pythonString start=+[uU]\=\z('''\|"""\)+ end="\z1" contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold containedin=pythonString

~/.vim/after/syntax/python.vim或手动执行。

此外,您可能需要手动自定义添加的doxygen突出显示组的颜色。至少我会这样做,因为产生的外观不符合我的口味。

或许fold命令的syn参数对您特别感兴趣。如果您将foldmethod设置为syntax,则可折叠并展开多行注释。如果您不再能够看到这些颜色,并且懒得调整它们,那么这似乎很有用:)


没有doxygen突出显示:

enter image description here

使用doxygen高亮显示和g:doxygen_enhanced_color == 1

enter image description here