vim - como tratar três citações seguidas como um comentário em vez de uma string

2

Eu uso python e em python, três aspas seguidas

"""

ou

'''

significa um comentário de bloco, e um comentário normal é apenas uma hashtag. (#) Quero que os comentários sejam coloridos em cinza e que as cordas sejam coloridas em laranja. Eu estou usando o esquema de cores murphy. Eu fiz um arquivo murphy-mine.vim e adicionei isso a ele

hi Comment term=bold     ctermfg=Grey     guifg=Grey
hi String  term=bold     ctermfg=LightRed guifg=Orange

Mas o gvim vê """ e ''' como uma string na sintaxe python, em vez de tratá-la como um comentário (comentário de bloco). Existe uma maneira de eu dizer ao gvim para ver """ e ''' como comentário / bloco em vez de uma string?

    
por user216485 05.01.2014 / 20:09

2 respostas

3

Você pode colocar o seguinte em ~/.vim/after/syntax/python.vim (tirado de aqui :

" Highlight docstrings as comments, not string.
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

hi def link pythonDocstring pythonComment
    
por 05.01.2014 / 21:07
0

O PEP 257 prescreve o uso de "" "aspas triplas" "" para docstrings. Não é obrigatório incluir '' 'aspas duplas' '' ou 'aspas duplas' em docstrings. Há uma dificuldade em termos docstrings de classes, docstrings de funções, docstrings de módulos, docstrings de atributos e docstrings adicionais. É por isso que decidi que é mais fácil considerar a documentação da seguinte forma:

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

E então:

HiLink pythonDocString        Comment

Você pode ver exemplos neste script (pesquisa pythonDocString): link

    
por 24.03.2017 / 15:04