Highlight python docstrings as comments (vim syntax highlighting)

后端 未结 3 941
梦毁少年i
梦毁少年i 2020-12-15 07:01

Is it possible to modify python.vim (and the corresponding colorscheme file) such that triple-quoted strings right under class and def statements (a.k.a. docstrings) will be

相关标签:
3条回答
  • 2020-12-15 07:47

    The following worked for me:

    syn region pythonDocstring  start=+^\s*[uU]\?[rR]\?"""+ end=+"""+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
    syn region pythonDocstring  start=+^\s*[uU]\?[rR]\?'''+ end=+'''+ keepend excludenl contains=pythonEscape,@Spell,pythonDoctest,pythonDocTest2,pythonSpaceError
    

    Taken from a modified python.vim from here.

    0 讨论(0)
  • 2020-12-15 08:01

    PEP 257 prescribes to use """triple double quotes""" for docstrings. It's not obligatory to include '''triple single quotes''' or "single double quotes" into docstrings. There is one difficulty that we have class docstrings, function docstrings, module docstrings, attribute docstrings and additional docstrings. That's why I decided that it's easier to consider docstring as following:

    syn region pythonDocString start=+^\s*"""+ end=+"""+ keepend contains=...
    

    And then:

    HiLink pythonDocString        Comment
    

    You may see examples in this script (search pythonDocString): https://github.com/andbar-ru/python-syntax/blob/master/syntax/python.vim

    0 讨论(0)
  • 2020-12-15 08:02

    you can add the following line:

    syn region Comment start=/"""/ end=/"""/
    

    to your ~/.vim/after/syntax/python.vim. You can create this file if it doesn't exists.

    0 讨论(0)
提交回复
热议问题