1
0
mirror of https://github.com/gryf/.vim.git synced 2025-12-17 19:40:29 +01:00

Update of Mark, syntastic, taglisttoo and ctrlp plugins

This commit is contained in:
2012-03-26 19:05:47 +02:00
parent 1e1164cd0c
commit 1178b8be6d
21 changed files with 1335 additions and 778 deletions

View File

@@ -374,7 +374,7 @@ function! s:HightlightErrors()
let force_callback = has_key(item, 'force_highlight_callback') && item['force_highlight_callback']
let group = item['type'] == 'E' ? 'SyntasticError' : 'SyntasticWarning'
if item['col'] && !force_callback
if get( item, 'col' ) && !force_callback
let lastcol = col([item['lnum'], '$'])
let lcol = min([lastcol, item['col']])
call matchadd(group, '\%'.item['lnum'].'l\%'.lcol.'c')
@@ -466,8 +466,8 @@ endfunction
"load the chosen checker for the current filetype - useful for filetypes like
"javascript that have more than one syntax checker
function! s:LoadChecker(checker)
exec "runtime syntax_checkers/" . &ft . "/" . a:checker . ".vim"
function! s:LoadChecker(checker, ft)
exec "runtime syntax_checkers/" . a:ft . "/" . a:checker . ".vim"
endfunction
"return a string representing the state of buffer according to
@@ -602,22 +602,24 @@ endfunction
"well as the names of the actual syntax checker executables. The checkers
"should be listed in order of default preference.
"
"if a option called 'g:syntastic_[filetype]_checker' exists then attempt to
"a:ft should be the filetype for the checkers being loaded
"
"if a option called 'g:syntastic_{a:ft}_checker' exists then attempt to
"load the checker that it points to
function! SyntasticLoadChecker(checkers)
let opt_name = "g:syntastic_" . &ft . "_checker"
function! SyntasticLoadChecker(checkers, ft)
let opt_name = "g:syntastic_" . a:ft . "_checker"
if exists(opt_name)
let opt_val = {opt_name}
if index(a:checkers, opt_val) != -1 && executable(opt_val)
call s:LoadChecker(opt_val)
call s:LoadChecker(opt_val, a:ft)
else
echoerr &ft . " syntax not supported or not installed."
endif
else
for checker in a:checkers
if executable(checker)
return s:LoadChecker(checker)
return s:LoadChecker(checker, a:ft)
endif
endfor
endif

View File

@@ -19,4 +19,4 @@ endif
let loaded_go_syntax_checker = 1
let s:supported_checkers = ["6g", "gofmt"]
call SyntasticLoadChecker(s:supported_checkers)
call SyntasticLoadChecker(s:supported_checkers, 'go')

View File

@@ -20,4 +20,4 @@ endif
let loaded_javascript_syntax_checker = 1
let s:supported_checkers = ["gjslint", "jslint", "jsl", "jshint"]
call SyntasticLoadChecker(s:supported_checkers)
call SyntasticLoadChecker(s:supported_checkers, 'javascript')

View File

@@ -20,4 +20,4 @@ endif
let loaded_json_syntax_checker = 1
let s:supported_checkers = ["jsonlint", "jsonval"]
call SyntasticLoadChecker(s:supported_checkers)
call SyntasticLoadChecker(s:supported_checkers, 'json')

View File

@@ -19,21 +19,46 @@ if !executable("puppet")
finish
endif
function! s:ExtractVersion()
if !exists("g:syntastic_puppet_lint_disable")
let g:syntastic_puppet_lint_disable = 0
endif
if !executable("puppet-lint")
let g:syntastic_puppet_lint_disable = 0
endif
function! s:PuppetExtractVersion()
let output = system("puppet --version")
let output = substitute(output, '\n$', '', '')
return split(output, '\.')
endfunction
let s:puppetVersion = s:ExtractVersion()
function! s:PuppetLintExtractVersion()
let output = system("puppet-lint --version")
let output = substitute(output, '\n$', '', '')
let output = substitute(output, '^puppet-lint ', '', 'i')
return split(output, '\.')
endfunction
function! SyntaxCheckers_puppet_GetLocList()
let s:puppetVersion = s:PuppetExtractVersion()
let s:lintVersion = s:PuppetLintExtractVersion()
if !(s:lintVersion[0] >= '0' && s:lintVersion[1] >= '1' && s:lintVersion[2] >= '10')
let g:syntastic_puppet_lint_disable = 0
endif
function! s:getPuppetLintErrors()
let makeprg = 'puppet-lint --log-format "\%{KIND} [\%{check}] \%{message} at \%{fullpath}:\%{linenumber}" '.shellescape(expand('%'))
let errorformat = '%t%*[a-zA-Z] %m at %f:%l'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat, 'subtype': 'Style' })
endfunction
function! s:getPuppetMakeprg()
"If puppet is >= version 2.7 then use the new executable
if s:puppetVersion[0] >= '2' && s:puppetVersion[1] >= '7'
let makeprg = 'puppet parser validate ' .
\ shellescape(expand('%')) .
\ ' --color=false' .
\ ' --storeconfigs'
\ ' --color=false'
"add --ignoreimport for versions < 2.7.10
if s:puppetVersion[2] < '10'
@@ -43,12 +68,24 @@ function! SyntaxCheckers_puppet_GetLocList()
else
let makeprg = 'puppet --color=false --parseonly --ignoreimport '.shellescape(expand('%'))
endif
return makeprg
endfunction
function! SyntaxCheckers_puppet_GetLocList()
let makeprg = s:getPuppetMakeprg()
"some versions of puppet (e.g. 2.7.10) output the message below if there
"are any syntax errors
let errorformat = '%-Gerr: Try ''puppet help parser validate'' for usage,'
let errorformat .= 'err: Could not parse for environment %*[a-z]: %m at %f:%l'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
let errors = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
if !g:syntastic_puppet_lint_disable
let errors = errors + s:getPuppetLintErrors()
endif
return errors
endfunction

View File

@@ -24,4 +24,4 @@ if !exists('g:syntastic_python_checker_args')
endif
let s:supported_checkers = ["flake8", "pyflakes", "pylint"]
call SyntasticLoadChecker(s:supported_checkers)
call SyntasticLoadChecker(s:supported_checkers, 'python')

View File

@@ -5,10 +5,10 @@
"
"============================================================================
function! SyntaxCheckers_python_GetLocList()
let makeprg = 'pylint -f parseable -r n -i y ' .
let makeprg = 'pylint '.g:syntastic_python_checker_args.' -f parseable -r n -i y ' .
\ shellescape(expand('%')) .
\ ' \| sed ''s_: \[[RC]_: \[W_''' .
\ ' 2>&1 \| sed ''s_: \[[RC]_: \[W_''' .
\ ' \| sed ''s_: \[[F]_:\ \[E_'''
let errorformat = '%f:%l: [%t%n%.%#] %m,%-GNo config%m'
let errorformat = '%f:%l: [%t%n%.%#] %m,%f:%l: [%t%.%#] %m,%Z,%-GNo config%m'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
endfunction

View File

@@ -6,6 +6,9 @@
" "// modules: " and containing space delimited list of vala
" modules, used by the file, so this script can build correct
" --pkg arguments.
" Alternatively you can set g:syntastic_vala_modules array
" in your .vimrc or .lvimrc with localvimrc plugin
" (http://www.vim.org/scripts/script.php?script_id=441).
" Valac compiler is not the fastest thing in the world, so you
" may want to disable this plugin with
" let g:syntastic_vala_check_disabled = 1 command in your .vimrc or
@@ -38,10 +41,19 @@ function! SyntaxCheckers_vala_GetHighlightRegex(pos)
endfunction
function! s:GetValaModules()
if exists('g:syntastic_vala_modules')
if type(g:syntastic_vala_modules) == type('')
return split(g:syntastic_vala_modules, '\s\+')
elseif type(g:syntastic_vala_modules) == type([])
return g:syntastic_vala_modules
else
echoerr 'g:syntastic_vala_modules must be either list or string: fallback to in file modules string'
endif
endif
let modules_line = search('^// modules: ', 'n')
let modules_str = getline(modules_line)
let modules = split(strpart(modules_str, 12), '\s\+')
return modules
return split(strpart(modules_str, 12), '\s\+')
endfunction
function! SyntaxCheckers_vala_GetLocList()