diff --git a/indent/javascript.vim b/indent/javascript.vim index 9720c7f8..446b4343 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -2,7 +2,7 @@ " Language: Javascript " Maintainer: Chris Paul ( https://github.com/bounceme ) " URL: https://github.com/pangloss/vim-javascript -" Last Change: October 9, 2016 +" Last Change: October 12, 2016 " Only load this indent file when no other was loaded. if exists('b:did_indent') @@ -38,7 +38,6 @@ else endif let s:line_pre = '^\s*\%(\%(\%(\/\*.\{-}\)\=\*\+\/\s*\)\=\)\@>' -let s:line_term = '\s*\%(\%(\/\%(\%(\*.\{-}\*\/\)\|\%(\*\+\)\)\)\s*\)\=$' let s:expr_case = '\<\%(\%(case\>\s*\S.\{-}\)\|default\)\s*:\C' " Regex of syntax group names that are or delimit string or are comments. @@ -130,25 +129,32 @@ endfunction " https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader function s:IsBlock() if getline(line('.'))[col('.')-1] == '{' - if search('\C\') ==# 'return' + return 0 + endif return expand('') !~# - \ '^\%(var\|const\|let\|\%(im\|ex\)port\|yield\|de\%(fault\|lete\)\|void\|t\%(ypeof\|hrow\)\|new\|in\%(stanceof\)\=\)$' + \ '^\%(var\|const\|let\|import\|export\|yield\|de\%(fault\|lete\)\|void\|t\%(ypeof\|hrow\)\|new\|in\%(stanceof\)\=\)$' elseif char == '>' - return search('=\%#','bW') || synIDattr(synID(line('.'),col('.'),0),'name') =~? 'flownoise' + return prechar == '=' || syn =~? '^jsflow' elseif char == ':' return strpart(getline(line('.')),0,col('.')) =~# s:expr_case . '$' - elseif char == '{' - return s:IsBlock() else - return char !~# '[-=~!<*+,./?^%|&\[(]' + return char !~# '[-=~!<*+,/?^%|&([]' endif else return 1