Lines Matching refs:s

52 let s:cpo_save = &cpo
55 let s:sh_indent_defaults = {
62 function! s:indent_value(option)
66 \ s:sh_indent_defaults[a:option]
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)
90 let ind += s:indent_value('default')
92 elseif s:is_case_label(line, pnum)
93 if !s:is_case_ended(line)
94 let ind += s:indent_value('case-statements')
97 elseif s:is_function_definition(line)
98 if line !~ '}\s*\%(#.*\)\=$'
99 let ind += s:indent_value('default')
102 elseif s:is_array(line) && line !~ ')\s*$' && (&ft is# 'zsh' || s:is_bash())
103 let ind += s:indent_value('continuation-line')
105 elseif curline =~ '^\s*)$'
106 let ind -= s:indent_value('continuation-line')
107 elseif s:is_continuation_line(line)
108 if pnum == 0 || !s:is_continuation_line(pline)
109 let ind += s:indent_value('continuation-line')
111 elseif s:end_block(line) && !s:start_block(line)
112 let ind -= s:indent_value('default')
114 \ s:is_continuation_line(pline) &&
115 \ !s:end_block(curline) &&
116 \ !s:is_end_expression(curline)
119 let ind2 = indent(s:find_continued_lnum(pnum))
120 while !s:is_empty(getline(i)) && i > pnum
135 if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
141 elseif line =~ '^\s*\%(then\|do\|else\|elif\|done\|end\)\>' || s:end_block(line)
142 let ind -= s:indent_value('default')
143 elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
144 let ind -= s:indent_value('default')
145 elseif line =~ '^\s*esac\>'
146 let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
147 \ 0 : s:indent_value('case-statements')) +
148 \ s:indent_value('case-labels')
149 if s:is_case_break(pine)
150 let ind += s:indent_value('case-breaks')
152 elseif s:is_case_label(line, lnum)
153 if s:is_case(pine)
154 let ind = indent(lnum) + s:indent_value('case-labels')
156 let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
157 \ 0 : s:indent_value('case-statements')) -
158 \ s:indent_value('case-breaks')
160 elseif s:is_case_break(line)
161 let ind -= s:indent_value('case-breaks')
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)
176 if a:line =~ '^\s*#'
183 \ '\s*\({\s*\)\=\(#.*\)\=$'
187 function! s:find_continued_lnum(lnum)
189 while i > 1 && s:is_continuation_line(getline(i - 1))
195 function! s:is_function_definition(line)
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)
202 return a:line =~ '^\s*\<\k\+\>=('
205 function! s:is_case_label(line, pnum)
206 if a:line !~ '^\s*(\=.*)'
212 if !(s:is_case(pine) || s:is_case_ended(pine))
217 let suffix = substitute(a:line, '^\s*(\=', "", "")
238 function! s:is_case(line)
239 return a:line =~ '^\s*case\>'
242 function! s:is_case_break(line)
243 return a:line =~ '^\s*;[;&]'
246 function! s:is_here_doc(line)
248 let here_pat = '<<-\?'. s:escape(a:line). '\$'
254 function! s:is_case_ended(line)
255 return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
258 function! s:is_case_empty(line)
259 if a:line =~ '^\s*$' || a:line =~ '^\s*#'
260 return s:is_case_empty(getline(v:lnum - 1))
262 return a:line =~ '^\s*case\>'
266 function! s:escape(pattern)
270 function! s:is_empty(line)
271 return a:line =~ '^\s*$'
274 function! s:end_block(line)
275 return a:line =~ '^\s*}'
278 function! s:start_block(line)
279 return a:line =~ '{\s*\(#.*\)\?$'
282 function! s:find_start_block(lnum)
284 while i > 1 && !s:start_block(getline(i))
290 function! s:is_comment(line)
291 return a:line =~ '^\s*#'
294 function! s:is_end_expression(line)
295 return a:line =~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
298 function! s:is_bash()
302 let &cpo = s:cpo_save
303 unlet s:cpo_save