首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vim编辑器中为eslint指定custom --rulesdir

如何在vim编辑器中为eslint指定custom --rulesdir
EN

Stack Overflow用户
提问于 2015-03-24 17:05:26
回答 1查看 1.5K关注 0票数 4

我已经在vim中安装了syntastic plugin,并在npm中全局安装了eslint。下面是我用于语法配置的.vimrc的代码片段:

代码语言:javascript
复制
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

下面是我运行的结果:SyntasticInfo javascript,

代码语言: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

假设我有以下项目结构,在.eslintrc中激活了一些自定义规则,这些规则的定义在.eslintrules目录中:

代码语言:javascript
复制
xxx_project:
   |--.eslintrc
   |--.eslintrules
        |-- rule1.js
        |-- rule2.js
        |-- ...
   |-- src
        |-- abc.js

每次我在某个源文件上运行:SyntasticCheck,没有任何反应。因此,我尝试直接在命令行中对一些js文件运行eslint。抛出了一些错误,表明找不到一些自定义规则的定义。

所以我认为eslint已经找到了配置文件,但是它不知道--rulesdir在哪里。

有人能帮帮忙吗?据我所知,--rulesdir选项仅在命令行中可用。

EN

回答 1

Stack Overflow用户

发布于 2015-03-30 18:40:22

编辑:

代码语言:javascript
复制
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()

这将尝试查找一个名为.eslintrules的文件,并将--ruledir设置为其基目录。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29228575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档