summaryrefslogtreecommitdiff
path: root/doc/ale-c.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ale-c.txt')
-rw-r--r--doc/ale-c.txt133
1 files changed, 69 insertions, 64 deletions
diff --git a/doc/ale-c.txt b/doc/ale-c.txt
index fc0d941a..b0d94b8e 100644
--- a/doc/ale-c.txt
+++ b/doc/ale-c.txt
@@ -1,22 +1,36 @@
===============================================================================
ALE C Integration *ale-c-options*
+For basic checking of problems with C files, ALE offers the `cc` linter, which
+runs either `clang`, or `gcc`. See |ale-c-cc|.
+
===============================================================================
Global Options
+g:ale_c_always_make *g:ale_c_always_make*
+ *b:ale_c_always_make*
+ Type: |Number|
+ Default: `has('unix') && !has('macunix')`
+
+ If set to `1`, use `--always-make` for `make`, which means that output will
+ always be parsed from `make` dry runs with GNU make. BSD `make` does not
+ support this option, so you probably want to turn this option off when using
+ a BSD variant.
+
+
g:ale_c_build_dir_names *g:ale_c_build_dir_names*
*b:ale_c_build_dir_names*
Type: |List|
Default: `['build', 'bin']`
- A list of directory names to be used when searching upwards from cpp
- files to discover compilation databases with. For directory named `'foo'`,
- ALE will search for `'foo/compile_commands.json'` in all directories on and above
- the directory containing the cpp file to find path to compilation database.
- This feature is useful for the clang tools wrapped around LibTooling (namely
- here, clang-tidy)
+ A list of directory names to be used when searching upwards from cpp files
+ to discover compilation databases with. For directory named `'foo'`, ALE
+ will search for `'foo/compile_commands.json'` in all directories on and
+ above the directory containing the cpp file to find path to compilation
+ database. This feature is useful for the clang tools wrapped around
+ LibTooling (namely here, clang-tidy)
g:ale_c_build_dir *g:ale_c_build_dir*
@@ -55,6 +69,11 @@ g:ale_c_parse_makefile *g:ale_c_parse_makefile*
set for C or C++ compilers. This can make it easier to determine the correct
build flags to use for different files.
+ NOTE: When using this option on BSD, you may need to set
+ |g:ale_c_always_make| to `0`, and `make -n` will not provide consistent
+ results if binaries have already been built, so use `make clean` when
+ editing your files.
+
WARNING: Running `make -n` automatically can execute arbitrary code, even
though it's supposed to be a dry run, so enable this option with care. You
might prefer to use the buffer-local version of the option instead with
@@ -94,22 +113,58 @@ g:ale_c_astyle_project_options *g:ale_c_astyle_project_options*
===============================================================================
-clang *ale-c-clang*
+cc *ale-c-cc*
+ *ale-c-gcc*
+ *ale-c-clang*
-g:ale_c_clang_executable *g:ale_c_clang_executable*
- *b:ale_c_clang_executable*
+g:ale_c_cc_executable *g:ale_c_cc_executable*
+ *b:ale_c_cc_executable*
Type: |String|
- Default: `'clang'`
+ Default: `'<auto>'`
+
+ This variable can be changed to use a different executable for a C compiler.
- This variable can be changed to use a different executable for clang.
+ ALE will try to use `clang` if Clang is available, otherwise ALE will
+ default to checking C code with `gcc`.
-g:ale_c_clang_options *g:ale_c_clang_options*
- *b:ale_c_clang_options*
+g:ale_c_cc_options *g:ale_c_cc_options*
+ *b:ale_c_cc_options*
Type: |String|
Default: `'-std=c11 -Wall'`
- This variable can be changed to modify flags given to clang.
+ This variable can be change to modify flags given to the C compiler.
+
+
+===============================================================================
+ccls *ale-c-ccls*
+
+g:ale_c_ccls_executable *g:ale_c_ccls_executable*
+ *b:ale_c_ccls_executable*
+ Type: |String|
+ Default: `'ccls'`
+
+ This variable can be changed to use a different executable for ccls.
+
+
+g:ale_c_ccls_init_options *g:ale_c_ccls_init_options*
+ *b:ale_c_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.
===============================================================================
@@ -295,25 +350,6 @@ g:ale_c_flawfinder_error_severity *g:ale_c_flawfinder_error_severity*
===============================================================================
-gcc *ale-c-gcc*
-
-g:ale_c_gcc_executable *g:ale_c_gcc_executable*
- *b:ale_c_gcc_executable*
- Type: |String|
- Default: `'gcc'`
-
- This variable can be changed to use a different executable for gcc.
-
-
-g:ale_c_gcc_options *g:ale_c_gcc_options*
- *b:ale_c_gcc_options*
- Type: |String|
- Default: `'-std=c11 -Wall'`
-
- This variable can be change to modify flags given to gcc.
-
-
-===============================================================================
uncrustify *ale-c-uncrustify*
g:ale_c_uncrustify_executable *g:ale_c_uncrustify_executable*
@@ -333,35 +369,4 @@ g:ale_c_uncrustify_options *g:ale_c_uncrustify_options*
===============================================================================
-ccls *ale-c-ccls*
-
-g:ale_c_ccls_executable *g:ale_c_ccls_executable*
- *b:ale_c_ccls_executable*
- Type: |String|
- Default: `'ccls'`
-
- This variable can be changed to use a different executable for ccls.
-
-
-g:ale_c_ccls_init_options *g:ale_c_ccls_init_options*
- *b:ale_c_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.
-
-
-===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: