Я пытаюсь расширить синтаксис Python, чтобы определить выделенные области как непрерывные строки комментариев, начинающиеся с #'
.Все после #'
должно рассматриваться как непрерывный текст уценки и выделяться в соответствии с правилами уценки.
Моя цель - написать файлов Python, которые могут быть скомпилированы с помощью pweave в Vim.
Примером может служить случай, когда абзац, начинающийся с # Foo
, будет выделен правилами уценки при игнорировании символов #'
в начале.Например, # Foo
будет рассматриваться как заголовок 1.
#' # Foo
#' The foo function below returns 1.
def foo():
return 1
Это то, что я пробовал до сих пор:
syn include @pythonMkd syntax/markdown.vim
syn region pythonDoxygen matchgroup=doxygenDelim start="^\(\s*#\{1,2}' \)" matchgroup=doxygenDelim end="^\s*\(#\{1,2}'\)\@!" contains=doxygenDelim,@pythonMkd,@Spell keepend fold
syn match doxygenDelim "^\s*#\{1,2}'" containedin=pythonDoxygen contained
Vim распознает блок как Markdown, но он не в состоянииигнорируйте символы #'
при анализе предложения так, что все, кроме первой строки, рассматривается как заголовок 1.
Я также попробовал следующее.Это обрабатывает регионы как уценку построчно, но все равно не игнорирует #'
при применении правил уценки.
syn region pythonDoxygen matchgroup=doxygenDelim start="^\(\s*#\{1,2}' \)" matchgroup=doxygenDelim end="^\s*\(#\{1,2}'\)\@!" contains=doxygenDelim,@pythonMkd,@Spell keepend fold