From a086e9efba460105aea7fbb243ab3025afa661b9 Mon Sep 17 00:00:00 2001 From: Chris Paul Date: Fri, 21 Oct 2016 20:14:20 -0700 Subject: [PATCH 1/3] small fixes --- indent/javascript.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index 7d8de736..b7eb304d 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -215,14 +215,14 @@ function GetJavascriptIndent() " the containing paren, bracket, curly. Many hacks for performance call cursor(v:lnum,1) - let idx = stridx('])}',l:line[0]) + let idx = strlen(l:line) ? stridx('])}',l:line[0]) : -1 if indent(l:lnum) let [s:looksyn,s:free] = [v:lnum - 1,1] if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && \ (b:js_cache[0] > l:lnum || idx < 0 && s:Balanced(l:lnum)) let num = b:js_cache[1] elseif idx + 1 - return indent(s:GetPair(escape('[({'[idx],'['), '])}'[idx],'bW','s:skip_func(s:looksyn)',2000)) + return indent(s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func(s:looksyn)',2000)) elseif indent(v:lnum) && syns =~? 'block' let num = s:GetPair('{','}','bW','s:skip_func(s:looksyn)',2000) else From 2100397b38df59cb482203630299472b01691182 Mon Sep 17 00:00:00 2001 From: Chris Paul Date: Fri, 21 Oct 2016 21:21:16 -0700 Subject: [PATCH 2/3] Update javascript.vim --- indent/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index b7eb304d..b10d288b 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -165,7 +165,7 @@ function s:Balanced(lnum) let pos = match(l:line, '[][(){}]', 0) while pos != -1 if synIDattr(synID(a:lnum,pos + 1,0),'name') !~? s:syng_strcom - if l:line[pos] =~ '[{([]' + if stridx('[({',l:line[pos]) + 1 let l:open += 1 else let l:open -= 1 From d0f6fdc8a1ad42d800d1dbd8208eebf052e4db01 Mon Sep 17 00:00:00 2001 From: Chris Paul Date: Fri, 21 Oct 2016 21:39:56 -0700 Subject: [PATCH 3/3] Update javascript.vim --- indent/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index b10d288b..f24afc2f 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -255,7 +255,7 @@ function GetJavascriptIndent() " most significant, find the indent amount let isOp = l:line =~# s:opfirst || pline !~# s:expr_case . '$' && pline =~# s:continuation let bL = s:iscontOne(l:lnum,num,isOp) - let bL -= (bL && l:line =~ '^{') * s:W + let bL -= (bL && strridx(l:line,'{',0) + 1) * s:W if isOp && (!num || bchar && cursor(b:js_cache[1],b:js_cache[2])+1 && s:IsBlock()) return (num ? indent(num) : -s:W) + (s:W * 2) + switch_offset + bL elseif num