Lines Matching refs:s

12 " Marc Weber's comment: This file may contain a lot of (very custom) stuff
45 let s:beflet = '^\s*\(initializer\|method\|try\)\|\(\<\(begin\|do\|else\|in\|then\|try\)\|->\|<-\|=…
46 let s:letpat = '^\s*\(let\|type\|module\|class\|open\|exception\|val\|include\|external\)\>'
47 let s:letlim = '\(\<\(sig\|struct\)\|;;\)\s*$'
48 let s:lim = '^\s*\(exception\|external\|include\|let\|module\|open\|type\|val\)\>'
49 let s:module = '\<\%(begin\|sig\|struct\|object\)\>'
50 let s:obj = '^\s*\(constraint\|inherit\|initializer\|method\|val\)\>\|\<\(object\|object\s*(.*)\)\s
51 let s:type = '^\s*\%(class\|let\|type\)\>.*='
54 function! s:GetLineWithoutFullComment(lnum)
56 let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '')
57 while lline =~ '^\s*$' && lnum > 0
59 let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '')
65 function! s:GetInd(lnum, pat, lim)
70 let nb = s:GetLineWithoutFullComment(llet)
80 function! s:FindPair(pstart, pmid, pend)
86 function! s:FindLet(pstart, pmid, pend)
88 …~? "string\\|comment" || getline(".") =~ "^\\s*let\\>.*=.*\\<in\\s*$" || getline(prevnonblank(".")…
93 let lnum = s:GetLineWithoutFullComment(v:lnum)
101 let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '')
104 if lline =~ '^\s*|.*->\s*$'
111 if line =~ '^\s*end\>'
112 return s:FindPair(s:module, '','\<end\>')
115 elseif line =~ '^\s*done\>'
116 return s:FindPair('\<do\>', '','\<done\>')
119 elseif line =~ '^\s*\(\|>\)}'
120 return s:FindPair('{', '','}')
123 elseif line =~ '^\s*\(\||\|>\)\]'
124 return s:FindPair('\[', '','\]')
127 elseif line =~ '^\s*)'
128 return s:FindPair('(', '',')')
131 elseif line =~ '^\s*let\>'
132 if lline !~ s:lim . '\|' . s:letlim . '\|' . s:beflet
133 return s:FindLet(s:type, '','\<let\s*$')
137 elseif line =~ '^\s*\(class\|type\)\>'
138 if lline !~ s:lim . '\|\<and\s*$\|' . s:letlim
139 return s:FindLet(s:type, '','\<\(class\|type\)\s*$')
143 elseif line =~ '^\s*|'
144 if lline !~ '^\s*\(|[^\]]\|\(match\|type\|with\)\>\)\|\<\(function\|parser\|private\|with\)\s*$'
146s*\(match\|type\)\>\|\<\(function\|parser\|private\|with\)\s*$', '', '^\s*|', 'bWn', 'synIDattr(sy…
150 elseif line =~ '^\s*;;'
151 if lline !~ ';;\s*$'
152 return s:GetInd(v:lnum, s:letpat, s:letlim)
156 elseif line =~ '^\s*in\>'
157 if lline !~ '^\s*\(let\|and\)\>'
158 return s:FindPair('\<let\>', '', '\<in\>')
162 elseif line =~ '^\s*else\>'
163 if lline !~ '^\s*\(if\|then\)\>'
164 return s:FindPair('\<if\>', '', '\<else\>')
168 elseif line =~ '^\s*then\>'
169 if lline !~ '^\s*\(if\|else\)\>'
170 return s:FindPair('\<if\>', '', '\<then\>')
174 elseif line =~ '^\s*and\>'
175 if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$'
180 elseif line =~ '^\s*with\>'
181 if lline !~ '^\s*\(match\|try\)\>'
182 return s:FindPair('\<\%(match\|try\)\>', '','\<with\>')
187 elseif line =~ '^\s*\(exception\|external\|include\|open\)\>'
188 if lline !~ s:lim . '\|' . s:letlim
190 return indent(search('^\s*\(\(exception\|external\|include\|open\|type\)\>\|val\>.*:\)', 'bW'))
194 elseif line =~ '^\s*val\>'
195 if lline !~ '^\s*\(exception\|external\|include\|open\)\>\|' . s:obj . '\|' . s:letlim
196 …return indent(search('^\s*\(\(exception\|include\|initializer\|method\|open\|type\|val\)\>\|extern…
201 elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>'
202 if lline !~ s:obj
203 return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + shiftwidth()
209 …functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
213 elseif lline =~ ';;\s*$' && lline !~ '^\s*;;'
214 let ind = s:GetInd(v:lnum, s:letpat, s:letlim)
217 elseif lline =~ '\<end\s*$'
218 let ind = s:FindPair(s:module, '','\<end\>')
221 elseif lline =~ '\<in\s*$' && lline !~ '^\s*in\>'
222 let ind = s:FindPair('\<let\>', '', '\<in\>')
225 elseif lline =~ '\<done\s*$'
226 let ind = s:FindPair('\<do\>', '','\<done\>')
229 elseif lline =~ '\(\|>\)}\s*$'
230 let ind = s:FindPair('{', '','}')
233 elseif lline =~ '\(\||\|>\)\]\s*$'
234 let ind = s:FindPair('\[', '','\]')
237 elseif lline =~ '\*)\s*$'
242 elseif lline =~ ')\s*$'
243 let ind = s:FindPair('(', '',')')
246 elseif lline =~ '^\s*(\*' && line =~ '^\s*\*'
266 if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$'