我喜欢使用vim的折叠功能,但是当使用Perl模块的Method :: Signatures时,我失去了在子例程上折叠Perl代码的好处。我查看了perl.vim,以查看是否可以扩展折叠功能,不仅可以扩展sub,还可以扩展func和method。有人有运气吗?我只是设法打破了事情。我确实安装了https://github.com/vim-perl/vim-perl并在这两个标签上启用了语法高亮显示,但这非常简单。
这似乎工作良好:
" Installation: Put into after/syntax/perl/method-signatures.vim
syn match perlFunction +\<method\>\_s*+ nextgroup=perlSubName
syn match perlFunction +\<func\>\_s*+ nextgroup=perlSubName
if get(g:, 'perl_fold', 0)
syn region perlSubFold start="\<method\>[^;]*{" end="}" transparent fold extend
syn region perlSubFold start="\<func\>[^;]*{" end="}" transparent fold extend
else
syn region perlSubFold start="^\z(\s*\)\<method\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" fold transparent
syn region perlSubFold start="^\z(\s*\)\<func\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" fold transparent
endif
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句