Pregunta Vim: Edición del archivo de sintaxis python.vim para resaltar como Textmate


Estoy intentando editar el archivo de sintaxis python.vim para duplicar el resaltado de sintaxis de Python en Textmate. La imagen adjunta ilustra el resaltado de los parámetros de función que estoy luchando por lograr.

imgur pic of code

El self, a, b se resalta en Textmate pero no en Vim. Pensé que tenía que hacer lo siguiente.

  1. Coincide con una nueva región

    syn region pythonFunction start="(" end=")" contains=pythonParameters skipwhite transparent
    
  2. Intenta hacer coincidir una cadena seguida de una coma

    syn match pythonParameters ".*" contained
    

Entonces, en el punto 2, ". *" Coincidirá con cualquier cadena en este momento y debe ampliarse más para que sea correcta. Sin embargo, no estoy seguro de si estoy en el camino correcto ya que el partido en 2 no está restringido a la región entre los corchetes (). Cualquier consejo o aporte será apreciado.

EDITOR 1: Si alguien se preguntaba cómo resultó eventualmente.

Aquí está mi resaltado de sintaxis vim para python.

imgur pic of code

EDIT 2: Así que solo para la máxima minuciosidad, creé una página de github para él.

http://pfdevilliers.github.com/Pretty-Vim-Python/


9
2017-11-29 14:10


origen


Respuestas:


Ok, tienes un par de problemas.

  1. Ya existe una región llamada pythonFunction, para resaltar def y nombres de funciones.
  2. Esta región coincidirá con cualquier paréntesis, en cualquier lugar

Entonces, encuentre la coincidencia pythonFunction y cámbiela a esto:

syn match   pythonFunction
      \ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained nextgroup=pythonVars

Agregar nextgroup le dice a vim que coincida con pythonVars después de una definición de función.

Luego añade:

syn region pythonVars start="(" end=")" contained contains=pythonParameters transparent keepend
syn match pythonParameters "[^,]*" contained skipwhite

Finalmente, para resaltarlo, encuentre el HiLink sección, y agregar:

HiLink pythonParameters       Comment

Cambio Comment a la agrupación que desee, o agregue la suya. Estoy usando Statement mí mismo.


6
2017-11-29 14:59



Vim, resaltado que coincide con los paréntesis (), corchetes [] y llaves: {}

Las opciones de configuración para configurar los colores del primer plano y el fondo debajo del cursor cuando está entre paréntesis, corchete cuadrado o llave son los siguientes:

hi MatchParen      ctermfg=16  ctermbg=208 cterm=bold

Para habilitar / deshabilitar el color de fondo de la línea debajo del cursor:

:set cursorline
:set nocursorline

Para establecer el color del color de fondo de la línea debajo del cursor:

hi VisualNOS                   ctermbg=999
hi Visual                      ctermbg=999

enter image description here

Aquí está mi adaptación:

https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting


0
2018-04-27 14:58