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 deleted file mode 100644 index a8988b5a..00000000 --- a/indent/liquid.vim +++ /dev/null @@ -1,67 +0,0 @@ -if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'liquid') != -1 - finish -endif - -" Vim indent file -" Language: Liquid -" Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2010 May 21 - -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 = exists('*shiftwidth') ? shiftwidth() : &sw - 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 |