diff --git a/plugin/syntastic/registry.vim b/plugin/syntastic/registry.vim index 8e78f112..bcfd5c63 100644 --- a/plugin/syntastic/registry.vim +++ b/plugin/syntastic/registry.vim @@ -85,6 +85,7 @@ let s:_DEFAULT_CHECKERS = { \ 'slim': ['slimrb'], \ 'sml': ['smlnj'], \ 'spec': ['rpmlint'], + \ 'solidity': ['solc'], \ 'sql': ['sqlint'], \ 'stylus': ['stylint'], \ 'tcl': ['nagelfar'], diff --git a/syntax_checkers/solidity/solc.vim b/syntax_checkers/solidity/solc.vim new file mode 100644 index 00000000..95cfde43 --- /dev/null +++ b/syntax_checkers/solidity/solc.vim @@ -0,0 +1,31 @@ +"============================================================================ +"File: solc.vim +"Description: Solidity syntax checker - using solc +"Maintainer: Jacob Cholewa +"============================================================================ + +if exists('g:loaded_syntastic_solidity_solc_checker') + finish +endif +let g:loaded_syntastic_solidity_solc_checker = 1 + + +let s:save_cpo = &cpo +set cpo&vim + +function! SyntaxCheckers_solidity_solc_GetLocList() dict + let makeprg = self.makeprgBuild({}) + + let errorformat = '%f:%l:%c: Error: %m' + + return SyntasticMake({ + \ 'makeprg': makeprg, + \ 'errorformat': errorformat }) +endfunction + +call g:SyntasticRegistry.CreateAndRegisterChecker({ + \ 'filetype': 'solidity', + \ 'name': 'solc' }) + +let &cpo = s:save_cpo +unlet s:save_cpo