mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
Add yq support (#4861)
* 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>
This commit is contained in:
22
ale_linters/yaml/yq.vim
Normal file
22
ale_linters/yaml/yq.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Author: axhav <william@axhav.se>
|
||||
call ale#Set('yaml_yq_executable', 'yq')
|
||||
call ale#Set('yaml_yq_options', '')
|
||||
call ale#Set('yaml_yq_filters', '.')
|
||||
|
||||
" Matches patterns like the following:
|
||||
let s:pattern = '^Error\:.* line \(\d\+\)\: \(.\+\)$'
|
||||
|
||||
function! ale_linters#yaml#yq#Handle(buffer, lines) abort
|
||||
return ale#util#MapMatches(a:lines, s:pattern, {match -> {
|
||||
\ 'lnum': match[1] + 0,
|
||||
\ 'text': match[2],
|
||||
\}})
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('yaml', {
|
||||
\ 'name': 'yq',
|
||||
\ 'executable': {b -> ale#Var(b, 'yaml_yq_executable')},
|
||||
\ 'output_stream': 'stderr',
|
||||
\ 'command': '%e',
|
||||
\ 'callback': 'ale_linters#yaml#yq#Handle',
|
||||
\})
|
||||
Reference in New Issue
Block a user