Skip to content

Commit

Permalink
Updated plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
amix committed Oct 11, 2021
1 parent 83980d8 commit 92c794c
Show file tree
Hide file tree
Showing 100 changed files with 3,549 additions and 1,625 deletions.
51 changes: 51 additions & 0 deletions sources_non_forked/ale/ale_linters/eruby/erblint.vim
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',
\})
11 changes: 11 additions & 0 deletions sources_non_forked/ale/ale_linters/javascript/deno.vim
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'),
\})
16 changes: 16 additions & 0 deletions sources_non_forked/ale/ale_linters/json/eslint.vim
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',
\})
16 changes: 16 additions & 0 deletions sources_non_forked/ale/ale_linters/json5/eslint.vim
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',
\})
16 changes: 16 additions & 0 deletions sources_non_forked/ale/ale_linters/jsonc/eslint.vim
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 sources_non_forked/ale/ale_linters/jsonnet/jsonnet_lint.vim
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',
\})
52 changes: 52 additions & 0 deletions sources_non_forked/ale/ale_linters/jsonnet/jsonnetfmt.vim
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',
\})
2 changes: 1 addition & 1 deletion sources_non_forked/ale/ale_linters/mail/languagetool.vim
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
" Author: Vincent (wahrwolf [ät] wolfpit.net)
" Author: Vincent (wahrwolf [at] wolfpit.net)
" Description: languagetool for mails


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
" Author: Vincent (wahrwolf [ät] wolfpit.net)
" Author: Vincent (wahrwolf [at] wolfpit.net)
" Description: languagetool for markdown files


Expand Down
Loading

0 comments on commit 92c794c

Please sign in to comment.