ale
概要
編集中のバッファに対して、非同期でリンタやフィクサを実行できる
Vimプラグインです
インストール
toml[[plugins]]
repo = 'w0rp/ale'
使い方
基本的には、特に設定をしなくとも、いい感じに動いてくれます
ただし、以下のようなことをしたいときは、設定が必要です
ファイルを保存したときだけリンタを実行したい
特定のリンタのみを実行したい
用語
ソースコードの文法チェックを行うプログラムのこと
フィクサ
マーカーの変更方法
g:ale_sign_warning
及び g:ale_sign_error
を設定することで、マーカーを変更できます
例えば、以下のように設定すると、警告時のマーカーが「🥺」に、エラー発生時のマーカーが「🙅」になります
vimlet g:ale_sign_warning = "🥺"
let g:ale_sign_error = "🙅"
キーボードマッピングの設定
vimnmap <Leader>a [ale]
...
" <Leader>alでリンタを実行する
nmap <silent> [ale]l <Plug>(ale_lint)
" <Leader>afでフィックサを実行する
nmap <silent> [ale]f <Plug>(ale_fix)
コマンド
:ALEFindReferences
カーソル直下のシンボルの参照を一覧表示します
:ALELint
編集中のバッファに対してリンタを実行します
:ALEFix
編集中のバッファに対してフィクサを実行します
実行対象のフィクサは g:ale_fixers
で設定できます
vimlet g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'javascript': ['eslint'],
\ 'typescript': s:has_deno ? ['deno'] : ['prettier'],
\ 'go': ['gofmt']
\}
変数
g:ale_linters
ファイルタイプをキー、linterプログラムの一覧を値として保持する辞書を設定する。
g:ale_linters_explicit
g:ale_linters
または b:ale_linters
で指定されたlinterのみを実行する。
g:ale_lint_delay
linterを実行する間隔を秒単位で指定する。
g:ale_completion_enabled
aleを読み込む前に設定しておくと、自動補完が有効化される。
vimautocmd User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({
\ 'priority': 10
\ }))
tips
vimlet g:ale_linters_explicit = 1
let g:ale_linters = {
\ 'javascript': ['eslint'],
\ 'vue': ['eslint']
\ }
ファイルを保存した時だけlinterを実行する