@@ -35,50 +35,70 @@ fun! pymode#folding#expr(lnum) "{{{
3535 let line = getline (a: lnum )
3636 let indent = indent (a: lnum )
3737
38- if line == ' ' | return getline (a: lnum+ 1 ) == ' ' ?' =' :' -1' | endif
38+ if line == ' '
39+ return getline (a: lnum+ 1 ) == ' ' ? ' =' : ' -1'
40+ endif
3941
4042 if line = ~ s: defpat && getline (prevnonblank (a: lnum- 1 )) !~ ' ^\s*@'
4143 let n = a: lnum
42- while getline (n ) = ~ ' ^\s*@' | let n = nextnonblank (n + 1 ) | endwhile
44+ while getline (n ) = ~ ' ^\s*@'
45+ let n = nextnonblank (n + 1 )
46+ endwhile
4347 if getline (n ) = ~ s: defpat
4448 return " >" .(indent /&shiftwidth + 1 )
4549 endif
4650 endif
4751
4852 let p = prevnonblank (a: lnum- 1 )
49- while p >0 && getline (p ) = ~ ' ^\s*#' | let p = prevnonblank (p - 1 )
53+ while p >0 && getline (p ) = ~ ' ^\s*#'
54+ let p = prevnonblank (p - 1 )
5055 endwhile
5156 let pind = indent (p )
5257 if getline (p ) = ~ s: defpat && getline (prevnonblank (a: lnum - 1 )) !~ ' ^\s*@'
5358 let pind = pind + &shiftwidth
54- elseif p == 0 | let pind = 0
59+ elseif p == 0
60+ let pind = 0
5561 endif
5662
57- if indent >0 && indent == pind | return ' = '
58- elseif indent >pind | return ' ='
63+ if ( indent >0 && indent == pind) || indent >pind
64+ return ' ='
5965 elseif indent == 0
60- if pind== 0 && line = ~ ' ^#' | return 0
66+ if pind== 0 && line = ~ ' ^#'
67+ return 0
6168 elseif line !~ ' ^#'
62- if 0 <pind && line!~'^else\s*:\|^except.*:\|^elif.*:\|^finally\s*:' | return '> 1 '
63- elseif 0 == pind && getline (prevnonblank (a: lnum- 1 )) = ~ ' ^\s*#' | return ' >1'
64- else | return ' ='
69+ if 0 <pind && line !~ ' ^else\s*:\|^except.*:\|^elif.*:\|^finally\s*:'
70+ return ' >1'
71+ elseif 0 == pind && getline (prevnonblank (a: lnum- 1 )) = ~ ' ^\s*#'
72+ return ' >1'
73+ else
74+ return ' ='
6575 endif
6676 endif
6777 let n = nextnonblank (a: lnum+ 1 )
68- while n >0 && getline (n ) = ~' ^\s*#' | let n = nextnonblank (n + 1 )
78+ while n >0 && getline (n ) = ~' ^\s*#'
79+ let n = nextnonblank (n + 1 )
6980 endwhile
70- if indent (n )== 0 | return 0
71- else | return -1
81+ if indent (n )== 0
82+ return 0
83+ else
84+ return -1
7285 end
7386 endif
7487 let blockindent = indent (pymode#BlockStart (a: lnum )) + &shiftwidth
75- if blockindent== 0 | return 1 | endif
88+ if blockindent== 0
89+ return 1
90+ endif
7691 let n = nextnonblank (a: lnum+ 1 )
77- while n >0 && getline (n ) = ~' ^\s*#' | let n = nextnonblank (n + 1 ) | endwhile
92+ while n >0 && getline (n ) = ~' ^\s*#'
93+ let n = nextnonblank (n + 1 )
94+ endwhile
7895 let nind = indent (n )
79- if line = ~ ' ^\s*#' && indent >= nind | return -1
80- elseif line = ~ ' ^\s*#' | return nind / &shiftwidth
81- else | return blockindent / &shiftwidth
96+ if line = ~ ' ^\s*#' && indent >= nind
97+ return -1
98+ elseif line = ~ ' ^\s*#'
99+ return nind / &shiftwidth
100+ else
101+ return blockindent / &shiftwidth
82102 endif
83103endfunction " }}}
84104
0 commit comments