问题描述
|
对于“标准” JavaScript,我喜欢这个自定义折叠功能:
function! JavaScriptFold()
setl foldmethod=Syntax
setl foldlevelstart=1
set fillchars=fold:\\
syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
function! FoldText()
return substitute(getline(v:foldstart),\'{.*\',\'{...}\',\'\')
endfunction
setl foldtext=FoldText()
endfunction
可以请一个好心的人给我看一下CoffeeScript的译文吗?
以便
testFunction = (x) ->
x + x
只会像这样折叠成第一行
testFunction = (x) ->
折叠文字对象也有加分,但是功能已经很棒!
PS:当然,我正在为Vim使用coffee-script插件
解决方法
我不知道咖啡,也不知道它支持哪些文字对象,对此我无能为力。但是,您可以通过此设置(可以将其转换为模型)来实现:
:setl fdm=expr fde=getline(v:lnum)=~\'->$\'?\'>1\':getline(v:lnum)=~\'^\\\\s*$\'?0:\'=\'
您没有指定要在首屏显示的内容,因此我将其省略。您可以为此使用折叠文本设置。参见:h fold-foldtext
。