mirror of
https://github.com/amix/vimrc
synced 2025-06-24 07:44:59 +08:00
Use syntastic instead of pyflakes (supports a ton of more languages)
This commit is contained in:
@ -0,0 +1,71 @@
|
||||
"============================================================================
|
||||
"File: mxmlc.vim
|
||||
"Description: ActionScript syntax checker - using mxmlc
|
||||
"Maintainer: Andy Earnshaw <andyearnshaw@gmail.com>
|
||||
"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_actionscript_mxmlc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_actionscript_mxmlc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_actionscript_mxmlc_conf')
|
||||
let g:syntastic_actionscript_mxmlc_conf = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_actionscript_mxmlc_GetHighlightRegex(item)
|
||||
let term = ''
|
||||
|
||||
if match(a:item['text'], '\mvariable ''') > -1
|
||||
let term = matchstr(a:item['text'], '\m''\zs[^'']\+\ze''')
|
||||
|
||||
elseif match(a:item['text'], 'expected a definition keyword') > -1
|
||||
let term = matchstr(a:item['text'], '\mnot \zs[^.]\+\ze\.')
|
||||
|
||||
elseif match(a:item['text'], '\mundefined \%(property\|method\)') > -1
|
||||
let term = matchstr(a:item['text'], '\mundefined \%(property\|method\) \zs[^. ]\+\ze')
|
||||
|
||||
elseif match(a:item['text'], 'could not be found') > -1
|
||||
let term = matchstr(a:item['text'], '\m \zs\S\+\ze could not be found')
|
||||
|
||||
elseif match(a:item['text'], 'Type was not found') > -1
|
||||
let term = matchstr(a:item['text'], '\m: \zs[^.]\+\zs\.')
|
||||
|
||||
endif
|
||||
|
||||
return term != '' ? '\V\<' . term . '\>' : ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_actionscript_mxmlc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_before': (g:syntastic_actionscript_mxmlc_conf != '' ?
|
||||
\ ' -load-config+=' . g:syntastic_actionscript_mxmlc_conf : ''),
|
||||
\ 'args_after': '-output=' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat =
|
||||
\ '%f(%l): col: %c %trror: %m,' .
|
||||
\ '%f(%l): col: %c %tarning: %m,' .
|
||||
\ '%f: %trror: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'actionscript',
|
||||
\ 'name': 'mxmlc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
47
sources_non_forked/syntastic/syntax_checkers/ada/gcc.vim
Normal file
47
sources_non_forked/syntastic/syntax_checkers/ada/gcc.vim
Normal file
@ -0,0 +1,47 @@
|
||||
"============================================================================
|
||||
"File: ada.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Alfredo Di Napoli <alfredo.dinapoli@gmail.com>
|
||||
"License: This program is free software. It comes without any warranty,
|
||||
" to the extent permitted by applicable law.
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
if exists('g:loaded_syntastic_ada_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_ada_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_ada_compiler_options')
|
||||
let g:syntastic_ada_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_ada_gcc_IsAvailable() dict
|
||||
if !exists('g:syntastic_ada_compiler')
|
||||
let g:syntastic_ada_compiler = self.getExec()
|
||||
endif
|
||||
return executable(expand(g:syntastic_ada_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_ada_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('ada', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-c -x ada -fsyntax-only',
|
||||
\ 'header_flags': '-x ada',
|
||||
\ 'header_names': '\.ads$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'ada',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,49 @@
|
||||
"==============================================================================
|
||||
" FileName: applescript.vim
|
||||
" Desc: Syntax checking plugin for syntastic.vim
|
||||
" Author: Zhao Cai
|
||||
" Email: caizhaoff@gmail.com
|
||||
" Version: 0.2.1
|
||||
" Date Created: Thu 09 Sep 2011 10:30:09 AM EST
|
||||
" Last Modified: Fri 09 Dec 2011 01:10:24 PM EST
|
||||
"
|
||||
" History: 0.1.0 - working, but it will run the script everytime to check
|
||||
" syntax. Should use osacompile but strangely it does not give
|
||||
" errors.
|
||||
"
|
||||
" 0.2.0 - switch to osacompile, it gives less errors compared
|
||||
" with osascript.
|
||||
"
|
||||
" 0.2.1 - remove g:syntastic_applescript_tempfile. use
|
||||
" tempname() instead.
|
||||
"
|
||||
" 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_applescript_osacompile_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_applescript_osacompile_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_applescript_osacompile_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-o ' . tempname() . '.scpt' })
|
||||
let errorformat = '%f:%l:%m'
|
||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'applescript',
|
||||
\ 'name': 'osacompile' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,47 @@
|
||||
"============================================================================
|
||||
"File: asciidoc.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_asciidoc_asciidoc_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_asciidoc_asciidoc_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_asciidoc_asciidoc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat =
|
||||
\ '%Easciidoc: %tRROR: %f: line %l: %m,' .
|
||||
\ '%Easciidoc: %tRROR: %f: %m,' .
|
||||
\ '%Easciidoc: FAILED: %f: line %l: %m,' .
|
||||
\ '%Easciidoc: FAILED: %f: %m,' .
|
||||
\ '%Wasciidoc: %tARNING: %f: line %l: %m,' .
|
||||
\ '%Wasciidoc: %tARNING: %f: %m,' .
|
||||
\ '%Wasciidoc: DEPRECATED: %f: line %l: %m,' .
|
||||
\ '%Wasciidoc: DEPRECATED: %f: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 1] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'asciidoc',
|
||||
\ 'name': 'asciidoc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
54
sources_non_forked/syntastic/syntax_checkers/asm/gcc.vim
Normal file
54
sources_non_forked/syntastic/syntax_checkers/asm/gcc.vim
Normal file
@ -0,0 +1,54 @@
|
||||
"============================================================================
|
||||
"File: gcc.vim
|
||||
"Description: Syntax checking for at&t and intel assembly files with gcc
|
||||
"Maintainer: Josh Rahm <joshuarahm@gmail.com>
|
||||
"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_asm_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_asm_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_asm_compiler_options')
|
||||
let g:syntastic_asm_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_asm_gcc_IsAvailable() dict
|
||||
if !exists('g:syntastic_asm_compiler')
|
||||
let g:syntastic_asm_compiler = self.getExec()
|
||||
endif
|
||||
return executable(expand(g:syntastic_asm_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_asm_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('asm', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-x assembler -fsyntax-only -masm=' . s:GetDialect() })
|
||||
endfunction
|
||||
|
||||
function! s:GetDialect()
|
||||
return exists('g:syntastic_asm_dialect') ? g:syntastic_asm_dialect :
|
||||
\ expand('%:e') ==? 'asm' ? 'intel' : 'att'
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'asm',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,34 @@
|
||||
"============================================================================
|
||||
"File: bemhtmllint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Sergej Tatarincev <s.tatarincev at yandex.ua>
|
||||
"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_bemhtml_bemhtmllint_checker")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_syntastic_bemhtml_bemhtmllint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function SyntaxCheckers_bemhtml_bemhtmllint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
let errorformat = '%f:%l:%c: %m'
|
||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'bemhtml',
|
||||
\ 'name': 'bemhtmllint',
|
||||
\ 'exec': 'bemhtml-lint' })
|
||||
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
55
sources_non_forked/syntastic/syntax_checkers/c/avrgcc.vim
Normal file
55
sources_non_forked/syntastic/syntax_checkers/c/avrgcc.vim
Normal file
@ -0,0 +1,55 @@
|
||||
"============================================================================
|
||||
"File: avrgcc.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Karel <karelishere at gmail dot com>
|
||||
"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_c_avrgcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_avrgcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_avrgcc_config_file')
|
||||
let g:syntastic_avrgcc_config_file = '.syntastic_avrgcc_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_avrgcc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_before': syntastic#c#ReadConfig(g:syntastic_avrgcc_config_file),
|
||||
\ 'args_after': '-x c -fsyntax-only' })
|
||||
|
||||
let errorformat =
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,' .
|
||||
\ '%-G%f:%l: %#error: %#for each function it appears%.%#,' .
|
||||
\ '%-GIn file included%.%#,' .
|
||||
\ '%-G %#from %f:%l\,,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %trror: %m,' .
|
||||
\ '%f:%l: %tarning: %m,'.
|
||||
\ '%f:%l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['compressWhitespace'] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'avrgcc',
|
||||
\ 'exec': 'avr-gcc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
@ -0,0 +1,55 @@
|
||||
"============================================================================
|
||||
"File: checkpatch.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim using checkpatch.pl
|
||||
"Maintainer: Daniel Walker <dwalker at fifo99 dot com>
|
||||
"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_c_checkpatch_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_checkpatch_checker = 1
|
||||
|
||||
" Bail if the user doesn't have `checkpatch.pl` or ./scripts/checkpatch.pl installed.
|
||||
if executable("checkpatch.pl")
|
||||
let g:syntastic_c_checker_checkpatch_location = 'checkpatch.pl'
|
||||
elseif executable("./scripts/checkpatch.pl")
|
||||
let g:syntastic_c_checker_checkpatch_location = './scripts/checkpatch.pl'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_checkpatch_IsAvailable() dict
|
||||
return exists("g:syntastic_c_checker_checkpatch_location")
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_c_checkpatch_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': g:syntastic_c_checker_checkpatch_location,
|
||||
\ 'args_after': '--no-summary --no-tree --terse --file' })
|
||||
|
||||
let errorformat =
|
||||
\ '%f:%l: %tARNING: %m,' .
|
||||
\ '%f:%l: %tRROR: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 1],
|
||||
\ 'subtype': 'Style' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'checkpatch',
|
||||
\ 'exec': 'checkpatch.pl'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
68
sources_non_forked/syntastic/syntax_checkers/c/cppcheck.vim
Normal file
68
sources_non_forked/syntastic/syntax_checkers/c/cppcheck.vim
Normal file
@ -0,0 +1,68 @@
|
||||
"============================================================================
|
||||
"File: cppcheck.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim using cppcheck.pl
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_cppcheck_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_cppcheck_config':
|
||||
"
|
||||
" let g:syntastic_cppcheck_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_c_cppcheck_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_cppcheck_checker = 1
|
||||
|
||||
if !exists('g:syntastic_cppcheck_config_file')
|
||||
let g:syntastic_cppcheck_config_file = '.syntastic_cppcheck_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_cppcheck_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': syntastic#c#ReadConfig(g:syntastic_cppcheck_config_file),
|
||||
\ 'args_after': '-q --enable=style' })
|
||||
|
||||
let errorformat =
|
||||
\ '[%f:%l]: (%trror) %m,' .
|
||||
\ '[%f:%l]: (%tarning) %m,' .
|
||||
\ '[%f:%l]: (%ttyle) %m,' .
|
||||
\ '[%f:%l]: (%terformance) %m,' .
|
||||
\ '[%f:%l]: (%tortability) %m,' .
|
||||
\ '[%f:%l]: (%tnformation) %m,' .
|
||||
\ '[%f:%l]: (%tnconclusive) %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0] })
|
||||
|
||||
for e in loclist
|
||||
if e['type'] =~? '\m^[SPI]'
|
||||
let e['type'] = 'w'
|
||||
let e['subtype'] = 'Style'
|
||||
endif
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'cppcheck'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
59
sources_non_forked/syntastic/syntax_checkers/c/gcc.vim
Normal file
59
sources_non_forked/syntastic/syntax_checkers/c/gcc.vim
Normal file
@ -0,0 +1,59 @@
|
||||
"============================================================================
|
||||
"File: c.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_c_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_c_compiler')
|
||||
let g:syntastic_c_compiler = executable('gcc') ? 'gcc' : 'clang'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_c_compiler_options')
|
||||
let g:syntastic_c_compiler_options = '-std=gnu99'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_gcc_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_c_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_c_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('c', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,' .
|
||||
\ '%-G%f:%l: %#error: %#for each function it appears%.%#,' .
|
||||
\ '%-GIn file included%.%#,' .
|
||||
\ '%-G %#from %f:%l\,,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %trror: %m,' .
|
||||
\ '%f:%l: %tarning: %m,'.
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-x c -fsyntax-only',
|
||||
\ 'header_flags': '-x c',
|
||||
\ 'header_names': '\m\.h$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
61
sources_non_forked/syntastic/syntax_checkers/c/make.vim
Normal file
61
sources_non_forked/syntastic/syntax_checkers/c/make.vim
Normal file
@ -0,0 +1,61 @@
|
||||
"============================================================================
|
||||
"File: make.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_c_make_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_make_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_make_GetLocList() dict
|
||||
let makeprg = self.getExecEscaped() . ' -sk'
|
||||
|
||||
let errorformat =
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,' .
|
||||
\ '%-G%f:%l: %#error: %#for each function it appears%.%#,' .
|
||||
\ '%-GIn file included%.%#,' .
|
||||
\ '%-G %#from %f:%l\,,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %trror: %m,' .
|
||||
\ '%f:%l: %tarning: %m,'.
|
||||
\ '%f:%l: %m'
|
||||
|
||||
if exists('g:syntastic_c_errorformat')
|
||||
let errorformat = g:syntastic_c_errorformat
|
||||
endif
|
||||
|
||||
" process makeprg
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
|
||||
" filter the processed errors if desired
|
||||
if exists('g:syntastic_c_remove_include_errors') && g:syntastic_c_remove_include_errors != 0
|
||||
return filter(errors, 'has_key(v:val, "bufnr") && v:val["bufnr"] == ' . bufnr(''))
|
||||
else
|
||||
return errors
|
||||
endif
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'make'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
60
sources_non_forked/syntastic/syntax_checkers/c/oclint.vim
Normal file
60
sources_non_forked/syntastic/syntax_checkers/c/oclint.vim
Normal file
@ -0,0 +1,60 @@
|
||||
"============================================================================
|
||||
"File: oclint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: "UnCO" Lin <undercooled aT lavabit com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_oclint_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_oclint_config':
|
||||
"
|
||||
" let g:syntastic_oclint_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_c_oclint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_oclint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_oclint_config_file')
|
||||
let g:syntastic_oclint_config_file = '.syntastic_oclint_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_oclint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '-text',
|
||||
\ 'post_args_before': '-- -c ' . syntastic#c#ReadConfig(g:syntastic_oclint_config_file) })
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c: %m P1 ,' .
|
||||
\ '%E%f:%l:%c: %m P2 ,' .
|
||||
\ '%W%f:%l:%c: %m P3 ,' .
|
||||
\ '%E%f:%l:%c: fatal error: %m,' .
|
||||
\ '%E%f:%l:%c: error: %m,' .
|
||||
\ '%W%f:%l:%c: warning: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'postprocess': ['compressWhitespace', 'sort'],
|
||||
\ 'returns': [0, 3, 5] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'oclint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
53
sources_non_forked/syntastic/syntax_checkers/c/sparse.vim
Normal file
53
sources_non_forked/syntastic/syntax_checkers/c/sparse.vim
Normal file
@ -0,0 +1,53 @@
|
||||
"============================================================================
|
||||
"File: sparse.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim using sparse.pl
|
||||
"Maintainer: Daniel Walker <dwalker at fifo99 dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_sparse_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_sparse_config':
|
||||
"
|
||||
" let g:syntastic_sparse_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_c_sparse_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_sparse_checker = 1
|
||||
|
||||
if !exists('g:syntastic_sparse_config_file')
|
||||
let g:syntastic_sparse_config_file = '.syntastic_sparse_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_sparse_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': syntastic#c#ReadConfig(g:syntastic_sparse_config_file),
|
||||
\ 'args_after': '-ftabstop=' . &ts })
|
||||
|
||||
let errorformat = '%f:%l:%v: %trror: %m,%f:%l:%v: %tarning: %m,'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")},
|
||||
\ 'returns': [0] })
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'sparse'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
59
sources_non_forked/syntastic/syntax_checkers/c/splint.vim
Normal file
59
sources_non_forked/syntastic/syntax_checkers/c/splint.vim
Normal file
@ -0,0 +1,59 @@
|
||||
"============================================================================
|
||||
"File: splint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_splint_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_splint_config':
|
||||
"
|
||||
" let g:syntastic_splint_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_c_splint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_c_splint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_splint_config_file')
|
||||
let g:syntastic_splint_config_file = '.syntastic_splint_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_c_splint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': syntastic#c#ReadConfig(g:syntastic_splint_config_file),
|
||||
\ 'args_after': '-showfunc -hints +quiet' })
|
||||
|
||||
let errorformat =
|
||||
\ '%-G%f:%l:%v: %[%#]%[%#]%[%#] Internal Bug %.%#,' .
|
||||
\ '%W%f:%l:%v: %m,' .
|
||||
\ '%W%f:%l: %m,' .
|
||||
\ '%-C %\+In file included from %.%#,' .
|
||||
\ '%-C %\+from %.%#,' .
|
||||
\ '%+C %.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'postprocess': ['compressWhitespace'],
|
||||
\ 'defaults': {'type': 'W'} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'c',
|
||||
\ 'name': 'splint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,39 @@
|
||||
"============================================================================
|
||||
"File: foodcritic.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Doug Ireton <dougireton@gmail.com>
|
||||
"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_chef_foodcritic_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_chef_foodcritic_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_chef_foodcritic_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
" FC023: Prefer conditional attributes: ./recipes/config.rb:49
|
||||
let errorformat = 'FC%n: %m: %f:%l'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'chef',
|
||||
\ 'name': 'foodcritic'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
42
sources_non_forked/syntastic/syntax_checkers/co/coco.vim
Normal file
42
sources_non_forked/syntastic/syntax_checkers/co/coco.vim
Normal file
@ -0,0 +1,42 @@
|
||||
"============================================================================
|
||||
"File: co.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Andrew Kelley <superjoe30@gmail.com>
|
||||
"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_co_coco_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_co_coco_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_co_coco_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-c -o /tmp' })
|
||||
|
||||
let errorformat =
|
||||
\ '%EFailed at: %f,' .
|
||||
\ '%ZSyntax%trror: %m on line %l,'.
|
||||
\ '%EFailed at: %f,'.
|
||||
\ '%Z%trror: Parse error on line %l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'co',
|
||||
\ 'name': 'coco'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
46
sources_non_forked/syntastic/syntax_checkers/cobol/cobc.vim
Normal file
46
sources_non_forked/syntastic/syntax_checkers/cobol/cobc.vim
Normal file
@ -0,0 +1,46 @@
|
||||
"============================================================================
|
||||
"File: cobc.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_cobol_cobc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cobol_cobc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_cobol_compiler_options')
|
||||
let g:syntastic_cobol_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cobol_cobc_IsAvailable() dict
|
||||
if !exists('g:syntastic_cobol_compiler')
|
||||
let g:syntastic_cobol_compiler = self.getExec()
|
||||
endif
|
||||
return executable(expand(g:syntastic_cobol_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_cobol_cobc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('cobol', 'cobc', {
|
||||
\ 'errorformat': '%f:%l: %trror: %m',
|
||||
\ 'main_flags': '-fsyntax-only' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cobol',
|
||||
\ 'name': 'cobc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,56 @@
|
||||
"============================================================================
|
||||
"File: coffee.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Lincoln Stoll <l@lds.li>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" Note: this script requires CoffeeScript version 1.6.2 or newer.
|
||||
"
|
||||
|
||||
if exists("g:loaded_syntastic_coffee_coffee_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_coffee_coffee_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_coffee_coffee_IsAvailable() dict
|
||||
return executable(self.getExec()) &&
|
||||
\ syntastic#util#versionIsAtLeast(syntastic#util#getVersion(
|
||||
\ self.getExecEscaped() . ' --version 2>' . syntastic#util#DevNull()), [1,6,2])
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_coffee_coffee_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-cp' })
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c: %trror: %m,' .
|
||||
\ 'Syntax%trror: In %f\, %m on line %l,' .
|
||||
\ '%EError: In %f\, Parse error on line %l: %m,' .
|
||||
\ '%EError: In %f\, %m on line %l,' .
|
||||
\ '%W%f(%l): lint warning: %m,' .
|
||||
\ '%W%f(%l): warning: %m,' .
|
||||
\ '%E%f(%l): SyntaxError: %m,' .
|
||||
\ '%-Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'coffee',
|
||||
\ 'name': 'coffee'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,44 @@
|
||||
"============================================================================
|
||||
"File: coffeelint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Lincoln Stoll <l@lds.li>
|
||||
"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_coffee_coffeelint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_coffee_coffeelint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_coffee_coffeelint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '--csv' })
|
||||
|
||||
let errorformat =
|
||||
\ '%f\,%l\,%\d%#\,%trror\,%m,' .
|
||||
\ '%f\,%l\,%trror\,%m,' .
|
||||
\ '%f\,%l\,%\d%#\,%tarn\,%m,' .
|
||||
\ '%f\,%l\,%tarn\,%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'returns': [0, 1] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'coffee',
|
||||
\ 'name': 'coffeelint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
40
sources_non_forked/syntastic/syntax_checkers/coq/coqtop.vim
Normal file
40
sources_non_forked/syntastic/syntax_checkers/coq/coqtop.vim
Normal file
@ -0,0 +1,40 @@
|
||||
"============================================================================
|
||||
"File: coqtop.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Matvey Aksenov <matvey.aksenov at gmail dot com>
|
||||
"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_coq_coqtop_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_coq_coqtop_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_coq_coqtop_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-noglob -batch -load-vernac-source' })
|
||||
|
||||
let errorformat =
|
||||
\ '%AFile \"%f\"\, line %l\, characters %c\-%.%#\:,'.
|
||||
\ '%C%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'coq',
|
||||
\ 'name': 'coqtop'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,68 @@
|
||||
"============================================================================
|
||||
"File: cppcheck.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim using cppcheck.pl
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_cppcheck_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_cppcheck_config':
|
||||
"
|
||||
" let g:syntastic_cppcheck_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_cpp_cppcheck_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cpp_cppcheck_checker = 1
|
||||
|
||||
if !exists('g:syntastic_cppcheck_config_file')
|
||||
let g:syntastic_cppcheck_config_file = '.syntastic_cppcheck_config'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cpp_cppcheck_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': syntastic#c#ReadConfig(g:syntastic_cppcheck_config_file),
|
||||
\ 'args_after': '-q --enable=style' })
|
||||
|
||||
let errorformat =
|
||||
\ '[%f:%l]: (%trror) %m,' .
|
||||
\ '[%f:%l]: (%tarning) %m,' .
|
||||
\ '[%f:%l]: (%ttyle) %m,' .
|
||||
\ '[%f:%l]: (%terformance) %m,' .
|
||||
\ '[%f:%l]: (%tortability) %m,' .
|
||||
\ '[%f:%l]: (%tnformation) %m,' .
|
||||
\ '[%f:%l]: (%tnconclusive) %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0] })
|
||||
|
||||
for e in loclist
|
||||
if e['type'] =~? '\m^[SPI]'
|
||||
let e['type'] = 'w'
|
||||
let e['subtype'] = 'Style'
|
||||
endif
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cpp',
|
||||
\ 'name': 'cppcheck'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
64
sources_non_forked/syntastic/syntax_checkers/cpp/cpplint.vim
Normal file
64
sources_non_forked/syntastic/syntax_checkers/cpp/cpplint.vim
Normal file
@ -0,0 +1,64 @@
|
||||
"============================================================================
|
||||
"File: cpplint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" For details about cpplint see:
|
||||
" https://code.google.com/p/google-styleguide/
|
||||
"
|
||||
" Checker options:
|
||||
"
|
||||
" - g:syntastic_cpp_cpplint_thres (integer; default: 5)
|
||||
" error threshold: policy violations with a severity above this
|
||||
" value are highlighted as errors, the others are warnings
|
||||
"
|
||||
" - g:syntastic_cpp_cpplint_args (string; default: '--verbose=3')
|
||||
" command line options to pass to cpplint
|
||||
|
||||
if exists("g:loaded_syntastic_cpp_cpplint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cpp_cpplint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_cpp_cpplint_thres')
|
||||
let g:syntastic_cpp_cpplint_thres = 5
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cpp_cpplint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args': '--verbose=3' })
|
||||
|
||||
let errorformat = '%A%f:%l: %m [%t],%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'returns': [0, 1] })
|
||||
|
||||
" change error types according to the prescribed threshold
|
||||
for e in loclist
|
||||
let e['type'] = e['type'] < g:syntastic_cpp_cpplint_thres ? 'W' : 'E'
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cpp',
|
||||
\ 'name': 'cpplint',
|
||||
\ 'exec': 'cpplint.py'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
55
sources_non_forked/syntastic/syntax_checkers/cpp/gcc.vim
Normal file
55
sources_non_forked/syntastic/syntax_checkers/cpp/gcc.vim
Normal file
@ -0,0 +1,55 @@
|
||||
"============================================================================
|
||||
"File: cpp.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_cpp_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cpp_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_cpp_compiler')
|
||||
let g:syntastic_cpp_compiler = executable('g++') ? 'g++' : 'clang++'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_cpp_compiler_options')
|
||||
let g:syntastic_cpp_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cpp_gcc_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_cpp_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_cpp_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('cpp', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,'.
|
||||
\ '%f:%l: %trror: %m,'.
|
||||
\ '%f:%l: %tarning: %m,'.
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-x c++ -fsyntax-only',
|
||||
\ 'header_flags': '-x c++',
|
||||
\ 'header_names': '\m\.\(h\|hpp\|hh\)$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cpp',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
31
sources_non_forked/syntastic/syntax_checkers/cpp/oclint.vim
Normal file
31
sources_non_forked/syntastic/syntax_checkers/cpp/oclint.vim
Normal file
@ -0,0 +1,31 @@
|
||||
"============================================================================
|
||||
"File: oclint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: "UnCO" Lin <undercooled aT lavabit com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_oclint_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_oclint_config':
|
||||
"
|
||||
" let g:syntastic_oclint_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_cpp_oclint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cpp_oclint_checker = 1
|
||||
|
||||
runtime! syntax_checkers/c/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cpp',
|
||||
\ 'name': 'oclint',
|
||||
\ 'redirect': 'c/oclint'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
39
sources_non_forked/syntastic/syntax_checkers/cs/mcs.vim
Normal file
39
sources_non_forked/syntastic/syntax_checkers/cs/mcs.vim
Normal file
@ -0,0 +1,39 @@
|
||||
"============================================================================
|
||||
"File: cs.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Daniel Walker <dwalker@fifo99.com>
|
||||
"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_cs_mcs_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cs_mcs_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cs_mcs_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '--parse' })
|
||||
|
||||
let errorformat = '%f(%l\,%c): %trror %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cs',
|
||||
\ 'name': 'mcs'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
56
sources_non_forked/syntastic/syntax_checkers/css/csslint.vim
Normal file
56
sources_non_forked/syntastic/syntax_checkers/css/csslint.vim
Normal file
@ -0,0 +1,56 @@
|
||||
"============================================================================
|
||||
"File: css.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim using `csslint` CLI tool (http://csslint.net).
|
||||
"Maintainer: Ory Band <oryband at gmail dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" Specify additional options to csslint with this option. e.g. to disable
|
||||
" warnings:
|
||||
"
|
||||
" let g:syntastic_csslint_options = '--warnings=none'
|
||||
|
||||
if exists('g:loaded_syntastic_css_csslint_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_css_csslint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_csslint_options')
|
||||
let g:syntastic_csslint_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_css_csslint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': g:syntastic_csslint_options,
|
||||
\ 'args_after': '--format=compact' })
|
||||
|
||||
" Print CSS Lint's error/warning messages from compact format. Ignores blank lines.
|
||||
let errorformat =
|
||||
\ '%-G,' .
|
||||
\ '%-G%f: lint free!,' .
|
||||
\ '%f: line %l\, col %c\, %trror - %m,' .
|
||||
\ '%f: line %l\, col %c\, %tarning - %m,'.
|
||||
\ '%f: line %l\, col %c\, %m,'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")} })
|
||||
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'css',
|
||||
\ 'name': 'csslint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
29
sources_non_forked/syntastic/syntax_checkers/css/phpcs.vim
Normal file
29
sources_non_forked/syntastic/syntax_checkers/css/phpcs.vim
Normal file
@ -0,0 +1,29 @@
|
||||
"============================================================================
|
||||
"File: phpcs.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" See here for details of phpcs
|
||||
" - phpcs (see http://pear.php.net/package/PHP_CodeSniffer)
|
||||
"
|
||||
|
||||
if exists("g:loaded_syntastic_css_phpcs_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_css_phpcs_checker = 1
|
||||
|
||||
runtime! syntax_checkers/php/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'css',
|
||||
\ 'name': 'phpcs',
|
||||
\ 'redirect': 'php/phpcs'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,63 @@
|
||||
"============================================================================
|
||||
"File: prettycss.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" For details about PrettyCSS see:
|
||||
"
|
||||
" - http://fidian.github.io/PrettyCSS/
|
||||
" - https://github.com/fidian/PrettyCSS
|
||||
|
||||
if exists("g:loaded_syntastic_css_prettycss_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_css_prettycss_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_css_prettycss_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item["text"], '\m (\zs[^)]\+\ze)$')
|
||||
if term != ''
|
||||
let term = '\V' . term
|
||||
endif
|
||||
return term
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_css_prettycss_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
" Print CSS Lint's error/warning messages from compact format. Ignores blank lines.
|
||||
let errorformat =
|
||||
\ '%EError: %m\, line %l\, char %c),' .
|
||||
\ '%WWarning: %m\, line %l\, char %c),' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")},
|
||||
\ 'postprocess': ['sort'] })
|
||||
|
||||
for e in loclist
|
||||
let e["text"] .= ')'
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'css',
|
||||
\ 'name': 'prettycss'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,42 @@
|
||||
"============================================================================
|
||||
"File: cucumber.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_cucumber_cucumber_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cucumber_cucumber_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cucumber_cucumber_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '--dry-run --quiet --strict --format pretty' })
|
||||
|
||||
let errorformat =
|
||||
\ '%f:%l:%c:%m,' .
|
||||
\ '%W %.%# (%m),' .
|
||||
\ '%-Z%f:%l:%.%#,'.
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cucumber',
|
||||
\ 'name': 'cucumber'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
78
sources_non_forked/syntastic/syntax_checkers/cuda/nvcc.vim
Normal file
78
sources_non_forked/syntastic/syntax_checkers/cuda/nvcc.vim
Normal file
@ -0,0 +1,78 @@
|
||||
"============================================================================
|
||||
"File: cuda.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"
|
||||
"Author: Hannes Schulz <schulz at ais dot uni-bonn dot de>
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
" in order to also check header files add this to your .vimrc:
|
||||
" (this creates an empty .syntastic_dummy.cu file in your source directory)
|
||||
"
|
||||
" let g:syntastic_cuda_check_header = 1
|
||||
|
||||
" By default, nvcc and thus syntastic, defaults to the most basic architecture.
|
||||
" This can produce false errors if the developer intends to compile for newer
|
||||
" hardware and use newer features, eg. double precision numbers. To pass a
|
||||
" specific target arch to nvcc, e.g. add the following to your .vimrc:
|
||||
"
|
||||
" let g:syntastic_cuda_arch = "sm_20"
|
||||
|
||||
if exists("g:loaded_syntastic_cuda_nvcc_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_cuda_nvcc_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_cuda_nvcc_GetLocList() dict
|
||||
if exists('g:syntastic_cuda_arch')
|
||||
let arch_flag = '-arch=' . g:syntastic_cuda_arch
|
||||
else
|
||||
let arch_flag = ''
|
||||
endif
|
||||
let makeprg =
|
||||
\ self.getExecEscaped() . ' ' . arch_flag .
|
||||
\ ' --cuda -O0 -I . -Xcompiler -fsyntax-only ' .
|
||||
\ syntastic#util#shexpand('%') . ' ' . syntastic#c#NullOutput()
|
||||
|
||||
let errorformat =
|
||||
\ '%*[^"]"%f"%*\D%l: %m,'.
|
||||
\ '"%f"%*\D%l: %m,'.
|
||||
\ '%-G%f:%l: (Each undeclared identifier is reported only once,'.
|
||||
\ '%-G%f:%l: for each function it appears in.),'.
|
||||
\ '%f:%l:%c:%m,'.
|
||||
\ '%f(%l):%m,'.
|
||||
\ '%f:%l:%m,'.
|
||||
\ '"%f"\, line %l%*\D%c%*[^ ] %m,'.
|
||||
\ '%D%*\a[%*\d]: Entering directory `%f'','.
|
||||
\ '%X%*\a[%*\d]: Leaving directory `%f'','.
|
||||
\ '%D%*\a: Entering directory `%f'','.
|
||||
\ '%X%*\a: Leaving directory `%f'','.
|
||||
\ '%DMaking %*\a in %f,'.
|
||||
\ '%f|%l| %m'
|
||||
|
||||
if expand('%') =~? '\m\%(.h\|.hpp\|.cuh\)$'
|
||||
if exists('g:syntastic_cuda_check_header')
|
||||
let makeprg =
|
||||
\ 'echo > .syntastic_dummy.cu ; ' .
|
||||
\ self.getExecEscaped() . ' ' . arch_flag .
|
||||
\ ' --cuda -O0 -I . .syntastic_dummy.cu -Xcompiler -fsyntax-only -include ' .
|
||||
\ syntastic#util#shexpand('%') . ' ' . syntastic#c#NullOutput()
|
||||
else
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
|
||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'cuda',
|
||||
\ 'name': 'nvcc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
53
sources_non_forked/syntastic/syntax_checkers/d/dmd.vim
Normal file
53
sources_non_forked/syntastic/syntax_checkers/d/dmd.vim
Normal file
@ -0,0 +1,53 @@
|
||||
"============================================================================
|
||||
"File: d.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Alfredo Di Napoli <alfredo dot dinapoli at gmail dot com>
|
||||
"License: Based on the original work of Gregor Uhlenheuer and his
|
||||
" cpp.vim checker so credits are dued.
|
||||
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
" OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
" HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
" OTHER DEALINGS IN THE SOFTWARE.
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
if exists('g:loaded_syntastic_d_dmd_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_d_dmd_checker = 1
|
||||
|
||||
if !exists('g:syntastic_d_compiler_options')
|
||||
let g:syntastic_d_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_d_dmd_IsAvailable() dict
|
||||
if !exists('g:syntastic_d_compiler')
|
||||
let g:syntastic_d_compiler = self.getExec()
|
||||
endif
|
||||
return executable(expand(g:syntastic_d_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_d_dmd_GetLocList() dict
|
||||
return syntastic#c#GetLocList('d', 'dmd', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,%f(%l): %m,' .
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-c -of' . syntastic#util#DevNull(),
|
||||
\ 'header_names': '\m\.di$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'd',
|
||||
\ 'name': 'dmd' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,76 @@
|
||||
"============================================================================
|
||||
"File: dartanalyzer.vim
|
||||
"Description: Dart syntax checker - using dartanalyzer
|
||||
"Maintainer: Maksim Ryzhikov <rv.maksim at gmail dot com>
|
||||
"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_dart_dartanalyzer_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_dart_dartanalyzer_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_dart_dartanalyzer_GetHighlightRegex(error)
|
||||
if a:error['len']
|
||||
let lcol = a:error['col'] - 1
|
||||
let rcol = a:error['col'] + a:error['len']
|
||||
let ret = '\%>' . lcol . 'c\%<' . rcol . 'c'
|
||||
else
|
||||
let ret = ''
|
||||
endif
|
||||
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_dart_dartanalyzer_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '--machine' })
|
||||
|
||||
" Machine readable format looks like:
|
||||
" SEVERITY|TYPE|ERROR_CODE|FILENAME|LINE_NUMBER|COLUMN|LENGTH|MESSAGE
|
||||
" SEVERITY: (WARNING|ERROR)
|
||||
" TYPE: (RESOLVER|STATIC_TYPE|...)
|
||||
" ERROR_CODE: (NO_SUCH_TYPE|...)
|
||||
" FILENAME: String
|
||||
" LINE_NUMBER: int
|
||||
" COLUMN: int
|
||||
" LENGTH: int
|
||||
" MESSAGE: String
|
||||
|
||||
" We use %n to grab the error length, for the syntax highlighter
|
||||
let commonformat = '|%.%#|%.%#|%f|%l|%c|%n|%m'
|
||||
|
||||
let errorformat =
|
||||
\ '%EERROR' . commonformat . ',' .
|
||||
\ '%WWARNING' . commonformat
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 1, 2] })
|
||||
|
||||
for e in loclist
|
||||
let e['text'] = substitute(e['text'], '\m\\\([\\|]\)', '\1', 'g')
|
||||
|
||||
" Undo the %n hack
|
||||
let e['len'] = e['nr']
|
||||
call remove(e, 'nr')
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'dart',
|
||||
\ 'name': 'dartanalyzer' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,25 @@
|
||||
"============================================================================
|
||||
"File: docbk.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_docbk_xmllint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_docbk_xmllint_checker = 1
|
||||
|
||||
runtime! syntax_checkers/xml/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'docbk',
|
||||
\ 'name': 'xmllint',
|
||||
\ 'redirect': 'xml/xmllint'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,38 @@
|
||||
"============================================================================
|
||||
"File: swiffer.vim
|
||||
"Description: Dust.js syntax checker - using swiffer
|
||||
"Maintainer: Steven Foote <smfoote at gmail dot com>
|
||||
"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_dustjs_swiffer_checker")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_syntastic_dustjs_swiffer_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_dustjs_swiffer_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat = '%E%f - Line %l\, Column %c: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'dustjs',
|
||||
\ 'name': 'swiffer'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: elixir.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Richard Ramsden <rramsden at gmail dot com>
|
||||
"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_elixir_elixir_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_elixir_elixir_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" TODO: we should probably split this into separate checkers
|
||||
function! SyntaxCheckers_elixir_elixir_IsAvailable() dict
|
||||
return executable('elixir') && executable('mix')
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_elixir_elixir_GetLocList() dict
|
||||
|
||||
let make_options = {}
|
||||
let compile_command = 'elixir'
|
||||
let mix_file = syntastic#util#findInParent('mix.exs', expand('%:p:h'))
|
||||
|
||||
if filereadable(mix_file)
|
||||
let compile_command = 'mix compile'
|
||||
let make_options['cwd'] = fnamemodify(mix_file, ':p:h')
|
||||
endif
|
||||
|
||||
let make_options['makeprg'] = self.makeprgBuild({ 'exe': compile_command })
|
||||
|
||||
let make_options['errorformat'] = '** %*[^\ ] %f:%l: %m'
|
||||
|
||||
return SyntasticMake(make_options)
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'elixir',
|
||||
\ 'name': 'elixir'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env escript
|
||||
-export([main/1]).
|
||||
|
||||
main([FileName]) ->
|
||||
LibDirs = filelib:wildcard("{lib,deps}/*/ebin"),
|
||||
compile(FileName, LibDirs);
|
||||
|
||||
main([FileName | ["-rebar" | [Path | LibDirs]]]) ->
|
||||
{ok, L} = file:consult(Path),
|
||||
P = dict:from_list(L),
|
||||
Root = filename:dirname(Path),
|
||||
|
||||
Lib1 = case dict:find(lib_dirs, P) of
|
||||
{ok, X} -> lists:map(fun(Sub) -> Root ++ "/" ++ Sub end, X);
|
||||
_ -> []
|
||||
end,
|
||||
|
||||
Lib2 = case dict:find(sub_dirs, P) of
|
||||
{ok, Y} -> lists:foldl(
|
||||
fun(Sub,Sofar) ->
|
||||
Sofar ++ [
|
||||
Root ++ "/" ++ Sub,
|
||||
Root ++ "/" ++ Sub ++ "/include",
|
||||
Root ++ "/" ++ Sub ++ "/deps",
|
||||
Root ++ "/" ++ Sub ++ "/lib"
|
||||
] end, [], Y);
|
||||
_ -> []
|
||||
end,
|
||||
|
||||
LibDirs1 = LibDirs ++ Lib1 ++ Lib2,
|
||||
%io:format("~p~n", [LibDirs1]),
|
||||
compile(FileName, LibDirs1);
|
||||
|
||||
main([FileName | LibDirs]) ->
|
||||
compile(FileName, LibDirs).
|
||||
|
||||
compile(FileName, LibDirs) ->
|
||||
Root = get_root(filename:dirname(FileName)),
|
||||
ok = code:add_pathsa(LibDirs),
|
||||
compile:file(FileName, [warn_obsolete_guard,
|
||||
warn_unused_import,
|
||||
warn_shadow_vars,
|
||||
warn_export_vars,
|
||||
strong_validation,
|
||||
report,
|
||||
{i, filename:join(Root, "include")},
|
||||
{i, filename:join(Root, "deps")},
|
||||
{i, filename:join(Root, "apps")},
|
||||
{i, filename:join(Root, "lib")}
|
||||
]).
|
||||
|
||||
get_root(Dir) ->
|
||||
Path = filename:split(filename:absname(Dir)),
|
||||
filename:join(get_root(lists:reverse(Path), Path)).
|
||||
|
||||
get_root([], Path) ->
|
||||
Path;
|
||||
get_root(["src" | Tail], _Path) ->
|
||||
lists:reverse(Tail);
|
||||
get_root(["test" | Tail], _Path) ->
|
||||
lists:reverse(Tail);
|
||||
get_root([_ | Tail], Path) ->
|
||||
get_root(Tail, Path).
|
@ -0,0 +1,61 @@
|
||||
"============================================================================
|
||||
"File: erlang.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Pawel Salata <rockplayer.pl at gmail dot com>
|
||||
"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_erlang_erlang_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_erlang_erlang_checker = 1
|
||||
|
||||
if !exists('g:syntastic_erlc_include_path')
|
||||
let g:syntastic_erlc_include_path = ''
|
||||
endif
|
||||
|
||||
let s:check_file = syntastic#util#shescape(expand('<sfile>:p:h') . syntastic#util#Slash() . 'erlang_check_file.erl')
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_erlang_escript_GetLocList() dict
|
||||
if expand('%:e') ==# 'hrl'
|
||||
return []
|
||||
endif
|
||||
|
||||
let shebang = syntastic#util#parseShebang()
|
||||
if shebang['exe'] =~# '\m\<escript$' || (shebang['exe'] ==# '/usr/bin/env' && shebang['args'][0] ==# 'escript')
|
||||
let args = '-s'
|
||||
let post_args = ''
|
||||
else
|
||||
let args = s:check_file
|
||||
let post_args = g:syntastic_erlc_include_path
|
||||
endif
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': args,
|
||||
\ 'fname': syntastic#util#shexpand('%:p'),
|
||||
\ 'post_args_after': post_args })
|
||||
|
||||
let errorformat =
|
||||
\ '%W%f:%l: warning: %m,'.
|
||||
\ '%E%f:%l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'erlang',
|
||||
\ 'name': 'escript'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
73
sources_non_forked/syntastic/syntax_checkers/eruby/ruby.vim
Normal file
73
sources_non_forked/syntastic/syntax_checkers/eruby/ruby.vim
Normal file
@ -0,0 +1,73 @@
|
||||
"============================================================================
|
||||
"File: ruby.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_ruby_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_eruby_ruby_checker = 1
|
||||
|
||||
if !exists("g:syntastic_ruby_exec")
|
||||
let g:syntastic_ruby_exec = "ruby"
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_eruby_ruby_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_ruby_exec))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_eruby_ruby_GetLocList() dict
|
||||
let exe = expand(g:syntastic_ruby_exec)
|
||||
if !syntastic#util#isRunningWindows()
|
||||
let exe = 'RUBYOPT= ' . exe
|
||||
endif
|
||||
|
||||
let fname = "'" . escape(expand('%'), "\\'") . "'"
|
||||
|
||||
" TODO: encodings became useful in ruby 1.9 :)
|
||||
if syntastic#util#versionIsAtLeast(syntastic#util#getVersion('ruby --version'), [1, 9])
|
||||
let enc = &fileencoding != '' ? &fileencoding : &encoding
|
||||
let encoding_spec = ', :encoding => "' . (enc ==? 'utf-8' ? 'UTF-8' : 'BINARY') . '"'
|
||||
else
|
||||
let encoding_spec = ''
|
||||
endif
|
||||
|
||||
"gsub fixes issue #7, rails has it's own eruby syntax
|
||||
let makeprg =
|
||||
\ exe . ' -rerb -e ' .
|
||||
\ syntastic#util#shescape('puts ERB.new(File.read(' .
|
||||
\ fname . encoding_spec .
|
||||
\ ').gsub(''<%='',''<%''), nil, ''-'').src') .
|
||||
\ ' | ' . 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': 'ruby'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: fortran.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Karl Yngve Lervåg <karl.yngve@lervag.net>
|
||||
"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_fortran_gfortran_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_fortran_gfortran_checker=1
|
||||
|
||||
if !exists('g:syntastic_fortran_compiler_options')
|
||||
let g:syntastic_fortran_compiler_options = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_fortran_gfortran_IsAvailable() dict
|
||||
if !exists('g:syntastic_fortran_compiler')
|
||||
let g:syntastic_fortran_compiler = self.getExec()
|
||||
endif
|
||||
return executable(expand(g:syntastic_fortran_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_fortran_gfortran_GetLocList() dict
|
||||
return syntastic#c#GetLocList('fortran', 'gfortran', {
|
||||
\ 'errorformat':
|
||||
\ '%-C %#,'.
|
||||
\ '%-C %#%.%#,'.
|
||||
\ '%A%f:%l.%c:,'.
|
||||
\ '%Z%trror: %m,'.
|
||||
\ '%Z%tarning: %m,'.
|
||||
\ '%-G%.%#',
|
||||
\ 'main_flags': '-fsyntax-only' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'fortran',
|
||||
\ 'name': 'gfortran' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
77
sources_non_forked/syntastic/syntax_checkers/glsl/cgc.vim
Normal file
77
sources_non_forked/syntastic/syntax_checkers/glsl/cgc.vim
Normal file
@ -0,0 +1,77 @@
|
||||
"============================================================================
|
||||
"File: glsl.vim
|
||||
"Description: Syntax checker for OpenGL Shading Language
|
||||
"Maintainer: Joshua Rahm <joshuarahm@gmail.com>
|
||||
"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_glsl_cgc_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_glsl_cgc_checker = 1
|
||||
|
||||
let s:glsl_extensions = {
|
||||
\ 'glslf': 'gpu_fp',
|
||||
\ 'glslv': 'gpu_vp',
|
||||
\ 'frag': 'gpu_fp',
|
||||
\ 'vert': 'gpu_vp',
|
||||
\ 'fp': 'gpu_fp',
|
||||
\ 'vp': 'gpu_vp'
|
||||
\ }
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_glsl_cgc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_before': '-oglsl -profile ' . s:GetProfile(),
|
||||
\ 'args': (exists('g:syntastic_glsl_options') ? ' ' . g:syntastic_glsl_options : '') })
|
||||
|
||||
let errorformat =
|
||||
\ "%E%f(%l) : error %m," .
|
||||
\ "%W%f(%l) : warning %m"
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
function! s:GetProfile()
|
||||
let save_view = winsaveview()
|
||||
let old_foldenable = &foldenable
|
||||
let old_lazyredraw = &lazyredraw
|
||||
|
||||
let &lazyredraw = 1
|
||||
let &foldenable = 0
|
||||
call cursor(1, 1)
|
||||
|
||||
let magic = '\m\C^// profile:\s*'
|
||||
let line = search(magic, 'c')
|
||||
|
||||
call winrestview(save_view)
|
||||
let &foldenable = old_foldenable
|
||||
let &lazyredraw = old_lazyredraw
|
||||
|
||||
if line
|
||||
let profile = matchstr(getline(line), magic . '\zs.*')
|
||||
else
|
||||
let extensions = exists('g:syntastic_glsl_extensions') ? g:syntastic_glsl_extensions : s:glsl_extensions
|
||||
let profile = get(extensions, tolower(expand('%:e')), 'gpu_vert')
|
||||
endif
|
||||
|
||||
return profile
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\'filetype': 'glsl',
|
||||
\'name': 'cgc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
83
sources_non_forked/syntastic/syntax_checkers/go/go.vim
Normal file
83
sources_non_forked/syntastic/syntax_checkers/go/go.vim
Normal file
@ -0,0 +1,83 @@
|
||||
"============================================================================
|
||||
"File: go.vim
|
||||
"Description: Check go syntax using 'gofmt -l' followed by 'go [build|test]'
|
||||
"Maintainer: Kamil Kisiel <kamil@kamilkisiel.net>
|
||||
"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.
|
||||
"
|
||||
" This syntax checker does not reformat your source code.
|
||||
" Use a BufWritePre autocommand to that end:
|
||||
" autocmd FileType go autocmd BufWritePre <buffer> Fmt
|
||||
"============================================================================
|
||||
|
||||
if exists("g:loaded_syntastic_go_go_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_go_go_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_go_go_IsAvailable() dict
|
||||
return executable('go') && executable('gofmt')
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_go_go_GetLocList() dict
|
||||
" Check with gofmt first, since `go build` and `go test` might not report
|
||||
" syntax errors in the current file if another file with syntax error is
|
||||
" compiled first.
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': 'gofmt',
|
||||
\ 'args': '-l',
|
||||
\ 'tail': '> ' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat =
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'type': 'e'} })
|
||||
if !empty(errors)
|
||||
return errors
|
||||
endif
|
||||
|
||||
" Test files, i.e. files with a name ending in `_test.go`, are not
|
||||
" compiled by `go build`, therefore `go test` must be called for those.
|
||||
if match(expand('%'), '\m_test\.go$') == -1
|
||||
let makeprg = 'go build ' . syntastic#c#NullOutput()
|
||||
else
|
||||
let makeprg = 'go test -c ' . syntastic#c#NullOutput()
|
||||
endif
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c:%m,' .
|
||||
\ '%E%f:%l:%m,' .
|
||||
\ '%C%\s%\+%m,' .
|
||||
\ '%-G#%.%#'
|
||||
|
||||
" The go compiler needs to either be run with an import path as an
|
||||
" argument or directly from the package directory. Since figuring out
|
||||
" the proper import path is fickle, just cwd to the package.
|
||||
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'cwd': expand('%:p:h'),
|
||||
\ 'defaults': {'type': 'e'} })
|
||||
|
||||
return errors
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'go',
|
||||
\ 'name': 'go'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
44
sources_non_forked/syntastic/syntax_checkers/go/gofmt.vim
Normal file
44
sources_non_forked/syntastic/syntax_checkers/go/gofmt.vim
Normal file
@ -0,0 +1,44 @@
|
||||
"============================================================================
|
||||
"File: gofmt.vim
|
||||
"Description: Check go syntax using 'gofmt -l'
|
||||
"Maintainer: Brandon Thomson <bt@brandonthomson.com>
|
||||
"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.
|
||||
"
|
||||
" This syntax checker does not reformat your source code.
|
||||
" Use a BufWritePre autocommand to that end:
|
||||
" autocmd FileType go autocmd BufWritePre <buffer> Fmt
|
||||
"============================================================================
|
||||
|
||||
if exists("g:loaded_syntastic_go_gofmt_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_go_gofmt_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_go_gofmt_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '-l',
|
||||
\ 'tail_after': '> ' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat = '%f:%l:%c: %m,%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'type': 'e'} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'go',
|
||||
\ 'name': 'gofmt'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
39
sources_non_forked/syntastic/syntax_checkers/go/golint.vim
Normal file
39
sources_non_forked/syntastic/syntax_checkers/go/golint.vim
Normal file
@ -0,0 +1,39 @@
|
||||
"============================================================================
|
||||
"File: golint.vim
|
||||
"Description: Check go syntax using 'golint'
|
||||
"Maintainer: Hiroshi Ioka <hirochachacha@gmail.com>
|
||||
"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_go_golint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_go_golint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_go_golint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat = '%f:%l:%c: %m,%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'go',
|
||||
\ 'name': 'golint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
48
sources_non_forked/syntastic/syntax_checkers/go/gotype.vim
Normal file
48
sources_non_forked/syntastic/syntax_checkers/go/gotype.vim
Normal file
@ -0,0 +1,48 @@
|
||||
"============================================================================
|
||||
"File: gotype.vim
|
||||
"Description: Perform syntactic and semantic checking of Go code using 'gotype'
|
||||
"Maintainer: luz <ne.tetewi@gmail.com>
|
||||
"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_go_gotype_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_go_gotype_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_go_gotype_GetLocList() dict
|
||||
let makeprg = self.getExecEscaped() . ' .'
|
||||
|
||||
let errorformat =
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
" gotype needs the full go package to test types properly. Just cwd to
|
||||
" the package for the same reasons specified in go.vim ("figuring out
|
||||
" the import path is fickle").
|
||||
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'cwd': expand('%:p:h'),
|
||||
\ 'defaults': {'type': 'e'} })
|
||||
|
||||
return errors
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'go',
|
||||
\ 'name': 'gotype'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
49
sources_non_forked/syntastic/syntax_checkers/go/govet.vim
Normal file
49
sources_non_forked/syntastic/syntax_checkers/go/govet.vim
Normal file
@ -0,0 +1,49 @@
|
||||
"============================================================================
|
||||
"File: govet.vim
|
||||
"Description: Perform static analysis of Go code with the vet tool
|
||||
"Maintainer: Kamil Kisiel <kamil@kamilkisiel.net>
|
||||
"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_go_govet_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_go_govet_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_go_govet_IsAvailable() dict
|
||||
return executable('go')
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_go_govet_GetLocList() dict
|
||||
let makeprg = 'go vet'
|
||||
let errorformat = '%Evet: %.%\+: %f:%l:%c: %m,%W%f:%l: %m,%-G%.%#'
|
||||
|
||||
" The go compiler needs to either be run with an import path as an
|
||||
" argument or directly from the package directory. Since figuring out
|
||||
" the proper import path is fickle, just cwd to the package.
|
||||
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'cwd': expand('%:p:h'),
|
||||
\ 'defaults': {'type': 'w'} })
|
||||
|
||||
return errors
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'go',
|
||||
\ 'name': 'govet'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
51
sources_non_forked/syntastic/syntax_checkers/haml/haml.vim
Normal file
51
sources_non_forked/syntastic/syntax_checkers/haml/haml.vim
Normal file
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: haml.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_haml_haml_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haml_haml_checker = 1
|
||||
|
||||
if !exists('g:syntastic_haml_interpreter')
|
||||
let g:syntastic_haml_interpreter = 'haml'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haml_haml_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_haml_interpreter))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_haml_haml_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': expand(g:syntastic_haml_interpreter),
|
||||
\ 'args_after': '-c' })
|
||||
|
||||
let errorformat =
|
||||
\ 'Haml error on line %l: %m,' .
|
||||
\ 'Syntax error on line %l: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haml',
|
||||
\ 'name': 'haml'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,37 @@
|
||||
"============================================================================
|
||||
"File: haml_lint.vim
|
||||
"Description: HAML style and syntax checker plugin for Syntastic
|
||||
"Maintainer: Shane da Silva <shane@dasilva.io>
|
||||
"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_haml_haml_lint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haml_haml_lint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haml_haml_lint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
let errorformat = '%f:%l [%t] %m'
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style'})
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haml',
|
||||
\ 'name': 'haml_lint',
|
||||
\ 'exec': 'haml-lint' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,42 @@
|
||||
"============================================================================
|
||||
"File: handlebars.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_handlebars_handlebars_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_handlebars_handlebars_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_handlebars_handlebars_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-f ' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat =
|
||||
\ '%EError: %m on line %l:,'.
|
||||
\ "%EError: %m,".
|
||||
\ '%Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'handlebars',
|
||||
\ 'name': 'handlebars'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,72 @@
|
||||
"============================================================================
|
||||
"File: ghc-mod.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Anthony Carapetis <anthony.carapetis at gmail dot com>
|
||||
"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_haskell_ghc_mod_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haskell_ghc_mod_checker = 1
|
||||
|
||||
let s:ghc_mod_new = -1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haskell_ghc_mod_IsAvailable() dict
|
||||
" We need either a Vim version that can handle NULs in system() output,
|
||||
" or a ghc-mod version that has the --boundary option.
|
||||
let exe = self.getExec()
|
||||
let s:ghc_mod_new = executable(exe) ? s:GhcModNew(exe) : -1
|
||||
return (s:ghc_mod_new >= 0) && (v:version >= 704 || s:ghc_mod_new)
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_haskell_ghc_mod_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': self.getExecEscaped() . ' check' . (s:ghc_mod_new ? ' --boundary=""' : '') })
|
||||
|
||||
let errorformat =
|
||||
\ '%-G%\s%#,' .
|
||||
\ '%f:%l:%c:%trror: %m,' .
|
||||
\ '%f:%l:%c:%tarning: %m,'.
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c:%m,' .
|
||||
\ '%E%f:%l:%c:,' .
|
||||
\ '%Z%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['compressWhitespace'],
|
||||
\ 'returns': [0] })
|
||||
endfunction
|
||||
|
||||
function! s:GhcModNew(exe)
|
||||
let exe = syntastic#util#shescape(a:exe)
|
||||
try
|
||||
let ghc_mod_version = filter(split(system(exe), '\n'), 'v:val =~# ''\m^ghc-mod version''')[0]
|
||||
let ret = syntastic#util#versionIsAtLeast(syntastic#util#parseVersion(ghc_mod_version), [2, 1, 2])
|
||||
catch /^Vim\%((\a\+)\)\=:E684/
|
||||
call syntastic#log#error("checker haskell/ghc_mod: can't parse version string (abnormal termination?)")
|
||||
let ret = -1
|
||||
endtry
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haskell',
|
||||
\ 'name': 'ghc_mod',
|
||||
\ 'exec': 'ghc-mod' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,48 @@
|
||||
"============================================================================
|
||||
"File: hdevtools.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Anthony Carapetis <anthony.carapetis at gmail dot com>
|
||||
"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_haskell_hdevtools_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haskell_hdevtools_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haskell_hdevtools_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': self.getExecEscaped() . ' check',
|
||||
\ 'args': get(g:, 'hdevtools_options', '') })
|
||||
|
||||
let errorformat= '\%-Z\ %#,'.
|
||||
\ '%W%f:%l:%c:\ Warning:\ %m,'.
|
||||
\ '%W%f:%l:%c:\ Warning:,'.
|
||||
\ '%E%f:%l:%c:\ %m,'.
|
||||
\ '%E%>%f:%l:%c:,'.
|
||||
\ '%+C\ \ %#%m,'.
|
||||
\ '%W%>%f:%l:%c:,'.
|
||||
\ '%+C\ \ %#%tarning:\ %m,'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['compressWhitespace'] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haskell',
|
||||
\ 'name': 'hdevtools'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,37 @@
|
||||
"============================================================================
|
||||
"File: hlint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Nicolas Wu <nicolas.wu at gmail dot com>
|
||||
"License: BSD
|
||||
"============================================================================
|
||||
|
||||
if exists('g:loaded_syntastic_haskell_hlint_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haskell_hlint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haskell_hlint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c: Error: %m,' .
|
||||
\ '%W%f:%l:%c: Warning: %m,' .
|
||||
\ '%C%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['compressWhitespace'] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haskell',
|
||||
\ 'name': 'hlint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
61
sources_non_forked/syntastic/syntax_checkers/haxe/haxe.vim
Normal file
61
sources_non_forked/syntastic/syntax_checkers/haxe/haxe.vim
Normal file
@ -0,0 +1,61 @@
|
||||
"============================================================================
|
||||
"File: haxe.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: David Bernard <david.bernard.31 at gmail dot com>
|
||||
"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_haxe_haxe_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_haxe_haxe_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_haxe_haxe_GetLocList() dict
|
||||
if exists('b:vaxe_hxml')
|
||||
let hxml = b:vaxe_hxml
|
||||
elseif exists('g:vaxe_hxml')
|
||||
let hxml = g:vaxe_hxml
|
||||
else
|
||||
let hxml = syntastic#util#findInParent('*.hxml', expand('%:p:h'))
|
||||
endif
|
||||
let hxml = fnamemodify(hxml, ':p')
|
||||
|
||||
if hxml != ''
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'fname': syntastic#util#shescape(fnamemodify(hxml, ':t')) })
|
||||
|
||||
let errorformat = '%E%f:%l: characters %c-%n : %m'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'cwd': fnamemodify(hxml, ':h') })
|
||||
|
||||
for e in loclist
|
||||
let e['hl'] = '\%>' . e['col'] . 'c\%<' . (e['nr'] + 1) . 'c'
|
||||
let e['col'] += 1
|
||||
let e['nr'] = 0
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endif
|
||||
|
||||
return []
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'haxe',
|
||||
\ 'name': 'haxe'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
38
sources_non_forked/syntastic/syntax_checkers/hss/hss.vim
Normal file
38
sources_non_forked/syntastic/syntax_checkers/hss/hss.vim
Normal file
@ -0,0 +1,38 @@
|
||||
"============================================================================
|
||||
"File: hss.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Justin Donaldson (jdonaldson@gmail.com)
|
||||
"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_hss_hss_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_hss_hss_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_hss_hss_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after' : '-output ' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat = '%E%f:%l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'hss',
|
||||
\ 'name': 'hss'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
55
sources_non_forked/syntastic/syntax_checkers/html/jshint.vim
Normal file
55
sources_non_forked/syntastic/syntax_checkers/html/jshint.vim
Normal file
@ -0,0 +1,55 @@
|
||||
"============================================================================
|
||||
"File: jshint.vim
|
||||
"Description: Javascript syntax checker for HTML - using jshint
|
||||
"Maintainer: LCD 47 <lcd047@gmail.com>
|
||||
"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_html_jshint_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_html_jshint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_jshint_exec')
|
||||
let g:syntastic_jshint_exec = 'jshint'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_jshint_conf')
|
||||
let g:syntastic_html_jshint_conf = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_html_jshint_IsAvailable() dict
|
||||
let exe = expand(g:syntastic_jshint_exec)
|
||||
return executable(exe) &&
|
||||
\ syntastic#util#versionIsAtLeast(syntastic#util#getVersion(exe . ' --version'), [2,4])
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_html_jshint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': expand(g:syntastic_jshint_exec),
|
||||
\ 'args': (g:syntastic_html_jshint_conf != '' ? '--config ' . g:syntastic_html_jshint_conf : ''),
|
||||
\ 'args_after': '--verbose --extract always' })
|
||||
|
||||
let errorformat = '%A%f: line %l\, col %v\, %m \(%t%*\d\)'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr('')} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'html',
|
||||
\ 'name': 'jshint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
209
sources_non_forked/syntastic/syntax_checkers/html/tidy.vim
Normal file
209
sources_non_forked/syntastic/syntax_checkers/html/tidy.vim
Normal file
@ -0,0 +1,209 @@
|
||||
"============================================================================
|
||||
"File: tidy.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" Checker option:
|
||||
"
|
||||
" - g:syntastic_html_tidy_ignore_errors (list; default: [])
|
||||
" list of errors to ignore
|
||||
" - g:syntastic_html_tidy_blocklevel_tags (list; default: [])
|
||||
" list of additional blocklevel tags, to be added to "--new-blocklevel-tags"
|
||||
" - g:syntastic_html_tidy_inline_tags (list; default: [])
|
||||
" list of additional inline tags, to be added to "--new-inline-tags"
|
||||
" - g:syntastic_html_tidy_empty_tags (list; default: [])
|
||||
" list of additional empty tags, to be added to "--new-empty-tags"
|
||||
|
||||
if exists("g:loaded_syntastic_html_tidy_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_html_tidy_checker = 1
|
||||
|
||||
if !exists('g:syntastic_html_tidy_ignore_errors')
|
||||
let g:syntastic_html_tidy_ignore_errors = []
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_tidy_blocklevel_tags')
|
||||
let g:syntastic_html_tidy_blocklevel_tags = []
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_tidy_inline_tags')
|
||||
let g:syntastic_html_tidy_inline_tags = []
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_tidy_empty_tags')
|
||||
let g:syntastic_html_tidy_empty_tags = []
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" TODO: join this with xhtml.vim for DRY's sake?
|
||||
function! s:TidyEncOptByFenc()
|
||||
let tidy_opts = {
|
||||
\'utf-8': '-utf8',
|
||||
\'ascii': '-ascii',
|
||||
\'latin1': '-latin1',
|
||||
\'iso-2022-jp': '-iso-2022',
|
||||
\'cp1252': '-win1252',
|
||||
\'macroman': '-mac',
|
||||
\'utf-16le': '-utf16le',
|
||||
\'utf-16': '-utf16',
|
||||
\'big5': '-big5',
|
||||
\'cp932': '-shiftjis',
|
||||
\'sjis': '-shiftjis',
|
||||
\'cp850': '-ibm858',
|
||||
\}
|
||||
return get(tidy_opts, &fileencoding, '-utf8')
|
||||
endfunction
|
||||
|
||||
let s:ignore_errors = [
|
||||
\ "<table> lacks \"summary\" attribute",
|
||||
\ "not approved by W3C",
|
||||
\ "<input> proprietary attribute \"placeholder\"",
|
||||
\ "<meta> proprietary attribute \"charset\"",
|
||||
\ "<meta> lacks \"content\" attribute",
|
||||
\ "inserting \"type\" attribute",
|
||||
\ "proprietary attribute \"data-",
|
||||
\ "missing <!DOCTYPE> declaration",
|
||||
\ "inserting implicit <body>",
|
||||
\ "inserting missing 'title' element",
|
||||
\ "unescaped & or unknown entity",
|
||||
\ "<input> attribute \"type\" has invalid value",
|
||||
\ "proprietary attribute \"role\"",
|
||||
\ "proprietary attribute \"aria-activedescendant\"",
|
||||
\ "proprietary attribute \"aria-atomic\"",
|
||||
\ "proprietary attribute \"aria-autocomplete\"",
|
||||
\ "proprietary attribute \"aria-busy\"",
|
||||
\ "proprietary attribute \"aria-checked\"",
|
||||
\ "proprietary attribute \"aria-controls\"",
|
||||
\ "proprietary attribute \"aria-describedby\"",
|
||||
\ "proprietary attribute \"aria-disabled\"",
|
||||
\ "proprietary attribute \"aria-dropeffect\"",
|
||||
\ "proprietary attribute \"aria-expanded\"",
|
||||
\ "proprietary attribute \"aria-flowto\"",
|
||||
\ "proprietary attribute \"aria-grabbed\"",
|
||||
\ "proprietary attribute \"aria-haspopup\"",
|
||||
\ "proprietary attribute \"aria-hidden\"",
|
||||
\ "proprietary attribute \"aria-invalid\"",
|
||||
\ "proprietary attribute \"aria-label\"",
|
||||
\ "proprietary attribute \"aria-labelledby\"",
|
||||
\ "proprietary attribute \"aria-level\"",
|
||||
\ "proprietary attribute \"aria-live\"",
|
||||
\ "proprietary attribute \"aria-multiline\"",
|
||||
\ "proprietary attribute \"aria-multiselectable\"",
|
||||
\ "proprietary attribute \"aria-orientation\"",
|
||||
\ "proprietary attribute \"aria-owns\"",
|
||||
\ "proprietary attribute \"aria-posinset\"",
|
||||
\ "proprietary attribute \"aria-pressed\"",
|
||||
\ "proprietary attribute \"aria-readonly\"",
|
||||
\ "proprietary attribute \"aria-relevant\"",
|
||||
\ "proprietary attribute \"aria-relevant\"",
|
||||
\ "proprietary attribute \"aria-required\"",
|
||||
\ "proprietary attribute \"aria-selected\"",
|
||||
\ "proprietary attribute \"aria-setsize\"",
|
||||
\ "proprietary attribute \"aria-sort\"",
|
||||
\ "proprietary attribute \"aria-valuemax\"",
|
||||
\ "proprietary attribute \"aria-valuemin\"",
|
||||
\ "proprietary attribute \"aria-valuenow\"",
|
||||
\ "proprietary attribute \"aria-valuetext\""
|
||||
\ ]
|
||||
|
||||
let s:blocklevel_tags = [
|
||||
\ "main",
|
||||
\ "section",
|
||||
\ "article",
|
||||
\ "aside",
|
||||
\ "header",
|
||||
\ "footer",
|
||||
\ "nav",
|
||||
\ "figure",
|
||||
\ "figcaption"
|
||||
\ ]
|
||||
|
||||
let s:inline_tags = [
|
||||
\ "video",
|
||||
\ "audio",
|
||||
\ "source",
|
||||
\ "embed",
|
||||
\ "mark",
|
||||
\ "progress",
|
||||
\ "meter",
|
||||
\ "time",
|
||||
\ "ruby",
|
||||
\ "rt",
|
||||
\ "rp",
|
||||
\ "canvas",
|
||||
\ "command",
|
||||
\ "details",
|
||||
\ "datalist"
|
||||
\ ]
|
||||
|
||||
let s:empty_tags = [
|
||||
\ "wbr",
|
||||
\ "keygen"
|
||||
\ ]
|
||||
|
||||
function! s:IgnoreError(text)
|
||||
for i in s:ignore_errors + g:syntastic_html_tidy_ignore_errors
|
||||
if stridx(a:text, i) != -1
|
||||
return 1
|
||||
endif
|
||||
endfor
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function! s:NewTags(name)
|
||||
return syntastic#util#shescape(join( s:{a:name} + g:syntastic_html_tidy_{a:name}, ',' ))
|
||||
endfunction
|
||||
|
||||
function! s:Args()
|
||||
let args = s:TidyEncOptByFenc() .
|
||||
\ ' --new-blocklevel-tags ' . s:NewTags('blocklevel_tags') .
|
||||
\ ' --new-inline-tags ' . s:NewTags('inline_tags') .
|
||||
\ ' --new-empty-tags ' . s:NewTags('empty_tags') .
|
||||
\ ' -e'
|
||||
return args
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_html_tidy_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': s:Args(),
|
||||
\ 'tail': '2>&1' })
|
||||
|
||||
let errorformat =
|
||||
\ '%Wline %l column %v - Warning: %m,' .
|
||||
\ '%Eline %l column %v - Error: %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")},
|
||||
\ 'returns': [0, 1, 2] })
|
||||
|
||||
" filter out valid HTML5 from the errors
|
||||
for e in loclist
|
||||
if e['valid'] && s:IgnoreError(e['text']) == 1
|
||||
let e['valid'] = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'html',
|
||||
\ 'name': 'tidy'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
102
sources_non_forked/syntastic/syntax_checkers/html/validator.vim
Normal file
102
sources_non_forked/syntastic/syntax_checkers/html/validator.vim
Normal file
@ -0,0 +1,102 @@
|
||||
"============================================================================
|
||||
"File: validator.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" For detail;s about validator see: http://about.validator.nu/
|
||||
"
|
||||
" Checker options:
|
||||
"
|
||||
" - g:syntastic_html_validator_api (string; default: 'http://validator.nu/')
|
||||
" URL of the service to use for checking; leave it to the default to run the
|
||||
" checks against http://validator.nu/, or set it to 'http://localhost:8888/'
|
||||
" if you're running a local service as per http://about.validator.nu/#src
|
||||
"
|
||||
" - g:syntastic_html_validator_parser (string; default: empty)
|
||||
" parser to use; legal values are: xml, xmldtd, html, html5, html4, html4tr;
|
||||
" set it to 'html5' to check HTML5 files; see the wiki for reference:
|
||||
" http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters#parser
|
||||
"
|
||||
" - g:syntastic_html_validator_nsfilter (string; default: empty)
|
||||
" sets the nsfilter for the parser; see the wiki for details:
|
||||
" http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters#nsfilter
|
||||
|
||||
if exists("g:loaded_syntastic_html_validator_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_html_validator_checker=1
|
||||
|
||||
if !exists('g:syntastic_html_validator_api')
|
||||
let g:syntastic_html_validator_api = 'http://validator.nu/'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_validator_parser')
|
||||
let g:syntastic_html_validator_parser = ''
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_html_validator_nsfilter')
|
||||
let g:syntastic_html_validator_nsfilter = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_html_validator_Preprocess(errors)
|
||||
let out = []
|
||||
for e in a:errors
|
||||
let parts = matchlist(e, '\v^"([^"]+)"(.+)')
|
||||
if len(parts) >= 3
|
||||
" URL decode, except leave alone any "+"
|
||||
let parts[1] = substitute(parts[1], '\m%\(\x\x\)', '\=nr2char("0x".submatch(1))', 'g')
|
||||
let parts[1] = substitute(parts[1], '\m\\"', '"', 'g')
|
||||
let parts[1] = substitute(parts[1], '\m\\\\', '\\', 'g')
|
||||
call add(out, '"' . parts[1] . '"' . parts[2])
|
||||
endif
|
||||
endfor
|
||||
return out
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_html_validator_GetLocList() dict
|
||||
let fname = syntastic#util#shexpand('%')
|
||||
let makeprg = self.getExecEscaped() . ' -s --compressed -F out=gnu -F asciiquotes=yes' .
|
||||
\ (g:syntastic_html_validator_parser != '' ? ' -F parser=' . g:syntastic_html_validator_parser : '') .
|
||||
\ (g:syntastic_html_validator_nsfilter != '' ? ' -F nsfilter=' . g:syntastic_html_validator_nsfilter : '') .
|
||||
\ ' -F doc=@' . fname . '\;type=text/html\;filename=' . fname . ' ' . g:syntastic_html_validator_api
|
||||
|
||||
let errorformat =
|
||||
\ '%E"%f":%l: %trror: %m,' .
|
||||
\ '%E"%f":%l-%\d%\+: %trror: %m,' .
|
||||
\ '%E"%f":%l%\%.%c: %trror: %m,' .
|
||||
\ '%E"%f":%l%\%.%c-%\d%\+%\%.%\d%\+: %trror: %m,' .
|
||||
\ '%E"%f":%l: %trror fatal: %m,' .
|
||||
\ '%E"%f":%l-%\d%\+: %trror fatal: %m,' .
|
||||
\ '%E"%f":%l%\%.%c: %trror fatal: %m,' .
|
||||
\ '%E"%f":%l%\%.%c-%\d%\+%\%.%\d%\+: %trror fatal: %m,' .
|
||||
\ '%W"%f":%l: info %tarning: %m,' .
|
||||
\ '%W"%f":%l-%\d%\+: info %tarning: %m,' .
|
||||
\ '%W"%f":%l%\%.%c: info %tarning: %m,' .
|
||||
\ '%W"%f":%l%\%.%c-%\d%\+%\%.%\d%\+: info %tarning: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'preprocess': 'SyntaxCheckers_html_validator_Preprocess',
|
||||
\ 'returns': [0] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'html',
|
||||
\ 'name': 'validator',
|
||||
\ 'exec': 'curl' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
69
sources_non_forked/syntastic/syntax_checkers/html/w3.vim
Normal file
69
sources_non_forked/syntastic/syntax_checkers/html/w3.vim
Normal file
@ -0,0 +1,69 @@
|
||||
"============================================================================
|
||||
"File: w3.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" Checker option:
|
||||
"
|
||||
" - g:syntastic_html_w3_api (string; default: 'http://validator.w3.org/check')
|
||||
" URL of the service to use for checking; leave it to the default to run the
|
||||
" checks against http://validator.w3.org/, or set it to
|
||||
" 'http://localhost/w3c-validator/check' if you're running a local service
|
||||
|
||||
if exists("g:loaded_syntastic_html_w3_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_html_w3_checker = 1
|
||||
|
||||
if !exists('g:syntastic_html_w3_api')
|
||||
let g:syntastic_html_w3_api = 'http://validator.w3.org/check'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_html_w3_GetLocList() dict
|
||||
let makeprg = self.getExecEscaped() . ' -s -F output=json ' .
|
||||
\ '-F uploaded_file=@' . syntastic#util#shexpand('%:p') . '\;type=text/html ' .
|
||||
\ g:syntastic_html_w3_api
|
||||
|
||||
let errorformat =
|
||||
\ '%A %\+{,' .
|
||||
\ '%C %\+"lastLine": %l\,%\?,' .
|
||||
\ '%C %\+"lastColumn": %c\,%\?,' .
|
||||
\ '%C %\+"message": "%m"\,%\?,' .
|
||||
\ '%C %\+"type": "%trror"\,%\?,' .
|
||||
\ '%-G %\+"type": "%tnfo"\,%\?,' .
|
||||
\ '%C %\+"subtype": "%tarning"\,%\?,' .
|
||||
\ '%Z %\+}\,,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")},
|
||||
\ 'returns': [0] })
|
||||
|
||||
for e in loclist
|
||||
let e['text'] = substitute(e['text'], '\m\\\([\"]\)', '\1', 'g')
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'html',
|
||||
\ 'name': 'w3',
|
||||
\ 'exec': 'curl' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,88 @@
|
||||
"============================================================================
|
||||
"File: checkstyle.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Dmitry Geurkov <d.geurkov at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
" Tested with checkstyle 5.5
|
||||
"============================================================================
|
||||
|
||||
if exists("g:loaded_syntastic_java_checkstyle_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_java_checkstyle_checker = 1
|
||||
|
||||
if !exists("g:syntastic_java_checkstyle_classpath")
|
||||
let g:syntastic_java_checkstyle_classpath = 'checkstyle-5.5-all.jar'
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_checkstyle_conf_file")
|
||||
let g:syntastic_java_checkstyle_conf_file = 'sun_checks.xml'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_java_checkstyle_Preprocess(errors)
|
||||
let out = []
|
||||
let fname = expand('%')
|
||||
for err in a:errors
|
||||
if match(err, '\m<error\>') > -1
|
||||
let line = str2nr(matchstr(err, '\m\<line="\zs\d\+\ze"'))
|
||||
if line == 0
|
||||
continue
|
||||
endif
|
||||
|
||||
let col = str2nr(matchstr(err, '\m\<column="\zs\d\+\ze"'))
|
||||
|
||||
let type = matchstr(err, '\m\<severity="\zs.\ze')
|
||||
if type !~? '^[EW]'
|
||||
let type = 'E'
|
||||
endif
|
||||
|
||||
let message = syntastic#util#decodeXMLEntities(matchstr(err, '\m\<message="\zs[^"]\+\ze"'))
|
||||
|
||||
call add(out, join([fname, type, line, col, message], ':'))
|
||||
elseif match(err, '\m<file name="') > -1
|
||||
let fname = syntastic#util#decodeXMLEntities(matchstr(err, '\v\<file name\="\zs[^"]+\ze"'))
|
||||
endif
|
||||
endfor
|
||||
return out
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_java_checkstyle_GetLocList() dict
|
||||
|
||||
let fname = syntastic#util#shescape( expand('%:p:h') . '/' . expand('%:t') )
|
||||
|
||||
if has('win32unix')
|
||||
let fname = substitute(system('cygpath -m ' . fname), '\m\%x00', '', 'g')
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '-cp ' . g:syntastic_java_checkstyle_classpath .
|
||||
\ ' com.puppycrawl.tools.checkstyle.Main -c ' . g:syntastic_java_checkstyle_conf_file .
|
||||
\ ' -f xml',
|
||||
\ 'fname': fname })
|
||||
|
||||
let errorformat = '%f:%t:%l:%c:%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'preprocess': 'SyntaxCheckers_java_checkstyle_Preprocess' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'java',
|
||||
\ 'name': 'checkstyle',
|
||||
\ 'exec': 'java'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
450
sources_non_forked/syntastic/syntax_checkers/java/javac.vim
Normal file
450
sources_non_forked/syntastic/syntax_checkers/java/javac.vim
Normal file
@ -0,0 +1,450 @@
|
||||
"============================================================================
|
||||
"File: javac.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Jochen Keil <jochen.keil at gmail dot com>
|
||||
" Dmitry Geurkov <d.geurkov at gmail dot com>
|
||||
"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_java_javac_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_java_javac_checker = 1
|
||||
let g:syntastic_java_javac_maven_pom_tags = ["build", "properties"]
|
||||
let g:syntastic_java_javac_maven_pom_properties = {}
|
||||
let s:has_maven = 0
|
||||
|
||||
" Global Options
|
||||
if !exists("g:syntastic_java_javac_executable")
|
||||
let g:syntastic_java_javac_executable = 'javac'
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_maven_executable")
|
||||
let g:syntastic_java_maven_executable = 'mvn'
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_options")
|
||||
let g:syntastic_java_javac_options = '-Xlint'
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_classpath")
|
||||
let g:syntastic_java_javac_classpath = ''
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_delete_output")
|
||||
let g:syntastic_java_javac_delete_output = 1
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! s:CygwinPath(path)
|
||||
return substitute(system("cygpath -m " . a:path), '\n', '', 'g')
|
||||
endfunction
|
||||
|
||||
if !exists("g:syntastic_java_javac_temp_dir")
|
||||
if has('win32') || has('win64')
|
||||
let g:syntastic_java_javac_temp_dir = $TEMP."\\vim-syntastic-javac"
|
||||
elseif has('win32unix')
|
||||
let g:syntastic_java_javac_temp_dir = s:CygwinPath('/tmp/vim-syntastic-javac')
|
||||
else
|
||||
let g:syntastic_java_javac_temp_dir = '/tmp/vim-syntastic-javac'
|
||||
endif
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_autoload_maven_classpath")
|
||||
let g:syntastic_java_javac_autoload_maven_classpath = 1
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_java_javac_config_file_enabled')
|
||||
let g:syntastic_java_javac_config_file_enabled = 0
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_java_javac_config_file')
|
||||
let g:syntastic_java_javac_config_file = '.syntastic_javac_config'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_java_javac_custom_classpath_command')
|
||||
let g:syntastic_java_javac_custom_classpath_command = ''
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_maven_pom_ftime")
|
||||
let g:syntastic_java_javac_maven_pom_ftime = {}
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_java_javac_maven_pom_classpath")
|
||||
let g:syntastic_java_javac_maven_pom_classpath = {}
|
||||
endif
|
||||
|
||||
function! s:RemoveCarriageReturn(line)
|
||||
return substitute(a:line, '\r', '', 'g')
|
||||
endfunction
|
||||
|
||||
" recursively remove directory and all it's sub-directories
|
||||
function! s:RemoveDir(dir)
|
||||
if isdirectory(a:dir)
|
||||
for f in split(globpath(a:dir, '*'), "\n")
|
||||
call s:RemoveDir(f)
|
||||
endfor
|
||||
silent! call system('rmdir ' . a:dir)
|
||||
else
|
||||
silent! call delete(a:dir)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:AddToClasspath(classpath, path)
|
||||
if a:path == ''
|
||||
return a:classpath
|
||||
endif
|
||||
if a:classpath != '' && a:path != ''
|
||||
if has('win32') || has('win32unix') || has('win64')
|
||||
return a:classpath . ";" . a:path
|
||||
else
|
||||
return a:classpath . ":" . a:path
|
||||
endif
|
||||
else
|
||||
return a:path
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:SplitClasspath(classpath)
|
||||
if a:classpath == ''
|
||||
return []
|
||||
endif
|
||||
if has('win32') || has('win32unix') || has('win64')
|
||||
return split(a:classpath, ";")
|
||||
else
|
||||
return split(a:classpath, ":")
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:LoadConfigFile()
|
||||
if filereadable(g:syntastic_java_javac_config_file)
|
||||
exe 'source '.g:syntastic_java_javac_config_file
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:SaveClasspath()
|
||||
" build classpath from lines
|
||||
let path = ''
|
||||
let lines = getline(1, line('$'))
|
||||
for l in lines
|
||||
let path = s:AddToClasspath(path, l)
|
||||
endfor
|
||||
" save classpath to config file
|
||||
if g:syntastic_java_javac_config_file_enabled
|
||||
if filereadable(g:syntastic_java_javac_config_file)
|
||||
" load lines from config file
|
||||
let lines = readfile(g:syntastic_java_javac_config_file)
|
||||
" strip g:syntastic_java_javac_classpath options from config file lines
|
||||
let i = 0
|
||||
while i < len(lines)
|
||||
if match(lines[i], 'g:syntastic_java_javac_classpath') != -1
|
||||
call remove(lines, i)
|
||||
let i -= 1
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
else
|
||||
let lines = []
|
||||
endif
|
||||
" add new g:syntastic_java_javac_classpath option to config
|
||||
call add(lines, 'let g:syntastic_java_javac_classpath = "'.path.'"')
|
||||
" save config file lines
|
||||
call writefile(lines, g:syntastic_java_javac_config_file)
|
||||
endif
|
||||
" set new classpath
|
||||
let g:syntastic_java_javac_classpath = path
|
||||
let &modified = 0
|
||||
endfunction
|
||||
|
||||
function! s:EditClasspath()
|
||||
let command = 'syntastic javac classpath'
|
||||
let winnr = bufwinnr('^' . command . '$')
|
||||
if winnr < 0
|
||||
let path = []
|
||||
let pathlines = split(g:syntastic_java_javac_classpath, "\n")
|
||||
for p in pathlines
|
||||
let path += s:SplitClasspath(p)
|
||||
endfor
|
||||
execute (len(path) + 5) . 'sp ' . fnameescape(command)
|
||||
|
||||
augroup syntastic
|
||||
autocmd BufWriteCmd <buffer> call s:SaveClasspath() | bwipeout
|
||||
augroup END
|
||||
|
||||
setlocal buftype=acwrite bufhidden=wipe nobuflisted noswapfile nowrap number
|
||||
for p in path
|
||||
call append(line('$') - 1, p)
|
||||
endfor
|
||||
let &modified = 0
|
||||
else
|
||||
execute winnr . 'wincmd w'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:SaveConfig()
|
||||
" get lines
|
||||
let lines = getline(1, line('$'))
|
||||
if g:syntastic_java_javac_config_file_enabled
|
||||
" save config file lines
|
||||
call writefile(lines, g:syntastic_java_javac_config_file)
|
||||
endif
|
||||
let &modified = 0
|
||||
endfunction
|
||||
|
||||
function! s:EditConfig()
|
||||
let command = 'syntastic javac config'
|
||||
let winnr = bufwinnr('^' . command . '$')
|
||||
if winnr < 0
|
||||
let lines = []
|
||||
if filereadable(g:syntastic_java_javac_config_file)
|
||||
let lines = readfile(g:syntastic_java_javac_config_file)
|
||||
endif
|
||||
execute (len(lines) + 5) . 'sp ' . fnameescape(command)
|
||||
|
||||
augroup syntastic
|
||||
autocmd BufWriteCmd <buffer> call s:SaveConfig() | bwipeout
|
||||
augroup END
|
||||
|
||||
setlocal ft=vim buftype=acwrite bufhidden=wipe nobuflisted noswapfile nowrap number
|
||||
for l in lines
|
||||
call append(line('$') - 1, l)
|
||||
endfor
|
||||
let &modified = 0
|
||||
else
|
||||
execute winnr . 'wincmd w'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:GetMavenProperties()
|
||||
let mvn_properties = {}
|
||||
let pom = findfile("pom.xml", ".;")
|
||||
if s:has_maven && filereadable(pom)
|
||||
if !has_key(g:syntastic_java_javac_maven_pom_properties, pom)
|
||||
let mvn_cmd = expand(g:syntastic_java_maven_executable) . ' -f ' . pom
|
||||
let mvn_is_managed_tag = 1
|
||||
let mvn_settings_output = split(system(mvn_cmd . ' help:effective-pom'), "\n")
|
||||
let current_path = 'project'
|
||||
for line in mvn_settings_output
|
||||
let matches = matchlist(line, '\m^\s*<\([a-zA-Z0-9\-\.]\+\)>\s*$')
|
||||
if mvn_is_managed_tag && !empty(matches)
|
||||
let mvn_is_managed_tag = index(g:syntastic_java_javac_maven_pom_tags, matches[1]) >= 0
|
||||
let current_path .= '.' . matches[1]
|
||||
else
|
||||
let matches = matchlist(line, '\m^\s*</\([a-zA-Z0-9\-\.]\+\)>\s*$')
|
||||
if !empty(matches)
|
||||
let mvn_is_managed_tag = index(g:syntastic_java_javac_maven_pom_tags, matches[1]) < 0
|
||||
let current_path = substitute(current_path, '\m\.' . matches[1] . "$", '', '')
|
||||
else
|
||||
let matches = matchlist(line, '\m^\s*<\([a-zA-Z0-9\-\.]\+\)>\(.\+\)</[a-zA-Z0-9\-\.]\+>\s*$')
|
||||
if mvn_is_managed_tag && !empty(matches)
|
||||
let mvn_properties[current_path . '.' . matches[1]] = matches[2]
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
let g:syntastic_java_javac_maven_pom_properties[pom] = mvn_properties
|
||||
endif
|
||||
return g:syntastic_java_javac_maven_pom_properties[pom]
|
||||
endif
|
||||
return mvn_properties
|
||||
endfunction
|
||||
|
||||
command! SyntasticJavacEditClasspath call s:EditClasspath()
|
||||
|
||||
if g:syntastic_java_javac_config_file_enabled
|
||||
command! SyntasticJavacEditConfig call s:EditConfig()
|
||||
endif
|
||||
|
||||
function! s:GetMavenClasspath()
|
||||
let pom = findfile("pom.xml", ".;")
|
||||
if s:has_maven && filereadable(pom)
|
||||
if !has_key(g:syntastic_java_javac_maven_pom_ftime, pom) || g:syntastic_java_javac_maven_pom_ftime[pom] != getftime(pom)
|
||||
let mvn_cmd = expand(g:syntastic_java_maven_executable) . ' -f ' . pom
|
||||
let mvn_classpath_output = split(system(mvn_cmd . ' dependency:build-classpath'), "\n")
|
||||
let mvn_classpath = ''
|
||||
let class_path_next = 0
|
||||
|
||||
for line in mvn_classpath_output
|
||||
if class_path_next == 1
|
||||
let mvn_classpath = s:RemoveCarriageReturn(line)
|
||||
break
|
||||
endif
|
||||
if stridx(line, 'Dependencies classpath:') >= 0
|
||||
let class_path_next = 1
|
||||
endif
|
||||
endfor
|
||||
|
||||
let mvn_properties = s:GetMavenProperties()
|
||||
|
||||
let output_dir = 'target/classes'
|
||||
if has_key(mvn_properties, 'project.build.outputDirectory')
|
||||
let output_dir = mvn_properties['project.build.outputDirectory']
|
||||
endif
|
||||
let mvn_classpath = s:AddToClasspath(mvn_classpath, output_dir)
|
||||
|
||||
let test_output_dir = 'target/test-classes'
|
||||
if has_key(mvn_properties, 'project.build.testOutputDirectory')
|
||||
let test_output_dir = mvn_properties['project.build.testOutputDirectory']
|
||||
endif
|
||||
let mvn_classpath = s:AddToClasspath(mvn_classpath, test_output_dir)
|
||||
|
||||
let g:syntastic_java_javac_maven_pom_ftime[pom] = getftime(pom)
|
||||
let g:syntastic_java_javac_maven_pom_classpath[pom] = mvn_classpath
|
||||
endif
|
||||
return g:syntastic_java_javac_maven_pom_classpath[pom]
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_java_javac_IsAvailable() dict
|
||||
let s:has_maven = executable(expand(g:syntastic_java_maven_executable))
|
||||
return executable(expand(g:syntastic_java_javac_executable))
|
||||
endfunction
|
||||
|
||||
function! s:MavenOutputDirectory()
|
||||
let pom = findfile("pom.xml", ".;")
|
||||
if s:has_maven && filereadable(pom)
|
||||
let mvn_properties = s:GetMavenProperties()
|
||||
let output_dir = getcwd()
|
||||
if has_key(mvn_properties, 'project.properties.build.dir')
|
||||
let output_dir = mvn_properties['project.properties.build.dir']
|
||||
endif
|
||||
if stridx(expand( '%:p:h' ), "src.main.java") >= 0
|
||||
let output_dir .= '/target/classes'
|
||||
if has_key(mvn_properties, 'project.build.outputDirectory')
|
||||
let output_dir = mvn_properties['project.build.outputDirectory']
|
||||
endif
|
||||
endif
|
||||
if stridx(expand( '%:p:h' ), "src.test.java") >= 0
|
||||
let output_dir .= '/target/test-classes'
|
||||
if has_key(mvn_properties, 'project.build.testOutputDirectory')
|
||||
let output_dir = mvn_properties['project.build.testOutputDirectory']
|
||||
endif
|
||||
endif
|
||||
|
||||
if has('win32unix')
|
||||
let output_dir=s:CygwinPath(output_dir)
|
||||
endif
|
||||
return output_dir
|
||||
endif
|
||||
return '.'
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_java_javac_GetLocList() dict
|
||||
|
||||
let javac_opts = g:syntastic_java_javac_options
|
||||
|
||||
let output_dir = ""
|
||||
if g:syntastic_java_javac_delete_output
|
||||
let output_dir = g:syntastic_java_javac_temp_dir
|
||||
let javac_opts .= ' -d ' . output_dir
|
||||
endif
|
||||
|
||||
" load classpath from config file
|
||||
if g:syntastic_java_javac_config_file_enabled
|
||||
call s:LoadConfigFile()
|
||||
endif
|
||||
|
||||
let javac_classpath = ''
|
||||
|
||||
" add classpathes to javac_classpath
|
||||
if has('win32') || has('win32unix') || has('win64')
|
||||
let javac_classpath_split = ';'
|
||||
else
|
||||
let javac_classpath_split = ':'
|
||||
endif
|
||||
for path in split(g:syntastic_java_javac_classpath, javac_classpath_split)
|
||||
if path != ''
|
||||
try
|
||||
let ps = glob(path, 0, 1)
|
||||
catch
|
||||
let ps = split(glob(path, 0), "\n")
|
||||
endtry
|
||||
if type(ps) == type([])
|
||||
for p in ps
|
||||
let javac_classpath = s:AddToClasspath(javac_classpath, p)
|
||||
endfor
|
||||
else
|
||||
let javac_classpath = s:AddToClasspath(javac_classpath, ps)
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
if s:has_maven && g:syntastic_java_javac_autoload_maven_classpath
|
||||
if !g:syntastic_java_javac_delete_output
|
||||
let javac_opts .= ' -d ' . s:MavenOutputDirectory()
|
||||
endif
|
||||
let javac_classpath = s:AddToClasspath(javac_classpath, s:GetMavenClasspath())
|
||||
endif
|
||||
|
||||
" load custom classpath
|
||||
if g:syntastic_java_javac_custom_classpath_command != ''
|
||||
let lines = system(g:syntastic_java_javac_custom_classpath_command)
|
||||
if has('win32') || has('win32unix') || has('win64')
|
||||
let lines = substitute(lines, "\r\n", "\n", 'g')
|
||||
endif
|
||||
for l in split(lines, "\n")
|
||||
let javac_classpath = s:AddToClasspath(javac_classpath, l)
|
||||
endfor
|
||||
endif
|
||||
|
||||
if javac_classpath != ''
|
||||
let javac_opts .= ' -cp "' . fnameescape(javac_classpath) . '"'
|
||||
endif
|
||||
|
||||
" path seperator
|
||||
if has('win32') || has('win32unix') || has('win64')
|
||||
let sep = "\\"
|
||||
else
|
||||
let sep = '/'
|
||||
endif
|
||||
|
||||
let fname = fnameescape(expand ( '%:p:h' ) . sep . expand ( '%:t' ))
|
||||
|
||||
if has('win32unix')
|
||||
let fname = s:CygwinPath(fname)
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': javac_opts,
|
||||
\ 'fname': fname,
|
||||
\ 'tail': '2>&1' })
|
||||
|
||||
" unashamedly stolen from *errorformat-javac* (quickfix.txt) and modified to include error types
|
||||
let errorformat =
|
||||
\ '%E%f:%l:\ error:\ %m,'.
|
||||
\ '%W%f:%l:\ warning:\ %m,'.
|
||||
\ '%A%f:%l:\ %m,'.
|
||||
\ '%+Z%p^,'.
|
||||
\ '%+C%.%#,'.
|
||||
\ '%-G%.%#'
|
||||
|
||||
if g:syntastic_java_javac_delete_output
|
||||
silent! call mkdir(output_dir, 'p')
|
||||
endif
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['cygwinRemoveCR'] })
|
||||
|
||||
if g:syntastic_java_javac_delete_output
|
||||
call s:RemoveDir(output_dir)
|
||||
endif
|
||||
return errors
|
||||
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'java',
|
||||
\ 'name': 'javac'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,76 @@
|
||||
"============================================================================
|
||||
"File: closurecompiler.vim
|
||||
"Description: Javascript syntax checker - using Google Closure Compiler
|
||||
"Maintainer: Motohiro Takayama <mootoh at gmail dot com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" To enable this plugin, edit the .vimrc like this:
|
||||
"
|
||||
" let g:syntastic_javascript_checker = "closurecompiler"
|
||||
"
|
||||
" and set the path to the Google Closure Compiler:
|
||||
"
|
||||
" let g:syntastic_javascript_closure_compiler_path = '/path/to/google-closure-compiler.jar'
|
||||
"
|
||||
" It takes additional options for Google Closure Compiler with the variable
|
||||
" g:syntastic_javascript_closure_compiler_options.
|
||||
"
|
||||
|
||||
if exists("g:loaded_syntastic_javascript_closurecompiler_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_closurecompiler_checker = 1
|
||||
|
||||
if !exists("g:syntastic_javascript_closure_compiler_options")
|
||||
let g:syntastic_javascript_closure_compiler_options = ""
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_closurecompiler_IsAvailable() dict
|
||||
return
|
||||
\ executable("java") &&
|
||||
\ exists("g:syntastic_javascript_closure_compiler_path") &&
|
||||
\ filereadable(g:syntastic_javascript_closure_compiler_path)
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_javascript_closurecompiler_GetLocList() dict
|
||||
if exists("g:syntastic_javascript_closure_compiler_file_list")
|
||||
let file_list = join(readfile(g:syntastic_javascript_closure_compiler_file_list))
|
||||
else
|
||||
let file_list = syntastic#util#shexpand('%')
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': 'java -jar ' . g:syntastic_javascript_closure_compiler_path,
|
||||
\ 'args': g:syntastic_javascript_closure_compiler_options,
|
||||
\ 'args_after': '--js' ,
|
||||
\ 'fname': file_list })
|
||||
|
||||
let errorformat =
|
||||
\ '%-GOK,'.
|
||||
\ '%E%f:%l: ERROR - %m,'.
|
||||
\ '%Z%p^,'.
|
||||
\ '%W%f:%l: WARNING - %m,'.
|
||||
\ '%Z%p^'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'closurecompiler',
|
||||
\ 'exec': 'java'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,50 @@
|
||||
"============================================================================
|
||||
"File: eslint.vim
|
||||
"Description: Javascript syntax checker - using eslint
|
||||
"Maintainer: Maksim Ryzhikov <rv.maksim at gmail dot com>
|
||||
"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_javascript_eslint_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_eslint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_javascript_eslint_conf')
|
||||
let g:syntastic_javascript_eslint_conf = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_eslint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': (g:syntastic_javascript_eslint_conf != '' ? '--config ' . g:syntastic_javascript_eslint_conf : '') })
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f: line %l\, col %c\, Error - %m'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['sort'] })
|
||||
|
||||
for e in loclist
|
||||
let e['col'] += 1
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'eslint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,48 @@
|
||||
"============================================================================
|
||||
"File: gjslint.vim
|
||||
"Description: Javascript syntax checker - using gjslint
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_javascript_gjslint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_gjslint_checker = 1
|
||||
|
||||
if !exists("g:syntastic_javascript_gjslint_conf")
|
||||
let g:syntastic_javascript_gjslint_conf = ""
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_gjslint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': g:syntastic_javascript_gjslint_conf,
|
||||
\ 'args_after': '--nosummary --unix_mode --nodebug_indentation --nobeep' })
|
||||
|
||||
let errorformat =
|
||||
\ "%f:%l:(New Error -%\\?\%n) %m," .
|
||||
\ "%f:%l:(-%\\?%n) %m," .
|
||||
\ "%-G1 files checked," .
|
||||
\ " no errors found.," .
|
||||
\ "%-G%.%#"
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'gjslint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,42 @@
|
||||
"============================================================================
|
||||
"File: jscs.vim
|
||||
"Description: Javascript syntax checker - using jscs
|
||||
"Maintainer: LCD 47 <lcd047@gmail.com>
|
||||
"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_javascript_jscs_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_jscs_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" we borrow SyntaxCheckers_java_checkstyle_Preprocess() from java/checkstyle
|
||||
runtime! syntax_checkers/java/*.vim
|
||||
|
||||
function! SyntaxCheckers_javascript_jscs_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '--no-colors --reporter checkstyle' })
|
||||
let errorformat = '%f:%t:%l:%c:%m'
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'preprocess': 'SyntaxCheckers_java_checkstyle_Preprocess',
|
||||
\ 'postprocess': ['sort'],
|
||||
\ 'returns': [0] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'jscs'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,60 @@
|
||||
"============================================================================
|
||||
"File: jshint.vim
|
||||
"Description: Javascript syntax checker - using jshint
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_javascript_jshint_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_jshint_checker = 1
|
||||
|
||||
if !exists('g:syntastic_jshint_exec')
|
||||
let g:syntastic_jshint_exec = 'jshint'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_javascript_jshint_conf')
|
||||
let g:syntastic_javascript_jshint_conf = ''
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_jshint_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_jshint_exec))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_javascript_jshint_GetLocList() dict
|
||||
if !exists('s:jshint_new')
|
||||
let s:jshint_new =
|
||||
\ syntastic#util#versionIsAtLeast(syntastic#util#getVersion(expand(g:syntastic_jshint_exec) . ' --version'), [1, 1])
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': expand(g:syntastic_jshint_exec),
|
||||
\ 'args': (g:syntastic_javascript_jshint_conf != '' ? '--config ' . g:syntastic_javascript_jshint_conf : ''),
|
||||
\ 'args_after': (s:jshint_new ? '--verbose ' : '') })
|
||||
|
||||
let errorformat = s:jshint_new ?
|
||||
\ '%A%f: line %l\, col %v\, %m \(%t%*\d\)' :
|
||||
\ '%E%f: line %l\, col %v\, %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr('')} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'jshint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,50 @@
|
||||
"============================================================================
|
||||
"File: jsl.vim
|
||||
"Description: Javascript syntax checker - using jsl
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_javascript_jsl_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_javascript_jsl_checker = 1
|
||||
|
||||
if !exists("g:syntastic_javascript_jsl_conf")
|
||||
let g:syntastic_javascript_jsl_conf = ""
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_jsl_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': (g:syntastic_javascript_jsl_conf != '' ? '-conf ' . g:syntastic_javascript_jsl_conf : ''),
|
||||
\ 'args_after': '-nologo -nofilelisting -nosummary -nocontext -process' })
|
||||
|
||||
let errorformat =
|
||||
\ '%W%f(%l): lint warning: %m,'.
|
||||
\ '%-Z%p^,'.
|
||||
\ '%W%f(%l): warning: %m,'.
|
||||
\ '%-Z%p^,'.
|
||||
\ '%E%f(%l): SyntaxError: %m,'.
|
||||
\ '%-Z%p^,'.
|
||||
\ '%-G'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'jsl'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: jslint.vim
|
||||
"Description: Javascript syntax checker - using jslint
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"Tested with jslint 0.1.4.
|
||||
"============================================================================
|
||||
if exists("g:loaded_syntastic_javascript_jslint_checker")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_syntastic_javascript_jslint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_javascript_jslint_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item['text'], '\mExpected .* and instead saw ''\zs.*\ze''')
|
||||
if term != ''
|
||||
let term = '\V' . term
|
||||
endif
|
||||
return term
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_javascript_jslint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args': '--white --nomen --regexp --plusplus --bitwise --newcap --sloppy --vars' })
|
||||
|
||||
let errorformat =
|
||||
\ '%E %##%\d%\+ %m,'.
|
||||
\ '%-Z%.%#Line %l\, Pos %c,'.
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'javascript',
|
||||
\ 'name': 'jslint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,43 @@
|
||||
"============================================================================
|
||||
"File: jsonlint.vim
|
||||
"Description: JSON syntax checker - using jsonlint
|
||||
"Maintainer: Miller Medeiros <contact at millermedeiros dot com>
|
||||
"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_json_jsonlint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_json_jsonlint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_json_jsonlint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'post_args_after': '--compact' })
|
||||
|
||||
let errorformat =
|
||||
\ '%ELine %l:%c,'.
|
||||
\ '%Z\\s%#Reason: %m,'.
|
||||
\ '%C%.%#,'.
|
||||
\ '%f: line %l\, col %c\, %m,'.
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr('')} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'json',
|
||||
\ 'name': 'jsonlint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,41 @@
|
||||
"============================================================================
|
||||
"File: jsonval.vim
|
||||
"Description: JSON syntax checker - using jsonval
|
||||
"Maintainer: Miller Medeiros <contact at millermedeiros dot com>
|
||||
"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_json_jsonval_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_json_jsonval_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_json_jsonval_GetLocList() dict
|
||||
" based on https://gist.github.com/1196345
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:\ %m\ at\ line\ %l,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr('')} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'json',
|
||||
\ 'name': 'jsonval'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
fs = require 'fs'
|
||||
less = require 'less'
|
||||
args = process.argv.slice(1)
|
||||
options = {}
|
||||
|
||||
args = args.filter (arg) ->
|
||||
match = arg.match(/^-I(.+)$/)
|
||||
if match
|
||||
options.paths.push(match[1]);
|
||||
return false
|
||||
|
||||
match = arg.match(/^--?([a-z][\-0-9a-z]*)(?:=([^\s]+))?$/i)
|
||||
if match
|
||||
arg = match[1]
|
||||
else
|
||||
return arg
|
||||
|
||||
switch arg
|
||||
when 'strict-imports' then options.strictImports = true
|
||||
when 'include-path'
|
||||
options.paths = match[2].split(if os.type().match(/Windows/) then ';' else ':')
|
||||
.map (p) ->
|
||||
if p
|
||||
return path.resolve(process.cwd(), p)
|
||||
when 'O0' then options.optimization = 0
|
||||
when 'O1' then options.optimization = 1
|
||||
when 'O2' then options.optimization = 2
|
||||
|
||||
options.filename = args[1]
|
||||
|
||||
parser = new(less.Parser) options
|
||||
|
||||
fs.readFile(options.filename, 'utf-8', (err,data) ->
|
||||
parser.parse(data, (err, tree) ->
|
||||
if err
|
||||
less.writeError err
|
||||
process.exit(1)
|
||||
)
|
||||
)
|
@ -0,0 +1,57 @@
|
||||
// Generated by CoffeeScript 1.3.3
|
||||
(function() {
|
||||
var args, fs, less, options, parser;
|
||||
|
||||
fs = require('fs');
|
||||
|
||||
less = require('less');
|
||||
|
||||
args = process.argv.slice(1);
|
||||
|
||||
options = {};
|
||||
|
||||
args = args.filter(function(arg) {
|
||||
var match;
|
||||
match = arg.match(/^-I(.+)$/);
|
||||
if (match) {
|
||||
options.paths.push(match[1]);
|
||||
return false;
|
||||
}
|
||||
match = arg.match(/^--?([a-z][\-0-9a-z]*)(?:=([^\s]+))?$/i);
|
||||
if (match) {
|
||||
arg = match[1];
|
||||
} else {
|
||||
return arg;
|
||||
}
|
||||
switch (arg) {
|
||||
case 'strict-imports':
|
||||
return options.strictImports = true;
|
||||
case 'include-path':
|
||||
return options.paths = match[2].split(os.type().match(/Windows/) ? ';' : ':').map(function(p) {
|
||||
if (p) {
|
||||
return path.resolve(process.cwd(), p);
|
||||
}
|
||||
});
|
||||
case 'O0':
|
||||
return options.optimization = 0;
|
||||
case 'O1':
|
||||
return options.optimization = 1;
|
||||
case 'O2':
|
||||
return options.optimization = 2;
|
||||
}
|
||||
});
|
||||
|
||||
options.filename = args[1];
|
||||
|
||||
parser = new less.Parser(options);
|
||||
|
||||
fs.readFile(options.filename, 'utf-8', function(err, data) {
|
||||
return parser.parse(data, function(err, tree) {
|
||||
if (err) {
|
||||
less.writeError(err);
|
||||
return process.exit(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}).call(this);
|
71
sources_non_forked/syntastic/syntax_checkers/less/lessc.vim
Normal file
71
sources_non_forked/syntastic/syntax_checkers/less/lessc.vim
Normal file
@ -0,0 +1,71 @@
|
||||
"============================================================================
|
||||
"File: less.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Julien Blanchard <julien at sideburns dot eu>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
" To send additional options to less use the variable g:syntastic_less_options.
|
||||
" The default is
|
||||
" let g:syntastic_less_options = "--no-color"
|
||||
"
|
||||
" To use less-lint instead of less set the variable
|
||||
" g:syntastic_less_use_less_lint.
|
||||
|
||||
if exists("g:loaded_syntastic_less_lessc_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_less_lessc_checker = 1
|
||||
|
||||
if !exists("g:syntastic_less_options")
|
||||
let g:syntastic_less_options = ""
|
||||
endif
|
||||
|
||||
if !exists("g:syntastic_less_use_less_lint")
|
||||
let g:syntastic_less_use_less_lint = 0
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if g:syntastic_less_use_less_lint
|
||||
let s:check_file = 'node ' . syntastic#util#shescape(expand('<sfile>:p:h') . syntastic#util#Slash() . 'less-lint.js')
|
||||
else
|
||||
let s:check_file = 'lessc'
|
||||
endif
|
||||
|
||||
function! SyntaxCheckers_less_lessc_IsAvailable() dict
|
||||
return g:syntastic_less_use_less_lint ? executable('node') : executable('lessc')
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_less_lessc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': s:check_file,
|
||||
\ 'args': g:syntastic_less_options,
|
||||
\ 'args_after': '--no-color',
|
||||
\ 'tail': '> ' . syntastic#util#DevNull() })
|
||||
|
||||
let errorformat =
|
||||
\ '%m in %f on line %l\, column %c:,' .
|
||||
\ '%m in %f:%l:%c,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr(""), 'text': "Syntax error"} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'less',
|
||||
\ 'name': 'lessc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
50
sources_non_forked/syntastic/syntax_checkers/lex/flex.vim
Normal file
50
sources_non_forked/syntastic/syntax_checkers/lex/flex.vim
Normal file
@ -0,0 +1,50 @@
|
||||
"============================================================================
|
||||
"File: lex.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_lex_flex_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_lex_flex_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_lex_flex_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item['text'],
|
||||
\ '\m^\(unrecognized %option\|bad <start condition>\|bad character\( class expression\)\=\): \zs.*')
|
||||
if term == ''
|
||||
let term = matchstr(a:item['text'],
|
||||
\ '\m^\(Definition value for\|undefined definition\) \zs{[^}]\+}\ze')
|
||||
endif
|
||||
|
||||
return term != '' ? '\V' . term : ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_lex_flex_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat = '%f:%l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'lex',
|
||||
\ 'name': 'flex'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
46
sources_non_forked/syntastic/syntax_checkers/limbo/limbo.vim
Normal file
46
sources_non_forked/syntastic/syntax_checkers/limbo/limbo.vim
Normal file
@ -0,0 +1,46 @@
|
||||
"============================================================================
|
||||
"File: limbo.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Alex Efros <powerman-asdf@ya.ru>
|
||||
"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_limbo_limbo_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_limbo_limbo_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_limbo_limbo_GetLocList() dict
|
||||
let include = $INFERNO_HOME != '' ? '-I$INFERNO_HOME ' : ''
|
||||
" don't generate .dis in current dir while checking syntax,
|
||||
" .dis should be generated by `mk`
|
||||
let output = filereadable('mkfile') ? (' ' . syntastic#c#NullOutput()) : ''
|
||||
|
||||
let makeprg = self.makeprgBuild({ 'args_before': include . '-w' . output })
|
||||
|
||||
let errorformat = '%E%f:%l:%m'
|
||||
if expand('%') =~# '\m\.m$'
|
||||
let errorformat = '%-G%f:%l: near ` EOF ` : no implementation module,' . errorformat
|
||||
endif
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'limbo',
|
||||
\ 'name': 'limbo' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
48
sources_non_forked/syntastic/syntax_checkers/lisp/clisp.vim
Normal file
48
sources_non_forked/syntastic/syntax_checkers/lisp/clisp.vim
Normal file
@ -0,0 +1,48 @@
|
||||
"============================================================================
|
||||
"File: lisp.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Karl Yngve Lervåg <karl.yngve@lervag.net>
|
||||
"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_lisp_clisp_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_lisp_clisp_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_lisp_clisp_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '-q -c ' . syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat =
|
||||
\ '%-G;%.%#,' .
|
||||
\ '%W%>WARNING:%.%#line %l : %m,' .
|
||||
\ '%Z %#%m,' .
|
||||
\ '%W%>WARNING:%.%#lines %l..%\d\# : %m,' .
|
||||
\ '%Z %#%m,' .
|
||||
\ '%E%>The following functions were %m,' .
|
||||
\ '%Z %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr('')} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'lisp',
|
||||
\ 'name': 'clisp'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
39
sources_non_forked/syntastic/syntax_checkers/llvm/llvm.vim
Normal file
39
sources_non_forked/syntastic/syntax_checkers/llvm/llvm.vim
Normal file
@ -0,0 +1,39 @@
|
||||
"============================================================================
|
||||
"File: llvm.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Andrew Kelley <superjoe30@gmail.com>
|
||||
"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_llvm_llvm_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_llvm_llvm_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_llvm_llvm_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat = 'llc: %f:%l:%c: %trror: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'llvm',
|
||||
\ 'name': 'llvm',
|
||||
\ 'exec': 'llc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
65
sources_non_forked/syntastic/syntax_checkers/lua/luac.vim
Normal file
65
sources_non_forked/syntastic/syntax_checkers/lua/luac.vim
Normal file
@ -0,0 +1,65 @@
|
||||
"============================================================================
|
||||
"File: lua.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_lua_luac_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_lua_luac_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_lua_luac_GetHighlightRegex(pos)
|
||||
let result = ''
|
||||
let near = matchstr(a:pos['text'], '\mnear ''\zs[^'']\+\ze''')
|
||||
if near != ''
|
||||
if near ==# '<eof>'
|
||||
let p = getpos('$')
|
||||
let a:pos['lnum'] = p[1]
|
||||
let a:pos['col'] = p[2]
|
||||
let result = '\%' . p[2] . 'c'
|
||||
else
|
||||
let result = '\V' . near
|
||||
endif
|
||||
|
||||
" XXX the following piece of code is evil, and is likely to break
|
||||
" in future versions of syntastic; enable it at your own risk :)
|
||||
|
||||
"let open = matchstr(a:pos['text'], '\m(to close ''\zs[^'']\+\ze'' at line [0-9]\+)')
|
||||
"if open != ''
|
||||
" let line = str2nr(matchstr(a:pos['text'], '\m(to close ''[^'']\+'' at line \zs[0-9]\+\ze)'))
|
||||
" let group = a:pos['type'] ==? 'E' ? 'SyntasticError' : 'SyntasticWarning'
|
||||
" call matchadd(group, '\%' . line . 'l\V' . open)
|
||||
"endif
|
||||
endif
|
||||
return result
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_lua_luac_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-p' })
|
||||
|
||||
let errorformat = 'luac: %#%f:%l: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': { 'bufnr': bufnr(''), 'type': 'E' } })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'lua',
|
||||
\ 'name': 'luac'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,41 @@
|
||||
"============================================================================
|
||||
"File: matlab.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Jason Graham <jason at the-graham dot com>
|
||||
"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_matlab_mlint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_matlab_mlint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_matlab_mlint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-id $*' })
|
||||
|
||||
let errorformat =
|
||||
\ 'L %l (C %c): %*[a-zA-Z0-9]: %m,'.
|
||||
\ 'L %l (C %c-%*[0-9]): %*[a-zA-Z0-9]: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'defaults': {'bufnr': bufnr("")} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'matlab',
|
||||
\ 'name': 'mlint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
41
sources_non_forked/syntastic/syntax_checkers/nasm/nasm.vim
Normal file
41
sources_non_forked/syntastic/syntax_checkers/nasm/nasm.vim
Normal file
@ -0,0 +1,41 @@
|
||||
"============================================================================
|
||||
"File: nasm.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Håvard Pettersson <haavard.pettersson at gmail dot com>
|
||||
"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_nasm_nasm_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_nasm_nasm_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_nasm_nasm_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '-X gnu -f elf' .
|
||||
\ ' -I ' . syntastic#util#shescape(expand("%:p:h") . "/") .
|
||||
\ ' ' . syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat = '%f:%l: %t%*[^:]: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'nasm',
|
||||
\ 'name': 'nasm'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,41 @@
|
||||
"============================================================================
|
||||
"File: mandoc.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_nroff_mandoc_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_nroff_mandoc_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_nroff_mandoc_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-Tlint' })
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c: %tRROR: %m,' .
|
||||
\ '%W%f:%l:%c: %tARNING: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 2, 3, 4] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'nroff',
|
||||
\ 'name': 'mandoc'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
59
sources_non_forked/syntastic/syntax_checkers/objc/gcc.vim
Normal file
59
sources_non_forked/syntastic/syntax_checkers/objc/gcc.vim
Normal file
@ -0,0 +1,59 @@
|
||||
"============================================================================
|
||||
"File: objc.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_objc_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_objc_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_objc_compiler')
|
||||
let g:syntastic_objc_compiler = executable('gcc') ? 'gcc' : 'clang'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_objc_compiler_options')
|
||||
let g:syntastic_objc_compiler_options = '-std=gnu99'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_objc_gcc_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_objc_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_objc_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('objc', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,' .
|
||||
\ '%-G%f:%l: %#error: %#for each function it appears%.%#,' .
|
||||
\ '%-GIn file included%.%#,'.
|
||||
\ '%-G %#from %f:%l\,,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %trror: %m,' .
|
||||
\ '%f:%l: %tarning: %m,' .
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-x objective-c -fsyntax-only',
|
||||
\ 'header_flags': '-x objective-c-header -lobjc',
|
||||
\ 'header_names': '\m\.h$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'objc',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
31
sources_non_forked/syntastic/syntax_checkers/objc/oclint.vim
Normal file
31
sources_non_forked/syntastic/syntax_checkers/objc/oclint.vim
Normal file
@ -0,0 +1,31 @@
|
||||
"============================================================================
|
||||
"File: oclint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: "UnCO" Lin <undercooled aT lavabit com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_oclint_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_oclint_config':
|
||||
"
|
||||
" let g:syntastic_oclint_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_objc_oclint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_objc_oclint_checker = 1
|
||||
|
||||
runtime! syntax_checkers/c/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'objc',
|
||||
\ 'name': 'oclint',
|
||||
\ 'redirect': 'c/oclint'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
59
sources_non_forked/syntastic/syntax_checkers/objcpp/gcc.vim
Normal file
59
sources_non_forked/syntastic/syntax_checkers/objcpp/gcc.vim
Normal file
@ -0,0 +1,59 @@
|
||||
"============================================================================
|
||||
"File: objcpp.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Gregor Uhlenheuer <kongo2002 at gmail dot com>
|
||||
"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_objcpp_gcc_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_objcpp_gcc_checker = 1
|
||||
|
||||
if !exists('g:syntastic_objcpp_compiler')
|
||||
let g:syntastic_objcpp_compiler = executable('gcc') ? 'gcc' : 'clang'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_objcpp_compiler_options')
|
||||
let g:syntastic_objcpp_compiler_options = '-std=gnu99'
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_objcpp_gcc_IsAvailable() dict
|
||||
return executable(expand(g:syntastic_objcpp_compiler))
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_objcpp_gcc_GetLocList() dict
|
||||
return syntastic#c#GetLocList('objcpp', 'gcc', {
|
||||
\ 'errorformat':
|
||||
\ '%-G%f:%s:,' .
|
||||
\ '%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,' .
|
||||
\ '%-G%f:%l: %#error: %#for each function it appears%.%#,' .
|
||||
\ '%-GIn file included%.%#,'.
|
||||
\ '%-G %#from %f:%l\,,' .
|
||||
\ '%f:%l:%c: %trror: %m,' .
|
||||
\ '%f:%l:%c: %tarning: %m,' .
|
||||
\ '%f:%l:%c: %m,' .
|
||||
\ '%f:%l: %trror: %m,' .
|
||||
\ '%f:%l: %tarning: %m,' .
|
||||
\ '%f:%l: %m',
|
||||
\ 'main_flags': '-x objective-c++ -fsyntax-only',
|
||||
\ 'header_flags': '-x objective-c++-header -lobjc',
|
||||
\ 'header_names': '\m\.h$' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'objcpp',
|
||||
\ 'name': 'gcc' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,31 @@
|
||||
"============================================================================
|
||||
"File: oclint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: "UnCO" Lin <undercooled aT lavabit com>
|
||||
"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.
|
||||
"============================================================================
|
||||
"
|
||||
" The setting 'g:syntastic_oclint_config_file' allows you to define a file
|
||||
" that contains additional compiler arguments like include directories or
|
||||
" CFLAGS. The file is expected to contain one option per line. If none is
|
||||
" given the filename defaults to '.syntastic_oclint_config':
|
||||
"
|
||||
" let g:syntastic_oclint_config_file = '.config'
|
||||
|
||||
if exists("g:loaded_syntastic_objcpp_oclint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_objcpp_oclint_checker = 1
|
||||
|
||||
runtime! syntax_checkers/c/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'objcpp',
|
||||
\ 'name': 'oclint',
|
||||
\ 'redirect': 'c/oclint'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
156
sources_non_forked/syntastic/syntax_checkers/ocaml/camlp4o.vim
Normal file
156
sources_non_forked/syntastic/syntax_checkers/ocaml/camlp4o.vim
Normal file
@ -0,0 +1,156 @@
|
||||
"============================================================================
|
||||
"File: ocaml.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Török Edwin <edwintorok at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" The more reliable way to check for a single .ml file is to use ocamlc.
|
||||
" You can do that setting this in your .vimrc:
|
||||
"
|
||||
" let g:syntastic_ocaml_use_ocamlc = 1
|
||||
" It's possible to use ocamlc in conjuction with Jane Street's Core. In order
|
||||
" to do that, you have to specify this in your .vimrc:
|
||||
"
|
||||
" let g:syntastic_ocaml_use_janestreet_core = 1
|
||||
" let g:syntastic_ocaml_janestreet_core_dir = <path>
|
||||
"
|
||||
" Where path is the path to your core installation (usually a collection of
|
||||
" .cmx and .cmxa files).
|
||||
"
|
||||
"
|
||||
" By default the camlp4o preprocessor is used to check the syntax of .ml, and .mli files,
|
||||
" ocamllex is used to check .mll files and menhir is used to check .mly files.
|
||||
" The output is all redirected to /dev/null, nothing is written to the disk.
|
||||
"
|
||||
" If your source code needs camlp4r then you can define this in your .vimrc:
|
||||
"
|
||||
" let g:syntastic_ocaml_camlp4r = 1
|
||||
"
|
||||
" If you used some syntax extensions, or you want to also typecheck the source
|
||||
" code, then you can define this:
|
||||
"
|
||||
" let g:syntastic_ocaml_use_ocamlbuild = 1
|
||||
"
|
||||
" This will run ocamlbuild <name>.inferred.mli, so it will write to your _build
|
||||
" directory (and possibly rebuild your myocamlbuild.ml plugin), only enable this
|
||||
" if you are ok with that.
|
||||
"
|
||||
" If you are using syntax extensions / external libraries and have a properly
|
||||
" set up _tags (and myocamlbuild.ml file) then it should just work
|
||||
" to enable this flag and get syntax / type checks through syntastic.
|
||||
"
|
||||
" For best results your current directory should be the project root
|
||||
" (same situation if you want useful output from :make).
|
||||
|
||||
if exists("g:loaded_syntastic_ocaml_camlp4o_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_ocaml_camlp4o_checker = 1
|
||||
|
||||
if exists('g:syntastic_ocaml_camlp4r') && g:syntastic_ocaml_camlp4r != 0
|
||||
let s:ocamlpp="camlp4r"
|
||||
else
|
||||
let s:ocamlpp="camlp4o"
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_ocaml_camlp4o_IsAvailable() dict
|
||||
return executable(s:ocamlpp)
|
||||
endfunction
|
||||
|
||||
if !exists('g:syntastic_ocaml_use_ocamlc') || !executable('ocamlc')
|
||||
let g:syntastic_ocaml_use_ocamlc = 0
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_ocaml_use_janestreet_core')
|
||||
let g:syntastic_ocaml_use_ocamlc = 0
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_ocaml_use_ocamlbuild') || !executable("ocamlbuild")
|
||||
let g:syntastic_ocaml_use_ocamlbuild = 0
|
||||
endif
|
||||
|
||||
function! SyntaxCheckers_ocaml_camlp4o_GetLocList() dict
|
||||
let makeprg = s:GetMakeprg()
|
||||
if makeprg == ""
|
||||
return []
|
||||
endif
|
||||
|
||||
let errorformat =
|
||||
\ '%AFile "%f"\, line %l\, characters %c-%*\d:,'.
|
||||
\ '%AFile "%f"\, line %l\, characters %c-%*\d (end at line %*\d\, character %*\d):,'.
|
||||
\ '%AFile "%f"\, line %l\, character %c:,'.
|
||||
\ '%AFile "%f"\, line %l\, character %c:%m,'.
|
||||
\ '%-GPreprocessing error %.%#,'.
|
||||
\ '%-GCommand exited %.%#,'.
|
||||
\ '%C%tarning %n: %m,'.
|
||||
\ '%C%m,'.
|
||||
\ '%-G+%.%#'
|
||||
|
||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
function! s:GetMakeprg()
|
||||
if g:syntastic_ocaml_use_ocamlc
|
||||
return s:GetOcamlcMakeprg()
|
||||
endif
|
||||
|
||||
if g:syntastic_ocaml_use_ocamlbuild && isdirectory('_build')
|
||||
return s:GetOcamlBuildMakeprg()
|
||||
endif
|
||||
|
||||
return s:GetOtherMakeprg()
|
||||
endfunction
|
||||
|
||||
function! s:GetOcamlcMakeprg()
|
||||
if g:syntastic_ocaml_use_janestreet_core
|
||||
let build_cmd = "ocamlc -I "
|
||||
let build_cmd .= expand(g:syntastic_ocaml_janestreet_core_dir)
|
||||
let build_cmd .= " -c " . syntastic#util#shexpand('%')
|
||||
return build_cmd
|
||||
else
|
||||
return "ocamlc -c " . syntastic#util#shexpand('%')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:GetOcamlBuildMakeprg()
|
||||
return "ocamlbuild -quiet -no-log -tag annot," . s:ocamlpp . " -no-links -no-hygiene -no-sanitize " .
|
||||
\ syntastic#util#shexpand('%:r') . ".cmi"
|
||||
endfunction
|
||||
|
||||
function! s:GetOtherMakeprg()
|
||||
"TODO: give this function a better name?
|
||||
"
|
||||
"TODO: should use throw/catch instead of returning an empty makeprg
|
||||
|
||||
let extension = expand('%:e')
|
||||
let makeprg = ""
|
||||
|
||||
if stridx(extension, 'mly') >= 0 && executable("menhir")
|
||||
" ocamlyacc output can't be redirected, so use menhir
|
||||
let makeprg = "menhir --only-preprocess " . syntastic#util#shexpand('%') . " >" . syntastic#util#DevNull()
|
||||
elseif stridx(extension,'mll') >= 0 && executable("ocamllex")
|
||||
let makeprg = "ocamllex -q " . syntastic#c#NullOutput() . " " . syntastic#util#shexpand('%')
|
||||
else
|
||||
let makeprg = "camlp4o " . syntastic#c#NullOutput() . " " . syntastic#util#shexpand('%')
|
||||
endif
|
||||
|
||||
return makeprg
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'ocaml',
|
||||
\ 'name': 'camlp4o'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
105
sources_non_forked/syntastic/syntax_checkers/perl/perl.vim
Normal file
105
sources_non_forked/syntastic/syntax_checkers/perl/perl.vim
Normal file
@ -0,0 +1,105 @@
|
||||
"============================================================================
|
||||
"File: perl.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Anthony Carapetis <anthony.carapetis at gmail dot com>,
|
||||
" Eric Harmon <http://eharmon.net>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" Checker options:
|
||||
"
|
||||
" - g:syntastic_perl_interpreter (string; default: 'perl')
|
||||
" The perl interpreter to use.
|
||||
"
|
||||
" - g:syntastic_perl_lib_path (list; default: [])
|
||||
" List of include directories to be added to the perl command line. Example:
|
||||
"
|
||||
" let g:syntastic_perl_lib_path = [ './lib', './lib/auto' ]
|
||||
|
||||
if exists('g:loaded_syntastic_perl_perl_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_perl_perl_checker=1
|
||||
|
||||
if !exists('g:syntastic_perl_interpreter')
|
||||
let g:syntastic_perl_interpreter = 'perl'
|
||||
endif
|
||||
|
||||
if !exists('g:syntastic_perl_lib_path')
|
||||
let g:syntastic_perl_lib_path = []
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_perl_perl_IsAvailable() dict
|
||||
" don't call executable() here, to allow things like
|
||||
" let g:syntastic_perl_interpreter='/usr/bin/env perl'
|
||||
silent! call system(expand(g:syntastic_perl_interpreter) . ' -e ' . syntastic#util#shescape('exit(0)'))
|
||||
return v:shell_error == 0
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_perl_perl_Preprocess(errors)
|
||||
let out = []
|
||||
|
||||
for e in a:errors
|
||||
let parts = matchlist(e, '\v^(.*)\sat\s(.*)\sline\s(\d+)(.*)$')
|
||||
if !empty(parts)
|
||||
call add(out, parts[2] . ':' . parts[3] . ':' . parts[1] . parts[4])
|
||||
endif
|
||||
endfor
|
||||
|
||||
return syntastic#util#unique(out)
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_perl_perl_GetLocList() dict
|
||||
let exe = expand(g:syntastic_perl_interpreter)
|
||||
if type(g:syntastic_perl_lib_path) == type('')
|
||||
call syntastic#log#deprecationWarn('variable g:syntastic_perl_lib_path should be a list')
|
||||
let includes = split(g:syntastic_perl_lib_path, ',')
|
||||
else
|
||||
let includes = copy(exists('b:syntastic_perl_lib_path') ? b:syntastic_perl_lib_path : g:syntastic_perl_lib_path)
|
||||
endif
|
||||
let shebang = syntastic#util#parseShebang()
|
||||
let extra = join(map(includes, '"-I" . v:val')) .
|
||||
\ (index(shebang['args'], '-T') >= 0 ? ' -T' : '') .
|
||||
\ (index(shebang['args'], '-t') >= 0 ? ' -t' : '')
|
||||
let errorformat = '%f:%l:%m'
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': exe,
|
||||
\ 'args_before': '-c -X ' . extra })
|
||||
|
||||
let errors = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'preprocess': 'SyntaxCheckers_perl_perl_Preprocess',
|
||||
\ 'defaults': {'type': 'E'} })
|
||||
if !empty(errors)
|
||||
return errors
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'exe': exe,
|
||||
\ 'args_before': '-c -Mwarnings ' . extra })
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'preprocess': 'SyntaxCheckers_perl_perl_Preprocess',
|
||||
\ 'defaults': {'type': 'W'} })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'perl',
|
||||
\ 'name': 'perl'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,66 @@
|
||||
"============================================================================
|
||||
"File: perlcritic.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" For details about perlcritic see:
|
||||
"
|
||||
" - http://perlcritic.tigris.org/
|
||||
" - https://metacpan.org/module/Perl::Critic
|
||||
"
|
||||
" Checker options:
|
||||
"
|
||||
" - g:syntastic_perl_perlcritic_thres (integer; default: 5)
|
||||
" error threshold: policy violations with a severity above this
|
||||
" value are highlighted as errors, the others are warnings
|
||||
"
|
||||
" - g:syntastic_perl_perlcritic_args (string; default: empty)
|
||||
" command line options to pass to perlcritic
|
||||
|
||||
if exists("g:loaded_syntastic_perl_perlcritic_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_perl_perlcritic_checker = 1
|
||||
|
||||
if !exists('g:syntastic_perl_perlcritic_thres')
|
||||
let g:syntastic_perl_perlcritic_thres = 5
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_perl_perlcritic_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '--quiet --nocolor --verbose "\%s:\%f:\%l:\%c:(\%s) \%m (\%e)\n"' })
|
||||
|
||||
let errorformat = '%t:%f:%l:%c:%m'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 2],
|
||||
\ 'subtype': 'Style' })
|
||||
|
||||
" change error types according to the prescribed threshold
|
||||
for e in loclist
|
||||
let e['type'] = e['type'] < g:syntastic_perl_perlcritic_thres ? 'W' : 'E'
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'perl',
|
||||
\ 'name': 'perlcritic'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,25 @@
|
||||
"============================================================================
|
||||
"File: podchecker.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_perl_podchecker_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_perl_podchecker_checker = 1
|
||||
|
||||
runtime! syntax_checkers/pod/*.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'perl',
|
||||
\ 'name': 'podchecker',
|
||||
\ 'redirect': 'pod/podchecker'})
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
51
sources_non_forked/syntastic/syntax_checkers/php/php.vim
Normal file
51
sources_non_forked/syntastic/syntax_checkers/php/php.vim
Normal file
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: php.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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_php_php_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_php_php_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_php_php_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item['text'], "\\munexpected '\\zs[^']\\+\\ze'")
|
||||
return term != '' ? '\V' . term : ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_php_php_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args': '-d error_reporting=E_ALL',
|
||||
\ 'args_after': '-l -d display_errors=1 -d log_errors=0 -d xdebug.cli_color=0' })
|
||||
|
||||
let errorformat =
|
||||
\ '%-GNo syntax errors detected in%.%#,'.
|
||||
\ 'Parse error: %#syntax %trror\, %m in %f on line %l,'.
|
||||
\ 'Parse %trror: %m in %f on line %l,'.
|
||||
\ 'Fatal %trror: %m in %f on line %l,'.
|
||||
\ '%-G\s%#,'.
|
||||
\ '%-GErrors parsing %.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'php',
|
||||
\ 'name': 'php'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
45
sources_non_forked/syntastic/syntax_checkers/php/phpcs.vim
Normal file
45
sources_non_forked/syntastic/syntax_checkers/php/phpcs.vim
Normal file
@ -0,0 +1,45 @@
|
||||
"============================================================================
|
||||
"File: phpcs.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" See here for details of phpcs
|
||||
" - phpcs (see http://pear.php.net/package/PHP_CodeSniffer)
|
||||
|
||||
if exists("g:loaded_syntastic_php_phpcs_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_php_phpcs_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_php_phpcs_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '--report=csv --tab-width=' . &tabstop })
|
||||
|
||||
let errorformat =
|
||||
\ '%-GFile\,Line\,Column\,Type\,Message\,Source\,Severity,'.
|
||||
\ '"%f"\,%l\,%v\,%t%*[a-zA-Z]\,"%m"\,%*[a-zA-Z0-9_.-]\,%*[0-9]'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'php',
|
||||
\ 'name': 'phpcs'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
78
sources_non_forked/syntastic/syntax_checkers/php/phpmd.vim
Normal file
78
sources_non_forked/syntastic/syntax_checkers/php/phpmd.vim
Normal file
@ -0,0 +1,78 @@
|
||||
"============================================================================
|
||||
"File: phpmd.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Martin Grenfell <martin.grenfell at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" See here for details of phpmd
|
||||
" - phpmd (see http://phpmd.org)
|
||||
|
||||
if exists("g:loaded_syntastic_php_phpmd_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_php_phpmd_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_php_phpmd_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item['text'], '\m\C^The \S\+ \w\+\(()\)\= \(has\|is not\|utilizes\)')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C^The \S\+ \(\w\+\)\(()\)\= .*', '\1', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], '\m\C^Avoid \(variables with short\|excessively long variable\) names like \S\+\.')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C^Avoid \(variables with short\|excessively long variable\) names like \(\S\+\)\..*', '\2', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], '\m\C^Avoid using short method names like \S\+::\S\+()\.')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C^Avoid using short method names like \S\+::\(\S\+\)()\..*', '\1', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], '\m\C^\S\+ accesses the super-global variable ')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C accesses the super-global variable .*$', '', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], '\m\C^Constant \S\+ should be defined in uppercase')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C^Constant \(\S\+\) should be defined in uppercase', '\1', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], "\\m\\C^The '\\S\\+()' method which returns ")
|
||||
if term != ''
|
||||
return '\V'.substitute(term, "\\m\\C^The '\\(\\S\\+\\()' method which returns.*", '\1', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], '\m\C variable \S\+ should begin with ')
|
||||
if term != ''
|
||||
return '\V'.substitute(term, '\m\C.* variable \(\S\+\) should begin with .*', '\1', '')
|
||||
endif
|
||||
let term = matchstr(a:item['text'], "\\m\\C^Avoid unused \\(private fields\\|local variables\\|private methods\\|parameters\\) such as '\\S\\+'")
|
||||
if term != ''
|
||||
return '\V'.substitute(term, "\\m\\C^Avoid unused \\(private fields\\|local variables\\|private methods\\|parameters\\) such as '\\(\\S\\+\\)'.*", '\2', '')
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_php_phpmd_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'post_args_before': 'text codesize,design,unusedcode,naming' })
|
||||
|
||||
let errorformat = '%E%f:%l%\s%#%m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype' : 'Style' })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'php',
|
||||
\ 'name': 'phpmd'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
50
sources_non_forked/syntastic/syntax_checkers/po/msgfmt.vim
Normal file
50
sources_non_forked/syntastic/syntax_checkers/po/msgfmt.vim
Normal file
@ -0,0 +1,50 @@
|
||||
"============================================================================
|
||||
"File: msgfmt.vim
|
||||
"Description: Syntax checking plugin for po files of gettext
|
||||
"Maintainer: Ryo Okubo <syucream1031@gmail.com>
|
||||
"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_po_msgfmt_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_po_msgfmt_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_po_msgfmt_GetHighlightRegex(item)
|
||||
let term = matchstr(a:item['text'], '\mkeyword "\zs[^"]\+\ze" unknown')
|
||||
return term != '' ? '\V' . term : ''
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_po_msgfmt_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-c ' . syntastic#c#NullOutput() })
|
||||
|
||||
let errorformat =
|
||||
\ '%W%f:%l: warning: %m,' .
|
||||
\ '%E%f:%l:%v: %m,' .
|
||||
\ '%E%f:%l: %m,' .
|
||||
\ '%+C %.%#,' .
|
||||
\ '%Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'postprocess': ['compressWhitespace'] })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'po',
|
||||
\ 'name': 'msgfmt'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: podchecker.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_pod_podchecker_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_pod_podchecker_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_pod_podchecker_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat =
|
||||
\ '%W%[%#]%[%#]%[%#] WARNING: %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'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 1, 2] })
|
||||
|
||||
for e in loclist
|
||||
if e['valid'] && e['lnum'] == 0
|
||||
let e['lnum'] = str2nr(matchstr(e['text'], '\m\<line \zs\d\+\ze'))
|
||||
endif
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'pod',
|
||||
\ 'name': 'podchecker'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,50 @@
|
||||
"============================================================================
|
||||
"File: puppet.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Eivind Uggedal <eivind at uggedal dot com>
|
||||
"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_puppet_puppet_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_puppet_puppet_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_puppet_puppet_GetLocList() dict
|
||||
let ver = syntastic#util#getVersion(self.getExecEscaped() . ' --version 2>' . syntastic#util#DevNull())
|
||||
|
||||
if syntastic#util#versionIsAtLeast(ver, [2,7,0])
|
||||
let args = 'parser validate --color=false'
|
||||
else
|
||||
let args = '--color=false --parseonly'
|
||||
endif
|
||||
|
||||
let makeprg = self.makeprgBuild({ 'args_before': args })
|
||||
|
||||
let errorformat =
|
||||
\ '%-Gerr: Try ''puppet help parser validate'' for usage,' .
|
||||
\ '%-GError: Try ''puppet help parser validate'' for usage,' .
|
||||
\ '%Eerr: Could not parse for environment %*[a-z]: %m at %f:%l,' .
|
||||
\ '%EError: Could not parse for environment %*[a-z]: %m at %f:%l'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'puppet',
|
||||
\ 'name': 'puppet'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,53 @@
|
||||
"============================================================================
|
||||
"File: puppetlint.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: Eivind Uggedal <eivind at uggedal dot com>
|
||||
"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_puppet_puppetlint_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_puppet_puppetlint_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists("g:syntastic_puppet_lint_arguments")
|
||||
let g:syntastic_puppet_puppetlint_args = g:syntastic_puppet_lint_arguments
|
||||
call syntastic#log#deprecationWarn("variable g:syntastic_puppet_lint_arguments is deprecated, please use g:syntastic_puppet_puppetlint_args instead")
|
||||
endif
|
||||
|
||||
function! SyntaxCheckers_puppet_puppetlint_IsAvailable() dict
|
||||
return
|
||||
\ executable("puppet") &&
|
||||
\ executable("puppet-lint") &&
|
||||
\ syntastic#util#versionIsAtLeast(syntastic#util#getVersion('puppet-lint --version 2>' .
|
||||
\ syntastic#util#DevNull()), [0,1,10])
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_puppet_puppetlint_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ 'args_after': '--log-format "%{KIND} [%{check}] %{message} at %{fullpath}:%{linenumber}"' })
|
||||
|
||||
let errorformat = '%t%*[a-zA-Z] %m at %f:%l'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'puppet',
|
||||
\ 'name': 'puppetlint',
|
||||
\ 'exec': 'puppet-lint'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
from sys import argv, exit
|
||||
|
||||
|
||||
if len(argv) != 2:
|
||||
exit(1)
|
||||
|
||||
try:
|
||||
compile(open(argv[1]).read(), argv[1], 'exec', 0, 1)
|
||||
except SyntaxError as err:
|
||||
print('%s:%s:%s: %s' % (err.filename, err.lineno, err.offset, err.msg))
|
@ -0,0 +1,69 @@
|
||||
"============================================================================
|
||||
"File: flake8.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Authors: Sylvain Soliman <Sylvain dot Soliman+git at gmail dot com>
|
||||
" kstep <me@kstep.me>
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
if exists("g:loaded_syntastic_python_flake8_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_python_flake8_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_python_flake8_GetHighlightRegex(item)
|
||||
return SyntaxCheckers_python_pyflakes_GetHighlightRegex(a:item)
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_python_flake8_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l: could not compile,%-Z%p^,' .
|
||||
\ '%A%f:%l:%c: %t%n %m,' .
|
||||
\ '%A%f:%l: %t%n %m,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
|
||||
for e in loclist
|
||||
" E*** and W*** are pep8 errors
|
||||
" F*** are PyFlakes codes
|
||||
" C*** are McCabe complexity messages
|
||||
" N*** are naming conventions from pep8-naming
|
||||
|
||||
if has_key(e, 'nr')
|
||||
let e['text'] .= printf(' [%s%03d]', e['type'], e['nr'])
|
||||
" E901 are syntax errors
|
||||
" E902 are I/O errors
|
||||
if e['type'] ==? 'E' && e['nr'] !~ '\m^9'
|
||||
let e['subtype'] = 'Style'
|
||||
endif
|
||||
call remove(e, 'nr')
|
||||
endif
|
||||
|
||||
if e['type'] =~? '\m^[CNW]'
|
||||
let e['subtype'] = 'Style'
|
||||
endif
|
||||
|
||||
let e['type'] = e['type'] =~? '\m^[EFC]' ? 'E' : 'W'
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
runtime! syntax_checkers/python/pyflakes.vim
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'python',
|
||||
\ 'name': 'flake8'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,60 @@
|
||||
"============================================================================
|
||||
"File: frosted.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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_python_frosted_checker')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_python_frosted_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_python_frosted_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({ 'args_after': '-vb' })
|
||||
|
||||
let errorformat =
|
||||
\ '%f:%l:%c:%m,' .
|
||||
\ '%E%f:%l: %m,' .
|
||||
\ '%-Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'returns': [0, 1] })
|
||||
|
||||
for e in loclist
|
||||
let e["col"] += 1
|
||||
|
||||
let parts = matchlist(e.text, '\v^([EW]\d+):([^:]*):(.+)')
|
||||
if len(parts) >= 4
|
||||
let e["type"] = parts[1][0]
|
||||
let e["text"] = parts[3] . ' [' . parts[1] . ']'
|
||||
let e["hl"] = '\V' . parts[2]
|
||||
elseif e["text"] =~? '\v^I\d+:'
|
||||
let e["valid"] = 0
|
||||
else
|
||||
let e["vcol"] = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'python',
|
||||
\ 'name': 'frosted' })
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,51 @@
|
||||
"============================================================================
|
||||
"File: pep257.vim
|
||||
"Description: Docstring style checking plugin for syntastic.vim
|
||||
"============================================================================
|
||||
"
|
||||
" For details about pep257 see: https://github.com/GreenSteam/pep257
|
||||
|
||||
if exists("g:loaded_syntastic_python_pep257_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_python_pep257_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" sanity: kill empty lines here rather than munging errorformat
|
||||
function! SyntaxCheckers_python_pep257_Preprocess(errors)
|
||||
return filter(copy(a:errors), 'v:val != ""')
|
||||
endfunction
|
||||
|
||||
function! SyntaxCheckers_python_pep257_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat =
|
||||
\ '%E%f:%l:%c%\%.%\%.%\d%\+:%\d%\+: %m,' .
|
||||
\ '%E%f:%l:%c: %m,' .
|
||||
\ '%+C %m'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style',
|
||||
\ 'preprocess': 'SyntaxCheckers_python_pep257_Preprocess',
|
||||
\ 'postprocess': ['compressWhitespace'] })
|
||||
|
||||
" pep257 outputs byte offsets rather than column numbers
|
||||
for e in loclist
|
||||
let e['col'] = get(e, 'col', 0) + 1
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'python',
|
||||
\ 'name': 'pep257'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
47
sources_non_forked/syntastic/syntax_checkers/python/pep8.vim
Normal file
47
sources_non_forked/syntastic/syntax_checkers/python/pep8.vim
Normal file
@ -0,0 +1,47 @@
|
||||
"============================================================================
|
||||
"File: pep8.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Maintainer: LCD 47 <lcd047 at gmail dot com>
|
||||
"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.
|
||||
"
|
||||
"============================================================================
|
||||
"
|
||||
" For details about pep8 see: https://github.com/jcrocholl/pep8
|
||||
|
||||
if exists("g:loaded_syntastic_python_pep8_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_python_pep8_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_python_pep8_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat = '%f:%l:%c: %m'
|
||||
|
||||
let loclist = SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat,
|
||||
\ 'subtype': 'Style' })
|
||||
|
||||
for e in loclist
|
||||
let e['type'] = e['text'] =~? '^W' ? 'W' : 'E'
|
||||
endfor
|
||||
|
||||
return loclist
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'python',
|
||||
\ 'name': 'pep8'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
@ -0,0 +1,33 @@
|
||||
"============================================================================
|
||||
"File: py3kwarn.vim
|
||||
"Description: Syntax checking plugin for syntastic.vim
|
||||
"Authors: Liam Curry <liam@curry.name>
|
||||
"
|
||||
"============================================================================
|
||||
|
||||
if exists("g:loaded_syntastic_python_py3kwarn_checker")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntastic_python_py3kwarn_checker = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! SyntaxCheckers_python_py3kwarn_GetLocList() dict
|
||||
let makeprg = self.makeprgBuild({})
|
||||
|
||||
let errorformat = '%W%f:%l:%c: %m'
|
||||
|
||||
return SyntasticMake({
|
||||
\ 'makeprg': makeprg,
|
||||
\ 'errorformat': errorformat })
|
||||
endfunction
|
||||
|
||||
call g:SyntasticRegistry.CreateAndRegisterChecker({
|
||||
\ 'filetype': 'python',
|
||||
\ 'name': 'py3kwarn'})
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set et sts=4 sw=4:
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user