Commits

Dave Vedder committed 58a3640

Added LESS syntax hilighting

Comments (0)

Files changed (6)

.vim/bundle/vim-less/README.md

+# VIM-LESS
+
+This vim bundle adds syntax highlighting, indenting and autocompletion for the dynamic stylesheet language [LESS](http://lesscss.org).
+
+This bundle is compatible with [vim-css-color](https://github.com/skammer/vim-css-color),
+[vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax) and possibly other plugins that place code
+in `after/syntax/css.vim` or `after/syntax/css/*.vim`.
+
+![vim-less with vim-css-color and vim-css3-syntax (colorscheme solarized)](https://github.com/lenniboy/vim-less/raw/master/screenshot.png)
+
+
+## Installing and Using
+
+- Install [pathogen](http://www.vim.org/scripts/script.php?script_id=2332) into `~/.vim/autoload/` and add the
+   following line to your `~/.vimrc`:
+
+        call pathogen#infect()
+
+- Make a clone of the `vim-less` repository:
+
+        $ mkdir -p ~/.vim/bundle
+        $ cd ~/.vim/bundle
+        $ git clone https://github.com/groenewege/vim-less
+
+- OR use [vundle](https://github.com/gmarik/vundle), adding this line to your `~/.vimrc`:
+
+        Bundle 'groenewege/vim-less'
+
+- OR use git submodules:
+
+        $ git submodule add https://github.com/groenewege/vim-less.git bundle/vim-less
+        $ git submodule init
+
+
+### Map
+.less to .css , lessc is required.
+
+    nnoremap ,m :w <BAR> !lessc % > %:t:r.css<CR><space>
+
+
+## Credits
+
+Inspiration from [vim-haml](https://github.com/tpope/vim-haml),
+[scss-syntax.vim](https://github.com/cakebaker/scss-syntax.vim) and
+[vim-less](https://github.com/lunaru/vim-less)
+
+## License ##
+
+MIT : [groenewege.mit-license.org](http://groenewege.mit-license.org/)

.vim/bundle/vim-less/ftdetect/less.vim

+autocmd BufNewFile,BufRead *.less setf less

.vim/bundle/vim-less/ftplugin/less.vim

+" Vim filetype plugin
+" Language:	    LessCSS
+" Author:	    Tim Pope <vimNOSPAM@tpope.org>
+" Maintainer:   Leonard Ehrenfried <leonard.ehrenfried@web.de>
+" Last Change:  2011 Sep 30
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<"
+
+setlocal iskeyword+=-
+setlocal commentstring=//\ %s
+setlocal define=^\\s*\\%(@mixin\\\|=\\)
+setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','')
+setlocal omnifunc=csscomplete#CompleteCSS
+setlocal suffixesadd=.less
+setlocal comments=s1:/*,mb:*,ex:*/
+
+let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
+
+" vim:set sw=2:

.vim/bundle/vim-less/indent/less.vim

+" Vim indent file
+" Language:	    LessCSS
+" Maintainer:	Leonard Ehrenfried <leonard.ehrenfried@web.de>
+" Last Change:	2011 Sep 26
+
+if exists("b:did_indent")
+  finish
+endif
+
+runtime! indent/css.vim
+

.vim/bundle/vim-less/screenshot.png

Added
New image

.vim/bundle/vim-less/syntax/less.vim

+if exists("b:current_syntax")
+  finish
+endif
+
+runtime! syntax/css.vim
+runtime! after/syntax/css.vim
+" load files from vim-css3-syntax plugin (https://github.com/hail2u/vim-css3-syntax)
+runtime! after/syntax/css/*.vim
+
+syn case ignore
+
+syn region lessDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssTagName,cssPseudoClass,cssUrl,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,lessDefinition,lessComment,lessClassChar,lessVariable,lessMixinChar,lessAmpersandChar,lessFunction,lessNestedSelector,@cssColors fold
+
+syn match lessVariable "@[[:alnum:]_-]\+" contained
+syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessVariableAssignment skipwhite
+syn match lessVariableAssignment ":" contained nextgroup=lessVariableValue skipwhite
+syn match lessVariableValue ".*;"me=e-1 contained contains=lessVariable,lessOperator,lessDefault,cssValue.*,@cssColors "me=e-1 means that the last char of the pattern is not highlighted
+
+syn match lessOperator "+" contained
+syn match lessOperator "-" contained
+syn match lessOperator "/" contained
+syn match lessOperator "*" contained
+
+syn match lessNestedSelector "[^/]* {"me=e-1 contained contains=cssTagName,cssAttributeSelector,lessAmpersandChar,lessVariable,lessMixinChar,lessFunction,lessNestedProperty
+syn match lessNestedProperty "[[:alnum:]]\+:"me=e-1 contained
+
+syn match lessDefault "!default" contained
+
+syn match lessMixinChar "\.[[:alnum:]_-]\@=" contained nextgroup=lessClass
+syn match lessAmpersandChar "&" contained nextgroup=lessClass,cssPseudoClass
+syn match lessClass "[[:alnum:]_-]\+" contained
+
+" functions {{{
+
+" string functions
+syn keyword lessFunction escape e % containedin=cssDefinition contained
+" misc functions
+syn keyword lessFunction color unit containedin=cssDefinition contained
+" math functions
+syn keyword lessFunction ceil floor percentage round containedin=cssDefinition contained
+" color definition
+syn keyword lessFunction rgb rgba argb hsl hsla hsv hsva containedin=cssDefinition contained
+" color channel information
+syn keyword lessFunction hue saturation lightness red green blue alpha luma containedin=cssDefinition contained
+" color operations
+syn keyword lessFunction saturate desaturate lighten darken fadein fadeout fade spin mix greyscale contrast containedin=cssDefinition contained
+" color blending
+syn keyword lessFunction multiply screen overlay softlight hardlight difference exclusion average negation containedin=cssDefinition contained
+
+" }}}
+
+syn match lessComment "//.*$" contains=@Spell
+
+hi def link lessVariable Special
+hi def link lessVariableValue Constant
+hi def link lessDefault Special
+hi def link lessComment Comment
+hi def link lessFunction Function
+hi def link lessMixinChar Special
+hi def link lessAmpersandChar Special
+hi def link lessNestedProperty Type
+hi def link lessClass PreProc
+
+let b:current_syntax = "less"