-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
100 changed files
with
3,549 additions
and
1,625 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
" Author: Roeland Moors - https://github.com/roelandmoors | ||
" based on the ale ruumba and robocop linters | ||
" Description: ERB Lint, support for https://github.com/Shopify/erb-lint | ||
|
||
call ale#Set('eruby_erblint_executable', 'erblint') | ||
call ale#Set('eruby_erblint_options', '') | ||
|
||
function! ale_linters#eruby#erblint#GetCommand(buffer) abort | ||
let l:executable = ale#Var(a:buffer, 'eruby_erblint_executable') | ||
|
||
return ale#ruby#EscapeExecutable(l:executable, 'erblint') | ||
\ . ' --format json ' | ||
\ . ale#Var(a:buffer, 'eruby_erblint_options') | ||
\ . ' --stdin %s' | ||
endfunction | ||
|
||
function! ale_linters#eruby#erblint#Handle(buffer, lines) abort | ||
if empty(a:lines) | ||
return [] | ||
endif | ||
|
||
let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], []) | ||
|
||
if !has_key(l:errors, 'summary') | ||
\|| l:errors['summary']['offenses'] == 0 | ||
\|| empty(l:errors['files']) | ||
return [] | ||
endif | ||
|
||
let l:output = [] | ||
|
||
for l:error in l:errors['files'][0]['offenses'] | ||
call add(l:output, { | ||
\ 'lnum': l:error['location']['start_line'] + 0, | ||
\ 'col': l:error['location']['start_column'] + 0, | ||
\ 'end_col': l:error['location']['last_column'] + 0, | ||
\ 'code': l:error['linter'], | ||
\ 'text': l:error['message'], | ||
\ 'type': 'W', | ||
\}) | ||
endfor | ||
|
||
return l:output | ||
endfunction | ||
|
||
call ale#linter#Define('eruby', { | ||
\ 'name': 'erblint', | ||
\ 'executable': {b -> ale#Var(b, 'eruby_erblint_executable')}, | ||
\ 'command': function('ale_linters#eruby#erblint#GetCommand'), | ||
\ 'callback': 'ale_linters#eruby#erblint#Handle', | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
" Author: Arnold Chand <creativenull@outlook.com> | ||
" Description: Deno lsp linter for JavaScript files. | ||
|
||
call ale#linter#Define('javascript', { | ||
\ 'name': 'deno', | ||
\ 'lsp': 'stdio', | ||
\ 'executable': function('ale#handlers#deno#GetExecutable'), | ||
\ 'command': '%e lsp', | ||
\ 'project_root': function('ale#handlers#deno#GetProjectRoot'), | ||
\ 'initialization_options': function('ale#handlers#deno#GetInitializationOptions'), | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
" Author: João Pesce <joao@pesce.cc> | ||
" Description: eslint for JSON files. | ||
" | ||
" Requires eslint-plugin-jsonc or a similar plugin to work | ||
" | ||
" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp | ||
" <devw0rp@gmail.com> | ||
|
||
call ale#linter#Define('json', { | ||
\ 'name': 'eslint', | ||
\ 'output_stream': 'both', | ||
\ 'executable': function('ale#handlers#eslint#GetExecutable'), | ||
\ 'cwd': function('ale#handlers#eslint#GetCwd'), | ||
\ 'command': function('ale#handlers#eslint#GetCommand'), | ||
\ 'callback': 'ale#handlers#eslint#HandleJSON', | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
" Author: João Pesce <joao@pesce.cc> | ||
" Description: eslint for JSON5 files. | ||
" | ||
" Requires eslint-plugin-jsonc or a similar plugin to work | ||
" | ||
" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp | ||
" <devw0rp@gmail.com> | ||
|
||
call ale#linter#Define('json5', { | ||
\ 'name': 'eslint', | ||
\ 'output_stream': 'both', | ||
\ 'executable': function('ale#handlers#eslint#GetExecutable'), | ||
\ 'cwd': function('ale#handlers#eslint#GetCwd'), | ||
\ 'command': function('ale#handlers#eslint#GetCommand'), | ||
\ 'callback': 'ale#handlers#eslint#HandleJSON', | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
" Author: João Pesce <joao@pesce.cc> | ||
" Description: eslint for JSONC files. | ||
" | ||
" Requires eslint-plugin-jsonc or a similar plugin to work | ||
" | ||
" Uses the same funtcions as ale_linters/javascript/eslint.vim by w0rp | ||
" <devw0rp@gmail.com> | ||
|
||
call ale#linter#Define('jsonc', { | ||
\ 'name': 'eslint', | ||
\ 'output_stream': 'both', | ||
\ 'executable': function('ale#handlers#eslint#GetExecutable'), | ||
\ 'cwd': function('ale#handlers#eslint#GetCwd'), | ||
\ 'command': function('ale#handlers#eslint#GetCommand'), | ||
\ 'callback': 'ale#handlers#eslint#HandleJSON', | ||
\}) |
59 changes: 59 additions & 0 deletions
59
sources_non_forked/ale/ale_linters/jsonnet/jsonnet_lint.vim
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
" Author: Trevor Whitney <trevorjwhitney@gmail.com> | ||
" Description: jsonnet-lint for jsonnet files | ||
|
||
call ale#Set('jsonnet_jsonnet_lint_executable', 'jsonnet-lint') | ||
call ale#Set('jsonnet_jsonnet_lint_options', '') | ||
|
||
function! ale_linters#jsonnet#jsonnet_lint#GetCommand(buffer) abort | ||
let l:options = ale#Var(a:buffer, 'jsonnet_jsonnet_lint_options') | ||
|
||
return '%e' | ||
\ . ale#Pad(l:options) | ||
\ . ' %t' | ||
endfunction | ||
|
||
|
||
function! ale_linters#jsonnet#jsonnet_lint#Handle(buffer, lines) abort | ||
" Matches patterns line the following: | ||
" | ||
" ERROR: foo.jsonnet:22:3-12 expected token OPERATOR but got (IDENTIFIER, "bar") | ||
" ERROR: hoge.jsonnet:20:3 unexpected: "}" while parsing terminal | ||
" ERROR: main.jsonnet:212:1-14 Expected , or ; but got (IDENTIFIER, "older_cluster") | ||
let l:pattern = '^ERROR: [^:]*:\(\d\+\):\(\d\+\)\(-\d\+\)* \(.*\)' | ||
let l:output = [] | ||
|
||
for l:line in a:lines | ||
let l:match = matchlist(l:line, l:pattern) | ||
|
||
if len(l:match) == 0 | ||
continue | ||
endif | ||
|
||
let line_number = l:match[1] + 0 | ||
let column = l:match[2] + 0 | ||
" l:match[3] has optional -14, when linter is showing a range | ||
let text = l:match[4] | ||
|
||
|
||
" vcol is Needed to indicate that the column is a character. | ||
call add(l:output, { | ||
\ 'bufnr': a:buffer, | ||
\ 'lnum': line_number, | ||
\ 'vcol': 0, | ||
\ 'col': column, | ||
\ 'text': text, | ||
\ 'type': 'E', | ||
\ 'nr': -1, | ||
\}) | ||
endfor | ||
|
||
return l:output | ||
endfunction | ||
|
||
call ale#linter#Define('jsonnet', { | ||
\ 'name': 'jsonnet_lint', | ||
\ 'output_stream': 'stderr', | ||
\ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnet_lint_executable')}, | ||
\ 'command': function('ale_linters#jsonnet#jsonnet_lint#GetCommand'), | ||
\ 'callback': 'ale_linters#jsonnet#jsonnet_lint#Handle', | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
" Authors: Trevor Whitney <trevorjwhitney@gmail.com> and Takuya Kosugiyama <re@itkq.jp> | ||
" Description: jsonnetfmt for jsonnet files | ||
|
||
call ale#Set('jsonnet_jsonnetfmt_executable', 'jsonnetfmt') | ||
call ale#Set('jsonnet_jsonnetfmt_options', '') | ||
|
||
function! ale_linters#jsonnet#jsonnetfmt#GetCommand(buffer) abort | ||
let l:options = ale#Var(a:buffer, 'jsonnet_jsonnetfmt_options') | ||
|
||
return '%e' | ||
\ . ale#Pad(l:options) | ||
\ . ' %t' | ||
endfunction | ||
|
||
|
||
function! ale_linters#jsonnet#jsonnetfmt#Handle(buffer, lines) abort | ||
" Matches patterns line the following: | ||
" | ||
" STATIC ERROR: foo.jsonnet:22:3-12: expected token OPERATOR but got (IDENTIFIER, "bar") | ||
" STATIC ERROR: hoge.jsonnet:20:3: unexpected: "}" while parsing terminal | ||
let l:pattern = '^STATIC ERROR:[^:]*:\(\d\+\):\(\d\+\):*\(-\d\+\)* \(.*\)' | ||
let l:output = [] | ||
|
||
for l:line in a:lines | ||
let l:match = matchlist(l:line, l:pattern) | ||
|
||
if len(l:match) == 0 | ||
continue | ||
endif | ||
|
||
" vcol is Needed to indicate that the column is a character. | ||
call add(l:output, { | ||
\ 'bufnr': a:buffer, | ||
\ 'lnum': l:match[1] + 0, | ||
\ 'vcol': 0, | ||
\ 'col': l:match[2] + 0, | ||
\ 'text': l:match[4], | ||
\ 'type': 'E', | ||
\ 'nr': -1, | ||
\}) | ||
endfor | ||
|
||
return l:output | ||
endfunction | ||
|
||
call ale#linter#Define('jsonnet', { | ||
\ 'name': 'jsonnetfmt', | ||
\ 'output_stream': 'stderr', | ||
\ 'executable': {b -> ale#Var(b, 'jsonnet_jsonnetfmt_executable')}, | ||
\ 'command': function('ale_linters#jsonnet#jsonnetfmt#GetCommand'), | ||
\ 'callback': 'ale_linters#jsonnet#jsonnetfmt#Handle', | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.