Включая пустые строки после области в сгибе - PullRequest
3 голосов
/ 20 сентября 2011

В настоящее время я пытаюсь улучшить поведение сворачивания файлов Matlab в Vim. У меня есть файл синтаксиса, и сворачивание ведет себя так, как я хочу, с одним исключением. Скажем, у меня есть следующий код:

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", чтобы сказать, что я хочу сбросить до конца матча, но я все еще получаю первый результат.

Я должен что-то упустить, потому что в документации указано, что метод смещения должен работать. Есть идеи?

...