2017-12-11 12 views
0

私にはうまくいくいくつかのNeomakeの定義がありますが、私が頭をもたないものはstandard --fixの自動リント修正です。ここで私が持っているものです。 Neomakeが実行された後にファイルからバッファを更新してください

let g:neomake_javascript_standardfix_maker = { 
    \ 'exe': 'standard', 
    \ 'args': '--fix', 
    \ 'errorformat': '%-G%.%#' 
    \ } 
let g:neomake_javascript_enabled_makers = ['standardfix', 'jest', 'standard'] 
call neomake#configure#automake('w') 
set autoread 
au FocusGained *.js :checktime 

は残念ながら、バッファは standard --fix実行後に更新されません(私が確認してきたが、それが固定された構文を使用して、正しいファイルを書き込むん)。

私は理想的な動作をしていると思います:linterは修正できるものを修正し、ロケーションリストは開いていますが、未使用の変数のように--fixが自動的に世話をしない問題だけで開きます。

+0

私はALEがおそらく合理的な解決策であると思っていますが、私はほとんどの事のためにneomakeを使い続けることを望んでいました。 –

答えて

0

他の人に役立つ場合に備えて、私の回避策の解決策(ALEを使用)で回答を投稿するつもりですが、より直接的に質問に対処する他の回答を受け入れます。

私の主な問題は、JavaScriptの例を挙げると、保存時にテストランナーとして使用されており、ステージングビルドタスクを開始することができることです(React Nativeテスト例えば、ビルド)。

{ 
    "reporters": [ "jest-simple-reporter" ] 
} 

jest-simple-reporterは非常にある:最小これで、

" Suppress ALE warning about conflicts with Neomake 
let g:ale_emit_conflict_warnings = 0 

" JavaScript make/test 
highlight NeomakeErrorMsg ctermfg=1 ctermbg=18 
highlight NeomakeWarningMsg ctermfg=16 ctermbg=18 
let g:neomake_error_sign = { 
    \ 'text': '●', 
    \ 'texthl': 'NeomakeErrorMsg' 
    \ } 
let g:neomake_warning_sign = { 
    \ 'text': '●', 
    \ 'texthl': 'NeomakeWarningMsg' 
    \ } 
let g:neomake_open_list = 2 

" This reads config from a file specifying a custom Jest 
" reporter (see below) making it easier to parse output with 
" a Vim errorformat 
let g:neomake_javascript_jest_maker = { 
    \ 'exe': './node_modules/jest-cli/bin/jest.js', 
    \ 'args': [ '-c=./vim-jest.json', '--no-watchman' ], 
    \ 'errorformat': 
     \ '%f:%l:%c:%t:%m,' . 
     \ '%-G%.%#' 
    \ } 

" By setting this explicitly, we overwrite the default 
" (so Neomake shouldn't attempt to launch standard/eslint) 
let g:neomake_javascript_enabled_makers = ['jest'] 

call neomake#configure#automake('w') 

" linting 
let g:ale_sign_error = '▶▶' 
let g:ale_sign_warning = '▶▶' 
highlight ALEErrorSign ctermfg=1 ctermbg=18 
highlight ALEWarningSign ctermfg=16 ctermbg=18 
let g:ale_linters = { 
    \ 'javascript': ['standard'] 
    \ } 
let g:ale_fixers = { 
    \ 'javascript': ['standard'] 
    \ } 
let g:ale_fix_on_save = 1 

vim-jest.jsonは、私はプロジェクトごとに必要なすべての冗談設定が含まれています。私はALEとNeomakeは、少なくともで起こってなければ、協力があると思います巨大なレポーターJestの楽観的なアウトプットを調理するたびに、1つの調子で1行まで調理しました。現在のプロジェクトのdevDependenciesにインストールする必要がありますが、Vimの設定が別のため、testスクリプトまたはプロジェクトJest設定で使用する必要はありません。

興味深いことに、私がale_fix_on_saveをオフにすると、Neomakeの警告/エラーサインがガターで優先されるようです。私はテストを通過した後、リンターの兆候が表示されます。かなりうまく動作し、エラーは保存時に固定され、修正できないエラーが示され、テスト失敗の看板がうまく共存します。

関連する問題