]> git.r.bdr.sh - rbdr/dotfiles/blob - vim/syntax_checkers/eruby.vim
fcff063eba67bdae67cada172418294b13d846fe
[rbdr/dotfiles] / vim / syntax_checkers / eruby.vim
1 "============================================================================
2 "File: eruby.vim
3 "Description: Syntax checking plugin for syntastic.vim
4 "Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
5 "License: This program is free software. It comes without any warranty,
6 " to the extent permitted by applicable law. You can redistribute
7 " it and/or modify it under the terms of the Do What The Fuck You
8 " Want To Public License, Version 2, as published by Sam Hocevar.
9 " See http://sam.zoy.org/wtfpl/COPYING for more details.
10 "
11 "============================================================================
12 if exists("loaded_eruby_syntax_checker")
13 finish
14 endif
15 let loaded_eruby_syntax_checker = 1
16
17 "bail if the user doesnt have ruby or cat installed
18 if !executable("ruby") || !executable("cat")
19 finish
20 endif
21
22 function! SyntaxCheckers_eruby_GetLocList()
23 if has('win32') || has('win64')
24 let makeprg='sed "s/<\%=/<\%/g" '. shellescape(expand("%")) . ' \| ruby -e "require \"erb\"; puts ERB.new(ARGF.read, nil, \"-\").src" \| ruby -c'
25 else
26 let makeprg='sed "s/<\%=/<\%/g" '. shellescape(expand("%")) . ' \| RUBYOPT= ruby -e "require \"erb\"; puts ERB.new(ARGF.read, nil, \"-\").src" \| RUBYOPT= ruby -c'
27 endif
28
29 let errorformat='%-GSyntax OK,%E-:%l: syntax error\, %m,%Z%p^,%W-:%l: warning: %m,%Z%p^,%-C%.%#'
30 return SyntasticMake({ 'makeprg': makeprg,
31 \ 'errorformat': errorformat,
32 \ 'defaults': {'bufnr': bufnr("")} })
33
34 endfunction