From 01fe1500df97577452f755b526c09d8ed0c802ea Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 12 Sep 2013 16:17:03 +0200 Subject: Add support for basic languages coffee, cucumbeer, eruby, haml, haskell, javascript, json, less, nginx, ocaml, ruby, sass, scss, slim, stylus, textile, tmux --- after/indent/html.vim | 33 +++++++++++++++++++++++++++++++++ after/syntax/coffee.vim | 21 +++++++++++++++++++++ after/syntax/haml.vim | 13 +++++++++++++ after/syntax/html.vim | 11 +++++++++++ after/syntax/ruby.vim | 20 ++++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 after/indent/html.vim create mode 100644 after/syntax/coffee.vim create mode 100644 after/syntax/haml.vim create mode 100644 after/syntax/html.vim create mode 100644 after/syntax/ruby.vim (limited to 'after') 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 +" 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('', '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 diff --git a/after/syntax/coffee.vim b/after/syntax/coffee.vim new file mode 100644 index 00000000..92b83596 --- /dev/null +++ b/after/syntax/coffee.vim @@ -0,0 +1,21 @@ +" This file describes a very basic syntax for TomDoc comments in a +" CoffeeScript file. +" +" For more information on TomDoc, check it out here: http://tomdoc.org/ +" + +syn keyword tomdocKeywords Returns containedin=coffeeComment contained +syn keyword tomdocKeywords Yields containedin=coffeeComment contained +syn keyword tomdocKeywords Raises containedin=coffeeComment contained +syn keyword tomdocKeywords Examples containedin=coffeeComment contained +syn keyword tomdocKeywords Signature containedin=coffeeComment contained + +syn match tomdocArguments +\s*[A-Za-z0-9_\-&\*:]*\(\s*- \)+he=e-3 containedin=coffeeComment contained + +syn match tomdocDescriptions +\s*Public:+he=e-1 containedin=coffeeComment contained +syn match tomdocDescriptions +\s*Internal:+he=e-1 containedin=coffeeComment contained +syn match tomdocDescriptions +\s*Deprecated:+he=e-1 containedin=coffeeComment contained + +hi default link tomdocDescriptions TODO +hi default link tomdocKeywords TODO +hi default link tomdocArguments HELP diff --git a/after/syntax/haml.vim b/after/syntax/haml.vim new file mode 100644 index 00000000..4c517ebb --- /dev/null +++ b/after/syntax/haml.vim @@ -0,0 +1,13 @@ +" Language: CoffeeScript +" Maintainer: Sven Felix Oberquelle +" URL: http://github.com/kchmck/vim-coffee-script +" License: WTFPL + +" Inherit coffee from html so coffeeComment isn't redefined and given higher +" priority than hamlInterpolation. +syn cluster hamlCoffeescript contains=@htmlCoffeeScript +syn region hamlCoffeescriptFilter matchgroup=hamlFilter +\ start="^\z(\s*\):coffee\z(script\)\?\s*$" +\ end="^\%(\z1 \| *$\)\@!" +\ contains=@hamlCoffeeScript,hamlInterpolation +\ keepend diff --git a/after/syntax/html.vim b/after/syntax/html.vim new file mode 100644 index 00000000..9e2eb3a1 --- /dev/null +++ b/after/syntax/html.vim @@ -0,0 +1,11 @@ +" Language: CoffeeScript +" Maintainer: Mick Koch +" URL: http://github.com/kchmck/vim-coffee-script +" License: WTFPL + +" Syntax highlighting for text/coffeescript script tags +syn include @htmlCoffeeScript syntax/coffee.vim +syn region coffeeScript start=##me=s-1 keepend +\ contains=@htmlCoffeeScript,htmlScriptTag,@htmlPreproc +\ containedin=htmlHead diff --git a/after/syntax/ruby.vim b/after/syntax/ruby.vim new file mode 100644 index 00000000..1d164fdf --- /dev/null +++ b/after/syntax/ruby.vim @@ -0,0 +1,20 @@ +" This file describes a very basic syntax for TomDoc comments in a Ruby file. +" +" For more information on TomDoc, check it out here: http://tomdoc.org/ +" + +syn keyword tomdocKeywords Returns containedin=rubyComment contained +syn keyword tomdocKeywords Yields containedin=rubyComment contained +syn keyword tomdocKeywords Raises containedin=rubyComment contained +syn keyword tomdocKeywords Examples containedin=rubyComment contained +syn keyword tomdocKeywords Signature containedin=rubyComment contained + +syn match tomdocArguments +\s*[A-Za-z0-9_\-&\*:]*\(\s*- \)+he=e-3 containedin=rubyComment contained + +syn match tomdocDescriptions +\s*Public:+he=e-1 containedin=rubyComment contained +syn match tomdocDescriptions +\s*Internal:+he=e-1 containedin=rubyComment contained +syn match tomdocDescriptions +\s*Deprecated:+he=e-1 containedin=rubyComment contained + +hi default link tomdocDescriptions TODO +hi default link tomdocKeywords TODO +hi default link tomdocArguments HELP -- cgit v1.2.3