summaryrefslogtreecommitdiffstats
path: root/indent/haml.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-05-28 11:09:19 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-05-28 11:09:19 +0200
commit224a6348f99167c9d72b5922686d388ae872ff7e (patch)
tree328383c5ca7e8fa59a47ba5bb0709676c3964677 /indent/haml.vim
parent00c3f0294575a91524c3f3b6cba37839716b48a2 (diff)
downloadvim-polyglot-224a6348f99167c9d72b5922686d388ae872ff7e.tar.gz
vim-polyglot-224a6348f99167c9d72b5922686d388ae872ff7e.zip
Update
Diffstat (limited to 'indent/haml.vim')
-rw-r--r--indent/haml.vim78
1 files changed, 0 insertions, 78 deletions
diff --git a/indent/haml.vim b/indent/haml.vim
deleted file mode 100644
index ea6f5d17..00000000
--- a/indent/haml.vim
+++ /dev/null
@@ -1,78 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
-
-" Vim indent file
-" Language: Haml
-" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
-" Last Change: 2017 Jun 13
-
-if exists("b:did_indent")
- finish
-endif
-runtime! indent/ruby.vim
-unlet! b:did_indent
-let b:did_indent = 1
-
-setlocal autoindent
-setlocal indentexpr=GetHamlIndent()
-setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when
-
-" Only define the function once.
-if exists("*GetHamlIndent")
- finish
-endif
-
-let s:attributes = '\%({.\{-\}}\|\[.\{-\}\]\)'
-let s:tag = '\%([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*'
-
-if !exists('g:haml_self_closing_tags')
- let g:haml_self_closing_tags = 'base|link|meta|br|hr|img|input'
-endif
-
-function! GetHamlIndent()
- let lnum = prevnonblank(v:lnum-1)
- if lnum == 0
- return 0
- endif
- let line = substitute(getline(lnum),'\s\+$','','')
- let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','')
- let lastcol = strlen(line)
- let line = substitute(line,'^\s\+','','')
- let indent = indent(lnum)
- let cindent = indent(v:lnum)
- let sw = shiftwidth()
- if cline =~# '\v^-\s*%(elsif|else|when)>'
- let indent = cindent < indent ? cindent : indent - sw
- endif
- let increase = indent + sw
- if indent == indent(lnum)
- let indent = cindent <= indent ? -1 : increase
- endif
-
- let group = synIDattr(synID(lnum,lastcol,1),'name')
-
- if line =~ '^!!!'
- return indent
- elseif line =~ '^/\%(\[[^]]*\]\)\=$'
- return increase
- elseif group == 'hamlFilter'
- return increase
- elseif line =~ '^'.s:tag.'[&!]\=[=~-]\s*\%(\%(if\|else\|elsif\|unless\|case\|when\|while\|until\|for\|begin\|module\|class\|def\)\>\%(.*\<end\>\)\@!\|.*do\%(\s*|[^|]*|\)\=\s*$\)'
- return increase
- elseif line =~ '^'.s:tag.'[&!]\=[=~-].*,\s*$'
- return increase
- elseif line == '-#'
- return increase
- elseif group =~? '\v^(hamlSelfCloser)$' || line =~? '^%\v%('.g:haml_self_closing_tags.')>'
- return indent
- elseif group =~? '\v^%(hamlTag|hamlAttributesDelimiter|hamlObjectDelimiter|hamlClass|hamlId|htmlTagName|htmlSpecialTagName)$'
- return increase
- elseif synIDattr(synID(v:lnum,1,1),'name') ==? 'hamlRubyFilter'
- return GetRubyIndent()
- else
- return indent
- endif
-endfunction
-
-" vim:set sw=2:
-
-endif