diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2022-03-12 15:46:18 +0100 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2022-03-12 15:46:18 +0100 |
commit | a4f98d2a9e9dfeb110d4a910ea177432fec88b81 (patch) | |
tree | 0da567e3f00dd1da076f5fb45331c24e4a90a646 /indent | |
parent | 83422e0a1fcfc88f3475104b0e0674e8dbe3130e (diff) | |
download | vim-polyglot-a4f98d2a9e9dfeb110d4a910ea177432fec88b81.tar.gz vim-polyglot-a4f98d2a9e9dfeb110d4a910ea177432fec88b81.zip |
Update
Diffstat (limited to 'indent')
-rw-r--r-- | indent/julia.vim | 6 | ||||
-rw-r--r-- | indent/svelte.vim | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/indent/julia.vim b/indent/julia.vim index 9f7c4dd0..fabef022 100644 --- a/indent/julia.vim +++ b/indent/julia.vim @@ -92,7 +92,7 @@ function GetJuliaNestingStruct(lnum, ...) let i = JuliaMatch(a:lnum, line, '\<else\>', s) if i >= 0 && i == fb let s = i+1 - if len(blocks_stack) > 0 && blocks_stack[-1] =~# '\<\%(else\)\=if\>' + if len(blocks_stack) > 0 && blocks_stack[-1] =~# '\<\%(\%(else\)\=if\|catch\)\>' let blocks_stack[-1] = 'else' else call add(blocks_stack, 'else') @@ -110,7 +110,7 @@ function GetJuliaNestingStruct(lnum, ...) let i = JuliaMatch(a:lnum, line, '\<catch\>', s) if i >= 0 && i == fb let s = i+1 - if len(blocks_stack) > 0 && blocks_stack[-1] == 'try' + if len(blocks_stack) > 0 && blocks_stack[-1] =~# '\<\%(try\|finally\)\>' let blocks_stack[-1] = 'catch' else call add(blocks_stack, 'catch') @@ -121,7 +121,7 @@ function GetJuliaNestingStruct(lnum, ...) let i = JuliaMatch(a:lnum, line, '\<finally\>', s) if i >= 0 && i == fb let s = i+1 - if len(blocks_stack) > 0 && (blocks_stack[-1] == 'try' || blocks_stack[-1] == 'catch') + if len(blocks_stack) > 0 && blocks_stack[-1] =~# '\<\%(try\|catch\|else\)\>' let blocks_stack[-1] = 'finally' else call add(blocks_stack, 'finally') diff --git a/indent/svelte.vim b/indent/svelte.vim index 147df65b..bae715df 100644 --- a/indent/svelte.vim +++ b/indent/svelte.vim @@ -119,7 +119,7 @@ function! GetSvelteIndent() let cursyns = s:SynsSOL(v:lnum) let cursyn = get(cursyns, 0, '') - if s:SynHTML(cursyn) + if s:SynHTML(cursyn) && !s:IsMultipleLineSvelteExpression(curline, cursyns) call s:Log('syntax: html') let ind = XmlIndentGet(v:lnum, 0) if prevline =~? s:empty_tag @@ -233,6 +233,20 @@ function! s:SynHTML(syn) return a:syn ==? 'htmlSvelteTemplate' endfunction +function! s:IsMultipleLineSvelteExpression(curline, syns) + if a:curline =~ '^\s*{.*}\s*$' + return 0 + endif + + for syn in a:syns + if syn ==? 'svelteExpression' + return 1 + endif + endfor + + return 0 +endfunction + function! s:SynBlockBody(syn) return a:syn ==? 'svelteBlockBody' endfunction |