Update 2024-12-16 19:13 OpenBSD/amd64-t14
This commit is contained in:
51
.vim/pack/plugins/start/vim-hugo/indent/htmlhugo.vim
Normal file
51
.vim/pack/plugins/start/vim-hugo/indent/htmlhugo.vim
Normal file
@@ -0,0 +1,51 @@
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_indent = 1
|
||||
|
||||
if &l:indentexpr == ''
|
||||
if &l:cindent
|
||||
let &l:indentexpr = 'cindent(v:lnum)'
|
||||
else
|
||||
let &l:indentexpr = 'indent(prevnonblank(v:lnum-1))'
|
||||
endif
|
||||
endif
|
||||
let b:html_indentexpr = &l:indentexpr
|
||||
|
||||
runtime! indent/html.vim
|
||||
|
||||
setlocal indentexpr=GetHugoIndent()
|
||||
setlocal indentkeys+==else,=end,=if,=range,=with,=define,=block
|
||||
|
||||
" Only define the function once.
|
||||
if exists('*GetHugoIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! GetHugoIndent()
|
||||
if exists('*HtmlIndent')
|
||||
let l:ind = HtmlIndent()
|
||||
else
|
||||
let l:ind = HtmlIndentGet(v:lnum)
|
||||
endif
|
||||
|
||||
if exists('*shiftwidth')
|
||||
let l:sw = shiftwidth()
|
||||
else
|
||||
let l:sw = &sw
|
||||
endif
|
||||
|
||||
let l:last_line = getline(v:lnum-1)
|
||||
if l:last_line =~# '^\s*{{-\=\s*\%(if\|else\|range\|with\|define\|block\).*}}' && l:last_line !~# '{{-\=\s*end\s*-\=}}'
|
||||
let l:ind += l:sw
|
||||
endif
|
||||
|
||||
let l:current_line = getline(v:lnum)
|
||||
if l:current_line =~# '^\s*{{-\=\s*\%(else\|end\).*}}'
|
||||
let l:ind -= l:sw
|
||||
endif
|
||||
|
||||
return l:ind
|
||||
endfunction
|
||||
Reference in New Issue
Block a user