verilator.vim 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "============================================================================
  2. "File: verilator.vim
  3. "Description: Syntax checking plugin for syntastic.vim
  4. "Maintainer: Kocha <kocha dot lsifrontend at gmail dot com>
  5. "============================================================================
  6. if exists('g:loaded_syntastic_verilog_verilator_checker')
  7. finish
  8. endif
  9. let g:loaded_syntastic_verilog_verilator_checker = 1
  10. if !exists('g:syntastic_verilog_compiler_options')
  11. let g:syntastic_verilog_compiler_options = '-Wall'
  12. endif
  13. let s:save_cpo = &cpo
  14. set cpo&vim
  15. function! SyntaxCheckers_verilog_verilator_IsAvailable() dict
  16. if !exists('g:syntastic_verilog_compiler')
  17. let g:syntastic_verilog_compiler = self.getExec()
  18. endif
  19. call self.log('g:syntastic_verilog_compiler =', g:syntastic_verilog_compiler)
  20. return executable(expand(g:syntastic_verilog_compiler, 1))
  21. endfunction
  22. function! SyntaxCheckers_verilog_verilator_GetLocList() dict
  23. return syntastic#c#GetLocList('verilog', 'verilator', {
  24. \ 'errorformat':
  25. \ '%%%trror-%\=%\w%#: %f:%l: %m,' .
  26. \ '%%%tarning-%\=%\w%#: %f:%l: %m',
  27. \ 'main_flags': '--lint-only' })
  28. endfunction
  29. call g:SyntasticRegistry.CreateAndRegisterChecker({
  30. \ 'filetype': 'verilog',
  31. \ 'name': 'verilator' })
  32. let &cpo = s:save_cpo
  33. unlet s:save_cpo
  34. " vim: set sw=4 sts=4 et fdm=marker: