Fix numerous issues with integration documentation tags and the table of contents, and add a script to check for theses issues

This commit is contained in:
w0rp 2017-09-10 19:42:45 +01:00
parent c4ad92e458
commit 9d24cc4047
19 changed files with 296 additions and 190 deletions

View File

@ -1,5 +1,5 @@
=============================================================================== ===============================================================================
ALE Assembly Integration *ale-asm-options* ALE ASM Integration *ale-asm-options*
=============================================================================== ===============================================================================

View File

@ -52,6 +52,25 @@ g:ale_c_clang_options *g:ale_c_clang_options*
This variable can be changed to modify flags given to clang. This variable can be changed to modify flags given to clang.
===============================================================================
clang-format *ale-c-clangformat*
g:ale_c_clangformat_executable *g:ale_c_clangformat_executable*
*b:ale_c_clangformat_executable*
Type: |String|
Default: `'clang-format'`
This variable can be changed to use a different executable for clang-format.
g:ale_c_clangformat_options *g:ale_c_clangformat_options*
*b:ale_c_clangformat_options*
Type: |String|
Default: `''`
This variable can be change to modify flags given to clang-format.
=============================================================================== ===============================================================================
clangtidy *ale-c-clangtidy* clangtidy *ale-c-clangtidy*
@ -143,24 +162,5 @@ g:ale_c_gcc_options *g:ale_c_gcc_options*
This variable can be change to modify flags given to gcc. This variable can be change to modify flags given to gcc.
===============================================================================
clang-format *ale-c-clangformat*
g:ale_c_clangformat_executable *g:ale_c_clangformat_executable*
*b:ale_c_clangformat_executable*
Type: |String|
Default: `'clang-format'`
This variable can be changed to use a different executable for clang-format.
g:ale_c_clangformat_options *g:ale_c_clangformat_options*
*b:ale_c_clangformat_options*
Type: |String|
Default: `''`
This variable can be change to modify flags given to clang-format.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -3,7 +3,7 @@ ALE Chef Integration *ale-chef-options*
=============================================================================== ===============================================================================
foodcritc *ale-chef-foodcritic* foodcritic *ale-chef-foodcritic*
g:ale_chef_foodcritic_options *g:ale_chef_foodcritic_options* g:ale_chef_foodcritic_options *g:ale_chef_foodcritic_options*
*b:ale_chef_foodcritic_options* *b:ale_chef_foodcritic_options*

View File

@ -59,6 +59,13 @@ g:ale_cpp_clangcheck_options *g:ale_cpp_clangcheck_options*
option. option.
===============================================================================
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* clangtidy *ale-cpp-clangtidy*
@ -165,12 +172,5 @@ g:ale_cpp_gcc_options *g:ale_cpp_gcc_options*
This variable can be changed to modify flags given to gcc. This variable can be changed to modify flags given to gcc.
===============================================================================
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++.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -2,6 +2,12 @@
ALE CSS Integration *ale-css-options* ALE CSS Integration *ale-css-options*
===============================================================================
prettier *ale-css-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
stylelint *ale-css-stylelint* stylelint *ale-css-stylelint*
@ -29,11 +35,5 @@ g:ale_css_stylelint_use_global *g:ale_css_stylelint_use_global*
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
===============================================================================
prettier *ale-css-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -3,7 +3,7 @@ ALE CUDA Integration *ale-cuda-options*
=============================================================================== ===============================================================================
NVCC *ale-cuda-nvcc* nvcc *ale-cuda-nvcc*
g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable* g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable*
*b:ale_cuda_nvcc_executable* *b:ale_cuda_nvcc_executable*

View File

@ -3,7 +3,7 @@ ALE Elm Integration *ale-elm-options*
=============================================================================== ===============================================================================
elm-format *ale-elm-format* elm-format *ale-elm-elm-format*
g:ale_elm_format_executable *g:ale_elm_format_executable* g:ale_elm_format_executable *g:ale_elm_format_executable*
*b:ale_elm_format_executable* *b:ale_elm_format_executable*
@ -29,7 +29,7 @@ g:ale_elm_format_options *g:ale_elm_format_options*
This variable can be set to pass additional options to elm-format. This variable can be set to pass additional options to elm-format.
=============================================================================== ===============================================================================
elm-make *ale-elm-make* elm-make *ale-elm-elm-make*
g:ale_elm_make_executable *g:ale_elm_make_executable* g:ale_elm_make_executable *g:ale_elm_make_executable*
*b:ale_elm_make_executable* *b:ale_elm_make_executable*

View File

@ -3,7 +3,7 @@ ALE FusionScript Integration *ale-fuse-options*
=============================================================================== ===============================================================================
4.12. fusionlint *ale-fuse-fusionlint* fusion-lint *ale-fuse-fusionlint*
g:ale_fusion_fusionlint_executable *g:ale_fuse_fusionlint_executable* g:ale_fusion_fusionlint_executable *g:ale_fuse_fusionlint_executable*
*b:ale_fuse_fusionlint_executable* *b:ale_fuse_fusionlint_executable*

View File

@ -1,16 +1,6 @@
=============================================================================== ===============================================================================
ALE Haskell Integration *ale-haskell-options* ALE Haskell Integration *ale-haskell-options*
===============================================================================
stack-build *ale-haskell-stack-build*
g:ale_haskell_stack_build_options *g:ale_haskell_stack_build_options*
*b:ale_haskell_stack_build_options*
Type: |String|
Default: `'--fast'`
We default to using `'--fast'`. Since Stack generates binaries, your
programs will be slower unless you separately rebuild them outside of ALE.
=============================================================================== ===============================================================================
hdevtools *ale-haskell-hdevtools* hdevtools *ale-haskell-hdevtools*
@ -30,5 +20,17 @@ g:ale_haskell_hdevtools_options *g:ale_haskell_hdevtools_options*
This variable can be changed to modify flags given to hdevtools. This variable can be changed to modify flags given to hdevtools.
===============================================================================
stack-build *ale-haskell-stack-build*
g:ale_haskell_stack_build_options *g:ale_haskell_stack_build_options*
*b:ale_haskell_stack_build_options*
Type: |String|
Default: `'--fast'`
We default to using `'--fast'`. Since Stack generates binaries, your
programs will be slower unless you separately rebuild them outside of ALE.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -60,6 +60,63 @@ g:ale_javascript_eslint_suppress_eslintignore
the current file due to being covered by `.eslintignore`. the current file due to being covered by `.eslintignore`.
===============================================================================
flow *ale-javascript-flow*
g:ale_javascript_flow_executable *g:ale_javascript_flow_executable*
*b:ale_javascript_flow_executable*
Type: |String|
Default: `'flow'`
See |ale-integrations-local-executables|
g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global*
*b:ale_javascript_flow_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
===============================================================================
jscs *ale-javascript-jscs*
g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable*
*b:ale_javascript_jscs_executable*
Type: |String|
Default: `'jscs'`
See |ale-integrations-local-executables|
g:ale_javascript_jscs_use_global *g:ale_javascript_jscs_use_global*
*b:ale_javascript_jscs_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
===============================================================================
jshint *ale-javascript-jshint*
g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable*
*b:ale_javascript_jshint_executable*
Type: |String|
Default: `'jshint'`
See |ale-integrations-local-executables|
g:ale_javascript_jshint_use_global *g:ale_javascript_jshint_use_global*
*b:ale_javascript_jshint_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
=============================================================================== ===============================================================================
prettier *ale-javascript-prettier* prettier *ale-javascript-prettier*
@ -94,6 +151,7 @@ g:ale_javascript_prettier_use_local_config
This variable can be set to use the local prettier configuration file. This variable can be set to use the local prettier configuration file.
=============================================================================== ===============================================================================
prettier-eslint *ale-javascript-prettier-eslint* prettier-eslint *ale-javascript-prettier-eslint*
@ -168,61 +226,6 @@ g:ale_javascript_prettier_standard_use_global
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
===============================================================================
flow *ale-javascript-flow*
g:ale_javascript_flow_executable *g:ale_javascript_flow_executable*
*b:ale_javascript_flow_executable*
Type: |String|
Default: `'flow'`
See |ale-integrations-local-executables|
g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global*
*b:ale_javascript_flow_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
===============================================================================
jscs *ale-javascript-jscs*
g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable*
*b:ale_javascript_jscs_executable*
Type: |String|
Default: `'jscs'`
See |ale-integrations-local-executables|
g:ale_javascript_jscs_use_global *g:ale_javascript_jscs_use_global*
*b:ale_javascript_jscs_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
===============================================================================
jshint *ale-javascript-jshint*
g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable*
*b:ale_javascript_jshint_executable*
Type: |String|
Default: `'jshint'`
See |ale-integrations-local-executables|
g:ale_javascript_jshint_use_global *g:ale_javascript_jshint_use_global*
*b:ale_javascript_jshint_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
=============================================================================== ===============================================================================

View File

@ -3,7 +3,7 @@ ALE Lua Integration *ale-lua-options*
=============================================================================== ===============================================================================
4.12. luacheck *ale-lua-luacheck* luacheck *ale-lua-luacheck*
g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable* g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable*
*b:ale_lua_luacheck_executable* *b:ale_lua_luacheck_executable*

View File

@ -35,67 +35,6 @@ g:ale_php_langserver_use_global *g:ale_php_langserver_use_global*
=============================================================================== ===============================================================================
phpcs *ale-php-phpcs*
g:ale_php_phpcs_executable *g:ale_php_phpcs_executable*
*b:ale_php_phpcs_executable*
Type: |String|
Default: `'phpcs'`
See |ale-integrations-local-executables|
g:ale_php_phpcs_standard *g:ale_php_phpcs_standard*
*b:ale_php_phpcs_standard*
Type: |String|
Default: `''`
This variable can be set to specify the coding standard used by phpcs. If no
coding standard is specified, phpcs will default to checking against the
PEAR coding standard, or the standard you have set as the default.
g:ale_php_phpcs_use_global *g:ale_php_phpcs_use_global*
*b:ale_php_phpcs_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
-------------------------------------------------------------------------------
phpmd *ale-php-phpmd*
g:ale_php_phpmd_ruleset *g:ale_php_phpmd_ruleset*
*b:ale_php_phpmd_ruleset*
Type: |String|
Default: `'cleancode,codesize,controversial,design,naming,unusedcode'`
This variable controls the ruleset used by phpmd. Default is to use all of
the available phpmd rulesets
-------------------------------------------------------------------------------
phpstan *ale-php-phpstan*
g:ale_php_phpstan_executable *g:ale_php_phpstan_executable*
*b:ale_php_phpstan_executable*
Type: |String|
Default: `'phpstan'`
This variable sets executable used for phpstan.
g:ale_php_phpstan_level *g:ale_php_phpstan_level*
*b:ale_php_phpstan_level*
Type: |Number|
Default: `4`
This variable controls the rule levels. 0 is the loosest and 4 is the
strictest.
-------------------------------------------------------------------------------
phpcbf *ale-php-phpcbf* phpcbf *ale-php-phpcbf*
g:ale_php_phpcbf_executable *g:ale_php_phpcbf_executable* g:ale_php_phpcbf_executable *g:ale_php_phpcbf_executable*
@ -124,5 +63,66 @@ g:ale_php_phpcbf_use_global *g:ale_php_phpcbf_use_global*
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
===============================================================================
phpcs *ale-php-phpcs*
g:ale_php_phpcs_executable *g:ale_php_phpcs_executable*
*b:ale_php_phpcs_executable*
Type: |String|
Default: `'phpcs'`
See |ale-integrations-local-executables|
g:ale_php_phpcs_standard *g:ale_php_phpcs_standard*
*b:ale_php_phpcs_standard*
Type: |String|
Default: `''`
This variable can be set to specify the coding standard used by phpcs. If no
coding standard is specified, phpcs will default to checking against the
PEAR coding standard, or the standard you have set as the default.
g:ale_php_phpcs_use_global *g:ale_php_phpcs_use_global*
*b:ale_php_phpcs_use_global*
Type: |Number|
Default: `0`
See |ale-integrations-local-executables|
===============================================================================
phpmd *ale-php-phpmd*
g:ale_php_phpmd_ruleset *g:ale_php_phpmd_ruleset*
*b:ale_php_phpmd_ruleset*
Type: |String|
Default: `'cleancode,codesize,controversial,design,naming,unusedcode'`
This variable controls the ruleset used by phpmd. Default is to use all of
the available phpmd rulesets
===============================================================================
phpstan *ale-php-phpstan*
g:ale_php_phpstan_executable *g:ale_php_phpstan_executable*
*b:ale_php_phpstan_executable*
Type: |String|
Default: `'phpstan'`
This variable sets executable used for phpstan.
g:ale_php_phpstan_level *g:ale_php_phpstan_level*
*b:ale_php_phpstan_level*
Type: |Number|
Default: `4`
This variable controls the rule levels. 0 is the loosest and 4 is the
strictest.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -2,6 +2,12 @@
ALE SCSS Integration *ale-scss-options* ALE SCSS Integration *ale-scss-options*
===============================================================================
prettier *ale-scss-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
stylelint *ale-scss-stylelint* stylelint *ale-scss-stylelint*
@ -21,11 +27,5 @@ g:ale_scss_stylelint_use_global *g:ale_scss_stylelint_use_global*
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
===============================================================================
prettier *ale-scss-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -1,5 +1,5 @@
=============================================================================== ===============================================================================
ALE RPM Spec Integration *ale-spec-options* ALE Spec Integration *ale-spec-options*
*ale-integration-spec* *ale-integration-spec*
=============================================================================== ===============================================================================

View File

@ -1,5 +1,5 @@
=============================================================================== ===============================================================================
ALE CSS Integration *ale-stylus-options* ALE Stylus Integration *ale-stylus-options*
=============================================================================== ===============================================================================

View File

@ -10,6 +10,12 @@ the two languages are, the `eslint` linter for TypeScript uses the JavaScript
options for `eslint` too. See: |ale-javascript-eslint|. options for `eslint` too. See: |ale-javascript-eslint|.
===============================================================================
prettier *ale-typescript-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
tslint *ale-typescript-tslint* tslint *ale-typescript-tslint*
@ -93,11 +99,5 @@ g:ale_typescript_tsserver_use_global *g:ale_typescript_tsserver_use_global*
tsserver in node_modules. tsserver in node_modules.
===============================================================================
prettier *ale-typescript-prettier*
See |ale-javascript-prettier| for information about the available options.
=============================================================================== ===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@ -16,31 +16,38 @@ CONTENTS *ale-contents*
7. Integration Documentation............|ale-integrations| 7. Integration Documentation............|ale-integrations|
asm...................................|ale-asm-options| asm...................................|ale-asm-options|
gcc.................................|ale-asm-gcc| gcc.................................|ale-asm-gcc|
awk...................................|ale-awk-options|
gawk................................|ale-awk-gawk|
c.....................................|ale-c-options| c.....................................|ale-c-options|
clang...............................|ale-c-clang| clang...............................|ale-c-clang|
clang-format........................|ale-c-clangformat|
clangtidy...........................|ale-c-clangtidy| clangtidy...........................|ale-c-clangtidy|
cppcheck............................|ale-c-cppcheck| cppcheck............................|ale-c-cppcheck|
gcc.................................|ale-c-gcc| gcc.................................|ale-c-gcc|
clang-format........................|ale-c-clangformat|
chef..................................|ale-chef-options| chef..................................|ale-chef-options|
foodcritic..........................|ale-chef-foodcritic| foodcritic..........................|ale-chef-foodcritic|
cmake.................................|ale-cmake-options|
cmakelint...........................|ale-cmake-cmakelint|
cpp...................................|ale-cpp-options| cpp...................................|ale-cpp-options|
clang...............................|ale-cpp-clang| clang...............................|ale-cpp-clang|
clangcheck..........................|ale-cpp-clangcheck| clangcheck..........................|ale-cpp-clangcheck|
clang-format........................|ale-cpp-clangformat|
clangtidy...........................|ale-cpp-clangtidy| clangtidy...........................|ale-cpp-clangtidy|
cppcheck............................|ale-cpp-cppcheck| cppcheck............................|ale-cpp-cppcheck|
cpplint.............................|ale-cpp-cpplint| cpplint.............................|ale-cpp-cpplint|
gcc.................................|ale-cpp-gcc| gcc.................................|ale-cpp-gcc|
clang-format........................|ale-cpp-clangformat|
cuda..................................|ale-cuda-options|
nvcc................................|ale-cuda-nvcc|
css...................................|ale-css-options| css...................................|ale-css-options|
prettier............................|ale-css-prettier| prettier............................|ale-css-prettier|
stylelint...........................|ale-css-stylelint| stylelint...........................|ale-css-stylelint|
cmake.................................|ale-cmake-options| cuda..................................|ale-cuda-options|
cmakelint...........................|ale-cmake-cmakelint| nvcc................................|ale-cuda-nvcc|
dart..................................|ale-dart-options| dart..................................|ale-dart-options|
dartanalyzer........................|ale-dart-dartanalyzer| dartanalyzer........................|ale-dart-dartanalyzer|
dockerfile............................|ale-dockerfile-options|
hadolint............................|ale-dockerfile-hadolint|
elm...................................|ale-elm-options|
elm-format..........................|ale-elm-elm-format|
elm-make............................|ale-elm-elm-make|
erlang................................|ale-erlang-options| erlang................................|ale-erlang-options|
erlc................................|ale-erlang-erlc| erlc................................|ale-erlang-erlc|
syntaxerl...........................|ale-erlang-syntaxerl| syntaxerl...........................|ale-erlang-syntaxerl|
@ -58,6 +65,7 @@ CONTENTS *ale-contents*
handlebars............................|ale-handlebars-options| handlebars............................|ale-handlebars-options|
ember-template-lint.................|ale-handlebars-embertemplatelint| ember-template-lint.................|ale-handlebars-embertemplatelint|
haskell...............................|ale-haskell-options| haskell...............................|ale-haskell-options|
hdevtools...........................|ale-haskell-hdevtools|
stack-build.........................|ale-haskell-stack-build| stack-build.........................|ale-haskell-stack-build|
html..................................|ale-html-options| html..................................|ale-html-options|
htmlhint............................|ale-html-htmlhint| htmlhint............................|ale-html-htmlhint|
@ -70,6 +78,7 @@ CONTENTS *ale-contents*
javascript............................|ale-javascript-options| javascript............................|ale-javascript-options|
eslint..............................|ale-javascript-eslint| eslint..............................|ale-javascript-eslint|
flow................................|ale-javascript-flow| flow................................|ale-javascript-flow|
jscs................................|ale-javascript-jscs|
jshint..............................|ale-javascript-jshint| jshint..............................|ale-javascript-jshint|
prettier............................|ale-javascript-prettier| prettier............................|ale-javascript-prettier|
prettier-eslint.....................|ale-javascript-prettier-eslint| prettier-eslint.....................|ale-javascript-prettier-eslint|
@ -81,6 +90,7 @@ CONTENTS *ale-contents*
prettier............................|ale-json-prettier| prettier............................|ale-json-prettier|
kotlin................................|ale-kotlin-options| kotlin................................|ale-kotlin-options|
kotlinc.............................|ale-kotlin-kotlinc| kotlinc.............................|ale-kotlin-kotlinc|
ktlint..............................|ale-kotlin-ktlint|
lua...................................|ale-lua-options| lua...................................|ale-lua-options|
luacheck............................|ale-lua-luacheck| luacheck............................|ale-lua-luacheck|
objc..................................|ale-objc-options| objc..................................|ale-objc-options|
@ -95,12 +105,14 @@ CONTENTS *ale-contents*
php...................................|ale-php-options| php...................................|ale-php-options|
hack................................|ale-php-hack| hack................................|ale-php-hack|
langserver..........................|ale-php-langserver| langserver..........................|ale-php-langserver|
phpcbf..............................|ale-php-phpcbf|
phpcs...............................|ale-php-phpcs| phpcs...............................|ale-php-phpcs|
phpmd...............................|ale-php-phpmd| phpmd...............................|ale-php-phpmd|
phpstan.............................|ale-php-phpstan| phpstan.............................|ale-php-phpstan|
phpcbf..............................|ale-php-phpcbf|
pug...................................|ale-pug-options| pug...................................|ale-pug-options|
puglint.............................|ale-pug-puglint| puglint.............................|ale-pug-puglint|
puppet................................|ale-puppet-options|
puppetlint..........................|ale-puppet-puppetlint|
python................................|ale-python-options| python................................|ale-python-options|
autopep8............................|ale-python-autopep8| autopep8............................|ale-python-autopep8|
flake8..............................|ale-python-flake8| flake8..............................|ale-python-flake8|
@ -111,6 +123,8 @@ CONTENTS *ale-contents*
yapf................................|ale-python-yapf| yapf................................|ale-python-yapf|
r.....................................|ale-r-options| r.....................................|ale-r-options|
lintr...............................|ale-r-lintr| lintr...............................|ale-r-lintr|
reasonml..............................|ale-reasonml-options|
merlin..............................|ale-reasonml-merlin|
ruby..................................|ale-ruby-options| ruby..................................|ale-ruby-options|
brakeman............................|ale-ruby-brakeman| brakeman............................|ale-ruby-brakeman|
rails_best_practices................|ale-ruby-rails_best_practices| rails_best_practices................|ale-ruby-rails_best_practices|

View File

@ -255,6 +255,13 @@ if ((run_custom_checks)); then
grep ' \*[^*]\+\*$' doc/ -r \ grep ' \*[^*]\+\*$' doc/ -r \
| awk '{ sep = index($0, ":"); if (length(substr($0, sep + 1 )) < 79) { print } }' \ | awk '{ sep = index($0, ":"); if (length(substr($0, sep + 1 )) < 79) { print } }' \
| grep . && EXIT=1 | grep . && EXIT=1
echo '========================================'
echo 'Look for table of contents issues'
echo '========================================'
echo
test/script/check-toc || EXIT=$?
fi fi
exit $EXIT exit $EXIT

80
test/script/check-toc Executable file
View File

@ -0,0 +1,80 @@
#!/bin/bash -eu
# This script checks that the table of contents for the supported tools is
# sorted, and that the table matches the files.
toc_start_line="$( \
grep -m1 -n 'Integration Documentation.*|ale-integrations|' doc/ale.txt \
| sed 's/\([0-9]*\).*/\1/' \
)"
# shellcheck disable=SC2003
toc_start_line="$(expr "$toc_start_line" + 1)"
toc_section_size="$( \
tail -n +"$toc_start_line" doc/ale.txt \
| grep -m1 -n '^ [0-9]\+\.' \
| sed 's/\([0-9]*\).*/\1/' \
)"
# shellcheck disable=SC2003
toc_end_line="$(expr "$toc_start_line" + "$toc_section_size" - 2)"
toc_file="$(mktemp -t table-of-contents.XXXXXXXX)"
heading_file="$(mktemp -t headings.XXXXXXXX)"
unsorted_toc_file="$(mktemp -t ale.txt.XXXXXXXX)"
sorted_toc_file="$(mktemp -t sorted-ale.txt.XXXXXXXX)"
sed -n "$toc_start_line,$toc_end_line"p doc/ale.txt \
| sed 's/^ \( *[^.]\+\)\.\+|\(.\+\)|/\1, \2/' \
> "$toc_file"
# Get all of the doc files in a natural sorted order.
doc_files="$(/bin/ls -1v doc | grep ^ale- | sed 's/^/doc\//' | paste -sd ' ')"
# shellcheck disable=SC2086
grep -h 'ale-.*-options\|^[a-z].*\*ale-.*\*$' $doc_files \
| sed 's/^/ /' \
| sed 's/ALE Shell Integration/ALE sh Integration/' \
| sed 's/ ALE \(.*\) Integration/\L\1/' \
| sed 's/ *\*\(.\+\)\*$/, \1/' \
| sed 's/objective-c/objc/' \
| sed 's/c++/cpp/' \
> "$heading_file"
exit_code=0
in_section=0
section_index=0
while read -r; do
if [[ "$REPLY" =~ ^\ ]]; then
if ! ((in_section)); then
let section_index='section_index + 1'
in_section=1
fi
else
if ((in_section)); then
let section_index='section_index + 1'
in_section=0
fi
fi
echo "$section_index $REPLY" >> "$unsorted_toc_file"
done < "$toc_file"
sort -h "$unsorted_toc_file" | sed 's/[0-9]\+//' > "$sorted_toc_file"
sed -i.bak 's/[0-9]\+//' "$unsorted_toc_file"
rm -f "$unsorted_toc_file".bak
echo 'Check for bad ToC sorting:'
echo
diff -U2 "$sorted_toc_file" "$unsorted_toc_file" || exit_code=$?
echo 'Check for mismatched ToC and headings:'
echo
diff -U3 "$toc_file" "$heading_file" || exit_code=$?
rm "$toc_file"
rm "$heading_file"
rm "$unsorted_toc_file"
rm "$sorted_toc_file"
exit "$exit_code"