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 | |
| 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')
| -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 | 
