Comment échapper des mots clés significatifs des fichiers de syntaxe?


8

Je suis tombé sur cette ligne dans un fichier de syntaxe .. cela ne fonctionne pas:

syntax keyword Type Transparent

Je suppose que cela a quelque chose à voir avec le fait que transparentc'est un mot-clé important pour Vim.

Que dois-je faire pour y échapper et pour Transparentcolorer le mot réel dans mes fichiers comme tous les autres Typemots? Que faire si je trébuche une jours d' autres mots clés de accross chatouilleux aiment keyword, syn, matchetc?

Réponses:


12

C'est une question intéressante et il semble que la documentation ne dit rien sur l'échappatoire de ces mots spéciaux. Tout d'abord, les arguments spéciaux qui peuvent apparaître n'importe où dépendent de la commande de syntaxe que vous utilisez. La documentation mentionne ces arguments spéciaux à : h: syn-arguments

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

Quant à la première question, sur la façon d'échapper à ces arguments spéciaux, j'ai essayé d'utiliser l'élément de syntaxe spéciale syntax-keyword []et cela fonctionne:

:syntax keyword Type Eins Transparent[] contained[]

Le []est utilisé pour désigner une partie facultative d'un mot - clé, de sorte que par exemple Trans[parent]définirait les mots - clés séparés Trans, Transp, Transpa, etc et par (ab-) à l' aide, je fait le travail de script de syntaxe que vous vouliez.


Et c'est une réponse très intéressante, qui m'a fait apprendre que quelque chose résout le problème.
Santé
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.