Neomake运行后,从文件中更新缓冲区



我有一些neomake定义对我来说很好,但是我无法完全抓住我的一件事是使用standard --fix自动修复。这是我所拥有的:

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不会自动处理的那些问题,例如未使用的变量。

我将使用我的解决方案(使用ALE)来发布答案,以防其他任何人,但会接受任何其他答案,这些答案更直接地解决了问题。

我的主要问题是,我不仅将Neomake用于覆盖:以JavaScript为例,它被用作保存的测试跑者,我也可以看到从中启动分期构建任务, 例如)。我想我有啤酒和Neomake合作,至少要继续进行:

" 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包含我每个项目所需的任何开玩笑的配置,至少以下是:

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

开玩笑的简单重复程序是我烹制的非常粗糙的记者,以提炼玩笑的相当朗格的输出,每条固定装置的一条线条。确实需要在当前项目的devDependencies中安装它,因为VIM的单独配置,它不需要在test脚本或Project Jest Jest Config。

中使用。

有趣的是,当我关闭ale_fix_on_save时,Neomake的警告/错误迹象似乎在排水沟中优先。只有在我进行测试之后,才会出现Linter的标志。工作非常好,错误是在保存上解决的,并且无法修复的错误,并与测试失败标牌共存。

最新更新