Aar*_*hen 4 javascript vim eslint
我在vim中安装了syntastic插件,并在全局的npm中安装了eslint.下面是我的.vimrc片段用于语法配置:
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_javascript_checkers = ["eslint"]
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
Run Code Online (Sandbox Code Playgroud)
这是我运行时的结果:SyntasticInfo javascript,
Syntastic version: 3.6.0-64 (Vim 704, CYGWIN_NT-6.3)
Info for filetype: javascript
Global mode: active
Filetype javascript is active
Available checker: eslint
Currently enabled checker: eslint
Run Code Online (Sandbox Code Playgroud)
假设我有以下项目结构,激活了一些自定义规则.eslintrc,这些规则的定义在.eslintrulesdir中:
xxx_project:
|--.eslintrc
|--.eslintrules
|-- rule1.js
|-- rule2.js
|-- ...
|-- src
|-- abc.js
Run Code Online (Sandbox Code Playgroud)
每次我运行:在一些源文件上的SyntasticCheck,没有任何反应.所以我尝试直接在命令行中对某些js文件运行eslint.有一些错误表明无法找到某些自定义规则的定义.
所以我认为eslint找到了配置文件,但它不知道--rulesdir在哪里.
有人可以帮忙吗?据我所知,--rulesdir选项仅在命令行中可用.
编辑:
function! ESLintArgs()
let rules = findfile('.eslintrules', '.;')
return rules != '' ? '--rulesdir ' . shellescape(fnamemodify(rules, ':p:h')) : ''
endfunction
autocmd FileType javascript let b:syntastic_javascript_eslint_args = ESLintArgs()
Run Code Online (Sandbox Code Playgroud)
这会尝试查找名为的文件.eslintrules并设置--ruledir为其基目录.
| 归档时间: |
|
| 查看次数: |
1014 次 |
| 最近记录: |