diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 16:17:03 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 16:17:03 +0200 |
commit | 01fe1500df97577452f755b526c09d8ed0c802ea (patch) | |
tree | 9e2e038630cc9e82abcd17da6dd3407a9b3bc62a /after/indent/html.vim | |
parent | dce12af91b404835938e95de9e6d839d52487ed5 (diff) | |
download | vim-polyglot-01fe1500df97577452f755b526c09d8ed0c802ea.tar.gz vim-polyglot-01fe1500df97577452f755b526c09d8ed0c802ea.zip |
Add support for basic languages
coffee, cucumbeer, eruby, haml, haskell, javascript,
json, less, nginx, ocaml, ruby, sass, scss, slim,
stylus, textile, tmux
Diffstat (limited to 'after/indent/html.vim')
-rw-r--r-- | after/indent/html.vim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/after/indent/html.vim b/after/indent/html.vim new file mode 100644 index 00000000..10ca6ce5 --- /dev/null +++ b/after/indent/html.vim @@ -0,0 +1,33 @@ +" Language: CoffeeScript +" Maintainer: Mick Koch <kchmck@gmail.com> +" URL: http://github.com/kchmck/vim-coffee-script +" License: WTFPL + +" Load the coffee and html indent functions. +unlet b:did_indent +runtime indent/coffee.vim +let s:coffeeIndentExpr = &l:indentexpr + +" Load html last so it can overwrite coffee settings. +unlet b:did_indent +runtime indent/html.vim +let s:htmlIndentExpr = &l:indentexpr + +" Inject our wrapper indent function. +setlocal indentexpr=GetCoffeeHtmlIndent(v:lnum) + +function! GetCoffeeHtmlIndent(curlinenum) + " See if we're inside a coffeescript block. + let scriptlnum = searchpair('<script [^>]*type="text/coffeescript"[^>]*>', '', + \ '</script>', 'bWn') + let prevlnum = prevnonblank(a:curlinenum) + + " If we're in the script block and the previous line isn't the script tag + " itself, use coffee indenting. + if scriptlnum && scriptlnum != prevlnum + exec 'return ' s:coffeeIndentExpr + endif + + " Otherwise use html indenting. + exec 'return ' s:htmlIndentExpr +endfunction |