mirror of
https://github.com/dense-analysis/ale
synced 2024-12-27 00:22:28 +00:00
951a668b14
Gcc does not support `x c*-header` when using `-` as input filename, which is what ALE does. Rework the feature to only use `-x c*-header` flag when using Clang and not GCC. The feature is now also controlled with the variable `g:ale_c_cc_use_header_lang_flag` and `g:ale_cpp_cc_use_header_lang_flag`.
402 lines
15 KiB
Plaintext
402 lines
15 KiB
Plaintext
===============================================================================
|
|
ALE C++ Integration *ale-cpp-options*
|
|
|
|
For basic checking of problems with C++ files, ALE offers the `cc` linter,
|
|
which runs either `clang++`, or `gcc`. See |ale-cpp-cc|.
|
|
|
|
|
|
===============================================================================
|
|
Global Options
|
|
|
|
The following C options also apply to some C++ linters too.
|
|
|
|
* |g:ale_c_always_make|
|
|
* |g:ale_c_build_dir_names|
|
|
* |g:ale_c_build_dir|
|
|
* |g:ale_c_parse_makefile|
|
|
* |g:ale_c_parse_compile_commands|
|
|
|
|
|
|
===============================================================================
|
|
astyle *ale-cpp-astyle*
|
|
|
|
g:ale_cpp_astyle_executable *g:ale_cpp_astyle_executable*
|
|
*b:ale_cpp_astyle_executable*
|
|
Type: |String|
|
|
Default: `'astyle'`
|
|
|
|
This variable can be changed to use a different executable for astyle.
|
|
|
|
|
|
g:ale_cpp_astyle_project_options *g:ale_cpp_astyle_project_options*
|
|
*b:ale_cpp_astyle_project_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to use an option file for project level
|
|
configurations. Provide only the filename of the option file that should be
|
|
present at the project's root directory.
|
|
|
|
For example, if .astylrc is specified, the file is searched in the parent
|
|
directories of the source file's directory.
|
|
|
|
|
|
===============================================================================
|
|
cc *ale-cpp-cc*
|
|
*ale-cpp-gcc*
|
|
*ale-cpp-clang*
|
|
|
|
g:ale_cpp_cc_executable *g:ale_cpp_cc_executable*
|
|
*b:ale_cpp_cc_executable*
|
|
Type: |String|
|
|
Default: `'<auto>'`
|
|
|
|
This variable can be changed to use a different executable for a C++ compiler.
|
|
|
|
ALE will try to use `clang++` if Clang is available, otherwise ALE will
|
|
default to checking C++ code with `gcc`.
|
|
|
|
|
|
g:ale_cpp_cc_options *g:ale_cpp_cc_options*
|
|
*b:ale_cpp_cc_options*
|
|
Type: |String|
|
|
Default: `'-std=c++14 -Wall'`
|
|
|
|
This variable can be changed to modify flags given to the C++ compiler.
|
|
|
|
|
|
g:ale_cpp_cc_use_header_lang_flag *g:ale_cpp_cc_use_header_lang_flag*
|
|
*b:ale_cpp_cc_use_header_lang_flag*
|
|
Type: |Number|
|
|
Default: `-1`
|
|
|
|
By default, ALE will use `'-x c++-header'` instead of `'-x c++'` for header
|
|
files when using Clang.
|
|
|
|
This variable can be changed to manually activate or deactivate this flag
|
|
for header files.
|
|
|
|
- When set to `-1`, the default beviour is used, `'-x c++-header'` is used with
|
|
Clang and `'-x c++'` is used with other compilers.
|
|
- When set to `0`, the flag is deactivated, `'-x c++'` is always used
|
|
independently of the compiler.
|
|
- When set to `1`, the flag is activated, `'-x c++-header'` is always used
|
|
independently of the compiler.
|
|
|
|
Gcc does not support `'-x c++-header'` when using `'-'` as input filename,
|
|
which is what ALE does. This why, by default, ALE only uses `'-x c++-header'`
|
|
with Clang.
|
|
|
|
|
|
g:ale_cpp_cc_header_exts *g:ale_cpp_cc_header_exts*
|
|
*b:ale_cpp_cc_header_exts*
|
|
Type: |List|
|
|
Default: `['h', 'hpp']`
|
|
|
|
This variable can be changed to modify the list of extensions of the files
|
|
considered as header files.
|
|
|
|
This variable is only used when `'-x c++-header'` is used instead of `'-x c++'`,
|
|
see |ale_cpp_cc_use_header_lang_flag|.
|
|
|
|
|
|
===============================================================================
|
|
ccls *ale-cpp-ccls*
|
|
|
|
g:ale_cpp_ccls_executable *g:ale_cpp_ccls_executable*
|
|
*b:ale_cpp_ccls_executable*
|
|
Type: |String|
|
|
Default: `'ccls'`
|
|
|
|
This variable can be changed to use a different executable for ccls.
|
|
|
|
|
|
g:ale_cpp_ccls_init_options *g:ale_cpp_ccls_init_options*
|
|
*b:ale_cpp_ccls_init_options*
|
|
Type: |Dictionary|
|
|
Default: `{}`
|
|
|
|
This variable can be changed to customize ccls initialization options.
|
|
Example: >
|
|
{
|
|
\ 'cacheDirectory': '/tmp/ccls',
|
|
\ 'cacheFormat': 'binary',
|
|
\ 'diagnostics': {
|
|
\ 'onOpen': 0,
|
|
\ 'opChange': 1000,
|
|
\ },
|
|
\ }
|
|
<
|
|
Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all
|
|
available options and explanations.
|
|
|
|
|
|
===============================================================================
|
|
clangcheck *ale-cpp-clangcheck*
|
|
|
|
`clang-check` will be run only when files are saved to disk, so that
|
|
`compile_commands.json` files can be used. It is recommended to use this
|
|
linter in combination with `compile_commands.json` files.
|
|
Therefore, `clang-check` linter reads the options |g:ale_c_build_dir| and
|
|
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
|
|
overrides |g:ale_c_build_dir_names|.
|
|
|
|
|
|
g:ale_cpp_clangcheck_executable *g:ale_cpp_clangcheck_executable*
|
|
*b:ale_cpp_clangcheck_executable*
|
|
Type: |String|
|
|
Default: `'clang-check'`
|
|
|
|
This variable can be changed to use a different executable for clangcheck.
|
|
|
|
|
|
g:ale_cpp_clangcheck_options *g:ale_cpp_clangcheck_options*
|
|
*b:ale_cpp_clangcheck_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to clang-check.
|
|
|
|
This variable should not be set to point to build subdirectory with
|
|
`-p path/to/build` option, as it is handled by the |g:ale_c_build_dir|
|
|
option.
|
|
|
|
|
|
===============================================================================
|
|
clangd *ale-cpp-clangd*
|
|
|
|
g:ale_cpp_clangd_executable *g:ale_cpp_clangd_executable*
|
|
*b:ale_cpp_clangd_executable*
|
|
Type: |String|
|
|
Default: `'clangd'`
|
|
|
|
This variable can be changed to use a different executable for clangd.
|
|
|
|
|
|
g:ale_cpp_clangd_options *g:ale_cpp_clangd_options*
|
|
*b:ale_cpp_clangd_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to clangd.
|
|
|
|
|
|
===============================================================================
|
|
clang-format *ale-cpp-clangformat*
|
|
|
|
See |ale-c-clangformat| for information about the available options.
|
|
Note that the C options are also used for C++.
|
|
|
|
|
|
===============================================================================
|
|
clangtidy *ale-cpp-clangtidy*
|
|
|
|
`clang-tidy` will be run only when files are saved to disk, so that
|
|
`compile_commands.json` files can be used. It is recommended to use this
|
|
linter in combination with `compile_commands.json` files.
|
|
Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and
|
|
|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually
|
|
overrides |g:ale_c_build_dir_names|.
|
|
|
|
|
|
g:ale_cpp_clangtidy_checks *g:ale_cpp_clangtidy_checks*
|
|
*b:ale_cpp_clangtidy_checks*
|
|
Type: |List|
|
|
Default: `[]`
|
|
|
|
The checks to enable for clang-tidy with the `-checks` argument.
|
|
|
|
All options will be joined with commas, and escaped appropriately for
|
|
the shell. The `-checks` flag can be removed entirely by setting this
|
|
option to an empty List.
|
|
|
|
|
|
g:ale_cpp_clangtidy_executable *g:ale_cpp_clangtidy_executable*
|
|
*b:ale_cpp_clangtidy_executable*
|
|
Type: |String|
|
|
Default: `'clang-tidy'`
|
|
|
|
This variable can be changed to use a different executable for clangtidy.
|
|
|
|
|
|
g:ale_cpp_clangtidy_options *g:ale_cpp_clangtidy_options*
|
|
*b:ale_cpp_clangtidy_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify compiler flags given to clang-tidy.
|
|
|
|
- Setting this variable to a non-empty string,
|
|
- and working in a buffer where no compilation database is found using
|
|
|g:ale_c_build_dir_names| or |g:ale_c_build_dir|,
|
|
will cause the `--` argument to be passed to `clang-tidy`, which will mean
|
|
that detection of `compile_commands.json` files for compile command
|
|
databases will be disabled.
|
|
Only set this option if you want to control compiler flags
|
|
entirely manually, and no `compile_commands.json` file is in one
|
|
of the |g:ale_c_build_dir_names| directories of the project tree.
|
|
|
|
|
|
g:ale_cpp_clangtidy_extra_options *g:ale_cpp_clangtidy_extra_options*
|
|
*b:ale_cpp_clangtidy_extra_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to clang-tidy.
|
|
|
|
|
|
g:ale_cpp_clangtidy_fix_errors *g:ale_cpp_clangtidy_fix_errors*
|
|
*b:ale_cpp_clangtidy_fix_errors*
|
|
Type: |Number|
|
|
Default: `1`
|
|
|
|
This variable can be changed to disable the `-fix-errors` option for the
|
|
|clangtidy| fixer.
|
|
|
|
|
|
===============================================================================
|
|
clazy *ale-cpp-clazy*
|
|
|
|
g:ale_cpp_clazy_executable *g:ale_cpp_clazy_executable*
|
|
*b:ale_cpp_clazy_executable*
|
|
Type: |String|
|
|
Default: `'clazy-standalone'`
|
|
|
|
This variable can be changed to use a different executable for clazy.
|
|
|
|
|
|
g:ale_cpp_clazy_checks *g:ale_cpp_clazy_checks*
|
|
*b:ale_cpp_clazy_checks*
|
|
Type: |List|
|
|
Default: `['level1']`
|
|
|
|
The checks to enable for clazy with the `-checks` argument.
|
|
|
|
All options will be joined with commas, and escaped appropriately for
|
|
the shell. The `-checks` flag can be removed entirely by setting this
|
|
option to an empty List.
|
|
|
|
|
|
g:ale_cpp_clazy_options *g:ale_cpp_clazy_options*
|
|
*b:ale_cpp_clazy_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to clazy.
|
|
|
|
|
|
===============================================================================
|
|
cppcheck *ale-cpp-cppcheck*
|
|
|
|
g:ale_cpp_cppcheck_executable *g:ale_cpp_cppcheck_executable*
|
|
*b:ale_cpp_cppcheck_executable*
|
|
Type: |String|
|
|
Default: `'cppcheck'`
|
|
|
|
This variable can be changed to use a different executable for cppcheck.
|
|
|
|
|
|
g:ale_cpp_cppcheck_options *g:ale_cpp_cppcheck_options*
|
|
*b:ale_cpp_cppcheck_options*
|
|
Type: |String|
|
|
Default: `'--enable=style'`
|
|
|
|
This variable can be changed to modify flags given to cppcheck.
|
|
|
|
|
|
===============================================================================
|
|
cpplint *ale-cpp-cpplint*
|
|
|
|
g:ale_cpp_cpplint_executable *g:ale_cpp_cpplint_executable*
|
|
*b:ale_cpp_cpplint_executable*
|
|
Type: |String|
|
|
Default: `'cpplint'`
|
|
|
|
This variable can be changed to use a different executable for cpplint.
|
|
|
|
|
|
g:ale_cpp_cpplint_options *g:ale_cpp_cpplint_options*
|
|
*b:ale_cpp_cpplint_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to cpplint.
|
|
|
|
g:ale_c_cpplint_executable *g:ale_c_cpplint_executable*
|
|
*b:ale_c_cpplint_executable*
|
|
Type: |String|
|
|
Default: `'cpplint'`
|
|
|
|
This variable can be changed to use a different executable for cpplint.
|
|
|
|
|
|
g:ale_c_cpplint_options *g:ale_c_cpplint_options*
|
|
*b:ale_c_cpplint_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be changed to modify flags given to cpplint.
|
|
|
|
|
|
===============================================================================
|
|
cquery *ale-cpp-cquery*
|
|
|
|
g:ale_cpp_cquery_executable *g:ale_cpp_cquery_executable*
|
|
*b:ale_cpp_cquery_executable*
|
|
Type: |String|
|
|
Default: `'cquery'`
|
|
|
|
This variable can be changed to use a different executable for cquery.
|
|
|
|
|
|
g:ale_cpp_cquery_cache_directory *g:ale_cpp_cquery_cache_directory*
|
|
*b:ale_cpp_cquery_cache_directory*
|
|
Type: |String|
|
|
Default: `'~/.cache/cquery'`
|
|
|
|
This variable can be changed to decide which directory cquery uses for its
|
|
cache.
|
|
|
|
|
|
===============================================================================
|
|
cspell *ale-cpp-cspell*
|
|
|
|
See |ale-cspell-options|
|
|
|
|
|
|
===============================================================================
|
|
flawfinder *ale-cpp-flawfinder*
|
|
|
|
g:ale_cpp_flawfinder_executable *g:ale_cpp_flawfinder_executable*
|
|
*b: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.
|
|
|
|
|
|
===============================================================================
|
|
uncrustify *ale-cpp-uncrustify*
|
|
|
|
See |ale-c-uncrustify| for information about the available options.
|
|
|
|
|
|
===============================================================================
|
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|