Raimondi

Untitled

Jan 21st, 2012
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let g:fold_levels = {}
  2. function! JFolds(lnum)
  3.   let line = getline(a:lnum)
  4.   let next_line = getline(a:lnum + 1)
  5.   let g:fold_levels.line = line
  6.   let g:fold_levels.next = next_line
  7.   if line =~ '^\s\+\%(describe\|it\)'
  8.     let lead = matchstr(line, '^\s\+')
  9.     let g:fold_levels.lead = len(lead)
  10.     let g:fold_levels[lead] = lead
  11.     return 'a1'
  12.   elseif line =~ '^\s\+});.*'
  13.     let lead = matchstr(line, '^\s\+\ze\});')
  14.     let g:fold_levels.lead = len(lead)
  15.     if has_key(g:fold_levels, lead)
  16.       call remove(g:fold_levels, lead)
  17.       return 's1'
  18.     endif
  19.     return '='
  20.   else
  21.     return '='
  22.   endif
  23. endfunction
  24.  
  25. set fdm=expr
  26. set fde=JFolds(v:lnum)
  27. set debug=msg
  28.  
  29. finish
Advertisement
Add Comment
Please, Sign In to add comment