From 9f7d5d74479743291e2fb225dfcfe8a89ebc80c7 Mon Sep 17 00:00:00 2001 From: LCD 47 Date: Wed, 10 Jul 2013 14:29:24 +0300 Subject: [PATCH 1/2] Errorformat adjustments for podchecker. Deal with error messages like this: *** ERROR: =over on line 7 without closing =back at line EOF in file ... --- syntax_checkers/pod/podchecker.vim | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/syntax_checkers/pod/podchecker.vim b/syntax_checkers/pod/podchecker.vim index 4f215201..86b6dc07 100644 --- a/syntax_checkers/pod/podchecker.vim +++ b/syntax_checkers/pod/podchecker.vim @@ -26,11 +26,22 @@ function! SyntaxCheckers_pod_podchecker_GetLocList() let errorformat = \ '%W%[%#]%[%#]%[%#] WARNING: %m at line %l in file %f,' . - \ '%E%[%#]%[%#]%[%#] ERROR: %m at line %l in file %f' + \ '%W%[%#]%[%#]%[%#] WARNING: %m at line EOF in file %f,' . + \ '%E%[%#]%[%#]%[%#] ERROR: %m at line %l in file %f,' . + \ '%E%[%#]%[%#]%[%#] ERROR: %m at line EOF in file %f' - return SyntasticMake({ + let loclist = SyntasticMake({ \ 'makeprg': makeprg, \ 'errorformat': errorformat }) + + for n in range(len(loclist)) + let e = loclist[n] + if e['valid'] && e['lnum'] == 0 + let e['lnum'] = str2nr(matchstr(e['text'], '\m\ Date: Thu, 11 Jul 2013 09:31:19 +0300 Subject: [PATCH 2/2] Removed erb checker for eRuby. Rationale: ruby.vim is functionally identical, and faster. --- syntax_checkers/eruby/erb.vim | 65 ----------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 syntax_checkers/eruby/erb.vim diff --git a/syntax_checkers/eruby/erb.vim b/syntax_checkers/eruby/erb.vim deleted file mode 100644 index e37bba26..00000000 --- a/syntax_checkers/eruby/erb.vim +++ /dev/null @@ -1,65 +0,0 @@ -"============================================================================ -"File: erb.vim -"Description: Syntax checking plugin for syntastic.vim -"Author: Martin Grenfell -"Modifier: Grzegorz Smajdor -"License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -"============================================================================ - -if exists("g:loaded_syntastic_eruby_erb_checker") - finish -endif -let g:loaded_syntastic_eruby_erb_checker=1 - -if !exists("g:syntastic_erb_exec") - let g:syntastic_erb_exec = "erb" -endif - -if !exists("g:syntastic_ruby_exec") - let g:syntastic_ruby_exec = "ruby" -endif - -function! SyntaxCheckers_eruby_erb_IsAvailable() - return executable(expand(g:syntastic_ruby_exec)) && executable(expand(g:syntastic_ruby_exec)) -endfunction - -function! SyntaxCheckers_eruby_erb_GetLocList() - let exe = expand(g:syntastic_ruby_exec) - if !has('win32') - let exe = 'RUBYOPT= ' . exe - endif - - let fname = "'" . escape(expand('%'), "\\'") . "'" - - let enc = &fileencoding != '' ? &fileencoding : &encoding - let encoding_string = enc ==? 'utf-8' ? 'UTF-8' : 'BINARY' - - " TODO: fix the encoding trainwreck - let makeprg = - \ exe . ' -e ' . - \ syntastic#util#shescape('puts File.read(' . fname . - \ ', :encoding => "' . encoding_string . - \ '").gsub(''<\%='',''<\%'')') . - \ ' \| ' . g:syntastic_erb_exec . ' -x -T -' . - \ ' \| ' . exe . ' -c' - - let errorformat = - \ '%-GSyntax OK,'. - \ '%E-:%l: syntax error\, %m,%Z%p^,'. - \ '%W-:%l: warning: %m,'. - \ '%Z%p^,'. - \ '%-C%.%#' - - return SyntasticMake({ - \ 'makeprg': makeprg, - \ 'errorformat': errorformat, - \ 'defaults': { 'bufnr': bufnr(""), 'vcol': 1 } }) -endfunction - -call g:SyntasticRegistry.CreateAndRegisterChecker({ - \ 'filetype': 'eruby', - \ 'name': 'erb'})