mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
* Added jq support Cleaned up yq.vim file * Updated docs * Updated supported-tools.md * Added yq tests * Fix python linting/formatting error when in virtual environment (#4865) Python fixers and linters were failing when vim is running in a virtual environment that's located in a path containing text `poetry`. The cause of this was the regular expression `poetry\|pipenv\|uv$` which matches `poetry` and `pipenv` if they appear anywhere in the virtualenv path. * Add cljfmt fixer for clojure files (#4860) * When using `actionlint` look for & use a config file (#4858) Actionlint supports a config file and it lives in a very searchable path, as the only files it acts on are in the `.github` directory already. Look for an `actionlint.yml` and `.yaml` in that path, and use the config if its there. * Fix linting with jq (#4765) (#4862) With the 1.6 version of jq the error message start with "parse error". With the last version of jq the error message start with "jq: parse error". Fix it by using a regular expression that works in both cases. * Properly handle optional end_line_no/end_line_pos in sqlfluff (#4867) end_line_no/end_line_pos are optional. Example SQL: `SELECT NULL FROM {{ a_jinja_templated_table }};` `sqlfluff lint --dialect ansi --format json` gives the following error among others: ``` {"start_line_no": 1, "start_line_pos": 21, "code": "TMP", "description": "Undefined jinja template variable: 'a_jinja_templated_table'", "name": "", "warning": false} ``` As one can see there is no end_line_no/end_line_pos. * Add golangci-lint fixer (#4853) Closes #4616 * Fixed copy-paste misstakes and added filter to docs * Added test vader file for yq * Fixed and updated the test case --------- Co-authored-by: Walter Kaunda <14844142+kwalter94@users.noreply.github.com> Co-authored-by: rudolf ordoyne <49649789+casens5@users.noreply.github.com> Co-authored-by: Bea Hughes <108035665+beahues@users.noreply.github.com> Co-authored-by: benjos1234 <legrimlvl24@gmail.com> Co-authored-by: Coacher <Coacher@users.noreply.github.com> Co-authored-by: Ian Stapleton Cordasco <graffatcolmingov@gmail.com>
409 lines
13 KiB
Plaintext
409 lines
13 KiB
Plaintext
===============================================================================
|
|
ALE YAML Integration *ale-yaml-options*
|
|
|
|
|
|
===============================================================================
|
|
actionlint *ale-yaml-actionlint*
|
|
|
|
Website: https://github.com/rhysd/actionlint
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
See installation guide: https://github.com/rhysd/actionlint#quick-start
|
|
|
|
This linter is disabled by default and must be enabled by setting `g:ale_linters`.
|
|
To enable it only for Github Action YAML files a configuration like this is
|
|
better:
|
|
|
|
>
|
|
au BufRead,BufNewFile */.github/*/*.y{,a}ml
|
|
\ let b:ale_linters = {'yaml': ['actionlint']}
|
|
<
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_actionlint_executable *g:ale_yaml_actionlint_executable*
|
|
*b:ale_yaml_actionlint_executable*
|
|
Type: |String|
|
|
Default: `'actionlint'`
|
|
|
|
This variable can be set to change the path to actionlint.
|
|
|
|
g:ale_yaml_actionlint_options *g:ale_yaml_actionlint_options*
|
|
*b:ale_yaml_actionlint_options*
|
|
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to add extra options to actionlint executable.
|
|
|
|
For example, to disable running `shellcheck` and `pyflakes` external commands,
|
|
you may want to set:
|
|
>
|
|
let g:ale_yaml_actionlint_options = '-shellcheck= -pyflakes='
|
|
<
|
|
Please note that passing `-format` as option is not supported at the moment.
|
|
|
|
|
|
===============================================================================
|
|
circleci *ale-yaml-circleci*
|
|
|
|
Website: https://circleci.com/docs/2.0/local-cli
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Follow the instructions on the website, and make sure to test that you can
|
|
validate configuration files with: >
|
|
|
|
circleci config validate - < .circleci/config.yml
|
|
<
|
|
|
|
As long as the validator runs correctly, you should be able to see errors when
|
|
you save the configuration file. The validator doesn't run as you type because
|
|
it sends network requests, and running too often would overload the circleci
|
|
servers.
|
|
|
|
|
|
===============================================================================
|
|
prettier *ale-yaml-prettier*
|
|
|
|
Website: https://github.com/prettier/prettier
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install prettier either globally or locally: >
|
|
|
|
npm install prettier -g # global
|
|
npm install prettier # local
|
|
<
|
|
|
|
===============================================================================
|
|
spectral *ale-yaml-spectral*
|
|
|
|
Website: https://github.com/stoplightio/spectral
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install spectral either globally or locally: >
|
|
|
|
npm install @stoplight/spectral -g # global
|
|
npm install @stoplight/spectral # local
|
|
<
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_spectral_executable *g:ale_yaml_spectral_executable*
|
|
*b:ale_yaml_spectral_executable*
|
|
Type: |String|
|
|
Default: `'spectral'`
|
|
|
|
This variable can be set to change the path to spectral.
|
|
|
|
g:ale_yaml_spectral_use_global *g:ale_yaml_spectral_use_global*
|
|
*b:ale_yaml_spectral_use_global*
|
|
Type: |String|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
===============================================================================
|
|
swaglint *ale-yaml-swaglint*
|
|
|
|
Website: https://github.com/byCedric/swaglint
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install swaglint either globally or locally: >
|
|
|
|
npm install swaglint -g # global
|
|
npm install swaglint # local
|
|
<
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_swaglint_executable *g:ale_yaml_swaglint_executable*
|
|
*b:ale_yaml_swaglint_executable*
|
|
Type: |String|
|
|
Default: `'swaglint'`
|
|
|
|
This variable can be set to change the path to swaglint.
|
|
|
|
|
|
g:ale_yaml_swaglint_use_global *g:ale_yaml_swaglint_use_global*
|
|
*b:ale_yaml_swaglint_use_global*
|
|
Type: |String|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
===============================================================================
|
|
yaml-language-server *ale-yaml-language-server*
|
|
|
|
Website: https://github.com/redhat-developer/yaml-language-server
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yaml-language-server either globally or locally: >
|
|
|
|
npm install yaml-language-server -g # global
|
|
npm install yaml-language-server # local
|
|
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_ls_executable *g:ale_yaml_ls_executable*
|
|
*b:ale_yaml_ls_executable*
|
|
Type: |String|
|
|
Default: `'yaml-language-server'`
|
|
|
|
This variable can be set to change the path to yaml-language-server.
|
|
|
|
|
|
g:ale_yaml_ls_config *g:ale_yaml_ls_config*
|
|
*b:ale_yaml_ls_config*
|
|
Type: |Dictionary|
|
|
Default: `{}`
|
|
|
|
Dictionary containing configuration settings that will be passed to the
|
|
language server. For example, to enable schema store: >
|
|
{
|
|
\ 'yaml': {
|
|
\ 'schemaStore': {
|
|
\ 'enable': v:true,
|
|
\ },
|
|
\ },
|
|
\ }
|
|
<
|
|
Consult the yaml-language-server documentation for more information about
|
|
settings.
|
|
|
|
|
|
g:ale_yaml_ls_use_global *g:ale_yaml_ls_use_global*
|
|
*b:ale_yaml_ls_use_global*
|
|
Type: |String|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
===============================================================================
|
|
yamlfix *ale-yaml-yamlfix*
|
|
|
|
Website: https://lyz-code.github.io/yamlfix
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yamlfix: >
|
|
|
|
pip install yamlfix
|
|
<
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
g:ale_yaml_yamlfix_executable *g:ale_yaml_yamlfix_executable*
|
|
*b:ale_yaml_yamlfix_executable*
|
|
Type: |String|
|
|
Default: `'yamlfix'`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
g:ale_yaml_yamlfix_options *g:ale_yaml_yamlfix_options*
|
|
*b:ale_yaml_yamlfix_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass extra options to yamlfix.
|
|
|
|
g:ale_yaml_yamlfix_use_global *g:ale_yaml_yamlfix_use_global*
|
|
*b:ale_yaml_yamlfix_use_global*
|
|
Type: |Number|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
===============================================================================
|
|
yamlfmt *ale-yaml-yamlfmt*
|
|
|
|
Website: https://github.com/google/yamlfmt
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yamlfmt:
|
|
|
|
See the website.
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
g:ale_yaml_yamlfmt_executable *g:ale_yaml_yamlfmt_executable*
|
|
*b:ale_yaml_yamlfmt_executable*
|
|
Type: |String|
|
|
Default: `'yamlfmt'`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
g:ale_yaml_yamlfmt_options *g:ale_yaml_yamlfmt_options*
|
|
*b:ale_yaml_yamlfmt_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass extra options to yamlfmt.
|
|
|
|
g:ale_yaml_yamlfmt_use_global *g:ale_yaml_yamlfmt_use_global*
|
|
*b:ale_yaml_yamlfmt_use_global*
|
|
Type: |Number|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
===============================================================================
|
|
yamllint *ale-yaml-yamllint*
|
|
|
|
Website: https://github.com/adrienverge/yamllint
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yamllint in your a virtualenv directory, locally, or globally: >
|
|
|
|
pip install yamllint # After activating virtualenv
|
|
pip install --user yamllint # Install to ~/.local/bin
|
|
sudo pip install yamllint # Install globally
|
|
|
|
See |g:ale_virtualenv_dir_names| for configuring how ALE searches for
|
|
virtualenv directories.
|
|
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_yamllint_executable *g:ale_yaml_yamllint_executable*
|
|
*b:ale_yaml_yamllint_executable*
|
|
Type: |String|
|
|
Default: `'yamllint'`
|
|
|
|
This variable can be set to change the path to yamllint.
|
|
|
|
|
|
g:ale_yaml_yamllint_options *g:ale_yaml_yamllint_options*
|
|
*b:ale_yaml_yamllint_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass additional options to yamllint.
|
|
|
|
|
|
===============================================================================
|
|
gitlablint *ale-yaml-gitlablint*
|
|
|
|
Website: https://github.com/elijah-roberts/gitlab-lint
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yamllint in your a virtualenv directory, locally, or globally: >
|
|
|
|
pip3 install gitlab_lint # After activating virtualenv
|
|
pip3 install --user gitlab_lint # Install to ~/.local/bin
|
|
sudo pip3 install gitlab_lint # Install globally
|
|
|
|
See |g:ale_virtualenv_dir_names| for configuring how ALE searches for
|
|
virtualenv directories.
|
|
|
|
Is recommended to use |g:ale_pattern_options| to enable this linter so it only
|
|
applies to 'gitlab-ci.yml' files and not all yaml files:
|
|
>
|
|
let g:ale_pattern_options = {
|
|
\ '.gitlab-ci\.yml$': {
|
|
\ 'ale_linters': ['gitlablint'],
|
|
\ },
|
|
\}
|
|
<
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_gitlablint_executable *g:ale_yaml_gitlablint_executable*
|
|
*b:ale_yaml_gitlablint_executable*
|
|
Type: |String|
|
|
Default: `'gll'`
|
|
|
|
This variable can be set to change the path to gll.
|
|
|
|
|
|
g:ale_yaml_gitlablint_options *g:ale_yaml_gitlablint_options*
|
|
*b:ale_yaml_gitlablint_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass additional options to gll.
|
|
|
|
|
|
===============================================================================
|
|
yq *ale-yaml-yq*
|
|
|
|
Website: https://github.com/mikefarah/yq
|
|
|
|
|
|
Installation
|
|
-------------------------------------------------------------------------------
|
|
|
|
Install yq: >
|
|
|
|
wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - | tar xz && mv ${BINARY} /usr/bin/yq
|
|
|
|
Options
|
|
-------------------------------------------------------------------------------
|
|
|
|
g:ale_yaml_yq_executable *g:ale_yaml_yq_executable*
|
|
*b:ale_yaml_yq_executable*
|
|
Type: |String|
|
|
Default: `'yq'`
|
|
|
|
This variable can be set to change the path to yq.
|
|
|
|
|
|
g:ale_yaml_yq_options *g:ale_yaml_yq_options*
|
|
*b:ale_yaml_yq_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass additional options to yq.
|
|
|
|
g:ale_yaml_yq_filters *g:ale_yaml_yq_filters
|
|
*b:ale_yaml_yq_filters*
|
|
Type: |String|
|
|
Default: `'.'`
|
|
|
|
This option can be changed to pass additional filters to yq
|
|
|
|
===============================================================================
|
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|