Lines Matching refs:line
23 " 20180326 - better support for line continuation
26 " 20170808: - better indent of line continuation
57 \ 'continuation-line': function('shiftwidth'),
79 let line = getline(lnum)
87 if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
88 …\ (&ft is# 'zsh' && line =~ '^\s*\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|…
89 if !s:is_end_expression(line)
92 elseif s:is_case_label(line, pnum)
93 if !s:is_case_ended(line)
97 elseif s:is_function_definition(line)
98 if line !~ '}\s*\%(#.*\)\=$'
102 elseif s:is_array(line) && line !~ ')\s*$' && (&ft is# 'zsh' || s:is_bash())
103 let ind += s:indent_value('continuation-line')
106 let ind -= s:indent_value('continuation-line')
107 elseif s:is_continuation_line(line)
109 let ind += s:indent_value('continuation-line')
111 elseif s:end_block(line) && !s:start_block(line)
117 " only add indent, if line and pline is in the same block
130 let pine = line
131 " Check content of current line
132 let line = curline
133 " Current line is a endif line, so get indent from start of "if condition" line
137 …let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col(".…
141 elseif line =~ '^\s*\%(then\|do\|else\|elif\|done\|end\)\>' || s:end_block(line)
143 elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
145 elseif line =~ '^\s*esac\>'
152 elseif s:is_case_label(line, lnum)
160 elseif s:is_case_break(line)
162 elseif s:is_here_doc(line)
167 elseif s:is_comment(line) && s:is_empty(getline(v:lnum-1))
174 function! s:is_continuation_line(line) argument
175 " Comment, cannot be a line continuation
176 if a:line =~ '^\s*#'
179 " start-of-line
182 return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
195 function! s:is_function_definition(line) argument
196 return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
197 \ a:line =~ '^\s*{' ||
198 \ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{'
201 function! s:is_array(line) argument
202 return a:line =~ '^\s*\<\k\+\>=('
205 function! s:is_case_label(line, pnum) argument
206 if a:line !~ '^\s*(\=.*)'
217 let suffix = substitute(a:line, '^\s*(\=', "", "")
238 function! s:is_case(line) argument
239 return a:line =~ '^\s*case\>'
242 function! s:is_case_break(line) argument
243 return a:line =~ '^\s*;[;&]'
246 function! s:is_here_doc(line) argument
247 if a:line =~ '^\w\+$'
248 let here_pat = '<<-\?'. s:escape(a:line). '\$'
254 function! s:is_case_ended(line) argument
255 return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
258 function! s:is_case_empty(line) argument
259 if a:line =~ '^\s*$' || a:line =~ '^\s*#'
262 return a:line =~ '^\s*case\>'
270 function! s:is_empty(line) argument
271 return a:line =~ '^\s*$'
274 function! s:end_block(line) argument
275 return a:line =~ '^\s*}'
278 function! s:start_block(line) argument
279 return a:line =~ '{\s*\(#.*\)\?$'
290 function! s:is_comment(line) argument
291 return a:line =~ '^\s*#'
294 function! s:is_end_expression(line) argument
295 return a:line =~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'