summaryrefslogtreecommitdiffstats
path: root/indent
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2022-03-12 15:46:18 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2022-03-12 15:46:18 +0100
commita4f98d2a9e9dfeb110d4a910ea177432fec88b81 (patch)
tree0da567e3f00dd1da076f5fb45331c24e4a90a646 /indent
parent83422e0a1fcfc88f3475104b0e0674e8dbe3130e (diff)
downloadvim-polyglot-a4f98d2a9e9dfeb110d4a910ea177432fec88b81.tar.gz
vim-polyglot-a4f98d2a9e9dfeb110d4a910ea177432fec88b81.zip
Update
Diffstat (limited to 'indent')
-rw-r--r--indent/julia.vim6
-rw-r--r--indent/svelte.vim16
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