¿Cómo escapar de palabras clave significativas de los archivos de sintaxis?


8

Encontré esta línea en un archivo de sintaxis ... no funciona:

syntax keyword Type Transparent

Supongo que esto tiene algo que ver con el hecho de que transparentes una palabra clave importante para Vim.

¿Qué debo hacer para escapar y para que la palabra real se Transparentcoloree en mis archivos como todas las otras Typepalabras? ¿Qué sucede si me tropiezo un día con otras palabras clave sensibles keyword, como syn, matchetc.?

Respuestas:


12

Esta es una pregunta interesante y parece que la documentación no dice nada acerca de escapar de esas palabras especiales. Primero, los argumentos especiales que pueden aparecer en cualquier lugar dependen del comando de sintaxis que utilice. La documentación menciona esos argumentos especiales en : h: syn-argumentos

The :syntax commands that define syntax items take a number of arguments.
The common ones are explained here.  The arguments may be given in any
order and may be mixed with patterns.

Not all commands accept all arguments.  This table shows which arguments
can not be used for all commands:
                                                        E395
                    contains  oneline   fold  display  extend concealends
:syntax keyword          -       -       -       -       -      -
:syntax match           yes      -      yes     yes     yes     -
:syntax region          yes     yes     yes     yes     yes    yes

These arguments can be used for all three commands:
    conceal
    cchar
    contained
    containedin
    nextgroup
    transparent
    skipwhite
    skipnl
    skipempty

En cuanto a la primera pregunta, sobre cómo escapar de esos argumentos especiales, intenté usar el elemento de sintaxis especial sintaxis-palabra clave []y esto funciona:

:syntax keyword Type Eins Transparent[] contained[]

El []se utiliza para denotar una parte opcional de una palabra clave, de modo que por ejemplo Trans[parent]sería definir las palabras clave separadas Trans, Transp, Transpa, etc, y por (AB) utilizando esto, hice el trabajo de escritura de la sintaxis, lo que quisieras.


Y esta es una respuesta muy interesante, que me hizo aprender que algo resuelve el problema. Saludos :)
iago-lito 'considerando irse el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.