包括折叠后的区域后面的空白行

时间:2011-09-20 19:02:44

标签: vim syntax folding

我目前正在尝试改善Vim中Matlab文件的折叠行为。我生成了一个语法文件,折叠表现我想要的一个例外。说我有以下代码:

function [out1,out2] = doSomething(arg1,arg2)
    out1 = performSubRoutine(arg1);
    out2 = performSubRoutine(arg2);
end

function output = performSubRoutine(input)
    output = input;
end

当我进行折叠时,我得到:

+---  4 lines: function [out1,out2] = doSomething(arg1,arg2)

+---  3 lines: function output = performSubRoutine(input)

理想情况下,我希望折叠吞没任何尾随空格。

语法文件中的我的区域定义是:

syn region matlabClassBlock     
            \transparent fold 
            \matchgroup=matlabClass 
            \extend start='\<function\>'        
            \end='\%([%-+(\*\:(\/\[]\s*\)\@<!\<end\>\%(\s*[-+}\:\*\/()\]]\)\@!.*\($\n^\s*\)*$'re=e 
            \contains=ALLBUT,@matlabClassCluster,@matlabProceduralCluster

我使用了偏移量说明符"re=e"来表示我想折叠到匹配结束,但我仍然得到第一个结果。

我必须遗漏一些东西,因为文档声明偏移方法应该有效。有什么想法吗?

0 个答案:

没有答案