summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vimrc7
1 files changed, 7 insertions, 0 deletions
diff --git a/vimrc b/vimrc
index ab00b78..66adf1b 100644
--- a/vimrc
+++ b/vimrc
@@ -268,6 +268,7 @@ function Perl_foldtext()
if !empty(rest_line)
let rest_params = split(rest_line[1], ',\s*')
let params += rest_params
+ let linenum += 1
break
endif
@@ -275,6 +276,7 @@ function Perl_foldtext()
let array_line = matchlist(next_line, 'my\s*\(@\w\+\)\s*=\s*@_;')
if !empty(array_line)
let params += [array_line[1]]
+ let linenum += 1
break
endif
@@ -282,6 +284,7 @@ function Perl_foldtext()
let hash_line = matchlist(next_line, 'my\s*%\w\+\s*=\s*@_;')
if !empty(hash_line)
let params += ['paramhash']
+ let linenum += 1
break
endif
@@ -289,6 +292,10 @@ function Perl_foldtext()
break
endwhile
+ if join(getline(linenum, v:foldend)) =~ '\%(shift\%(\s*@\)\@!\|@_\)'
+ let params += ['unknown']
+ endif
+
return Base_foldtext(sub_type . ' ' . matches[2] .
\ '(' . join(params, ', ') . ')')
endif