diff options
Diffstat (limited to 'indent/liquid.vim')
| -rw-r--r-- | indent/liquid.vim | 67 | 
1 files changed, 0 insertions, 67 deletions
| diff --git a/indent/liquid.vim b/indent/liquid.vim index 5c95a641..1f12eec5 100644 --- a/indent/liquid.vim +++ b/indent/liquid.vim @@ -1,70 +1,3 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim indent file -" Language:     Liquid -" Maintainer:   Tim Pope <vimNOSPAM@tpope.org> -" Last Change:	2017 Jun 13 - -if exists('b:did_indent') -  finish -endif - -set indentexpr= -if exists('b:liquid_subtype') -  exe 'runtime! indent/'.b:liquid_subtype.'.vim' -else -  runtime! indent/html.vim -endif -unlet! b:did_indent - -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:liquid_subtype_indentexpr = &l:indentexpr - -let b:did_indent = 1 - -setlocal indentexpr=GetLiquidIndent() -setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=endif,=endunless,=endifchanged,=endcase,=endfor,=endtablerow,=endcapture,=else,=elsif,=when,=empty - -" Only define the function once. -if exists('*GetLiquidIndent') -  finish -endif - -function! s:count(string,pattern) -  let string = substitute(a:string,'\C'.a:pattern,"\n",'g') -  return strlen(substitute(string,"[^\n]",'','g')) -endfunction - -function! GetLiquidIndent(...) -  if a:0 && a:1 == '.' -    let v:lnum = line('.') -  elseif a:0 && a:1 =~ '^\d' -    let v:lnum = a:1 -  endif -  let vcol = col('.') -  call cursor(v:lnum,1) -  exe "let ind = ".b:liquid_subtype_indentexpr -  let lnum = prevnonblank(v:lnum-1) -  let line = getline(lnum) -  let cline = getline(v:lnum) -  let line  = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') -  let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') -  let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') -  let sw = shiftwidth() -  let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') -  let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') -  let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') -  let ind -= sw * s:count(cline,'{%\s*end\w*$') -  return ind -endfunction - -endif  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1  " Vim indent file | 
