From 304d3649c52b3a0d7cc0839d8d2c5f9d7e2c096c Mon Sep 17 00:00:00 2001 From: "Ireton, Doug" Date: Wed, 16 Oct 2013 22:17:26 -0700 Subject: [PATCH 1/2] Add foodcritic syntax checker for Chef files Requires a ftdetect plugin to set filetype to chef or ruby.chef, e.g. vim-chef (https://github.com/dougireton/vim-chef) --- syntax_checkers/chef/foodcritic.vim | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 syntax_checkers/chef/foodcritic.vim diff --git a/syntax_checkers/chef/foodcritic.vim b/syntax_checkers/chef/foodcritic.vim new file mode 100644 index 00000000..83901270 --- /dev/null +++ b/syntax_checkers/chef/foodcritic.vim @@ -0,0 +1,35 @@ +"============================================================================ +"File: foodcritic.vim +"Description: Syntax checking plugin for syntastic.vim +"Maintainer: Doug Ireton +"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 + +function! SyntaxCheckers_chef_foodcritic_IsAvailable() + return executable('foodcritic') +endfunction + +function! SyntaxCheckers_chef_foodcritic_GetLocList() + let makeprg = syntastic#makeprg#build({ + \ 'exe': 'foodcritic', + \ 'args': '' }) + + " 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'}) From e4fcb80ee400d663a2228416afd9914f896d3b8b Mon Sep 17 00:00:00 2001 From: "Ireton, Doug" Date: Thu, 17 Oct 2013 06:22:44 -0700 Subject: [PATCH 2/2] Add filetype and subchecker args to foodcritic makeprg --- syntax_checkers/chef/foodcritic.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syntax_checkers/chef/foodcritic.vim b/syntax_checkers/chef/foodcritic.vim index 83901270..0808137b 100644 --- a/syntax_checkers/chef/foodcritic.vim +++ b/syntax_checkers/chef/foodcritic.vim @@ -22,7 +22,8 @@ endfunction function! SyntaxCheckers_chef_foodcritic_GetLocList() let makeprg = syntastic#makeprg#build({ \ 'exe': 'foodcritic', - \ 'args': '' }) + \ 'filetype': 'chef', + \ 'subchecker': 'foodcritic' }) " FC023: Prefer conditional attributes: ./recipes/config.rb:49 let errorformat = 'FC%n: %m: %f:%l'