New linter: Flawfinder (#1361)

* Flawfinder support added for C and C++

A minor modification to gcc handler was made to support flawfinder's
single-line output format that does not have a space following the
colon denoting the warning level.  gcc handler still passes its
Vader tests after this modification.

* Documentation fixes

* Revert documentation regression

* Added Flawfinder to table of contents

* Removed trailing whitespace

* Follow ALE conventions better

Added additional documentation and Vader tests
This commit is contained in:
Christian-Gibbons 2018-02-25 09:11:04 -05:00 committed by w0rp
parent 478a2883a6
commit 82f8a04e18
9 changed files with 223 additions and 5 deletions

View file

@ -143,6 +143,33 @@ g:ale_c_cppcheck_options *g:ale_c_cppcheck_options*
This variable can be changed to modify flags given to cppcheck.
===============================================================================
flawfinder *ale-c-flawfinder*
g:ale_c_flawfinder_executable *g:ale_c_flawfinder_executable*
*g:ale_c_flawfinder_executable*
Type: |String|
Default: `'flawfinder'`
This variable can be changed to use a different executable for flawfinder.
g:ale_c_flawfinder_minlevel *g:ale_c_flawfinder_minlevel*
*b:ale_c_flawfinder_minlevel*
Type: |Number|
Default: `1`
This variable can be changed to ignore risks under the given risk threshold.
g:ale_c_flawfinder_options *g:ale-c-flawfinder*
*b:ale-c-flawfinder*
Type: |String|
Default: `''`
This variable can be used to pass extra options into the flawfinder command.
===============================================================================
gcc *ale-c-gcc*

View file

@ -153,6 +153,33 @@ g:ale_cpp_cpplint_options *g:ale_cpp_cpplint_options*
This variable can be changed to modify flags given to cpplint.
===============================================================================
flawfinder *ale-cpp-flawfinder*
g:ale_cpp_flawfinder_executable *g:ale_cpp_flawfinder_executable*
*g:ale_cpp_flawfinder_executable*
Type: |String|
Default: `'flawfinder'`
This variable can be changed to use a different executable for flawfinder.
g:ale_cpp_flawfinder_minlevel *g:ale_cpp_flawfinder_minlevel*
*b:ale_cpp_flawfinder_minlevel*
Type: |Number|
Default: `1`
This variable can be changed to ignore risks under the given risk threshold.
g:ale_cpp_flawfinder_options *g:ale-cpp-flawfinder*
*b:ale-cpp-flawfinder*
Type: |String|
Default: `''`
This variable can be used to pass extra options into the flawfinder command.
===============================================================================
gcc *ale-cpp-gcc*

View file

@ -28,6 +28,7 @@ CONTENTS *ale-contents*
clang-format........................|ale-c-clangformat|
clangtidy...........................|ale-c-clangtidy|
cppcheck............................|ale-c-cppcheck|
flawfinder..........................|ale-c-flawfinder|
gcc.................................|ale-c-gcc|
chef..................................|ale-chef-options|
foodcritic..........................|ale-chef-foodcritic|
@ -42,6 +43,7 @@ CONTENTS *ale-contents*
clangtidy...........................|ale-cpp-clangtidy|
cppcheck............................|ale-cpp-cppcheck|
cpplint.............................|ale-cpp-cpplint|
flawfinder..........................|ale-cpp-flawfinder|
gcc.................................|ale-cpp-gcc|
c#....................................|ale-cs-options|
mcs.................................|ale-cs-mcs|
@ -298,8 +300,8 @@ Notes:
* Awk: `gawk`
* Bash: `shell` (-n flag), `shellcheck`, `shfmt`
* Bourne Shell: `shell` (-n flag), `shellcheck`, `shfmt`
* C: `cppcheck`, `cpplint`!!, `gcc`, `clang`, `clangtidy`!!, `clang-format`
* C++ (filetype cpp): `clang`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `cppcheck`, `cpplint`!!, `gcc`
* C: `cppcheck`, `cpplint`!!, `clang`, `clangtidy`!!, `clang-format`, `flawfinder`, `gcc`
* C++ (filetype cpp): `clang`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `cppcheck`, `cpplint`!!, `flawfinder`, `gcc`
* CUDA: `nvcc`!!
* C#: `mcs`, `mcsc`!!
* Chef: `foodcritic`