Testar no percurso de Vim script

Aprende a testar os teus exercícios de Vim script no Exercism


Este track usa duas ferramentas para executar o conjunto de testes e garantir as boas práticas:

  1. vader.vim
  2. vint

Executar os testes

  1. Instala o vader.vim.
  2. Abre a tua solução:
    $ vim exercise.vim
    
  3. Carrega o ficheiro atual para disponibilizar as suas funções globais ao Vim:
    :source %
    
  4. Executa os testes:
    :Vader exercise.vader
    

Os caminhos podem variar.

Se quiseres um atalho prático para os passos acima, coloca isto no teu vimrc:

function! s:exercism_tests()
  if expand('%:e') == 'vim'
    let testfile = printf('%s/%s.vader', expand('%:p:h'),
          \ tr(expand('%:p:h:t'), '-', '_'))
    if !filereadable(testfile)
      echoerr 'File does not exist: '. testfile
      return
    endif
    source %
    execute 'Vader' testfile
  else
    let sourcefile = printf('%s/%s.vim', expand('%:p:h'),
          \ tr(expand('%:p:h:t'), '-', '_'))
    if !filereadable(sourcefile)
      echoerr 'File does not exist: '. sourcefile
      return
    endif
    execute 'source' sourcefile
    Vader
  endif
endfunction

autocmd BufRead *.{vader,vim}
      \ command! -buffer Test call s:exercism_tests()

Depois, abre qualquer ficheiro .vim ou .vader de um diretório de exercício e executa o comando :Test.

Análise estática de ficheiros Vim

  1. Instala o vint.
  2. Analisa todos os ficheiros Vim de forma recursiva:
    $ vint .
    

Para informação mais detalhada sobre o track Vim script, consulta a página de ajuda.