sábado, 11 de abril de 2009

Criando um plugin compilador

Um plugin compilador define as opções para o uso com um compilador específico.
O usuário pode carrega-lo com o comando ':compiler'.

Seu uso principal é definir as opções 'errorformat' e 'makeprg'.

Olhe nos exemplos instalados pela distribuição. O comando seguinte editará todos
plugins compiladores default:
:next $VIMRUNTIME/compiler/*.vim
Use o comando ':next' para ir para o próximo arquivo de plugin.

Existe dois itens especiais sobre estes arquivos.
Primeiro é um mecanismo para permitir que um usuário regrave ou adicione ao
arquivo default. Os arquivos default começam com:
:if exists("current_compiler")
: finish
:endif
:let current_compiler = "mine"
Quando você grava um arquivo compilador e coloca-o em seu diretório runtime
pessoal (no Unix, ~/.vim/compiler), você define a variável 'current_compiler'
para fazer que o arquivo default pule as definições.

O segundo mecanismo é usar ':set!' para ':compiler!' e ':setlocal' para
':compiler'.
O vim define o comando do usuário ':CompilerSet' para isto. Todavia, versões
mais antigas do Vim não fazem, assim seu plugin deveria defini-lo.
Eis um exemplo:
if exists(":CompilerSet") != 2
    command −nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat& " use the default 'errorformat'
CompilerSet makeprg=nmake
Quando você escreve um compilador plugin para a distribuição Vim ou para o
diretório runtime a nível de sistema, use o mecanismo mencionado acima.
Quando 'current_compiler' já foi definido pelo plugin do usuário nada será
feito.

Quando você escreve um compilador plugin para sobrepor as definições de um
plugin default, não verifique o 'current_compiler'. Este plugin se supõe que
seja carregado por último, assim ele deveria estar em um diretório no final de
'runtimepath'.
No Unix, isto poderia ser '~/.vim/after/compiler'.

0 comentários:

Postar um comentário