diff options
| -rw-r--r-- | README.md | 3 | ||||
| -rwxr-xr-x | build | 1 | ||||
| -rw-r--r-- | ftdetect/polyglot.vim | 7 | ||||
| -rw-r--r-- | ftplugin/razor.vim | 30 | ||||
| -rw-r--r-- | indent/razor.vim | 14 | ||||
| -rw-r--r-- | syntax/razor.vim | 56 | 
6 files changed, 110 insertions, 1 deletions
| @@ -10,7 +10,7 @@ A collection of language packs for Vim.  > One to rule them all, one to find them, one to bring them all and in the darkness bind them.  - It **won't affect your startup time**, as scripts are loaded only on demand\*. -- It **installs and updates 120+ times faster** than the <!--Package Count-->146<!--/Package Count--> packages it consists of. +- It **installs and updates 120+ times faster** than the <!--Package Count-->147<!--/Package Count--> packages it consists of.  - Solid syntax and indentation support (other features skipped). Only the best language packs.  - All unnecessary files are ignored (like enormous documentation from php support).  - No support for esoteric languages, only most popular ones (modern too, like `slim`). @@ -149,6 +149,7 @@ If you need full functionality of any plugin, please use it directly with your p  - [racket](https://github.com/wlangstroth/vim-racket) (syntax, indent, ftplugin)  - [ragel](https://github.com/jneen/ragel.vim) (syntax)  - [raml](https://github.com/IN3D/vim-raml) (syntax, ftplugin) +- [razor](https://github.com/adamclerk/vim-razor) (syntax, indent, ftplugin)  - [reason](https://github.com/reasonml-editor/vim-reason-plus) (syntax, indent)  - [rspec](https://github.com/keith/rspec.vim) (syntax)  - [rst](https://github.com/marshallward/vim-restructuredtext) (syntax, indent, autoload, ftplugin) @@ -267,6 +267,7 @@ PACKS="    racket:wlangstroth/vim-racket    ragel:jneen/ragel.vim    raml:IN3D/vim-raml +  razor:adamclerk/vim-razor    reason:reasonml-editor/vim-reason-plus    rspec:keith/rspec.vim    rst:marshallward/vim-restructuredtext diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 85259f4f..d8f2679c 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -1174,6 +1174,13 @@ au BufRead,BufNewFile *.raml set ft=raml    augroup end  endif +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'razor') == -1 +  augroup filetypedetect +  " razor, from razor.vim in adamclerk/vim-razor +autocmd BufNewFile,BufRead *.cshtml setf razor +  augroup end +endif +  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'reason') == -1    augroup filetypedetect    " reason, from reason.vim in reasonml-editor/vim-reason-plus diff --git a/ftplugin/razor.vim b/ftplugin/razor.vim new file mode 100644 index 00000000..76348dd0 --- /dev/null +++ b/ftplugin/razor.vim @@ -0,0 +1,30 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'razor') == -1 + +" 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 +:UltiSnipsAddFiletypes razor.html + +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 + +"let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' + +" vim:set sw=2: + +endif diff --git a/indent/razor.vim b/indent/razor.vim new file mode 100644 index 00000000..d3990890 --- /dev/null +++ b/indent/razor.vim @@ -0,0 +1,14 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'razor') == -1 + +" Vim indent file +" Language:	    Razor +" Maintainer:	Adam Clark <adamclerk@gmail.com> +" Last Change:	2013 Jan 24 + +if exists("b:did_indent") +  finish +endif +runtime! indent/html.vim +runtime! indent/javscript.vim + +endif diff --git a/syntax/razor.vim b/syntax/razor.vim new file mode 100644 index 00000000..af18d75c --- /dev/null +++ b/syntax/razor.vim @@ -0,0 +1,56 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'razor') == -1 + +if exists("b:current_syntax") +  finish +endif + +runtime! syntax/html.vim + +"razor +syn cluster rBlocks add=rCodeBlock,rCodeLine,rComment,rInherits,rUsing +syn match rCodeLine "@[a-zA-Z0-9_\.()]*" containedin=ALLBUT,@rBlocks +syn region rCodeBlock start="@{" end="}" contains=@rcsAll containedin=ALLBUT,@rBlocks keepend +syn region rComment start="@\*" end="\*@" contains=rcsComment containedin=ALLBUT,@rBlocks keepend + +"not recursive for namespaces with generic types +syn region rInherits start="^@inherits" end="$" containedin=ALLBUT,@rBlocks +syn match rNamespacedGenericType "\s\+\w\+\(\.\w\+\)*\(<\w\+\(\.\w\+\)*>\)\?" containedin=rInherits contained + +syn region rUsing start="^@using " end="$" containedin=ALLBUT,@rBlocks +syn match rNamespace "\s\+\w\+\(\.\w\+\)*" containedin=rUsing contained + +syn match rCodeInCodeBlock "[a-zA-Z]\+" containedin=rCodeBlock contained + + +"cs +syn keyword rcsType	contained bool byte char decimal double float int +syn keyword rcsType contained long object sbyte short string uint ulong +syn keyword rcsType contained ushort void var +syn keyword rcsRepeat contained break continue do for foreach goto return +syn keyword rcsRepeat contained while yield +syn keyword rcsConditional contained if else switch +syn keyword rcsLabel contained case default +syn region rcsComment start="/\*" end="\*/" contained +syn match rcsComment "//.*$" contained +syn cluster rcsAll add=rcsType,rcsRepeat,rcsConditional,rcsLabel,rcsComment + +"Highlighting +"cs +hi def link rcsType Type +hi def link rcsRepeat Repeat +hi def link rcsConditional Conditional +hi def link rcsLabel Label +hi def link rcsComment Comment + +"razor +hi def link rCodeLine Special +hi def link rComment Comment +hi def link rInherits Preproc +hi def link rNamespacedGenericType Type +hi def link rUsing Preproc +hi def link rNamespace Type + +let b:current_syntax = "razor" + + +endif | 
