From edc5cedd8ce019d4d06931ec8b449a5179153b71 Mon Sep 17 00:00:00 2001 From: Marc Delage Date: Sat, 8 Oct 2016 13:42:36 +0200 Subject: [PATCH] Add cpp linter (#64) * Add c gcc option in the doc * Add missing tag for eslint option in the doc * Correct typo in doc (' ' instead of '.') * add cpp linter * correct typo in doc * add filetype information for c++ --- README.md | 1 + ale_linters/cpp/gcc.vim | 23 +++++++++++++++++++++++ doc/ale.txt | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 ale_linters/cpp/gcc.vim diff --git a/README.md b/README.md index ca1468a..0930863 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ name. That seems to be the fairest way to arrange this table. | Bash | [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set), [shellcheck](https://www.shellcheck.net/) | | Bourne Shell | [-n flag](http://linux.die.net/man/1/sh), [shellcheck](https://www.shellcheck.net/) | | C | [gcc](https://gcc.gnu.org/) | +| C++ (filetype cpp)| [gcc](https://gcc.gnu.org/) | | CoffeeScript | [coffeelint](https://www.npmjs.com/package/coffeelint) | | CSS | [csslint](http://csslint.net/) | | Cython (pyrex filetype) | [cython](http://cython.org/) | diff --git a/ale_linters/cpp/gcc.vim b/ale_linters/cpp/gcc.vim new file mode 100644 index 0000000..31c3c24 --- /dev/null +++ b/ale_linters/cpp/gcc.vim @@ -0,0 +1,23 @@ +" Author: geam +" Description: gcc linter for cpp files + +if exists('g:loaded_ale_linters_cpp_gcc') + finish +endif + +let g:loaded_ale_linters_cpp_gcc = 1 + +" Set this option to change the GCC options for warnings for C. +if !exists('g:ale_cpp_gcc_options') + let g:ale_cpp_gcc_options = '-Wall' +endif + +call ALEAddLinter('cpp', { +\ 'name': 'gcc', +\ 'output_stream': 'stderr', +\ 'executable': 'gcc', +\ 'command': 'gcc -S -x c++ -fsyntax-only ' +\ . g:ale_cpp_gcc_options +\ . ' -', +\ 'callback': 'ale#handlers#HandleGCCFormat', +\}) diff --git a/doc/ale.txt b/doc/ale.txt index 90ff10b..fff6e43 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -13,6 +13,7 @@ CONTENTS *ale-contents* 4.1. eslint.....................................|ale-linter-options-eslint| 4.2. phpcs......................................|ale-linter-options-phpcs| 4.3. c-gcc......................................|ale-linter-options-c-gcc| + 4.4. cpp-gcc....................................|ale-linter-options-cpp-gcc| 5. API............................................|ale-api| 6. Contact........................................|ale-contact| @@ -42,6 +43,7 @@ The following languages and tools are supported. * Bash: 'shell' (-n flag), 'shellcheck' * Bourne Shell: 'shell' (-n flag), 'shellcheck' * C: 'gcc' +* C++ (filetype cpp): 'gcc' * CoffeeScript: 'coffelint' * CSS: 'csslint' * Cython (pyrex filetype): 'cython' @@ -274,6 +276,16 @@ Default: `'-Wall'` This variable can be change to modify flags given to gcc. +------------------------------------------------------------------------------- +4.4. cpp-gcc *ale-linter-options-cpp-gcc* + +g:ale_cpp_gcc_options *g:ale_cpp_gcc_options* + +Type: |String| +Default: `'-Wall'` + +This variable can be changed to modify flags given to gcc. + =============================================================================== 5. API *ale-api*