在工作中,我們使用的語法檢查器與我在開源工作時所做的不同。有沒有辦法讓Syntastic
指定默認檢查器,並在項目根目錄中找到rc
文件時更改檢查器?如何根據root中的文件的存在情況使Syntastic加載另一個檢查器?
示例:如果發現.eslintrc
使用eslint
。如果找不到.eslintrc
,請使用standard
。
謝謝!
編輯:也在scrooloose/syntastic上打開了一個問題。
在工作中,我們使用的語法檢查器與我在開源工作時所做的不同。有沒有辦法讓Syntastic
指定默認檢查器,並在項目根目錄中找到rc
文件時更改檢查器?如何根據root中的文件的存在情況使Syntastic加載另一個檢查器?
示例:如果發現.eslintrc
使用eslint
。如果找不到.eslintrc
,請使用standard
。
謝謝!
編輯:也在scrooloose/syntastic上打開了一個問題。
是的,你可以做這樣的事情:
autocmd FileType javascript let b:syntastic_checkers = findfile('.eslintrc', '.;') != '' ? ['eslint'] : ['standard']
編輯:根據要求,解釋這是如何工作:
autocmd FileType javascript
- 每次運行下面的東西filetype
的緩衝區設置爲javascript
(即,通常每緩衝區一次)b:syntastic_checkers
爲curr啓用的檢查程序列表ENT緩衝,覆蓋g:syntastic_javascript_checkers
findfile('.eslintrc', ...)
- 找到名爲.eslintrc
.;
文件... - ...在當前目錄和向上!= '' ?
- 如果發現...['eslint']
- ...設置b:syntastic_checkers
到['eslint']
: ['standard']
- ...否則將其設置爲['standard']
魔法,我告訴你。
另一種簡單的選擇,它具有更廣泛的應用不僅僅是這個問題,是以下內容添加到您的.vimrc文件:
if findfile('.lvimrc','.') != ''
source .lvimrc
endif
然後在你想要一些不同的行爲的目錄,只需添加一個' .lvimrc'文件,併爲該目錄提供合成選項。
請問您能否添加關於此命令如何工作的解釋? – EvergreenTree 2015-02-18 12:51:28
@ lcd047能否詳細說明如何使用本地二進制代替標準? – dcousens 2015-05-28 10:19:55
@dcousens:我從來沒有說過你可以使用任意的本地二進制而不是'standard'。 – lcd047 2015-05-28 10:27:31