terça-feira, 14 de abril de 2009

Usando regiões para identificar itens no arquivo de sintaxe

Na linguagem 'x', os strings são delimitados entre aspas duplas (").

Para colorir os strings você usa uma 'região'.
Você precisa de um início de região (aspas duplas) e um final de região (aspas
duplas).

Eis a definição:
:syntax region xString start=/"/ end=/"/
As diretivas 'start' e 'end' definem os padrões usados para localizar o início e
o fim de uma região.

Mas e para strings como este:
"A string with a double quote (\") in it"
Isto cria um problema: um string no meio do string encerra uma região. Você
precisa dizer ao Vim para pular qualquer aspas duplas com escape no string.

Faça com a palavra-chave 'skip':
:syntax region xString start=/"/ skip=/\\"/ end=/"/
Quando você usa uma região ao inves de um match ? A diferença principal é que
um item match é um único padrão, o qual deve corresponder como um todo.

A região começa tão logo o padrão 'start' tem correspondencia. Se o padrão 'end'
é encontrado ou não, não importa.

Assim se um item depende do padrão 'end' para ser localizado, você não pode usar uma região. Por outro lado, regiões são muitas vezes mais simples de definir. E é mais fácil de usar itens aninhados.

0 comentários:

Postar um comentário