mirror of
https://github.com/amix/vimrc
synced 2025-06-23 06:35:01 +08:00
Added missing commits
This commit is contained in:
9
sources_non_forked/ale/ale_linters/asciidoc/textlint.vim
Normal file
9
sources_non_forked/ale/ale_linters/asciidoc/textlint.vim
Normal file
@ -0,0 +1,9 @@
|
||||
" Author: TANIGUCHI Masaya <ta2gch@gmail.com>
|
||||
" Description: textlint for AsciiDoc files
|
||||
|
||||
call ale#linter#Define('asciidoc', {
|
||||
\ 'name': 'textlint',
|
||||
\ 'executable': function('ale#handlers#textlint#GetExecutable'),
|
||||
\ 'command': function('ale#handlers#textlint#GetCommand'),
|
||||
\ 'callback': 'ale#handlers#textlint#HandleTextlintOutput',
|
||||
\})
|
57
sources_non_forked/ale/ale_linters/crystal/ameba.vim
Normal file
57
sources_non_forked/ale/ale_linters/crystal/ameba.vim
Normal file
@ -0,0 +1,57 @@
|
||||
" Author: Harrison Bachrach - https://github.com/HarrisonB
|
||||
" Description: Ameba, a linter for crystal files
|
||||
|
||||
call ale#Set('crystal_ameba_executable', 'bin/ameba')
|
||||
|
||||
function! ale_linters#crystal#ameba#GetCommand(buffer) abort
|
||||
let l:executable = ale#Var(a:buffer, 'crystal_ameba_executable')
|
||||
|
||||
return ale#Escape(l:executable)
|
||||
\ . ' --format json '
|
||||
\ . ale#Escape(expand('#' . a:buffer . ':p'))
|
||||
endfunction
|
||||
|
||||
" Handle output from ameba
|
||||
function! ale_linters#crystal#ameba#HandleAmebaOutput(buffer, lines) abort
|
||||
if len(a:lines) == 0
|
||||
return []
|
||||
endif
|
||||
|
||||
let l:errors = ale#util#FuzzyJSONDecode(a:lines[0], {})
|
||||
|
||||
if !has_key(l:errors, 'summary')
|
||||
\|| l:errors['summary']['issues_count'] == 0
|
||||
\|| empty(l:errors['sources'])
|
||||
return []
|
||||
endif
|
||||
|
||||
let l:output = []
|
||||
|
||||
for l:error in l:errors['sources'][0]['issues']
|
||||
let l:start_col = str2nr(l:error['location']['column'])
|
||||
let l:end_col = str2nr(l:error['end_location']['column'])
|
||||
|
||||
if !l:end_col
|
||||
let l:end_col = l:start_col + 1
|
||||
endif
|
||||
|
||||
call add(l:output, {
|
||||
\ 'lnum': str2nr(l:error['location']['line']),
|
||||
\ 'col': l:start_col,
|
||||
\ 'end_col': l:end_col,
|
||||
\ 'code': l:error['rule_name'],
|
||||
\ 'text': l:error['message'],
|
||||
\ 'type': 'W',
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('crystal', {
|
||||
\ 'name': 'ameba',
|
||||
\ 'executable': {b -> ale#Var(b, 'crystal_ameba_executable')},
|
||||
\ 'command': function('ale_linters#crystal#ameba#GetCommand'),
|
||||
\ 'callback': 'ale_linters#crystal#ameba#HandleAmebaOutput',
|
||||
\ 'lint_file': 1,
|
||||
\})
|
26
sources_non_forked/ale/ale_linters/cypher/cypher_lint.vim
Normal file
26
sources_non_forked/ale/ale_linters/cypher/cypher_lint.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Author: Francisco Lopes <francisco@oblita.com>
|
||||
" Description: Linting for Neo4j's Cypher
|
||||
|
||||
function! ale_linters#cypher#cypher_lint#Handle(buffer, lines) abort
|
||||
let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+): (.*)$'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'col': l:match[3] + 0,
|
||||
\ 'text': l:match[4],
|
||||
\ 'type': 'E',
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cypher', {
|
||||
\ 'name': 'cypher_lint',
|
||||
\ 'executable': 'cypher-lint',
|
||||
\ 'command': 'cypher-lint',
|
||||
\ 'output_stream': 'stderr',
|
||||
\ 'callback': 'ale_linters#cypher#cypher_lint#Handle',
|
||||
\})
|
68
sources_non_forked/ale/ale_linters/python/bandit.vim
Normal file
68
sources_non_forked/ale/ale_linters/python/bandit.vim
Normal file
@ -0,0 +1,68 @@
|
||||
" Author: Martino Pilia <martino.pilia@gmail.com>
|
||||
" Description: bandit linting for python files
|
||||
|
||||
call ale#Set('python_bandit_executable', 'bandit')
|
||||
call ale#Set('python_bandit_options', '')
|
||||
call ale#Set('python_bandit_use_config', 1)
|
||||
call ale#Set('python_bandit_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||
call ale#Set('python_bandit_auto_pipenv', 0)
|
||||
|
||||
function! ale_linters#python#bandit#GetExecutable(buffer) abort
|
||||
if (
|
||||
\ ale#Var(a:buffer, 'python_auto_pipenv')
|
||||
\ || ale#Var(a:buffer, 'python_bandit_auto_pipenv')
|
||||
\) && ale#python#PipenvPresent(a:buffer)
|
||||
return 'pipenv'
|
||||
endif
|
||||
|
||||
return ale#python#FindExecutable(a:buffer, 'python_bandit', ['bandit'])
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#bandit#GetCommand(buffer) abort
|
||||
let l:executable = ale_linters#python#bandit#GetExecutable(a:buffer)
|
||||
let l:flags = ' --format custom'
|
||||
\ . ' --msg-template "{line}:{test_id}:{severity}:{msg}" '
|
||||
|
||||
if ale#Var(a:buffer, 'python_bandit_use_config')
|
||||
let l:config_path = ale#path#FindNearestFile(a:buffer, '.bandit')
|
||||
|
||||
if !empty(l:config_path)
|
||||
let l:flags = ' --ini ' . ale#Escape(l:config_path) . l:flags
|
||||
endif
|
||||
endif
|
||||
|
||||
let l:exec_args = l:executable =~? 'pipenv$'
|
||||
\ ? ' run bandit'
|
||||
\ : ''
|
||||
|
||||
return ale#Escape(l:executable) . l:exec_args
|
||||
\ . l:flags
|
||||
\ . ale#Pad(ale#Var(a:buffer, 'python_bandit_options'))
|
||||
\ . ' -'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#bandit#Handle(buffer, lines) abort
|
||||
" Custom format defined in GetCommand via --msg-template
|
||||
let l:pattern = '\v^([0-9]+):(B[0-9]+):([A-Z]+):(.*)$'
|
||||
let l:severity = {'LOW': 'I', 'MEDIUM': 'W', 'HIGH': 'E'}
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'bufnr': a:buffer,
|
||||
\ 'lnum': str2nr(l:match[1]),
|
||||
\ 'code': l:match[2],
|
||||
\ 'type': l:severity[l:match[3]],
|
||||
\ 'text': l:match[4],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('python', {
|
||||
\ 'name': 'bandit',
|
||||
\ 'executable': function('ale_linters#python#bandit#GetExecutable'),
|
||||
\ 'command': function('ale_linters#python#bandit#GetCommand'),
|
||||
\ 'callback': 'ale_linters#python#bandit#Handle',
|
||||
\})
|
92
sources_non_forked/ale/ale_linters/python/pylama.vim
Normal file
92
sources_non_forked/ale/ale_linters/python/pylama.vim
Normal file
@ -0,0 +1,92 @@
|
||||
" Author: Kevin Locke <kevin@kevinlocke.name>
|
||||
" Description: pylama for python files
|
||||
|
||||
call ale#Set('python_pylama_executable', 'pylama')
|
||||
call ale#Set('python_pylama_options', '')
|
||||
call ale#Set('python_pylama_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||
call ale#Set('python_pylama_auto_pipenv', 0)
|
||||
call ale#Set('python_pylama_change_directory', 1)
|
||||
|
||||
function! ale_linters#python#pylama#GetExecutable(buffer) abort
|
||||
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pylama_auto_pipenv'))
|
||||
\ && ale#python#PipenvPresent(a:buffer)
|
||||
return 'pipenv'
|
||||
endif
|
||||
|
||||
return ale#python#FindExecutable(a:buffer, 'python_pylama', ['pylama'])
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#pylama#GetCommand(buffer) abort
|
||||
let l:cd_string = ''
|
||||
|
||||
if ale#Var(a:buffer, 'python_pylama_change_directory')
|
||||
" Pylama loads its configuration from the current directory only, and
|
||||
" applies file masks using paths relative to the current directory.
|
||||
" Run from project root, if found, otherwise buffer dir.
|
||||
let l:project_root = ale#python#FindProjectRoot(a:buffer)
|
||||
let l:cd_string = l:project_root isnot# ''
|
||||
\ ? ale#path#CdString(l:project_root)
|
||||
\ : ale#path#BufferCdString(a:buffer)
|
||||
endif
|
||||
|
||||
let l:executable = ale_linters#python#pylama#GetExecutable(a:buffer)
|
||||
let l:exec_args = l:executable =~? 'pipenv$'
|
||||
\ ? ' run pylama'
|
||||
\ : ''
|
||||
|
||||
" Note: Using %t to lint changes would be preferable, but many pylama
|
||||
" checks use surrounding paths (e.g. C0103 module name, E0402 relative
|
||||
" import beyond top, etc.). Neither is ideal.
|
||||
return l:cd_string
|
||||
\ . ale#Escape(l:executable) . l:exec_args
|
||||
\ . ale#Pad(ale#Var(a:buffer, 'python_pylama_options'))
|
||||
\ . ' %s'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#pylama#Handle(buffer, lines) abort
|
||||
if empty(a:lines)
|
||||
return []
|
||||
endif
|
||||
|
||||
let l:output = ale#python#HandleTraceback(a:lines, 1)
|
||||
let l:pattern = '\v^.{-}:([0-9]+):([0-9]+): +%(([A-Z][0-9]+):? +)?(.*)$'
|
||||
|
||||
" First letter of error code is a pylint-compatible message type
|
||||
" http://pylint.pycqa.org/en/latest/user_guide/output.html#source-code-analysis-section
|
||||
" D is for Documentation (pydocstyle)
|
||||
let l:pylint_type_to_ale_type = {
|
||||
\ 'I': 'I',
|
||||
\ 'R': 'W',
|
||||
\ 'C': 'W',
|
||||
\ 'W': 'W',
|
||||
\ 'E': 'E',
|
||||
\ 'F': 'E',
|
||||
\ 'D': 'W',
|
||||
\}
|
||||
let l:pylint_type_to_ale_sub_type = {
|
||||
\ 'R': 'style',
|
||||
\ 'C': 'style',
|
||||
\ 'D': 'style',
|
||||
\}
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': str2nr(l:match[1]),
|
||||
\ 'col': str2nr(l:match[2]),
|
||||
\ 'code': l:match[3],
|
||||
\ 'type': get(l:pylint_type_to_ale_type, l:match[3][0], 'W'),
|
||||
\ 'sub_type': get(l:pylint_type_to_ale_sub_type, l:match[3][0], ''),
|
||||
\ 'text': l:match[4],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('python', {
|
||||
\ 'name': 'pylama',
|
||||
\ 'executable': function('ale_linters#python#pylama#GetExecutable'),
|
||||
\ 'command': function('ale_linters#python#pylama#GetCommand'),
|
||||
\ 'callback': 'ale_linters#python#pylama#Handle',
|
||||
\ 'lint_file': 1,
|
||||
\})
|
33
sources_non_forked/ale/ale_linters/racket/raco.vim
Normal file
33
sources_non_forked/ale/ale_linters/racket/raco.vim
Normal file
@ -0,0 +1,33 @@
|
||||
" Author: aqui18 <https://github.com/aqui18>
|
||||
" Description: This file adds support for checking Racket code with raco.
|
||||
" This is the same form of syntax-checking used by DrRacket as well. The
|
||||
" downside is that it will only catch the first error, but none of the
|
||||
" subsequent ones. This is due to how evaluation in Racket works.
|
||||
|
||||
function! ale_linters#racket#raco#Handle(buffer, lines) abort
|
||||
" Matches patterns
|
||||
" <file>:<line>:<column> <message>
|
||||
" eg:
|
||||
" info.rkt:4:0: infotab-module: not a well-formed definition
|
||||
let l:pattern = '^\(\s\)\@!\(.\+\):\(\d\+\):\(\d\+\): \(.\+\)$'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[3] + 0,
|
||||
\ 'col': l:match[4] + 0,
|
||||
\ 'type': 'E',
|
||||
\ 'text': l:match[5],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('racket', {
|
||||
\ 'name': 'raco',
|
||||
\ 'executable': 'raco',
|
||||
\ 'output_stream': 'stderr',
|
||||
\ 'command': 'raco expand %s',
|
||||
\ 'callback': 'ale_linters#racket#raco#Handle',
|
||||
\})
|
9
sources_non_forked/ale/ale_linters/rst/textlint.vim
Normal file
9
sources_non_forked/ale/ale_linters/rst/textlint.vim
Normal file
@ -0,0 +1,9 @@
|
||||
" Author: hokorobi <hokorobi.hokorobi@gmail.com>
|
||||
" Description: textlint, a proofreading tool (https://textlint.github.io/)
|
||||
|
||||
call ale#linter#Define('rst', {
|
||||
\ 'name': 'textlint',
|
||||
\ 'executable': function('ale#handlers#textlint#GetExecutable'),
|
||||
\ 'command': function('ale#handlers#textlint#GetCommand'),
|
||||
\ 'callback': 'ale#handlers#textlint#HandleTextlintOutput',
|
||||
\})
|
21
sources_non_forked/ale/ale_linters/sugarss/stylelint.vim
Normal file
21
sources_non_forked/ale/ale_linters/sugarss/stylelint.vim
Normal file
@ -0,0 +1,21 @@
|
||||
" Author: toastal <toastal@protonmail.com>
|
||||
" Description: `stylelint` linter for SugarSS files
|
||||
|
||||
call ale#Set('sugarss_stylelint_executable', 'stylelint')
|
||||
call ale#Set('sugarss_stylelint_options', '')
|
||||
call ale#Set('sugarss_stylelint_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||
|
||||
function! ale_linters#sugarss#stylelint#GetCommand(buffer) abort
|
||||
return '%e ' . ale#Pad(ale#Var(a:buffer, 'sugarss_stylelint_options'))
|
||||
\ . ' --syntax=sugarss'
|
||||
\ . ' --stdin-filename %s'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('sugarss', {
|
||||
\ 'name': 'stylelint',
|
||||
\ 'executable': {b -> ale#node#FindExecutable(b, 'sugarss_stylelint', [
|
||||
\ 'node_modules/.bin/stylelint',
|
||||
\ ])},
|
||||
\ 'command': function('ale_linters#sugarss#stylelint#GetCommand'),
|
||||
\ 'callback': 'ale#handlers#css#HandleStyleLintFormat',
|
||||
\})
|
9
sources_non_forked/ale/ale_linters/tex/textlint.vim
Normal file
9
sources_non_forked/ale/ale_linters/tex/textlint.vim
Normal file
@ -0,0 +1,9 @@
|
||||
" Author: TANIGUCHI Masaya <ta2gch@gmail.com>
|
||||
" Description: textlint for LaTeX files
|
||||
|
||||
call ale#linter#Define('tex', {
|
||||
\ 'name': 'textlint',
|
||||
\ 'executable': function('ale#handlers#textlint#GetExecutable'),
|
||||
\ 'command': function('ale#handlers#textlint#GetCommand'),
|
||||
\ 'callback': 'ale#handlers#textlint#HandleTextlintOutput',
|
||||
\})
|
36
sources_non_forked/ale/ale_linters/verilog/vlog.vim
Normal file
36
sources_non_forked/ale/ale_linters/verilog/vlog.vim
Normal file
@ -0,0 +1,36 @@
|
||||
" Author: John Gentile <johncgentile17@gmail.com>
|
||||
" Description: Adds support for Mentor Graphics Questa/ModelSim `vlog` Verilog compiler/checker
|
||||
|
||||
call ale#Set('verilog_vlog_executable', 'vlog')
|
||||
" See `$ vlog -h` for more options
|
||||
call ale#Set('verilog_vlog_options', '-quiet -lint')
|
||||
|
||||
function! ale_linters#verilog#vlog#GetCommand(buffer) abort
|
||||
return '%e ' . ale#Pad(ale#Var(a:buffer, 'verilog_vlog_options')) . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#verilog#vlog#Handle(buffer, lines) abort
|
||||
"Matches patterns like the following:
|
||||
"** Warning: add.v(7): (vlog-2623) Undefined variable: C.
|
||||
"** Error: file.v(1): (vlog-13294) Identifier must be declared with a port mode: C.
|
||||
let l:pattern = '^**\s\(\w*\):[a-zA-Z0-9\-\.\_\/ ]\+(\(\d\+\)):\s\+\(.*\)'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'type': l:match[1] is? 'Error' ? 'E' : 'W',
|
||||
\ 'text': l:match[3],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('verilog', {
|
||||
\ 'name': 'vlog',
|
||||
\ 'output_stream': 'stdout',
|
||||
\ 'executable': {b -> ale#Var(b, 'verilog_vlog_executable')},
|
||||
\ 'command': function('ale_linters#verilog#vlog#GetCommand'),
|
||||
\ 'callback': 'ale_linters#verilog#vlog#Handle',
|
||||
\})
|
35
sources_non_forked/ale/ale_linters/verilog/xvlog.vim
Normal file
35
sources_non_forked/ale/ale_linters/verilog/xvlog.vim
Normal file
@ -0,0 +1,35 @@
|
||||
" Author: John Gentile <johncgentile17@gmail.com>
|
||||
" Description: Adds support for Xilinx Vivado `xvlog` Verilog compiler/checker
|
||||
|
||||
call ale#Set('verilog_xvlog_executable', 'xvlog')
|
||||
call ale#Set('verilog_xvlog_options', '')
|
||||
|
||||
function! ale_linters#verilog#xvlog#GetCommand(buffer) abort
|
||||
return '%e ' . ale#Pad(ale#Var(a:buffer, 'verilog_xvlog_options')) . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#verilog#xvlog#Handle(buffer, lines) abort
|
||||
"Matches patterns like the following:
|
||||
" ERROR: [VRFC 10-1412] syntax error near output [/path/to/file.v:5]
|
||||
let l:pattern = '^ERROR:\s\+\(\[.*\)\[.*:\([0-9]\+\)\]'
|
||||
let l:output = []
|
||||
|
||||
" NOTE: `xvlog` only prints 'INFO' and 'ERROR' messages
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'type': 'E',
|
||||
\ 'text': l:match[1],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('verilog', {
|
||||
\ 'name': 'xvlog',
|
||||
\ 'output_stream': 'stdout',
|
||||
\ 'executable': {b -> ale#Var(b, 'verilog_xvlog_executable')},
|
||||
\ 'command': function('ale_linters#verilog#xvlog#GetCommand'),
|
||||
\ 'callback': 'ale_linters#verilog#xvlog#Handle',
|
||||
\})
|
37
sources_non_forked/ale/ale_linters/vhdl/ghdl.vim
Normal file
37
sources_non_forked/ale/ale_linters/vhdl/ghdl.vim
Normal file
@ -0,0 +1,37 @@
|
||||
" Author: John Gentile <johncgentile17@gmail.com>
|
||||
" Description: Adds support for `ghdl` VHDL compiler/checker
|
||||
|
||||
call ale#Set('vhdl_ghdl_executable', 'ghdl')
|
||||
" Compile w/VHDL-2008 support
|
||||
call ale#Set('vhdl_ghdl_options', '--std=08')
|
||||
|
||||
function! ale_linters#vhdl#ghdl#GetCommand(buffer) abort
|
||||
return '%e -s ' . ale#Pad(ale#Var(a:buffer, 'vhdl_ghdl_options')) . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#vhdl#ghdl#Handle(buffer, lines) abort
|
||||
" Look for 'error' lines like the following:
|
||||
" dff_en.vhd:41:5:error: 'begin' is expected instead of 'if'
|
||||
" /path/to/file.vhdl:12:8: no declaration for "i0"
|
||||
let l:pattern = '^[a-zA-Z0-9\-\.\_\/ ]\+:\(\d\+\):\(\d\+\):\(.*\)'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[1] + 0,
|
||||
\ 'col' : l:match[2] + 0,
|
||||
\ 'text': l:match[3],
|
||||
\ 'type': 'E',
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('vhdl', {
|
||||
\ 'name': 'ghdl',
|
||||
\ 'output_stream': 'stderr',
|
||||
\ 'executable': {b -> ale#Var(b, 'vhdl_ghdl_executable')},
|
||||
\ 'command': function('ale_linters#vhdl#ghdl#GetCommand'),
|
||||
\ 'callback': 'ale_linters#vhdl#ghdl#Handle',
|
||||
\})
|
38
sources_non_forked/ale/ale_linters/vhdl/vcom.vim
Normal file
38
sources_non_forked/ale/ale_linters/vhdl/vcom.vim
Normal file
@ -0,0 +1,38 @@
|
||||
" Author: John Gentile <johncgentile17@gmail.com>
|
||||
" Description: Adds support for Mentor Graphics Questa/ModelSim `vcom` VHDL compiler/checker
|
||||
|
||||
call ale#Set('vhdl_vcom_executable', 'vcom')
|
||||
" Use VHDL-2008. See `$ vcom -h` for more options
|
||||
call ale#Set('vhdl_vcom_options', '-2008 -quiet -lint')
|
||||
|
||||
function! ale_linters#vhdl#vcom#GetCommand(buffer) abort
|
||||
return '%e ' . ale#Pad(ale#Var(a:buffer, 'vhdl_vcom_options')) . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#vhdl#vcom#Handle(buffer, lines) abort
|
||||
"Matches patterns like the following:
|
||||
"** Warning: ../path/to/file.vhd(218): (vcom-1236) Shared variables must be of a protected type.
|
||||
"** Error: tb_file.vhd(73): (vcom-1136) Unknown identifier "aresetn".
|
||||
"** Error: tb_file.vhd(73): Bad resolution function (STD_LOGIC) for type (error).
|
||||
"** Error: tb_file.vhd(73): near ":": (vcom-1576) expecting ';' or ')'.
|
||||
let l:pattern = '^**\s\(\w*\):[a-zA-Z0-9\-\.\_\/ ]\+(\(\d\+\)):\s\+\(.*\)'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'type': l:match[1] is? 'Error' ? 'E' : 'W',
|
||||
\ 'text': l:match[3],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('vhdl', {
|
||||
\ 'name': 'vcom',
|
||||
\ 'output_stream': 'stdout',
|
||||
\ 'executable': {b -> ale#Var(b, 'vhdl_vcom_executable')},
|
||||
\ 'command': function('ale_linters#vhdl#vcom#GetCommand'),
|
||||
\ 'callback': 'ale_linters#vhdl#vcom#Handle',
|
||||
\})
|
37
sources_non_forked/ale/ale_linters/vhdl/xvhdl.vim
Normal file
37
sources_non_forked/ale/ale_linters/vhdl/xvhdl.vim
Normal file
@ -0,0 +1,37 @@
|
||||
" Author: John Gentile <johncgentile17@gmail.com>
|
||||
" Description: Adds support for Xilinx Vivado `xvhdl` VHDL compiler/checker
|
||||
|
||||
call ale#Set('vhdl_xvhdl_executable', 'xvhdl')
|
||||
" Use VHDL-2008. See `$ xvhdl -h` for more options
|
||||
call ale#Set('vhdl_xvhdl_options', '--2008')
|
||||
|
||||
function! ale_linters#vhdl#xvhdl#GetCommand(buffer) abort
|
||||
return '%e ' . ale#Pad(ale#Var(a:buffer, 'vhdl_xvhdl_options')) . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#vhdl#xvhdl#Handle(buffer, lines) abort
|
||||
"Matches patterns like the following:
|
||||
" ERROR: [VRFC 10-91] aresetn is not declared [/path/to/file.vhd:17]
|
||||
" ERROR: [VRFC 10-91] m_axis_tx_tdata is not declared [/home/user/tx_data.vhd:128]
|
||||
let l:pattern = '^ERROR:\s\+\(\[.*\)\[.*:\([0-9]\+\)\]'
|
||||
let l:output = []
|
||||
|
||||
" NOTE: `xvhdl` only prints 'INFO' and 'ERROR' messages
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'type': 'E',
|
||||
\ 'text': l:match[1],
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('vhdl', {
|
||||
\ 'name': 'xvhdl',
|
||||
\ 'output_stream': 'stdout',
|
||||
\ 'executable': {b -> ale#Var(b, 'vhdl_xvhdl_executable')},
|
||||
\ 'command': function('ale_linters#vhdl#xvhdl#GetCommand'),
|
||||
\ 'callback': 'ale_linters#vhdl#xvhdl#Handle',
|
||||
\})
|
43
sources_non_forked/ale/autoload/ale/args.vim
Normal file
43
sources_non_forked/ale/autoload/ale/args.vim
Normal file
@ -0,0 +1,43 @@
|
||||
" Author: w0rp <devw0rp@gmail.com>
|
||||
" Description: This module implements a function for parsing arguments for
|
||||
" commands.
|
||||
|
||||
" Given a list of valid arguments like ['foo', 'bar'] and a string to parse,
|
||||
" parse the arguments from the string and return [parsed_args, remainder].
|
||||
"
|
||||
" Arguments must be prefixed in the string with a single minus (-), and a
|
||||
" double minus (--) denotes the end of arguments.
|
||||
function! ale#args#Parse(arg_list, string) abort
|
||||
let l:parsed = {}
|
||||
let l:end_of_args = 0
|
||||
let l:word_list = split(a:string, ' ')
|
||||
let l:index = 0
|
||||
|
||||
while l:index < len(l:word_list)
|
||||
let l:word = l:word_list[l:index]
|
||||
|
||||
if l:word[:0] is# '-'
|
||||
let l:index += 1
|
||||
|
||||
if l:word is# '--'
|
||||
break
|
||||
endif
|
||||
|
||||
let l:arg = l:word[1:]
|
||||
|
||||
if index(a:arg_list, l:arg) >= 0
|
||||
let l:parsed[l:arg] = ''
|
||||
else
|
||||
throw 'Invalid argument: ' . l:word
|
||||
endif
|
||||
elseif l:word is# ''
|
||||
let l:index += 1
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
let l:new_string = join(l:word_list[l:index :], ' ')
|
||||
|
||||
return [l:parsed, l:new_string]
|
||||
endfunction
|
18
sources_non_forked/ale/autoload/ale/fixers/cmakeformat.vim
Normal file
18
sources_non_forked/ale/autoload/ale/fixers/cmakeformat.vim
Normal file
@ -0,0 +1,18 @@
|
||||
" Author: Attila Maczak <attila@maczak.hu>
|
||||
" Description: Integration of cmakeformat with ALE.
|
||||
|
||||
call ale#Set('cmake_cmakeformat_executable', 'cmake-format')
|
||||
call ale#Set('cmake_cmakeformat_options', '')
|
||||
|
||||
function! ale#fixers#cmakeformat#Fix(buffer) abort
|
||||
let l:executable = ale#Var(a:buffer, 'cmake_cmakeformat_executable')
|
||||
let l:options = ale#Var(a:buffer, 'cmake_cmakeformat_options')
|
||||
|
||||
return {
|
||||
\ 'command': ale#Escape(l:executable)
|
||||
\ . ' -i '
|
||||
\ . (empty(l:options) ? '' : ' ' . l:options)
|
||||
\ . ' %t',
|
||||
\ 'read_temporary_file': 1,
|
||||
\}
|
||||
endfunction
|
9
sources_non_forked/ale/autoload/ale/fixers/ktlint.vim
Normal file
9
sources_non_forked/ale/autoload/ale/fixers/ktlint.vim
Normal file
@ -0,0 +1,9 @@
|
||||
" Author: Michael Phillips <michaeljoelphillips@gmail.com>
|
||||
" Description: Fix Kotlin files with ktlint.
|
||||
|
||||
function! ale#fixers#ktlint#Fix(buffer) abort
|
||||
return {
|
||||
\ 'command': ale#handlers#ktlint#GetCommand(a:buffer) . ' --format',
|
||||
\ 'read_temporary_file': 1,
|
||||
\}
|
||||
endfunction
|
15
sources_non_forked/ale/autoload/ale/fixers/textlint.vim
Normal file
15
sources_non_forked/ale/autoload/ale/fixers/textlint.vim
Normal file
@ -0,0 +1,15 @@
|
||||
" Author: TANIGUCHI Masaya <ta2gch@gmail.com>
|
||||
" Description: Integration of textlint with ALE.
|
||||
|
||||
function! ale#fixers#textlint#Fix(buffer) abort
|
||||
let l:executable = ale#handlers#textlint#GetExecutable(a:buffer)
|
||||
let l:options = ale#Var(a:buffer, 'textlint_options')
|
||||
|
||||
return {
|
||||
\ 'command': ale#Escape(l:executable)
|
||||
\ . ' --fix'
|
||||
\ . (empty(l:options) ? '' : ' ' . l:options)
|
||||
\ . ' %t',
|
||||
\ 'read_temporary_file': 1,
|
||||
\}
|
||||
endfunction
|
45
sources_non_forked/ale/autoload/ale/handlers/ktlint.vim
Normal file
45
sources_non_forked/ale/autoload/ale/handlers/ktlint.vim
Normal file
@ -0,0 +1,45 @@
|
||||
" Author: Michael Phillips <michaeljoelphillips@gmail.com>
|
||||
" Description: Handler functions for ktlint.
|
||||
|
||||
call ale#Set('kotlin_ktlint_executable', 'ktlint')
|
||||
call ale#Set('kotlin_ktlint_rulesets', [])
|
||||
call ale#Set('kotlin_ktlint_options', '')
|
||||
|
||||
function! ale#handlers#ktlint#GetCommand(buffer) abort
|
||||
let l:executable = ale#Var(a:buffer, 'kotlin_ktlint_executable')
|
||||
let l:options = ale#Var(a:buffer, 'kotlin_ktlint_options')
|
||||
let l:rulesets = ale#handlers#ktlint#GetRulesets(a:buffer)
|
||||
|
||||
return ale#Escape(l:executable)
|
||||
\ . (empty(l:options) ? '' : ' ' . l:options)
|
||||
\ . (empty(l:rulesets) ? '' : ' ' . l:rulesets)
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale#handlers#ktlint#GetRulesets(buffer) abort
|
||||
let l:rulesets = map(ale#Var(a:buffer, 'kotlin_ktlint_rulesets'), '''--ruleset '' . v:val')
|
||||
|
||||
return join(l:rulesets, ' ')
|
||||
endfunction
|
||||
|
||||
function! ale#handlers#ktlint#Handle(buffer, lines) abort
|
||||
let l:message_pattern = '^\(.*\):\([0-9]\+\):\([0-9]\+\):\s\+\(.*\)'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:message_pattern)
|
||||
let l:line = l:match[2] + 0
|
||||
let l:column = l:match[3] + 0
|
||||
let l:text = l:match[4]
|
||||
|
||||
let l:type = l:text =~? 'not a valid kotlin file' ? 'E' : 'W'
|
||||
|
||||
call add(l:output, {
|
||||
\ 'lnum': l:line,
|
||||
\ 'col': l:column,
|
||||
\ 'text': l:text,
|
||||
\ 'type': l:type
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
endfunction
|
@ -0,0 +1,8 @@
|
||||
" Author: Derek Sifford <dereksifford@gmail.com>
|
||||
" Description: Handlers for tsserver
|
||||
|
||||
function! ale#handlers#tsserver#GetProjectRoot(buffer) abort
|
||||
let l:tsconfig_file = ale#path#FindNearestFile(a:buffer, 'tsconfig.json')
|
||||
|
||||
return !empty(l:tsconfig_file) ? fnamemodify(l:tsconfig_file, ':h') : ''
|
||||
endfunction
|
31
sources_non_forked/ale/doc/ale-sugarss.txt
Normal file
31
sources_non_forked/ale/doc/ale-sugarss.txt
Normal file
@ -0,0 +1,31 @@
|
||||
===============================================================================
|
||||
ALE SugarSS Integration *ale-sugarss-options*
|
||||
|
||||
|
||||
===============================================================================
|
||||
stylelint *ale-sugarss-stylelint*
|
||||
|
||||
g:ale_sugarss_stylelint_executable *g:ale_sugarss_stylelint_executable*
|
||||
*b:ale_sugarss_stylelint_executable*
|
||||
Type: |String|
|
||||
Default: `'stylelint'`
|
||||
|
||||
See |ale-integrations-local-executables|
|
||||
|
||||
g:ale_sugarss_stylelint_options *g:ale_sugarss_stylelint_options*
|
||||
*b:ale_sugarss_stylelint_options*
|
||||
Type: |String|
|
||||
Default: `''`
|
||||
|
||||
This variable can be set to pass additional options to stylelint.
|
||||
|
||||
g:ale_sugarss_stylelint_use_global *g:ale_sugarss_stylelint_use_global*
|
||||
*b:ale_sugarss_stylelint_use_global*
|
||||
Type: |String|
|
||||
Default: `get(g:, 'ale_use_global_executables', 0)`
|
||||
|
||||
See |ale-integrations-local-executables|
|
||||
|
||||
|
||||
===============================================================================
|
||||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
464
sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt
Normal file
464
sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt
Normal file
@ -0,0 +1,464 @@
|
||||
*ale-supported-languages-and-tools.txt* For Vim version 8.0.
|
||||
*ale-supported-list*
|
||||
|
||||
ALE Supported Languages and Tools
|
||||
|
||||
===============================================================================
|
||||
|
||||
The following languages and tools are supported by ALE.
|
||||
|
||||
Notes:
|
||||
|
||||
`^` No linters for text or Vim help filetypes are enabled by default.
|
||||
`!!` These linters check only files on disk. See |ale-lint-file-linters|
|
||||
|
||||
* Ada
|
||||
* `gcc`
|
||||
* Ansible
|
||||
* `ansible-lint`
|
||||
* API Blueprint
|
||||
* `drafter`
|
||||
* AsciiDoc
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `redpen`
|
||||
* `textlint`
|
||||
* `vale`
|
||||
* `write-good`
|
||||
* ASM
|
||||
* `gcc`
|
||||
* Awk
|
||||
* `gawk`
|
||||
* Bash
|
||||
* `language-server`
|
||||
* `shell` (-n flag)
|
||||
* `shellcheck`
|
||||
* `shfmt`
|
||||
* BibTeX
|
||||
* `bibclean`
|
||||
* Bourne Shell
|
||||
* `shell` (-n flag)
|
||||
* `shellcheck`
|
||||
* `shfmt`
|
||||
* C
|
||||
* `ccls`
|
||||
* `clang`
|
||||
* `clangd`
|
||||
* `clang-format`
|
||||
* `clangtidy`!!
|
||||
* `cppcheck`
|
||||
* `cpplint`!!
|
||||
* `cquery`
|
||||
* `flawfinder`
|
||||
* `gcc`
|
||||
* `uncrustify`
|
||||
* C#
|
||||
* `mcs`
|
||||
* `mcsc`!!
|
||||
* `uncrustify`
|
||||
* C++ (filetype cpp)
|
||||
* `ccls`
|
||||
* `clang`
|
||||
* `clangcheck`!!
|
||||
* `clangd`
|
||||
* `clang-format`
|
||||
* `clangtidy`!!
|
||||
* `clazy`!!
|
||||
* `cppcheck`
|
||||
* `cpplint`!!
|
||||
* `cquery`
|
||||
* `flawfinder`
|
||||
* `gcc`
|
||||
* `uncrustify`
|
||||
* Chef
|
||||
* `foodcritic`
|
||||
* Clojure
|
||||
* `joker`
|
||||
* CloudFormation
|
||||
* `cfn-python-lint`
|
||||
* CMake
|
||||
* `cmake-format`
|
||||
* `cmakelint`
|
||||
* CoffeeScript
|
||||
* `coffee`
|
||||
* `coffeelint`
|
||||
* Crystal
|
||||
* `ameba`!!
|
||||
* `crystal`!!
|
||||
* CSS
|
||||
* `csslint`
|
||||
* `prettier`
|
||||
* `stylelint`
|
||||
* Cucumber
|
||||
* `cucumber`
|
||||
* CUDA
|
||||
* `nvcc`!!
|
||||
* Cypher
|
||||
* `cypher-lint`
|
||||
* Cython (pyrex filetype)
|
||||
* `cython`
|
||||
* D
|
||||
* `dls`
|
||||
* `dmd`
|
||||
* `uncrustify`
|
||||
* Dafny
|
||||
* `dafny`!!
|
||||
* Dart
|
||||
* `dartanalyzer`!!
|
||||
* `dartfmt`!!
|
||||
* `language_server`
|
||||
* Dockerfile
|
||||
* `dockerfile_lint`
|
||||
* `hadolint`
|
||||
* Elixir
|
||||
* `credo`
|
||||
* `dialyxir`
|
||||
* `dogma`
|
||||
* `elixir-ls`
|
||||
* `mix`!!
|
||||
* Elm
|
||||
* `elm-format`
|
||||
* `elm-make`
|
||||
* Erb
|
||||
* `erb`
|
||||
* `erubi`
|
||||
* `erubis`
|
||||
* `ruumba`
|
||||
* Erlang
|
||||
* `erlc`
|
||||
* `SyntaxErl`
|
||||
* Fish
|
||||
* `fish` (-n flag)
|
||||
* Fortran
|
||||
* `gcc`
|
||||
* `language_server`
|
||||
* Fountain
|
||||
* `proselint`
|
||||
* FusionScript
|
||||
* `fusion-lint`
|
||||
* Git Commit Messages
|
||||
* `gitlint`
|
||||
* GLSL
|
||||
* glslang
|
||||
* `glslls`
|
||||
* Go
|
||||
* `bingo`
|
||||
* `go build`!!
|
||||
* `gofmt`
|
||||
* `goimports`
|
||||
* `golangci-lint`!!
|
||||
* `golangserver`
|
||||
* `golint`
|
||||
* `gometalinter`!!
|
||||
* `go mod`!!
|
||||
* `gosimple`!!
|
||||
* `gotype`!!
|
||||
* `go vet`!!
|
||||
* `staticcheck`!!
|
||||
* GraphQL
|
||||
* `eslint`
|
||||
* `gqlint`
|
||||
* `prettier`
|
||||
* Hack
|
||||
* `hack`
|
||||
* `hackfmt`
|
||||
* `hhast`
|
||||
* Haml
|
||||
* `haml-lint`
|
||||
* Handlebars
|
||||
* `ember-template-lint`
|
||||
* Haskell
|
||||
* `brittany`
|
||||
* `cabal-ghc`
|
||||
* `ghc`
|
||||
* `ghc-mod`
|
||||
* `hdevtools`
|
||||
* `hfmt`
|
||||
* `hie`
|
||||
* `hlint`
|
||||
* `stack-build`!!
|
||||
* `stack-ghc`
|
||||
* `stylish-haskell`
|
||||
* HCL
|
||||
* `terraform-fmt`
|
||||
* HTML
|
||||
* `alex`!!
|
||||
* `HTMLHint`
|
||||
* `prettier`
|
||||
* `proselint`
|
||||
* `tidy`
|
||||
* `write-good`
|
||||
* Idris
|
||||
* `idris`
|
||||
* ISPC
|
||||
* `ispc`!!
|
||||
* Java
|
||||
* `checkstyle`
|
||||
* `google-java-format`
|
||||
* `javac`
|
||||
* `javalsp`
|
||||
* `PMD`
|
||||
* `uncrustify`
|
||||
* JavaScript
|
||||
* `eslint`
|
||||
* `flow`
|
||||
* `jscs`
|
||||
* `jshint`
|
||||
* `prettier`
|
||||
* `prettier-eslint`
|
||||
* `prettier-standard`
|
||||
* `standard`
|
||||
* `tsserver`
|
||||
* `xo`
|
||||
* JSON
|
||||
* `fixjson`
|
||||
* `jq`
|
||||
* `jsonlint`
|
||||
* `prettier`
|
||||
* Julia
|
||||
* `languageserver`
|
||||
* Kotlin
|
||||
* `kotlinc`!!
|
||||
* `ktlint`!!
|
||||
* `languageserver`
|
||||
* LaTeX (tex)
|
||||
* `alex`!!
|
||||
* `chktex`
|
||||
* `lacheck`
|
||||
* `proselint`
|
||||
* `redpen`
|
||||
* `textlint`
|
||||
* `vale`
|
||||
* `write-good`
|
||||
* Less
|
||||
* `lessc`
|
||||
* `prettier`
|
||||
* `stylelint`
|
||||
* LLVM
|
||||
* `llc`
|
||||
* Lua
|
||||
* `luac`
|
||||
* `luacheck`
|
||||
* Mail
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `vale`
|
||||
* Make
|
||||
* `checkmake`
|
||||
* Markdown
|
||||
* `alex`!!
|
||||
* `markdownlint`!!
|
||||
* `mdl`
|
||||
* `prettier`
|
||||
* `proselint`
|
||||
* `redpen`
|
||||
* `remark-lint`
|
||||
* `textlint`
|
||||
* `vale`
|
||||
* `write-good`
|
||||
* MATLAB
|
||||
* `mlint`
|
||||
* Mercury
|
||||
* `mmc`!!
|
||||
* NASM
|
||||
* `nasm`!!
|
||||
* Nim
|
||||
* `nim check`!!
|
||||
* nix
|
||||
* `nix-instantiate`
|
||||
* nroff
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* Objective-C
|
||||
* `ccls`
|
||||
* `clang`
|
||||
* `clangd`
|
||||
* `uncrustify`
|
||||
* Objective-C++
|
||||
* `clang`
|
||||
* `clangd`
|
||||
* `uncrustify`
|
||||
* OCaml
|
||||
* `merlin` (see |ale-ocaml-merlin|)
|
||||
* `ocamlformat`
|
||||
* `ols`
|
||||
* Pawn
|
||||
* `uncrustify`
|
||||
* Perl
|
||||
* `perl -c`
|
||||
* `perl-critic`
|
||||
* `perltidy`
|
||||
* Perl6
|
||||
* `perl6 -c`
|
||||
* PHP
|
||||
* `langserver`
|
||||
* `phan`
|
||||
* `phpcbf`
|
||||
* `phpcs`
|
||||
* `php-cs-fixer`
|
||||
* `php -l`
|
||||
* `phpmd`
|
||||
* `phpstan`
|
||||
* `psalm`!!
|
||||
* PO
|
||||
* `alex`!!
|
||||
* `msgfmt`
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* Pod
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* Pony
|
||||
* `ponyc`
|
||||
* Prolog
|
||||
* `swipl`
|
||||
* proto
|
||||
* `protoc-gen-lint`
|
||||
* Pug
|
||||
* `pug-lint`
|
||||
* Puppet
|
||||
* `languageserver`
|
||||
* `puppet`
|
||||
* `puppet-lint`
|
||||
* Python
|
||||
* `autopep8`
|
||||
* `bandit`
|
||||
* `black`
|
||||
* `flake8`
|
||||
* `isort`
|
||||
* `mypy`
|
||||
* `prospector`
|
||||
* `pycodestyle`
|
||||
* `pydocstyle`
|
||||
* `pylama`!!
|
||||
* `pylint`!!
|
||||
* `pyls`
|
||||
* `pyre`
|
||||
* `vulture`!!
|
||||
* `yapf`
|
||||
* QML
|
||||
* `qmlfmt`
|
||||
* `qmllint`
|
||||
* R
|
||||
* `lintr`
|
||||
* Racket
|
||||
* `raco`
|
||||
* ReasonML
|
||||
* `merlin`
|
||||
* `ols`
|
||||
* `refmt`
|
||||
* reStructuredText
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `redpen`
|
||||
* `rstcheck`
|
||||
* `textlint`
|
||||
* `vale`
|
||||
* `write-good`
|
||||
* Re:VIEW
|
||||
* `redpen`
|
||||
* RPM spec
|
||||
* `rpmlint`
|
||||
* Ruby
|
||||
* `brakeman`
|
||||
* `rails_best_practices`!!
|
||||
* `reek`
|
||||
* `rubocop`
|
||||
* `ruby`
|
||||
* `rufo`
|
||||
* `solargraph`
|
||||
* `standardrb`
|
||||
* Rust
|
||||
* `cargo`!!
|
||||
* `rls`
|
||||
* `rustc` (see |ale-integration-rust|)
|
||||
* `rustfmt`
|
||||
* Sass
|
||||
* `sass-lint`
|
||||
* `stylelint`
|
||||
* Scala
|
||||
* `fsc`
|
||||
* `sbtserver`
|
||||
* `scalac`
|
||||
* `scalafmt`
|
||||
* `scalastyle`
|
||||
* SCSS
|
||||
* `prettier`
|
||||
* `sass-lint`
|
||||
* `scss-lint`
|
||||
* `stylelint`
|
||||
* Slim
|
||||
* `slim-lint`
|
||||
* SML
|
||||
* `smlnj`
|
||||
* Solidity
|
||||
* `solhint`
|
||||
* `solium`
|
||||
* SQL
|
||||
* `sqlfmt`
|
||||
* `sqlint`
|
||||
* Stylus
|
||||
* `stylelint`
|
||||
* SugarSS
|
||||
* `stylelint`
|
||||
* Swift
|
||||
* `swiftformat`
|
||||
* `swiftlint`
|
||||
* Tcl
|
||||
* `nagelfar`!!
|
||||
* Terraform
|
||||
* `fmt`
|
||||
* `tflint`
|
||||
* Texinfo
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* Text^
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `redpen`
|
||||
* `textlint`
|
||||
* `vale`
|
||||
* `write-good`
|
||||
* Thrift
|
||||
* `thrift`
|
||||
* TypeScript
|
||||
* `eslint`
|
||||
* `prettier`
|
||||
* `tslint`
|
||||
* `tsserver`
|
||||
* `typecheck`
|
||||
* VALA
|
||||
* `uncrustify`
|
||||
* Verilog
|
||||
* `iverilog`
|
||||
* `verilator`
|
||||
* `vlog`
|
||||
* `xvlog`
|
||||
* VHDL
|
||||
* `ghdl`
|
||||
* `vcom`
|
||||
* `xvhdl`
|
||||
* Vim
|
||||
* `vint`
|
||||
* Vim help^
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* Vue
|
||||
* `prettier`
|
||||
* `vls`
|
||||
* XHTML
|
||||
* `alex`!!
|
||||
* `proselint`
|
||||
* `write-good`
|
||||
* XML
|
||||
* `xmllint`
|
||||
* YAML
|
||||
* `prettier`
|
||||
* `swaglint`
|
||||
* `yamllint`
|
||||
* YANG
|
||||
* `yang-lsp`
|
92
sources_non_forked/ale/doc/ale-vhdl.txt
Normal file
92
sources_non_forked/ale/doc/ale-vhdl.txt
Normal file
@ -0,0 +1,92 @@
|
||||
===============================================================================
|
||||
ALE VHDL Integration *ale-vhdl-options*
|
||||
|
||||
|
||||
===============================================================================
|
||||
ALE can use three different linters for VHDL:
|
||||
|
||||
iverilog:
|
||||
Using `iverilog -t null -Wall`
|
||||
|
||||
ModelSim/Questa
|
||||
Using `vcom -2008 -quiet -lint`
|
||||
|
||||
Vivado
|
||||
Using `xvhdl --2008`
|
||||
|
||||
Note all linters default to VHDL-2008 support. This, and other options, can be
|
||||
changed with each linter's respective option variable.
|
||||
|
||||
Linters/compilers that utilize a "work" directory for analyzing designs- such
|
||||
as ModelSim and Vivado- can be passed the location of these directories as
|
||||
part of their respective option strings listed below. This is useful for
|
||||
holistic analysis of a file (e.g. a design with components, packages, or other
|
||||
code defined external to the current file as part of a larger project) or
|
||||
when wanting to simply pass an alternative location for the auto-generated
|
||||
work directories (such as '/tmp') so as to not muddle the current directory.
|
||||
Since these type of linters often use this work directory for holding compiled
|
||||
design data as part of a single build process, they sometimes cannot handle
|
||||
the frequent, asynchronous application launches when linting while text is
|
||||
changing. This can happen in the form of hangs or crashes. To help prevent
|
||||
this when using these linters, it may help to run linting less frequently; for
|
||||
example, only when a file is saved.
|
||||
|
||||
===============================================================================
|
||||
ghdl *ale-vhdl-ghdl*
|
||||
|
||||
g:ale_vhdl_ghdl_executable *g:ale_vhdl_ghdl_executable*
|
||||
*b:ale_vhdl_ghdl_executable*
|
||||
Type: |String|
|
||||
Default: `'ghdl'`
|
||||
|
||||
This variable can be changed to the path to the 'ghdl' executable.
|
||||
|
||||
|
||||
g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options*
|
||||
*b:ale_vhdl_ghdl_options*
|
||||
Type: |String|
|
||||
Default: `'--std=08'`
|
||||
|
||||
This variable can be changed to modify the flags/options passed to 'ghdl'.
|
||||
|
||||
|
||||
===============================================================================
|
||||
vcom *ale-vhdl-vcom*
|
||||
|
||||
g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable*
|
||||
*b:ale_vhdl_vcom_executable*
|
||||
Type: |String|
|
||||
Default: `'vcom'`
|
||||
|
||||
This variable can be changed to the path to the 'vcom' executable.
|
||||
|
||||
|
||||
g:ale_vhdl_vcom_options *g:ale_vhdl_vcom_options*
|
||||
*b:ale_vhdl_vcom_options*
|
||||
Type: |String|
|
||||
Default: `'-2008 -quiet -lint'`
|
||||
|
||||
This variable can be changed to modify the flags/options passed to 'vcom'.
|
||||
|
||||
|
||||
===============================================================================
|
||||
xvhdl *ale-vhdl-xvhdl*
|
||||
|
||||
g:ale_vhdl_xvhdl_executable *g:ale_vhdl_xvhdl_executable*
|
||||
*b:ale_vhdl_xvhdl_executable*
|
||||
Type: |String|
|
||||
Default: `'xvhdl'`
|
||||
|
||||
This variable can be changed to the path to the 'xvhdl' executable.
|
||||
|
||||
|
||||
g:ale_vhdl_xvhdl_options *g:ale_vhdl_xvhdl_options*
|
||||
*b:ale_vhdl_xvhdl_options*
|
||||
Type: |String|
|
||||
Default: `'--2008'`
|
||||
|
||||
This variable can be changed to modify the flags/options passed to 'xvhdl'.
|
||||
|
||||
|
||||
===============================================================================
|
||||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
473
sources_non_forked/ale/supported-tools.md
Normal file
473
sources_non_forked/ale/supported-tools.md
Normal file
@ -0,0 +1,473 @@
|
||||
# ALE Supported Languages and Tools
|
||||
|
||||
This plugin supports the following languages and tools. All available
|
||||
tools will be run in combination, so they can be complementary.
|
||||
|
||||
<!--
|
||||
Keep the table rows sorted alphabetically by the language name,
|
||||
and the tools in the tools column sorted alphabetically by the tool
|
||||
name. That seems to be the fairest way to arrange this table.
|
||||
|
||||
Remember to also update doc/ale.txt, which has a similar list with different
|
||||
formatting.
|
||||
-->
|
||||
|
||||
**Legend**
|
||||
|
||||
| Key | Definition |
|
||||
| ------------- | -------------------------------- |
|
||||
| :floppy_disk: | Only checked when saved to disk |
|
||||
| :warning: | Disabled by default |
|
||||
|
||||
---
|
||||
|
||||
* Ada
|
||||
* [gcc](https://gcc.gnu.org)
|
||||
* Ansible
|
||||
* [ansible-lint](https://github.com/willthames/ansible-lint)
|
||||
* API Blueprint
|
||||
* [drafter](https://github.com/apiaryio/drafter)
|
||||
* AsciiDoc
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [redpen](http://redpen.cc/)
|
||||
* [textlint](https://textlint.github.io/)
|
||||
* [vale](https://github.com/ValeLint/vale)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* ASM
|
||||
* [gcc](https://gcc.gnu.org)
|
||||
* Awk
|
||||
* [gawk](https://www.gnu.org/software/gawk/)
|
||||
* Bash
|
||||
* [language-server](https://github.com/mads-hartmann/bash-language-server)
|
||||
* shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set)
|
||||
* [shellcheck](https://www.shellcheck.net/)
|
||||
* [shfmt](https://github.com/mvdan/sh)
|
||||
* BibTeX
|
||||
* [bibclean](http://ftp.math.utah.edu/pub/bibclean/)
|
||||
* Bourne Shell
|
||||
* shell [-n flag](http://linux.die.net/man/1/sh)
|
||||
* [shellcheck](https://www.shellcheck.net/)
|
||||
* [shfmt](https://github.com/mvdan/sh)
|
||||
* C
|
||||
* [ccls](https://github.com/MaskRay/ccls)
|
||||
* [clang](http://clang.llvm.org/)
|
||||
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
|
||||
* [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
|
||||
* [cppcheck](http://cppcheck.sourceforge.net)
|
||||
* [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint)
|
||||
* [cquery](https://github.com/cquery-project/cquery)
|
||||
* [flawfinder](https://www.dwheeler.com/flawfinder/)
|
||||
* [gcc](https://gcc.gnu.org/)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* C#
|
||||
* [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details
|
||||
* [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* C++ (filetype cpp)
|
||||
* [ccls](https://github.com/MaskRay/ccls)
|
||||
* [clang](http://clang.llvm.org/)
|
||||
* [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) :floppy_disk:
|
||||
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
|
||||
* [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
|
||||
* [clazy](https://github.com/KDE/clazy) :floppy_disk:
|
||||
* [cppcheck](http://cppcheck.sourceforge.net)
|
||||
* [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) :floppy_disk:
|
||||
* [cquery](https://github.com/cquery-project/cquery)
|
||||
* [flawfinder](https://www.dwheeler.com/flawfinder/)
|
||||
* [gcc](https://gcc.gnu.org/)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* Chef
|
||||
* [foodcritic](http://www.foodcritic.io/)
|
||||
* Clojure
|
||||
* [joker](https://github.com/candid82/joker)
|
||||
* CloudFormation
|
||||
* [cfn-python-lint](https://github.com/awslabs/cfn-python-lint)
|
||||
* CMake
|
||||
* [cmake-format](https://github.com/cheshirekow/cmake_format)
|
||||
* [cmakelint](https://github.com/richq/cmake-lint)
|
||||
* CoffeeScript
|
||||
* [coffee](http://coffeescript.org/)
|
||||
* [coffeelint](https://www.npmjs.com/package/coffeelint)
|
||||
* Crystal
|
||||
* [ameba](https://github.com/veelenga/ameba) :floppy_disk:
|
||||
* [crystal](https://crystal-lang.org/) :floppy_disk:
|
||||
* CSS
|
||||
* [csslint](http://csslint.net/)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* Cucumber
|
||||
* [cucumber](https://cucumber.io/)
|
||||
* CUDA
|
||||
* [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html)
|
||||
* Cypher
|
||||
* [cypher-lint](https://github.com/cleishm/libcypher-parser)
|
||||
* Cython (pyrex filetype)
|
||||
* [cython](http://cython.org/)
|
||||
* D
|
||||
* [dls](https://github.com/d-language-server/dls)
|
||||
* [dmd](https://dlang.org/dmd-linux.html)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* Dafny
|
||||
* [dafny](https://rise4fun.com/Dafny) :floppy_disk:
|
||||
* Dart
|
||||
* [dartanalyzer](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk:
|
||||
* [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt)
|
||||
* [language_server](https://github.com/natebosch/dart_language_server)
|
||||
* Dockerfile
|
||||
* [dockerfile_lint](https://github.com/projectatomic/dockerfile_lint)
|
||||
* [hadolint](https://github.com/hadolint/hadolint)
|
||||
* Elixir
|
||||
* [credo](https://github.com/rrrene/credo)
|
||||
* [dialyxir](https://github.com/jeremyjh/dialyxir)
|
||||
* [dogma](https://github.com/lpil/dogma)
|
||||
* [elixir-ls](https://github.com/JakeBecker/elixir-ls)
|
||||
* [mix](https://hexdocs.pm/mix/Mix.html) :warning: :floppy_disk:
|
||||
* Elm
|
||||
* [elm-format](https://github.com/avh4/elm-format)
|
||||
* [elm-make](https://github.com/elm-lang/elm-make)
|
||||
* Erb
|
||||
* [erb](https://apidock.com/ruby/ERB)
|
||||
* [erubi](https://github.com/jeremyevans/erubi)
|
||||
* [erubis](https://github.com/kwatch/erubis)
|
||||
* [ruumba](https://github.com/ericqweinstein/ruumba)
|
||||
* Erlang
|
||||
* [erlc](http://erlang.org/doc/man/erlc.html)
|
||||
* [SyntaxErl](https://github.com/ten0s/syntaxerl)
|
||||
* Fish
|
||||
* fish [-n flag](https://linux.die.net/man/1/fish)
|
||||
* Fortran
|
||||
* [gcc](https://gcc.gnu.org/)
|
||||
* [language_server](https://github.com/hansec/fortran-language-server)
|
||||
* Fountain
|
||||
* [proselint](http://proselint.com/)
|
||||
* FusionScript
|
||||
* [fusion-lint](https://github.com/RyanSquared/fusionscript)
|
||||
* Git Commit Messages
|
||||
* [gitlint](https://github.com/jorisroovers/gitlint)
|
||||
* GLSL
|
||||
* [glslang](https://github.com/KhronosGroup/glslang)
|
||||
* [glslls](https://github.com/svenstaro/glsl-language-server)
|
||||
* Go
|
||||
* [bingo](https://github.com/saibing/bingo) :warning:
|
||||
* [go build](https://golang.org/cmd/go/) :warning: :floppy_disk:
|
||||
* [gofmt](https://golang.org/cmd/gofmt/)
|
||||
* [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) :warning:
|
||||
* [golangci-lint](https://github.com/golangci/golangci-lint) :warning: :floppy_disk:
|
||||
* [golangserver](https://github.com/sourcegraph/go-langserver) :warning:
|
||||
* [golint](https://godoc.org/github.com/golang/lint)
|
||||
* [gometalinter](https://github.com/alecthomas/gometalinter) :warning: :floppy_disk:
|
||||
* [go mod](https://golang.org/cmd/go/) :warning: :floppy_disk:
|
||||
* [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) :warning: :floppy_disk:
|
||||
* [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) :warning: :floppy_disk:
|
||||
* [go vet](https://golang.org/cmd/vet/) :floppy_disk:
|
||||
* [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) :warning: :floppy_disk:
|
||||
* GraphQL
|
||||
* [eslint](http://eslint.org/)
|
||||
* [gqlint](https://github.com/happylinks/gqlint)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* Hack
|
||||
* [hack](http://hacklang.org/)
|
||||
* [hackfmt](https://github.com/facebook/hhvm/tree/master/hphp/hack/hackfmt)
|
||||
* [hhast](https://github.com/hhvm/hhast) :warning: (see `:help ale-integration-hack`)
|
||||
* Haml
|
||||
* [haml-lint](https://github.com/brigade/haml-lint)
|
||||
* Handlebars
|
||||
* [ember-template-lint](https://github.com/rwjblue/ember-template-lint)
|
||||
* Haskell
|
||||
* [brittany](https://github.com/lspitzner/brittany)
|
||||
* [cabal-ghc](https://www.haskell.org/cabal/)
|
||||
* [ghc](https://www.haskell.org/ghc/)
|
||||
* [ghc-mod](https://github.com/DanielG/ghc-mod)
|
||||
* [hdevtools](https://hackage.haskell.org/package/hdevtools)
|
||||
* [hfmt](https://github.com/danstiner/hfmt)
|
||||
* [hie](https://github.com/haskell/haskell-ide-engine)
|
||||
* [hlint](https://hackage.haskell.org/package/hlint)
|
||||
* [stack-build](https://haskellstack.org/) :floppy_disk:
|
||||
* [stack-ghc](https://haskellstack.org/)
|
||||
* [stylish-haskell](https://github.com/jaspervdj/stylish-haskell)
|
||||
* HCL
|
||||
* [terraform-fmt](https://github.com/hashicorp/terraform)
|
||||
* HTML
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [HTMLHint](http://htmlhint.com/)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [proselint](http://proselint.com/)
|
||||
* [tidy](http://www.html-tidy.org/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Idris
|
||||
* [idris](http://www.idris-lang.org/)
|
||||
* ISPC
|
||||
* [ispc](https://ispc.github.io/) :floppy_disk:
|
||||
* Java
|
||||
* [checkstyle](http://checkstyle.sourceforge.net)
|
||||
* [google-java-format](https://github.com/google/google-java-format)
|
||||
* [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
|
||||
* [javalsp](https://github.com/georgewfraser/vscode-javac)
|
||||
* [PMD](https://pmd.github.io/)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* JavaScript
|
||||
* [eslint](http://eslint.org/)
|
||||
* [flow](https://flowtype.org/)
|
||||
* [jscs](http://jscs.info/)
|
||||
* [jshint](http://jshint.com/)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [prettier-eslint](https://github.com/prettier/prettier-eslint-cli)
|
||||
* [prettier-standard](https://github.com/sheerun/prettier-standard)
|
||||
* [standard](http://standardjs.com/)
|
||||
* [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
|
||||
* [xo](https://github.com/sindresorhus/xo)
|
||||
* JSON
|
||||
* [fixjson](https://github.com/rhysd/fixjson)
|
||||
* [jq](https://stedolan.github.io/jq/)
|
||||
* [jsonlint](http://zaa.ch/jsonlint/)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* Julia
|
||||
* [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl)
|
||||
* Kotlin
|
||||
* [kotlinc](https://kotlinlang.org) :floppy_disk:
|
||||
* [ktlint](https://ktlint.github.io) :floppy_disk:
|
||||
* [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions
|
||||
* LaTeX
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [chktex](http://www.nongnu.org/chktex/)
|
||||
* [lacheck](https://www.ctan.org/pkg/lacheck)
|
||||
* [proselint](http://proselint.com/)
|
||||
* [redpen](http://redpen.cc/)
|
||||
* [textlint](https://textlint.github.io/)
|
||||
* [vale](https://github.com/ValeLint/vale)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Less
|
||||
* [lessc](https://www.npmjs.com/package/less)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* LLVM
|
||||
* [llc](https://llvm.org/docs/CommandGuide/llc.html)
|
||||
* Lua
|
||||
* [luac](https://www.lua.org/manual/5.1/luac.html)
|
||||
* [luacheck](https://github.com/mpeterv/luacheck)
|
||||
* Mail
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [vale](https://github.com/ValeLint/vale)
|
||||
* Make
|
||||
* [checkmake](https://github.com/mrtazz/checkmake)
|
||||
* Markdown
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [markdownlint](https://github.com/DavidAnson/markdownlint) :floppy_disk:
|
||||
* [mdl](https://github.com/mivok/markdownlint)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [proselint](http://proselint.com/)
|
||||
* [redpen](http://redpen.cc/)
|
||||
* [remark-lint](https://github.com/wooorm/remark-lint)
|
||||
* [textlint](https://textlint.github.io/)
|
||||
* [vale](https://github.com/ValeLint/vale)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* MATLAB
|
||||
* [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html)
|
||||
* Mercury
|
||||
* [mmc](http://mercurylang.org) :floppy_disk:
|
||||
* NASM
|
||||
* [nasm](https://www.nasm.us/) :floppy_disk:
|
||||
* Nim
|
||||
* [nim check](https://nim-lang.org/docs/nimc.html) :floppy_disk:
|
||||
* nix
|
||||
* [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate)
|
||||
* nroff
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Objective-C
|
||||
* [ccls](https://github.com/MaskRay/ccls)
|
||||
* [clang](http://clang.llvm.org/)
|
||||
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* Objective-C++
|
||||
* [clang](http://clang.llvm.org/)
|
||||
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* OCaml
|
||||
* [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-ocaml-merlin` for configuration instructions
|
||||
* [ocamlformat](https://github.com/ocaml-ppx/ocamlformat)
|
||||
* [ols](https://github.com/freebroccolo/ocaml-language-server)
|
||||
* Pawn
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* Perl
|
||||
* [perl -c](https://perl.org/) :warning:
|
||||
* [perl-critic](https://metacpan.org/pod/Perl::Critic)
|
||||
* [perltidy](https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy)
|
||||
* Perl6
|
||||
* [perl6 -c](https://perl6.org) :warning:
|
||||
* PHP
|
||||
* [langserver](https://github.com/felixfbecker/php-language-server)
|
||||
* [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions
|
||||
* [phpcbf](https://github.com/squizlabs/PHP_CodeSniffer)
|
||||
* [phpcs](https://github.com/squizlabs/PHP_CodeSniffer)
|
||||
* [php-cs-fixer](http://cs.sensiolabs.org/)
|
||||
* [php -l](https://secure.php.net/)
|
||||
* [phpmd](https://phpmd.org)
|
||||
* [phpstan](https://github.com/phpstan/phpstan)
|
||||
* [psalm](https://getpsalm.org) :floppy_disk:
|
||||
* PO
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [msgfmt](https://www.gnu.org/software/gettext/manual/html_node/msgfmt-Invocation.html)
|
||||
* [proselint](http://proselint.com/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Pod
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Pony
|
||||
* [ponyc](https://github.com/ponylang/ponyc)
|
||||
* Prolog
|
||||
* [swipl](https://github.com/SWI-Prolog/swipl-devel)
|
||||
* proto
|
||||
* [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint)
|
||||
* Pug
|
||||
* [pug-lint](https://github.com/pugjs/pug-lint)
|
||||
* Puppet
|
||||
* [languageserver](https://github.com/lingua-pupuli/puppet-editor-services)
|
||||
* [puppet](https://puppet.com)
|
||||
* [puppet-lint](https://puppet-lint.com)
|
||||
* Python
|
||||
* [autopep8](https://github.com/hhatto/autopep8)
|
||||
* [bandit](https://github.com/PyCQA/bandit) :warning:
|
||||
* [black](https://github.com/ambv/black)
|
||||
* [flake8](http://flake8.pycqa.org/en/latest/)
|
||||
* [isort](https://github.com/timothycrosley/isort)
|
||||
* [mypy](http://mypy-lang.org/)
|
||||
* [prospector](https://github.com/PyCQA/prospector) :warning:
|
||||
* [pycodestyle](https://github.com/PyCQA/pycodestyle) :warning:
|
||||
* [pydocstyle](https://www.pydocstyle.org/) :warning:
|
||||
* [pylama](https://github.com/klen/pylama) :floppy_disk:
|
||||
* [pylint](https://www.pylint.org/) :floppy_disk:
|
||||
* [pyls](https://github.com/palantir/python-language-server) :warning:
|
||||
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
||||
* [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk:
|
||||
* [yapf](https://github.com/google/yapf)
|
||||
* QML
|
||||
* [qmlfmt](https://github.com/jesperhh/qmlfmt)
|
||||
* [qmllint](https://github.com/qt/qtdeclarative/tree/5.11/tools/qmllint)
|
||||
* R
|
||||
* [lintr](https://github.com/jimhester/lintr)
|
||||
* Racket
|
||||
* [raco](https://docs.racket-lang.org/raco/)
|
||||
* ReasonML
|
||||
* [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-reasonml-ols` for configuration instructions
|
||||
* [ols](https://github.com/freebroccolo/ocaml-language-server)
|
||||
* [refmt](https://github.com/reasonml/reason-cli)
|
||||
* reStructuredText
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [redpen](http://redpen.cc/)
|
||||
* [rstcheck](https://github.com/myint/rstcheck)
|
||||
* [textlint](https://textlint.github.io/)
|
||||
* [vale](https://github.com/ValeLint/vale)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Re:VIEW
|
||||
* [redpen](http://redpen.cc/)
|
||||
* RPM spec
|
||||
* [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`)
|
||||
* Ruby
|
||||
* [brakeman](http://brakemanscanner.org/) :floppy_disk:
|
||||
* [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk:
|
||||
* [reek](https://github.com/troessner/reek)
|
||||
* [rubocop](https://github.com/bbatsov/rubocop)
|
||||
* [ruby](https://www.ruby-lang.org)
|
||||
* [rufo](https://github.com/ruby-formatter/rufo)
|
||||
* [solargraph](https://solargraph.org)
|
||||
* [standardrb](https://github.com/testdouble/standard)
|
||||
* Rust
|
||||
* [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions)
|
||||
* [rls](https://github.com/rust-lang-nursery/rls) :warning:
|
||||
* [rustc](https://www.rust-lang.org/) :warning:
|
||||
* [rustfmt](https://github.com/rust-lang-nursery/rustfmt)
|
||||
* Sass
|
||||
* [sass-lint](https://www.npmjs.com/package/sass-lint)
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* Scala
|
||||
* [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html)
|
||||
* [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html)
|
||||
* [scalac](http://scala-lang.org)
|
||||
* [scalafmt](https://scalameta.org/scalafmt/)
|
||||
* [scalastyle](http://www.scalastyle.org)
|
||||
* SCSS
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [sass-lint](https://www.npmjs.com/package/sass-lint)
|
||||
* [scss-lint](https://github.com/brigade/scss-lint)
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* Slim
|
||||
* [slim-lint](https://github.com/sds/slim-lint)
|
||||
* SML
|
||||
* [smlnj](http://www.smlnj.org/)
|
||||
* Solidity
|
||||
* [solhint](https://github.com/protofire/solhint)
|
||||
* [solium](https://github.com/duaraghav8/Solium)
|
||||
* SQL
|
||||
* [sqlfmt](https://github.com/jackc/sqlfmt)
|
||||
* [sqlint](https://github.com/purcell/sqlint)
|
||||
* Stylus
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* SugarSS
|
||||
* [stylelint](https://github.com/stylelint/stylelint)
|
||||
* Swift
|
||||
* [swiftformat](https://github.com/nicklockwood/SwiftFormat)
|
||||
* [swiftlint](https://github.com/realm/SwiftLint)
|
||||
* Tcl
|
||||
* [nagelfar](http://nagelfar.sourceforge.net) :floppy_disk:
|
||||
* Terraform
|
||||
* [fmt](https://github.com/hashicorp/terraform)
|
||||
* [tflint](https://github.com/wata727/tflint)
|
||||
* Texinfo
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* Text
|
||||
* [alex](https://github.com/wooorm/alex) :warning: :floppy_disk:
|
||||
* [proselint](http://proselint.com/) :warning:
|
||||
* [redpen](http://redpen.cc/) :warning:
|
||||
* [textlint](https://textlint.github.io/) :warning:
|
||||
* [vale](https://github.com/ValeLint/vale) :warning:
|
||||
* [write-good](https://github.com/btford/write-good) :warning:
|
||||
* Thrift
|
||||
* [thrift](http://thrift.apache.org/)
|
||||
* TypeScript
|
||||
* [eslint](http://eslint.org/)
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [tslint](https://github.com/palantir/tslint)
|
||||
* [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
|
||||
* typecheck
|
||||
* VALA
|
||||
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||
* Verilog
|
||||
* [iverilog](https://github.com/steveicarus/iverilog)
|
||||
* [verilator](http://www.veripool.org/projects/verilator/wiki/Intro)
|
||||
* [vlog](https://www.mentor.com/products/fv/questa/)
|
||||
* [xvlog](https://www.xilinx.com/products/design-tools/vivado.html)
|
||||
* VHDL
|
||||
* [ghdl](https://github.com/ghdl/ghdl)
|
||||
* [vcom](https://www.mentor.com/products/fv/questa/)
|
||||
* [xvhdl](https://www.xilinx.com/products/design-tools/vivado.html)
|
||||
* Vim
|
||||
* [vint](https://github.com/Kuniwak/vint)
|
||||
* Vim help
|
||||
* [alex](https://github.com/wooorm/alex) :warning: :floppy_disk:
|
||||
* [proselint](http://proselint.com/) :warning:
|
||||
* [write-good](https://github.com/btford/write-good) :warning:
|
||||
* Vue
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [vls](https://github.com/vuejs/vetur/tree/master/server)
|
||||
* XHTML
|
||||
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||
* [proselint](http://proselint.com/)
|
||||
* [write-good](https://github.com/btford/write-good)
|
||||
* XML
|
||||
* [xmllint](http://xmlsoft.org/xmllint.html)
|
||||
* YAML
|
||||
* [prettier](https://github.com/prettier/prettier)
|
||||
* [swaglint](https://github.com/byCedric/swaglint)
|
||||
* [yamllint](https://yamllint.readthedocs.io/)
|
||||
* YANG
|
||||
* [yang-lsp](https://github.com/theia-ide/yang-lsp)
|
Reference in New Issue
Block a user