mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 19:43:52 -05:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10b28c4175 | ||
|
|
95bc6710a4 | ||
|
|
94f72a68c3 | ||
|
|
9b3b092d15 | ||
|
|
959a2ffa3d |
11
README.md
11
README.md
@@ -25,21 +25,20 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
|
|
||||||
## Language packs
|
## Language packs
|
||||||
|
|
||||||
- [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, ftdetect)
|
- [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, indent, ftdetect)
|
||||||
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
||||||
- [c/c++](https://github.com/vim-jp/cpp-vim) (syntax)
|
- [c/c++](https://github.com/vim-jp/cpp-vim) (syntax)
|
||||||
- [clojure](https://github.com/guns/vim-clojure-static) (syntax, indent, autoload, ftplugin, ftdetect)
|
- [clojure](https://github.com/guns/vim-clojure-static) (syntax, indent, autoload, ftplugin, ftdetect)
|
||||||
- [coffee-script](https://github.com/kchmck/vim-coffee-script) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
- [coffee-script](https://github.com/kchmck/vim-coffee-script) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||||
- [css-color](https://github.com/gorodinskiy/vim-coloresque) (syntax)
|
|
||||||
- [csv](https://github.com/chrisbra/csv.vim) (syntax, ftplugin, ftdetect)
|
- [csv](https://github.com/chrisbra/csv.vim) (syntax, ftplugin, ftdetect)
|
||||||
- [cucumber](https://github.com/tpope/vim-cucumber) (syntax, indent, compiler, ftplugin, ftdetect)
|
- [cucumber](https://github.com/tpope/vim-cucumber) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||||
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
||||||
- [elixir](https://github.com/elixir-lang/vim-elixir) (syntax, indent, compiler, ftplugin, ftdetect)
|
- [elixir](https://github.com/elixir-lang/vim-elixir) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||||
- [erlang](https://github.com/oscarh/vimerl) (syntax, indent, compiler, autoload, ftplugin)
|
- [erlang](https://github.com/oscarh/vimerl) (syntax, indent, compiler, autoload, ftplugin)
|
||||||
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [go](https://github.com/jnwhiteh/vim-golang) (syntax, indent, autoload, ftplugin, ftdetect)
|
- [go](https://github.com/jnwhiteh/vim-golang) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||||
- [haml](https://github.com/tpope/vim-haml) (syntax, indent, compiler, ftplugin, ftdetect)
|
- [haml](https://github.com/tpope/vim-haml) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||||
- [handlebars](https://github.com/nono/vim-handlebars) (syntax, ftplugin, ftdetect)
|
- [handlebars](https://github.com/mustache/vim-mustache-handlebars) (syntax, ftplugin, ftdetect)
|
||||||
- [haskell](https://github.com/travitch/hasksyn) (syntax, indent, ftplugin)
|
- [haskell](https://github.com/travitch/hasksyn) (syntax, indent, ftplugin)
|
||||||
- [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload)
|
- [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload)
|
||||||
- [jade](https://github.com/digitaltoad/vim-jade) (syntax, indent, ftplugin, ftdetect)
|
- [jade](https://github.com/digitaltoad/vim-jade) (syntax, indent, ftplugin, ftdetect)
|
||||||
@@ -52,7 +51,8 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
- [nginx](https://github.com/mutewinter/nginx.vim) (syntax, ftdetect)
|
- [nginx](https://github.com/mutewinter/nginx.vim) (syntax, ftdetect)
|
||||||
- [ocaml](https://github.com/jrk/vim-ocaml) (syntax, indent, ftplugin)
|
- [ocaml](https://github.com/jrk/vim-ocaml) (syntax, indent, ftplugin)
|
||||||
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
||||||
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
|
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin, ftdetect)
|
||||||
|
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [php](https://github.com/StanAngeloff/php.vim) (syntax)
|
- [php](https://github.com/StanAngeloff/php.vim) (syntax)
|
||||||
- [puppet](https://github.com/ajf/puppet-vim) (syntax, indent, ftplugin, ftdetect)
|
- [puppet](https://github.com/ajf/puppet-vim) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [protobuf](https://github.com/uarun/vim-protobuf) (syntax, ftdetect)
|
- [protobuf](https://github.com/uarun/vim-protobuf) (syntax, ftdetect)
|
||||||
@@ -72,6 +72,7 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
|
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
|
||||||
- [twig](https://github.com/beyondwords/vim-twig) (syntax, ftplugin, ftdetect)
|
- [twig](https://github.com/beyondwords/vim-twig) (syntax, ftplugin, ftdetect)
|
||||||
- [xls](https://github.com/vim-scripts/XSLT-syntax) (syntax)
|
- [xls](https://github.com/vim-scripts/XSLT-syntax) (syntax)
|
||||||
|
- [css-color](https://github.com/gorodinskiy/vim-coloresque) (syntax)
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,8 @@
|
|||||||
" \Cref, \cref, \cpageref, \labelcref, \labelcpageref
|
" \Cref, \cref, \cpageref, \labelcref, \labelcpageref
|
||||||
syn region texRefZone matchgroup=texStatement start="\\Cref{" end="}\|%stopzone\>" contains=@texRefGroup
|
syn region texRefZone matchgroup=texStatement start="\\Cref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||||
syn region texRefZone matchgroup=texStatement start="\\\(label\|\)c\(page\|\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
syn region texRefZone matchgroup=texStatement start="\\\(label\|\)c\(page\|\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||||
|
|
||||||
|
" adds support for listings package
|
||||||
|
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>"
|
||||||
|
syn region texZone start="\\lstinputlisting" end="{\s*[a-zA-Z/.0-9_^]\+\s*}"
|
||||||
|
syn match texInputFile "\\lstinline\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ function! clojurecomplete#Complete(findstart, base)
|
|||||||
if a:findstart
|
if a:findstart
|
||||||
return searchpos('\<', 'bnW', line('.'))[1] - 1
|
return searchpos('\<', 'bnW', line('.'))[1] - 1
|
||||||
else
|
else
|
||||||
return { 'words': filter(copy(s:words), 'v:val =~ "\\V\\^' . a:base . '"') }
|
return { 'words': filter(copy(s:words), 'v:val =~# "\\V\\^' . a:base . '"') }
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
1
build
1
build
@@ -92,6 +92,7 @@ PACKS="
|
|||||||
nginx:mutewinter/nginx.vim
|
nginx:mutewinter/nginx.vim
|
||||||
ocaml:jrk/vim-ocaml
|
ocaml:jrk/vim-ocaml
|
||||||
octave:vim-scripts/octave.vim--
|
octave:vim-scripts/octave.vim--
|
||||||
|
opencl:petRUShka/vim-opencl
|
||||||
perl:vim-perl/vim-perl
|
perl:vim-perl/vim-perl
|
||||||
php:StanAngeloff/php.vim
|
php:StanAngeloff/php.vim
|
||||||
puppet:ajf/puppet-vim
|
puppet:ajf/puppet-vim
|
||||||
|
|||||||
@@ -20,10 +20,7 @@ autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules set ft=gitconfig
|
|||||||
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
||||||
autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
|
autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
|
||||||
autocmd BufNewFile,BufRead git-rebase-todo set ft=gitrebase
|
autocmd BufNewFile,BufRead git-rebase-todo set ft=gitrebase
|
||||||
autocmd BufNewFile,BufRead .msg.[0-9]*
|
autocmd BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail
|
||||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
|
||||||
\ set ft=gitsendemail |
|
|
||||||
\ endif
|
|
||||||
autocmd BufNewFile,BufRead *.git/**
|
autocmd BufNewFile,BufRead *.git/**
|
||||||
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
|
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
|
||||||
\ set ft=git |
|
\ set ft=git |
|
||||||
@@ -85,10 +82,11 @@ if has("autocmd")
|
|||||||
au BufNewFile,BufRead *.mustache,*.handlebars,*.hbs,*.hogan,*.hulk,*.hjs set filetype=html syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
au BufNewFile,BufRead *.mustache,*.handlebars,*.hbs,*.hogan,*.hulk,*.hjs set filetype=html syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||||
endif
|
endif
|
||||||
au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/*,*/nginx/vhosts.d/*,nginx.conf if &ft == '' | setfiletype nginx | endif
|
au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/*,*/nginx/vhosts.d/*,nginx.conf if &ft == '' | setfiletype nginx | endif
|
||||||
|
au BufRead,BufNewFile *.cl set filetype=opencl
|
||||||
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
||||||
au BufRead,BufNewFile *.pp set filetype=puppet
|
au BufRead,BufNewFile *.pp set filetype=puppet
|
||||||
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set filetype=ruby
|
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set filetype=ruby
|
||||||
au BufNewFile,BufRead *.builder,*.rxml,*.rjs set filetype=ruby
|
au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby set filetype=ruby
|
||||||
au BufNewFile,BufRead [rR]akefile,*.rake set filetype=ruby
|
au BufNewFile,BufRead [rR]akefile,*.rake set filetype=ruby
|
||||||
au BufNewFile,BufRead [rR]antfile,*.rant set filetype=ruby
|
au BufNewFile,BufRead [rR]antfile,*.rant set filetype=ruby
|
||||||
au BufNewFile,BufRead .irbrc,irbrc set filetype=ruby
|
au BufNewFile,BufRead .irbrc,irbrc set filetype=ruby
|
||||||
@@ -108,6 +106,7 @@ au BufNewFile,BufRead *.jbuilder set filetype=ruby
|
|||||||
au BufNewFile,BufRead Puppetfile set filetype=ruby
|
au BufNewFile,BufRead Puppetfile set filetype=ruby
|
||||||
au BufNewFile,BufRead [Bb]uildfile set filetype=ruby
|
au BufNewFile,BufRead [Bb]uildfile set filetype=ruby
|
||||||
au BufNewFile,BufRead Appraisals set filetype=ruby
|
au BufNewFile,BufRead Appraisals set filetype=ruby
|
||||||
|
au BufNewFile,BufRead Podfile,*.podspec set filetype=ruby
|
||||||
au BufRead,BufNewFile *.rs set filetype=rust
|
au BufRead,BufNewFile *.rs set filetype=rust
|
||||||
au BufRead,BufNewFile *.sbt set filetype=sbt
|
au BufRead,BufNewFile *.sbt set filetype=sbt
|
||||||
fun! s:DetectScala()
|
fun! s:DetectScala()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ let b:did_ftplugin = 1
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
|
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<'
|
||||||
|
|
||||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||||
|
|
||||||
@@ -30,6 +30,21 @@ setlocal formatoptions-=t
|
|||||||
setlocal comments=n:;
|
setlocal comments=n:;
|
||||||
setlocal commentstring=;\ %s
|
setlocal commentstring=;\ %s
|
||||||
|
|
||||||
|
" Specially indented symbols from clojure.core and clojure.test.
|
||||||
|
"
|
||||||
|
" Clojure symbols are indented in the defn style when they:
|
||||||
|
"
|
||||||
|
" * Define vars and anonymous functions
|
||||||
|
" * Create new lexical scopes or scopes with altered environments
|
||||||
|
" * Create conditional branches from a predicate function or value
|
||||||
|
"
|
||||||
|
" The arglists for these functions are generally in the form of [x & body];
|
||||||
|
" Functions that accept a flat list of forms do not treat the first argument
|
||||||
|
" specially and hence are not indented specially.
|
||||||
|
"
|
||||||
|
" Generated from https://github.com/guns/vim-clojure-static/blob/%%RELEASE_TAG%%/clj/src/vim_clojure_static/generate.clj
|
||||||
|
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doall,dorun,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||||
|
|
||||||
" Provide insert mode completions for special forms and clojure.core. As
|
" Provide insert mode completions for special forms and clojure.core. As
|
||||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||||
" 'completefunc' so that the user has some form of completion available when
|
" 'completefunc' so that the user has some form of completion available when
|
||||||
|
|||||||
@@ -11,10 +11,10 @@
|
|||||||
" though, implementation differs.
|
" though, implementation differs.
|
||||||
|
|
||||||
" Plugin folklore "{{{2
|
" Plugin folklore "{{{2
|
||||||
if v:version < 700 || exists('b:did_csv_ftplugin')
|
if v:version < 700 || exists('b:did_ftplugin')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let b:did_csv_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
@@ -2381,11 +2381,12 @@ fu! <sid>SubstituteInColumn(command, line1, line2) range "{{{3
|
|||||||
endfu
|
endfu
|
||||||
|
|
||||||
fu! <sid>ColumnMode() "{{{3
|
fu! <sid>ColumnMode() "{{{3
|
||||||
if mode() =~# 'R'
|
let mode = mode()
|
||||||
|
if mode =~# 'R'
|
||||||
" (virtual) Replace mode
|
" (virtual) Replace mode
|
||||||
let new_line = (line('.') == line('$') ||
|
let new_line = (line('.') == line('$') ||
|
||||||
\ (synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name") !~# "comment"))
|
\ (synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name") =~? "comment"))
|
||||||
return "\<ESC>". (new_line ? "o" : "JE".mode())
|
return "\<ESC>g`[". (new_line ? "o" : "J".mode)
|
||||||
else
|
else
|
||||||
return "\<CR>"
|
return "\<CR>"
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ function! LatexBox_GetMainTexFile()
|
|||||||
endfor
|
endfor
|
||||||
|
|
||||||
" 3. scan current file for "\begin{document}"
|
" 3. scan current file for "\begin{document}"
|
||||||
if &filetype == 'tex' && search('\C\\begin\_\s*{document}', 'nw') != 0
|
if &filetype == 'tex' && search('\m\C\\begin\_\s*{document}', 'nw') != 0
|
||||||
return expand('%:p')
|
return expand('%:p')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -106,13 +106,13 @@ function! LatexBox_Complete(findstart, base)
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
let line_start = line[:pos-1]
|
let line_start = line[:pos-1]
|
||||||
if line_start =~ '\C\\begin\_\s*{$'
|
if line_start =~ '\m\C\\begin\_\s*{$'
|
||||||
let s:completion_type = 'begin'
|
let s:completion_type = 'begin'
|
||||||
elseif line_start =~ '\C\\end\_\s*{$'
|
elseif line_start =~ '\m\C\\end\_\s*{$'
|
||||||
let s:completion_type = 'end'
|
let s:completion_type = 'end'
|
||||||
elseif line_start =~ g:LatexBox_ref_pattern . '$'
|
elseif line_start =~ '\m' . g:LatexBox_ref_pattern . '$'
|
||||||
let s:completion_type = 'ref'
|
let s:completion_type = 'ref'
|
||||||
elseif line_start =~ g:LatexBox_cite_pattern . '$'
|
elseif line_start =~ '\m' . g:LatexBox_cite_pattern . '$'
|
||||||
let s:completion_type = 'bib'
|
let s:completion_type = 'bib'
|
||||||
" check for multiple citations
|
" check for multiple citations
|
||||||
let pos = col('.') - 1
|
let pos = col('.') - 1
|
||||||
@@ -369,7 +369,7 @@ function! s:ExtractLabels()
|
|||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if 0 == search( '{\w*{', 'ce', lblline )
|
if 0 == search( '\m{\w*{', 'ce', lblline )
|
||||||
let [lblline, lblbegin] = searchpos( '\\newlabel{', 'ecW' )
|
let [lblline, lblbegin] = searchpos( '\\newlabel{', 'ecW' )
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
@@ -382,7 +382,7 @@ function! s:ExtractLabels()
|
|||||||
endif
|
endif
|
||||||
let curnumber = strpart( getline( lblline ), numberbegin, numberend - numberbegin - 1 )
|
let curnumber = strpart( getline( lblline ), numberbegin, numberend - numberbegin - 1 )
|
||||||
|
|
||||||
if 0 == search( '\w*{', 'ce', lblline )
|
if 0 == search( '\m\w*{', 'ce', lblline )
|
||||||
let [lblline, lblbegin] = searchpos( '\\newlabel{', 'ecW' )
|
let [lblline, lblbegin] = searchpos( '\\newlabel{', 'ecW' )
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
@@ -755,6 +755,70 @@ function! s:PromptEnvWrapSelection(...)
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
" List Labels with Prompt {{{
|
||||||
|
function! s:PromptLabelList(...)
|
||||||
|
" Check if window already exists
|
||||||
|
let winnr = bufwinnr(bufnr('LaTeX Labels'))
|
||||||
|
if winnr >= 0
|
||||||
|
if a:0 == 0
|
||||||
|
silent execute winnr . 'wincmd w'
|
||||||
|
else
|
||||||
|
" Supplying an argument to this function causes toggling instead
|
||||||
|
" of jumping to the labels window
|
||||||
|
if g:LatexBox_split_resize
|
||||||
|
silent exe "set columns-=" . g:LatexBox_split_width
|
||||||
|
endif
|
||||||
|
silent execute 'bwipeout' . bufnr('LaTeX Labels')
|
||||||
|
endif
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Get label suggestions
|
||||||
|
let regexp = input('filter labels with regexp: ', '')
|
||||||
|
let labels = s:CompleteLabels(regexp)
|
||||||
|
|
||||||
|
let calling_buf = bufnr('%')
|
||||||
|
|
||||||
|
" Create labels window and set local settings
|
||||||
|
if g:LatexBox_split_resize
|
||||||
|
silent exe "set columns+=" . g:LatexBox_split_width
|
||||||
|
endif
|
||||||
|
silent exe g:LatexBox_split_side g:LatexBox_split_width . 'vnew LaTeX\ Labels'
|
||||||
|
let b:toc = []
|
||||||
|
let b:toc_numbers = 1
|
||||||
|
let b:calling_win = bufwinnr(calling_buf)
|
||||||
|
setlocal filetype=latextoc
|
||||||
|
|
||||||
|
" Add label entries and jump to the closest section
|
||||||
|
for entry in labels
|
||||||
|
let number = matchstr(entry['menu'], '^\s*(\zs[^)]\+\ze)')
|
||||||
|
let page = matchstr(entry['menu'], '^[^)]*)\s*\[\zs[^]]\+\ze\]')
|
||||||
|
let e = {'file': bufname(calling_buf),
|
||||||
|
\ 'level': 'label',
|
||||||
|
\ 'number': number,
|
||||||
|
\ 'text': entry['abbr'],
|
||||||
|
\ 'page': page}
|
||||||
|
call add(b:toc, e)
|
||||||
|
if b:toc_numbers
|
||||||
|
call append('$', e['number'] . "\t" . e['text'])
|
||||||
|
else
|
||||||
|
call append('$', e['text'])
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if !g:LatexBox_toc_hidehelp
|
||||||
|
call append('$', "")
|
||||||
|
call append('$', "<Esc>/q: close")
|
||||||
|
call append('$', "<Space>: jump")
|
||||||
|
call append('$', "<Enter>: jump and close")
|
||||||
|
call append('$', "s: hide numbering")
|
||||||
|
endif
|
||||||
|
0delete _
|
||||||
|
|
||||||
|
" Lock buffer
|
||||||
|
setlocal nomodifiable
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
" Change Environment {{{
|
" Change Environment {{{
|
||||||
function! s:ChangeEnvPrompt()
|
function! s:ChangeEnvPrompt()
|
||||||
|
|
||||||
@@ -858,4 +922,8 @@ nnoremap <silent> <Plug>LatexChangeEnv :call <SID>ChangeEnvPrompt()<CR>
|
|||||||
nnoremap <silent> <Plug>LatexToggleStarEnv :call <SID>LatexToggleStarEnv()<CR>
|
nnoremap <silent> <Plug>LatexToggleStarEnv :call <SID>LatexToggleStarEnv()<CR>
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
" Commands {{{
|
||||||
|
command! LatexLabels call <SID>PromptLabelList()
|
||||||
|
" }}}
|
||||||
|
|
||||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ endif
|
|||||||
if !exists('g:LatexBox_fold_envs')
|
if !exists('g:LatexBox_fold_envs')
|
||||||
let g:LatexBox_fold_envs=1
|
let g:LatexBox_fold_envs=1
|
||||||
endif
|
endif
|
||||||
|
if !exists('g:LatexBox_fold_envs_force')
|
||||||
|
let g:LatexBox_fold_envs_force = []
|
||||||
|
endif
|
||||||
if !exists('g:LatexBox_fold_parts')
|
if !exists('g:LatexBox_fold_parts')
|
||||||
let g:LatexBox_fold_parts=[
|
let g:LatexBox_fold_parts=[
|
||||||
\ "appendix",
|
\ "appendix",
|
||||||
@@ -159,11 +162,27 @@ function! LatexBox_FoldLevel(lnum)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Fold environments
|
" Fold environments
|
||||||
if g:LatexBox_fold_envs == 1
|
if line =~# s:envbeginpattern
|
||||||
if line =~# s:envbeginpattern
|
if g:LatexBox_fold_envs == 1
|
||||||
return "a1"
|
return "a1"
|
||||||
elseif line =~# s:envendpattern
|
else
|
||||||
|
let env = matchstr(line,'\\begin\*\?{\zs\w*\*\?\ze}')
|
||||||
|
if index(g:LatexBox_fold_envs_force, env) >= 0
|
||||||
|
return "a1"
|
||||||
|
else
|
||||||
|
return "="
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
elseif line =~# s:envendpattern
|
||||||
|
if g:LatexBox_fold_envs == 1
|
||||||
return "s1"
|
return "s1"
|
||||||
|
else
|
||||||
|
let env = matchstr(line,'\\end\*\?{\zs\w*\*\?\ze}')
|
||||||
|
if index(g:LatexBox_fold_envs_force, env) >= 0
|
||||||
|
return "s1"
|
||||||
|
else
|
||||||
|
return "="
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ map <buffer> <LocalLeader>lv :LatexView<CR>
|
|||||||
map <silent> <buffer> <LocalLeader>lt :LatexTOC<CR>
|
map <silent> <buffer> <LocalLeader>lt :LatexTOC<CR>
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
" List of labels {{{
|
||||||
|
map <silent> <buffer> <LocalLeader>lj :LatexLabels<CR>
|
||||||
|
" }}}
|
||||||
|
|
||||||
" Jump to match {{{
|
" Jump to match {{{
|
||||||
if !exists('g:LatexBox_loaded_matchparen')
|
if !exists('g:LatexBox_loaded_matchparen')
|
||||||
nmap <buffer> % <Plug>LatexBox_JumpToMatch
|
nmap <buffer> % <Plug>LatexBox_JumpToMatch
|
||||||
|
|||||||
15
ftplugin/opencl.vim
Normal file
15
ftplugin/opencl.vim
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
|
|
||||||
|
if version > 600
|
||||||
|
runtime! ftplugin/c.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Smaller tab stops.
|
||||||
|
setlocal tabstop=4
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
|
||||||
|
" Smart tabbing/indenting
|
||||||
|
setlocal smarttab
|
||||||
|
setlocal smartindent
|
||||||
|
|
||||||
|
let b:did_ftplugin = 1
|
||||||
@@ -34,6 +34,7 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
|||||||
let b:match_skip =
|
let b:match_skip =
|
||||||
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
|
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
|
||||||
\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
|
\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
|
||||||
|
\ "Regexp\\|RegexpDelimiter\\|" .
|
||||||
\ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
|
\ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
|
||||||
\ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
|
\ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
|
||||||
\ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
|
\ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Rust
|
" Language: Rust
|
||||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||||
" Last Change: 2013 Jul 10
|
" Last Change: 2014 Feb 27
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -42,4 +42,55 @@ if exists("g:loaded_delimitMate")
|
|||||||
let b:delimitMate_excluded_regions = delimitMate#Get("excluded_regions") . ',rustLifetimeCandidate,rustGenericLifetimeCandidate'
|
let b:delimitMate_excluded_regions = delimitMate#Get("excluded_regions") . ',rustLifetimeCandidate,rustGenericLifetimeCandidate'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:undo_ftplugin = "setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< | if exists('b:rust_original_delimitMate_excluded_regions') | let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions | unlet b:rust_original_delimitMate_excluded_regions | elseif exists('b:delimitMate_excluded_regions') | unlet b:delimitMate_excluded_regions | endif"
|
" Bind motion commands to support hanging indents
|
||||||
|
nnoremap <silent> <buffer> [[ :call <SID>Rust_Jump('n', 'Back')<CR>
|
||||||
|
nnoremap <silent> <buffer> ]] :call <SID>Rust_Jump('n', 'Forward')<CR>
|
||||||
|
xnoremap <silent> <buffer> [[ :call <SID>Rust_Jump('v', 'Back')<CR>
|
||||||
|
xnoremap <silent> <buffer> ]] :call <SID>Rust_Jump('v', 'Forward')<CR>
|
||||||
|
onoremap <silent> <buffer> [[ :call <SID>Rust_Jump('o', 'Back')<CR>
|
||||||
|
onoremap <silent> <buffer> ]] :call <SID>Rust_Jump('o', 'Forward')<CR>
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "
|
||||||
|
\setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd<
|
||||||
|
\|if exists('b:rust_original_delimitMate_excluded_regions')
|
||||||
|
\|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions
|
||||||
|
\|unlet b:rust_original_delimitMate_excluded_regions
|
||||||
|
\|elseif exists('b:delimitMate_excluded_regions')
|
||||||
|
\|unlet b:delimitMate_excluded_regions
|
||||||
|
\|endif
|
||||||
|
\|nunmap <buffer> [[
|
||||||
|
\|nunmap <buffer> ]]
|
||||||
|
\|xunmap <buffer> [[
|
||||||
|
\|xunmap <buffer> ]]
|
||||||
|
\|ounmap <buffer> [[
|
||||||
|
\|ounmap <buffer> ]]
|
||||||
|
\"
|
||||||
|
|
||||||
|
if exists('*<SID>Rust_Jump') | finish | endif
|
||||||
|
|
||||||
|
function! <SID>Rust_Jump(mode, function) range
|
||||||
|
let cnt = v:count1
|
||||||
|
normal! m'
|
||||||
|
if a:mode ==# 'v'
|
||||||
|
norm! gv
|
||||||
|
endif
|
||||||
|
let foldenable = &foldenable
|
||||||
|
set nofoldenable
|
||||||
|
while cnt > 0
|
||||||
|
execute "call <SID>Rust_Jump_" . a:function . "()"
|
||||||
|
let cnt = cnt - 1
|
||||||
|
endwhile
|
||||||
|
let &foldenable = foldenable
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! <SID>Rust_Jump_Back()
|
||||||
|
call search('{', 'b')
|
||||||
|
keepjumps normal! w99[{
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! <SID>Rust_Jump_Forward()
|
||||||
|
normal! j0
|
||||||
|
call search('{', 'b')
|
||||||
|
keepjumps normal! w99[{%
|
||||||
|
call search('{')
|
||||||
|
endfunction
|
||||||
|
|||||||
@@ -168,3 +168,27 @@ let g:tagbar_type_scala = {
|
|||||||
\ 'case class' : 'r'
|
\ 'case class' : 'r'
|
||||||
\ }
|
\ }
|
||||||
\ }
|
\ }
|
||||||
|
|
||||||
|
function! s:CreateOrExpression(keywords)
|
||||||
|
return '('.join(a:keywords, '|').')'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:NextSection(backwards)
|
||||||
|
if a:backwards
|
||||||
|
let dir = '?'
|
||||||
|
else
|
||||||
|
let dir = '/'
|
||||||
|
endif
|
||||||
|
let keywords = [ 'def', 'class', 'trait', 'object' ]
|
||||||
|
let keywordsOrExpression = s:CreateOrExpression(keywords)
|
||||||
|
|
||||||
|
let modifiers = [ 'public', 'private', 'private\[\w*\]', 'protected', 'abstract', 'case', 'override', 'implicit', 'final', 'sealed']
|
||||||
|
let modifierOrExpression = s:CreateOrExpression(modifiers)
|
||||||
|
|
||||||
|
let regex = '^ *('.modifierOrExpression.' )* *'.keywordsOrExpression."\r"
|
||||||
|
execute 'silent normal! ' . dir . '\v'.regex
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
noremap <script> <buffer> <silent> ]] :call <SID>NextSection(0)<cr>
|
||||||
|
|
||||||
|
noremap <script> <buffer> <silent> [[ :call <SID>NextSection(1)<cr>
|
||||||
|
|||||||
15
indent/arduino.vim
Normal file
15
indent/arduino.vim
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
" Vim indent file
|
||||||
|
" Language: Arduino
|
||||||
|
" Maintainer: Kevin Sjöberg <kev.sjoberg@gmail.com>
|
||||||
|
" Last Change: 2014 Feb 28
|
||||||
|
|
||||||
|
" Only load this indent file when no other was loaded.
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
" C++ indenting is built-in, thus this is very simple
|
||||||
|
setlocal cindent
|
||||||
|
|
||||||
|
let b:undo_indent = "setl cin<"
|
||||||
@@ -21,7 +21,7 @@ let b:did_indent = 1
|
|||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
let b:undo_indent = 'setlocal autoindent< smartindent< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||||
|
|
||||||
setlocal noautoindent nosmartindent
|
setlocal noautoindent nosmartindent
|
||||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||||
@@ -70,7 +70,7 @@ if exists("*searchpairpos")
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:IsParen()
|
function! s:IsParen()
|
||||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
||||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ if exists("*searchpairpos")
|
|||||||
\ ? a:patterns
|
\ ? a:patterns
|
||||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||||
for pat in list
|
for pat in list
|
||||||
if a:string =~ pat | return 1 | endif
|
if a:string =~# pat | return 1 | endif
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ if exists("*searchpairpos")
|
|||||||
|
|
||||||
call search('\S', 'W')
|
call search('\S', 'W')
|
||||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
||||||
if g:clojure_special_indent_words =~ '\<' . w . '\>'
|
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -280,7 +280,7 @@ if exists("*searchpairpos")
|
|||||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||||
let ww = s:StripNamespaceAndMacroChars(w)
|
let ww = s:StripNamespaceAndMacroChars(w)
|
||||||
|
|
||||||
if &lispwords =~ '\V\<' . ww . '\>'
|
if &lispwords =~# '\V\<' . ww . '\>'
|
||||||
return paren[1] + &shiftwidth - 1
|
return paren[1] + &shiftwidth - 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -312,85 +312,6 @@ else
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Specially indented symbols from clojure.core and clojure.test.
|
|
||||||
"
|
|
||||||
" Clojure symbols are indented in the defn style when they:
|
|
||||||
"
|
|
||||||
" * Define vars and anonymous functions
|
|
||||||
" * Create new lexical scopes or scopes with altered environments
|
|
||||||
" * Create conditional branches from a predicate function or value
|
|
||||||
"
|
|
||||||
" The arglists for these functions are generally in the form of [x & body];
|
|
||||||
" Functions that accept a flat list of forms do not treat the first argument
|
|
||||||
" specially and hence are not indented specially.
|
|
||||||
|
|
||||||
" Definitions
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal lispwords+=bound-fn
|
|
||||||
setlocal lispwords+=def
|
|
||||||
setlocal lispwords+=definline
|
|
||||||
setlocal lispwords+=definterface
|
|
||||||
setlocal lispwords+=defmacro
|
|
||||||
setlocal lispwords+=defmethod
|
|
||||||
setlocal lispwords+=defmulti
|
|
||||||
setlocal lispwords+=defn
|
|
||||||
setlocal lispwords+=defn-
|
|
||||||
setlocal lispwords+=defonce
|
|
||||||
setlocal lispwords+=defprotocol
|
|
||||||
setlocal lispwords+=defrecord
|
|
||||||
setlocal lispwords+=defstruct
|
|
||||||
setlocal lispwords+=deftest " clojure.test
|
|
||||||
setlocal lispwords+=deftest- " clojure.test
|
|
||||||
setlocal lispwords+=deftype
|
|
||||||
setlocal lispwords+=extend
|
|
||||||
setlocal lispwords+=extend-protocol
|
|
||||||
setlocal lispwords+=extend-type
|
|
||||||
setlocal lispwords+=fn
|
|
||||||
setlocal lispwords+=ns
|
|
||||||
setlocal lispwords+=proxy
|
|
||||||
setlocal lispwords+=reify
|
|
||||||
setlocal lispwords+=set-test " clojure.test
|
|
||||||
|
|
||||||
" Binding forms
|
|
||||||
setlocal lispwords+=as->
|
|
||||||
setlocal lispwords+=binding
|
|
||||||
setlocal lispwords+=doall
|
|
||||||
setlocal lispwords+=dorun
|
|
||||||
setlocal lispwords+=doseq
|
|
||||||
setlocal lispwords+=dotimes
|
|
||||||
setlocal lispwords+=doto
|
|
||||||
setlocal lispwords+=for
|
|
||||||
setlocal lispwords+=if-let
|
|
||||||
setlocal lispwords+=let
|
|
||||||
setlocal lispwords+=letfn
|
|
||||||
setlocal lispwords+=locking
|
|
||||||
setlocal lispwords+=loop
|
|
||||||
setlocal lispwords+=testing " clojure.test
|
|
||||||
setlocal lispwords+=when-first
|
|
||||||
setlocal lispwords+=when-let
|
|
||||||
setlocal lispwords+=with-bindings
|
|
||||||
setlocal lispwords+=with-in-str
|
|
||||||
setlocal lispwords+=with-local-vars
|
|
||||||
setlocal lispwords+=with-open
|
|
||||||
setlocal lispwords+=with-precision
|
|
||||||
setlocal lispwords+=with-redefs
|
|
||||||
setlocal lispwords+=with-redefs-fn
|
|
||||||
setlocal lispwords+=with-test " clojure.test
|
|
||||||
|
|
||||||
" Conditional branching
|
|
||||||
setlocal lispwords+=case
|
|
||||||
setlocal lispwords+=cond->
|
|
||||||
setlocal lispwords+=cond->>
|
|
||||||
setlocal lispwords+=condp
|
|
||||||
setlocal lispwords+=if
|
|
||||||
setlocal lispwords+=if-not
|
|
||||||
setlocal lispwords+=when
|
|
||||||
setlocal lispwords+=when-not
|
|
||||||
setlocal lispwords+=while
|
|
||||||
|
|
||||||
" Exception handling
|
|
||||||
setlocal lispwords+=catch
|
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet! s:save_cpo
|
unlet! s:save_cpo
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ function! GetElixirIndent()
|
|||||||
|
|
||||||
let ind += opened_symbol * &sw
|
let ind += opened_symbol * &sw
|
||||||
|
|
||||||
|
if current_line =~ '^\s*\(\]\|}\)'
|
||||||
|
let ind -= &sw
|
||||||
|
endif
|
||||||
|
|
||||||
if last_line =~ s:indent_keywords
|
if last_line =~ s:indent_keywords
|
||||||
let ind += &sw
|
let ind += &sw
|
||||||
endif
|
endif
|
||||||
|
|||||||
10
indent/opencl.vim
Normal file
10
indent/opencl.vim
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
" Only load this indent file when no other was loaded.
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if version > 600
|
||||||
|
runtime! indent/c.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:did_indent = 1
|
||||||
@@ -515,7 +515,7 @@ function! GetScalaIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let prevCurlyCount = scala#CountCurlies(prevline)
|
let prevCurlyCount = scala#CountCurlies(prevline)
|
||||||
if prevCurlyCount == 0 && prevline =~ '^.*=>\s*$' && prevline !~ '^\s*this\s*:.*=>\s*$' && curline !~ '^\s*\<case\>'
|
if prevCurlyCount == 0 && prevline =~ '^.*\%(=>\|⇒\)\s*$' && prevline !~ '^\s*this\s*:.*\%(=>\|⇒\)\s*$' && curline !~ '^\s*\<case\>'
|
||||||
call scala#ConditionalConfirm("16")
|
call scala#ConditionalConfirm("16")
|
||||||
let ind = ind + &shiftwidth
|
let ind = ind + &shiftwidth
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -121,9 +121,12 @@ syntax keyword clojureCommentTodo contained FIXME XXX TODO FIXME: XXX: TODO:
|
|||||||
syntax match clojureComment ";.*$" contains=clojureCommentTodo,@Spell
|
syntax match clojureComment ";.*$" contains=clojureCommentTodo,@Spell
|
||||||
syntax match clojureComment "#!.*$"
|
syntax match clojureComment "#!.*$"
|
||||||
|
|
||||||
syntax region clojureSexp matchgroup=clojureParen start="(" matchgroup=clojureParen end=")" contains=TOP,@Spell fold
|
" Generated from https://github.com/guns/vim-clojure-static/blob/%%RELEASE_TAG%%/clj/src/vim_clojure_static/generate.clj
|
||||||
syntax region clojureVector matchgroup=clojureParen start="\[" matchgroup=clojureParen end="]" contains=TOP,@Spell fold
|
syntax cluster clojureTop contains=@Spell,clojureAnonArg,clojureBoolean,clojureCharacter,clojureComment,clojureCond,clojureConstant,clojureDefine,clojureDeref,clojureDispatch,clojureError,clojureException,clojureFunc,clojureKeyword,clojureMacro,clojureMap,clojureMeta,clojureNumber,clojureQuote,clojureRegexp,clojureRepeat,clojureSexp,clojureSpecial,clojureString,clojureSymbol,clojureUnquote,clojureVarArg,clojureVariable,clojureVector
|
||||||
syntax region clojureMap matchgroup=clojureParen start="{" matchgroup=clojureParen end="}" contains=TOP,@Spell fold
|
|
||||||
|
syntax region clojureSexp matchgroup=clojureParen start="(" matchgroup=clojureParen end=")" contains=@clojureTop fold
|
||||||
|
syntax region clojureVector matchgroup=clojureParen start="\[" matchgroup=clojureParen end="]" contains=@clojureTop fold
|
||||||
|
syntax region clojureMap matchgroup=clojureParen start="{" matchgroup=clojureParen end="}" contains=@clojureTop fold
|
||||||
|
|
||||||
" Highlight superfluous closing parens, brackets and braces.
|
" Highlight superfluous closing parens, brackets and braces.
|
||||||
syntax match clojureError "]\|}\|)"
|
syntax match clojureError "]\|}\|)"
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ syn match elixirComment '#.*' contains=elixirTodo
|
|||||||
syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
|
syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
|
||||||
|
|
||||||
syn keyword elixirKeyword is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_record is_reference is_tuple is_exception
|
syn keyword elixirKeyword is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_record is_reference is_tuple is_exception
|
||||||
syn keyword elixirKeyword case cond bc lc inlist inbits if unless try receive function
|
syn keyword elixirKeyword case cond bc lc inlist inbits if unless try receive
|
||||||
syn keyword elixirKeyword exit raise throw after rescue catch else
|
syn keyword elixirKeyword exit raise throw after rescue catch else do end
|
||||||
syn keyword elixirKeyword quote unquote super
|
syn keyword elixirKeyword quote unquote super
|
||||||
syn match elixirKeyword '\<\%(->\)\>\s*'
|
syn match elixirKeyword '\<\%(->\)\>\s*'
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ syn keyword elixirOperator and not or when xor in
|
|||||||
syn match elixirOperator '%=\|\*=\|\*\*=\|+=\|-=\|\^=\|||='
|
syn match elixirOperator '%=\|\*=\|\*\*=\|+=\|-=\|\^=\|||='
|
||||||
syn match elixirOperator "\%(<=>\|<\%(<\|=\)\@!\|>\%(<\|=\|>\)\@!\|<=\|>=\|===\|==\|=\~\|!=\|!\~\|\s?[ \t]\@=\)"
|
syn match elixirOperator "\%(<=>\|<\%(<\|=\)\@!\|>\%(<\|=\|>\)\@!\|<=\|>=\|===\|==\|=\~\|!=\|!\~\|\s?[ \t]\@=\)"
|
||||||
syn match elixirOperator "!+[ \t]\@=\|&&\|||\|\^\|\*\|+\|-\|/"
|
syn match elixirOperator "!+[ \t]\@=\|&&\|||\|\^\|\*\|+\|-\|/"
|
||||||
syn match elixirOperator "|\|++\|--\|\*\*\|\/\/\|<-\|<>\|<<\|>>\|=\|\.\|::"
|
syn match elixirOperator "|\|++\|--\|\*\*\|\/\/\|\\\\\|<-\|<>\|<<\|>>\|=\|\.\|::"
|
||||||
|
|
||||||
syn match elixirSymbol '\(:\)\@<!:\%([a-zA-Z_]\w*\%([?!]\|=[>=]\@!\)\?\|<>\|===\?\|>=\?\|<=\?\)'
|
syn match elixirSymbol '\(:\)\@<!:\%([a-zA-Z_]\w*\%([?!]\|=[>=]\@!\)\?\|<>\|===\?\|>=\?\|<=\?\)'
|
||||||
syn match elixirSymbol '\(:\)\@<!:\%(<=>\|&&\?\|%\(()\|\[\]\|{}\)\|++\?\|--\?\|||\?\|!\|//\|[%&`/|]\)'
|
syn match elixirSymbol '\(:\)\@<!:\%(<=>\|&&\?\|%\(()\|\[\]\|{}\)\|++\?\|--\?\|||\?\|!\|//\|[%&`/|]\)'
|
||||||
@@ -74,26 +74,26 @@ syn match elixirString "\(\w\)\@<!?\%(\\\(x\d{1,2}\|\h{1,2}\h\@!\>\|
|
|||||||
syn region elixirBlock matchgroup=elixirKeyword start="\<do\>\(:\)\@!" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
syn region elixirBlock matchgroup=elixirKeyword start="\<do\>\(:\)\@!" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
||||||
syn region elixirAnonymousFunction matchgroup=elixirKeyword start="\<fn\>" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
syn region elixirAnonymousFunction matchgroup=elixirKeyword start="\<fn\>" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
||||||
|
|
||||||
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirSymbol,elixirPseudoVariable,elixirName,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirSymbolInterpolated,elixirRegex,elixirRegexEscape,elixirRegexEscapePunctuation,elixirRegexCharClass,elixirRegexQuantifier,elixirSpecial,elixirString,elixirDelimiter
|
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirSymbol,elixirPseudoVariable,elixirName,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirSymbolInterpolated,elixirRegex,elixirString,elixirDelimiter
|
||||||
|
|
||||||
syn match elixirDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
|
syn match elixirDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
|
||||||
|
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~]\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[BCRW]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[BCRW]\={" end="}" skip="\\\\\|\\}" contains=elixirDelimEscape fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\={" end="}" skip="\\\\\|\\}" contains=elixirDelimEscape fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[BCRW]\=<" end=">" skip="\\\\\|\\>" contains=elixirDelimEscape fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=<" end=">" skip="\\\\\|\\>" contains=elixirDelimEscape fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[BCRW]\=\[" end="\]" skip="\\\\\|\\\]" contains=elixirDelimEscape fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=\[" end="\]" skip="\\\\\|\\\]" contains=elixirDelimEscape fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[BCRW]\=(" end=")" skip="\\\\\|\\)" contains=elixirDelimEscape fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=(" end=")" skip="\\\\\|\\)" contains=elixirDelimEscape fold
|
||||||
|
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[bcrw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[bcrw]{" end="}" skip="\\\\\|\\}" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]{" end="}" skip="\\\\\|\\}" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[bcrw]<" end=">" skip="\\\\\|\\>" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]<" end=">" skip="\\\\\|\\>" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[bcrw]\[" end="\]" skip="\\\\\|\\\]" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]\[" end="\]" skip="\\\\\|\\\]" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start="%[bcrw](" end=")" skip="\\\\\|\\)" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw](" end=")" skip="\\\\\|\\)" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||||
|
|
||||||
" Sigils surrounded with docString
|
" Sigils surrounded with docString
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start=+%[BCRWbcrw]\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold
|
syn region elixirSigil matchgroup=elixirDelimiter start=+[%~][SCRWscrw]\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold
|
||||||
syn region elixirSigil matchgroup=elixirDelimiter start=+%[BCRWbcrw]\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold
|
syn region elixirSigil matchgroup=elixirDelimiter start=+[%~][SCRWscrw]\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold
|
||||||
|
|
||||||
" Defines
|
" Defines
|
||||||
syn keyword elixirDefine def nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
syn keyword elixirDefine def nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ syn keyword htmlTagName contained linearGradient marker mask pattern radialGradi
|
|||||||
syn keyword htmlTagName contained missing-glyph mpath
|
syn keyword htmlTagName contained missing-glyph mpath
|
||||||
syn keyword htmlTagName contained text textPath tref tspan vkern
|
syn keyword htmlTagName contained text textPath tref tspan vkern
|
||||||
|
|
||||||
|
" Custom Element
|
||||||
syn match htmlTagName contained "\<[a-z_]\+\(\-[a-z_]\+\)\+\>"
|
syn match htmlTagName contained "\<[a-z_]\+\(\-[a-z_]\+\)\+\>"
|
||||||
|
|
||||||
" HTML 5 arguments
|
" HTML 5 arguments
|
||||||
|
|||||||
@@ -85,6 +85,9 @@ syn region markdownCode matchgroup=markdownCodeDelimiter start="`" end="`" keepe
|
|||||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart
|
syn region markdownCode matchgroup=markdownCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart
|
||||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="^\s*```.*$" end="^\s*```\ze\s*$" keepend
|
syn region markdownCode matchgroup=markdownCodeDelimiter start="^\s*```.*$" end="^\s*```\ze\s*$" keepend
|
||||||
|
|
||||||
|
syn match markdownFootnote "\[^[^\]]\]\s*$"
|
||||||
|
syn match markdownFootnoteDefinition "^\[^[^\]]\]:"
|
||||||
|
|
||||||
if main_syntax ==# 'markdown'
|
if main_syntax ==# 'markdown'
|
||||||
for s:type in g:markdown_fenced_languages
|
for s:type in g:markdown_fenced_languages
|
||||||
exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```\s*'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
|
exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```\s*'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
|
||||||
@@ -108,6 +111,9 @@ hi def link markdownListMarker htmlTagName
|
|||||||
hi def link markdownBlockquote Comment
|
hi def link markdownBlockquote Comment
|
||||||
hi def link markdownRule PreProc
|
hi def link markdownRule PreProc
|
||||||
|
|
||||||
|
hi def link markdownFootnote Typedef
|
||||||
|
hi def link markdownFootnoteDefinition Typedef
|
||||||
|
|
||||||
hi def link markdownLinkText htmlLink
|
hi def link markdownLinkText htmlLink
|
||||||
hi def link markdownIdDeclaration Typedef
|
hi def link markdownIdDeclaration Typedef
|
||||||
hi def link markdownId Type
|
hi def link markdownId Type
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ syntax match mustacheError '}}}\?'
|
|||||||
syntax match mustacheInsideError '{{[{#<>=!\/]\?'
|
syntax match mustacheInsideError '{{[{#<>=!\/]\?'
|
||||||
syntax region mustacheInside start=/{{/ end=/}}}\?/ keepend containedin=TOP,@htmlMustacheContainer
|
syntax region mustacheInside start=/{{/ end=/}}}\?/ keepend containedin=TOP,@htmlMustacheContainer
|
||||||
syntax match mustacheOperators '=\|\.\|/' contained containedin=mustacheInside,@htmlMustacheContainer
|
syntax match mustacheOperators '=\|\.\|/' contained containedin=mustacheInside,@htmlMustacheContainer
|
||||||
syntax region mustacheSection start='{{[#/]'lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
syntax region mustacheSection start='{{[#^/]'lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
||||||
syntax region mustachePartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
syntax region mustachePartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
||||||
syntax region mustacheMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
syntax region mustacheMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
|
||||||
syntax match mustacheHandlebars '{{\|}}' contained containedin=mustacheInside,@htmlMustacheContainer
|
syntax match mustacheHandlebars '{{\|}}' contained containedin=mustacheInside,@htmlMustacheContainer
|
||||||
|
|||||||
157
syntax/opencl.vim
Normal file
157
syntax/opencl.vim
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: OpenCL (Open Computing Language)
|
||||||
|
" Maintainer: Terence Ou (rivan_@msn.com)
|
||||||
|
" Last Change: 19-July-2010
|
||||||
|
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Read the C syntax to start with
|
||||||
|
if version < 600
|
||||||
|
source <sfile>:p:h/c.vim
|
||||||
|
else
|
||||||
|
runtime! syntax/c.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
" address space qualifiers
|
||||||
|
syn keyword clStorageClass global __global local __local constant __constant private __private
|
||||||
|
" function qualifiers
|
||||||
|
syn keyword clStorageClass kernel __kernel __attribute__
|
||||||
|
syn keyword clStorageClass read_only __read_only write_only __write_only
|
||||||
|
syn keyword clStorageClass complex imaginary
|
||||||
|
|
||||||
|
" scalar types
|
||||||
|
syn keyword clType bool uchar ushort uint ulong half quad
|
||||||
|
|
||||||
|
" vector types
|
||||||
|
syn keyword clType char2 char3 char4 char8 char16
|
||||||
|
syn keyword clType uchar2 uchar3 uchar4 uchar8 uchar16
|
||||||
|
syn keyword clType short2 short3 short4 short8 short16
|
||||||
|
syn keyword clType ushort2 ushort3 ushort4 ushort8 ushort16
|
||||||
|
syn keyword clType int2 int3 int4 int8 int16
|
||||||
|
syn keyword clType uint2 uint3 uint4 uint8 uint16
|
||||||
|
syn keyword clType long2 long3 long4 long8 long16
|
||||||
|
syn keyword clType ulong2 ulong3 ulong4 ulong8 ulong16
|
||||||
|
syn keyword clType float2 float3 float4 float8 float16
|
||||||
|
syn keyword clType double2 double3 double4 double8 double16
|
||||||
|
syn keyword clType half2 half3 half4 half8 half16
|
||||||
|
|
||||||
|
" other types
|
||||||
|
syn keyword clType ptrdiff_t intptr_t uintptr_t
|
||||||
|
syn keyword clType image2d_t image3d_t sampler_t event_t
|
||||||
|
|
||||||
|
" reserved types
|
||||||
|
syn keyword clType bool2 bool3 bool4 bool8 bool16
|
||||||
|
syn keyword clType quad2 quad3 quad4 quad8 quad16
|
||||||
|
syn match clType "\(float\|double\)\(2\|3\|4\|8\|16\)x\(2\|3\|4\|8\|16\)"
|
||||||
|
|
||||||
|
" abstract data types
|
||||||
|
syn keyword clType _cl_platform_id _cl_device_id _cl_context _cl_command_queue _cl_mem _cl_program _cl_kernel _cl_event _cl_sampler
|
||||||
|
|
||||||
|
" image format descriptor structure
|
||||||
|
syn keyword clType cl_image_format
|
||||||
|
|
||||||
|
syn keyword clCast vec_type_hint work_group_size_hint aligned packed endian
|
||||||
|
|
||||||
|
syn match clCast "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)("
|
||||||
|
|
||||||
|
syn match clCast "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)\(2\|3\|4\|8\|16\)("
|
||||||
|
|
||||||
|
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)("
|
||||||
|
|
||||||
|
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat("
|
||||||
|
|
||||||
|
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat_\(rte\|rtz\|rtp\|rtn\)("
|
||||||
|
|
||||||
|
" work item functions
|
||||||
|
syn keyword clFunction get_work_dim get_global_size get_global_id get_local_size get_local_id get_num_groups get_group_id get_global_offset
|
||||||
|
|
||||||
|
" math functions
|
||||||
|
syn keyword clFunction cos cosh cospi acos acosh acospi
|
||||||
|
syn keyword clFunction sin sincos sinh sinpi asin asinh asinpi
|
||||||
|
syn keyword clFunction tan tanh tanpi atan atan2 atanh atanpi atan2pi
|
||||||
|
syn keyword clFunction cbrt ceil copysign
|
||||||
|
syn keyword clFunction erfc erf
|
||||||
|
syn keyword clFunction exp exp2 exp10 expm1
|
||||||
|
syn keyword clFunction fabs fdim floor fma fmax fmin
|
||||||
|
syn keyword clFunction fract frexp hypot ilogb
|
||||||
|
syn keyword clFunction ldexp ldexp lgamma lgamma_r
|
||||||
|
syn keyword clFunction log log2 log10 log1p logb
|
||||||
|
syn keyword clFunction mad modf
|
||||||
|
syn keyword clFunction nan nextafter
|
||||||
|
syn keyword clFunction pow pown powr
|
||||||
|
syn keyword clFunction remainder remquo rint rootn round rsqrt sqrt
|
||||||
|
syn keyword clFunction tgamma trunc
|
||||||
|
syn keyword clFunction half_cos half_divide half_exp half_exp2 half_exp10 half_log half_log2 half_log10 half_powr half_recip half_rsqrt half_sin half_sqrt half_tan
|
||||||
|
syn keyword clFunction native_cos native_divide native_exp native_exp2 native_exp10 native_log native_log2 native_log10 native_powr native_recip native_rsqrt native_sin native_sqrt native_tan
|
||||||
|
|
||||||
|
" integer functions
|
||||||
|
syn keyword clFunction abs abs_diff add_sat hadd rhadd clz mad_hi mad_sat max min mul_hi rotate sub_sat upsample mad24 mul24
|
||||||
|
|
||||||
|
" common functions
|
||||||
|
syn keyword clFunction clamp degrees max min mix radians step smoothstep sign
|
||||||
|
|
||||||
|
" geometric functions
|
||||||
|
syn keyword clFunction cross dot distance length normalize fast_distance fast_length fast_normalize
|
||||||
|
|
||||||
|
" miscellaneous vector functions
|
||||||
|
syn keyword clFunction vec_step shuffle shuffle2
|
||||||
|
|
||||||
|
" relational functions
|
||||||
|
syn keyword clFunction isequal isnotequal isgreater isgreaterequal isless islessequal islessgreater isfinite isinf isnan isnormal isordered isunordered signbit any all bitselect select
|
||||||
|
|
||||||
|
" vector data load and store functions
|
||||||
|
syn keyword clFunction vload_half vstore_half
|
||||||
|
syn match clFunction "vload\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vload_half\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vloada_half\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vloada_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\)("
|
||||||
|
syn match clFunction "vstore\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vstore\(rte\|rtz\|rtp\|rtn\)("
|
||||||
|
syn match clFunction "vstore_half\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vstore_half_\(rte\|rtz\|rtp\|rtn\)("
|
||||||
|
syn match clFunction "vstore_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)("
|
||||||
|
syn match clFunction "vstorea_half\(2\|3\|4\|8\|16\)("
|
||||||
|
syn match clFunction "vstorea_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)("
|
||||||
|
|
||||||
|
" image read and write functions
|
||||||
|
syn match clFunction "read_image\(f\|i\|ui\|h\)("
|
||||||
|
syn match clFunction "write_image\(f\|i\|ui\|h\)("
|
||||||
|
syn keyword clFunction get_image_width get_image_height get_image_depth get_image_channel_data_type get_image_channel_order get_image_dim
|
||||||
|
|
||||||
|
" explicit memory fence functions
|
||||||
|
syn keyword clFunction barrier mem_fence read_mem_fence write_mem_fence
|
||||||
|
|
||||||
|
" async copies from global to local mem to and fro and prefetch
|
||||||
|
syn keyword clFunction async_work_group_copy async_work_group__strided_copy wait_group_events prefetch
|
||||||
|
|
||||||
|
" atomic functions
|
||||||
|
syn match clFunction "atom_\(add\|sub\|xchg\|inc\|dec\|cmpxchg\|min\|max\|and\|or\|xor\)("
|
||||||
|
|
||||||
|
syn keyword clConstant MAXFLOAT HUGE_VALF INFINITY NAN
|
||||||
|
syn keyword clConstant FLT_DIG FLT_MANT_DIG FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_MAX FLT_MIN FLT_EPSILON
|
||||||
|
syn keyword clConstant CHAR_BIT CHAR_MAX CHAR_MIN INT_MIN INT_MAX LONG_MAX LONG_MIN SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN UCHAR_MAX UCHAR_MIN UINT_MAX ULONG_MAX
|
||||||
|
syn keyword clConstant DBL_DIG DBL_MANT_DIG DBL_MAX_10_EXP DBL_MIN_10_EXP DBL_MIN_EXP DBL_MAX DBL_MIN DBL_EPSILON
|
||||||
|
syn keyword clConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI2 M_PI4 M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
|
||||||
|
syn keyword clConstant CLK_NORMALIZED_COORDS_TRUE CLK_NORMALIZED_COORDS_FALSE
|
||||||
|
syn keyword clConstant CLK_ADDRESS_REPEAT CLK_ADDRESS_CLAMP_TO_EDGE CLK_ADDRESS_CLAMP
|
||||||
|
syn keyword clConstant CL_INTENSITY CL_RA CL_ARGB CL_BGRA CL_RGBA CL_R CL_RG CL_RGB CL_RGx CL_RGBx CL_Rx CL_A CL_LUMINANCE
|
||||||
|
syn keyword clConstant CL_SNORM_INT8 CL_SNORM_INT16 CL_UNORM_INT8 CL_UNORM_INT16 CL_UNORM_SHORT_565 CL_UNORM_SHORT_555 CL_UNORM_INT_101010 CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 CL_HALF_FLOAT CL_FLOAT
|
||||||
|
syn keyword clConstant CLK_ADDRESS_NONE CLK_FILTER_NEAREST CLK_FILTER_LINEAR
|
||||||
|
syn keyword clConstant CLK_GLOBAL_MEM_FENCE CLK_LOCAL_MEM_FENCE
|
||||||
|
|
||||||
|
hi def link clStorageClass StorageClass
|
||||||
|
hi def link clStructure Structure
|
||||||
|
hi def link clType Type
|
||||||
|
hi def link clVariable Identifier
|
||||||
|
hi def link clConstant Constant
|
||||||
|
hi def link clCast Operator
|
||||||
|
hi def link clFunction Function
|
||||||
|
hi def link clStatement Statement
|
||||||
|
|
||||||
|
let b:current_syntax = "opencl"
|
||||||
|
|
||||||
|
" vim: ts=8
|
||||||
@@ -95,7 +95,7 @@ syn match perlStatementVector "\<vec\>"
|
|||||||
syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"
|
syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"
|
||||||
syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
|
syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
|
||||||
syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"
|
syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"
|
||||||
syn match perlStatementInclude "\<\%(require\|import\)\>"
|
syn match perlStatementInclude "\<\%(require\|import\|unimport\)\>"
|
||||||
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
||||||
syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
|
syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
|
||||||
syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
|
syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
|
||||||
@@ -365,8 +365,10 @@ else
|
|||||||
syn match perlSubAttributes "" contained nextgroup=perlSubError
|
syn match perlSubAttributes "" contained nextgroup=perlSubError
|
||||||
syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
|
syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
|
||||||
endif
|
endif
|
||||||
syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
|
if !exists("perl_no_subprototype_error") " Set 1 if using signatures feature in perl5.19.9
|
||||||
syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
|
syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
|
||||||
|
syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
|
||||||
|
endif
|
||||||
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment
|
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment
|
||||||
|
|
||||||
syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
|
syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
|
||||||
@@ -408,7 +410,7 @@ if exists("perl_fold")
|
|||||||
endif
|
endif
|
||||||
if !exists("perl_nofold_subs")
|
if !exists("perl_nofold_subs")
|
||||||
if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
|
if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
|
||||||
syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
|
syn region perlSubFold start="\<sub\>[^;]*{" end="}" transparent fold keepend extend
|
||||||
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
||||||
else
|
else
|
||||||
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
||||||
@@ -511,7 +513,9 @@ HiLink perlStatementIndirObj perlStatement
|
|||||||
HiLink perlFunctionName perlIdentifier
|
HiLink perlFunctionName perlIdentifier
|
||||||
HiLink perlMethod perlIdentifier
|
HiLink perlMethod perlIdentifier
|
||||||
HiLink perlFunctionPRef perlType
|
HiLink perlFunctionPRef perlType
|
||||||
HiLink perlPOD perlComment
|
if !get(g:, 'perl_include_pod', 1)
|
||||||
|
HiLink perlPOD perlComment
|
||||||
|
endif
|
||||||
HiLink perlShellCommand perlString
|
HiLink perlShellCommand perlString
|
||||||
HiLink perlSpecialAscii perlSpecial
|
HiLink perlSpecialAscii perlSpecial
|
||||||
HiLink perlSpecialDollar perlSpecial
|
HiLink perlSpecialDollar perlSpecial
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -101,9 +101,9 @@ syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
|
|||||||
syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"
|
syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"
|
||||||
syn match rubySymbol "[]})\"':]\@<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\="
|
syn match rubySymbol "[]})\"':]\@<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\="
|
||||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!"he=e-1
|
syn match rubySymbol "\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!"he=e-1
|
||||||
syn match rubySymbol "[]})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:\s\@="he=e-1
|
syn match rubySymbol "[]})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
|
||||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
|
syn match rubySymbol "\%([{(,]\_s*\)\@<=[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
|
||||||
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:\s\@="hs=s+1,he=e-1
|
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="hs=s+1,he=e-1
|
||||||
syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
|
syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
|
||||||
syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
|
syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
|
||||||
|
|
||||||
@@ -143,6 +143,7 @@ syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi]<" end="
|
|||||||
syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
|
syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
|
||||||
syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
|
syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
|
||||||
syn region rubyString matchgroup=rubyStringDelimiter start="%q " end=" " skip="\\\\\|\\)" fold
|
syn region rubyString matchgroup=rubyStringDelimiter start="%q " end=" " skip="\\\\\|\\)" fold
|
||||||
|
|
||||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
|
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
|
||||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
|
syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
|
||||||
@@ -197,7 +198,7 @@ syn match rubyControl "\<\%(and\|break\|in\|next\|not\|or\|redo\|rescue
|
|||||||
syn match rubyOperator "\<defined?" display
|
syn match rubyOperator "\<defined?" display
|
||||||
syn match rubyKeyword "\<\%(super\|yield\)\>[?!]\@!"
|
syn match rubyKeyword "\<\%(super\|yield\)\>[?!]\@!"
|
||||||
syn match rubyBoolean "\<\%(true\|false\)\>[?!]\@!"
|
syn match rubyBoolean "\<\%(true\|false\)\>[?!]\@!"
|
||||||
syn match rubyPseudoVariable "\<\%(nil\|self\|__ENCODING__\|__FILE__\|__LINE__\|__callee__\|__method__\)\>[?!]\@!" " TODO: reorganise
|
syn match rubyPseudoVariable "\<\%(nil\|self\|__ENCODING__\|__dir__\|__FILE__\|__LINE__\|__callee__\|__method__\)\>[?!]\@!" " TODO: reorganise
|
||||||
syn match rubyBeginEnd "\<\%(BEGIN\|END\)\>[?!]\@!"
|
syn match rubyBeginEnd "\<\%(BEGIN\|END\)\>[?!]\@!"
|
||||||
|
|
||||||
" Expensive Mode - match 'end' with the appropriate opening keyword for syntax
|
" Expensive Mode - match 'end' with the appropriate opening keyword for syntax
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Patrick Walton <pcwalton@mozilla.com>
|
" Maintainer: Patrick Walton <pcwalton@mozilla.com>
|
||||||
" Maintainer: Ben Blum <bblum@cs.cmu.edu>
|
" Maintainer: Ben Blum <bblum@cs.cmu.edu>
|
||||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||||
" Last Change: 2014 Jan 4
|
" Last Change: 2014 Feb 27
|
||||||
|
|
||||||
if version < 600
|
if version < 600
|
||||||
syntax clear
|
syntax clear
|
||||||
@@ -18,7 +18,8 @@ syn keyword rustOperator as
|
|||||||
|
|
||||||
syn match rustAssert "\<assert\(\w\)*!" contained
|
syn match rustAssert "\<assert\(\w\)*!" contained
|
||||||
syn match rustFail "\<fail\(\w\)*!" contained
|
syn match rustFail "\<fail\(\w\)*!" contained
|
||||||
syn keyword rustKeyword break continue do extern
|
syn keyword rustKeyword break continue
|
||||||
|
syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite
|
||||||
syn keyword rustKeyword for in if impl let
|
syn keyword rustKeyword for in if impl let
|
||||||
syn keyword rustKeyword loop once priv pub
|
syn keyword rustKeyword loop once priv pub
|
||||||
syn keyword rustKeyword return
|
syn keyword rustKeyword return
|
||||||
@@ -31,11 +32,16 @@ syn keyword rustKeyword proc
|
|||||||
syn keyword rustStorage mut ref static
|
syn keyword rustStorage mut ref static
|
||||||
syn keyword rustObsoleteStorage const
|
syn keyword rustObsoleteStorage const
|
||||||
|
|
||||||
|
syn keyword rustInvalidBareKeyword crate
|
||||||
|
|
||||||
|
syn keyword rustExternCrate crate contained nextgroup=rustIdentifier skipwhite
|
||||||
|
syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite
|
||||||
|
|
||||||
syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||||
syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||||
|
|
||||||
" Reserved (but not yet used) keywords {{{2
|
" Reserved (but not yet used) keywords {{{2
|
||||||
syn keyword rustReservedKeyword alignof be offsetof pure sizeof typeof yield
|
syn keyword rustReservedKeyword alignof be do offsetof pure sizeof typeof yield
|
||||||
|
|
||||||
" Built-in types {{{2
|
" Built-in types {{{2
|
||||||
syn keyword rustType int uint float char bool u8 u16 u32 u64 f32
|
syn keyword rustType int uint float char bool u8 u16 u32 u64 f32
|
||||||
@@ -46,8 +52,7 @@ syn keyword rustType f64 i8 i16 i32 i64 str Self
|
|||||||
" to make it easy to update.
|
" to make it easy to update.
|
||||||
|
|
||||||
" Core operators {{{3
|
" Core operators {{{3
|
||||||
syn keyword rustTrait Sized
|
syn keyword rustTrait Freeze Pod Send Sized
|
||||||
syn keyword rustTrait Freeze Send
|
|
||||||
syn keyword rustTrait Add Sub Mul Div Rem Neg Not
|
syn keyword rustTrait Add Sub Mul Div Rem Neg Not
|
||||||
syn keyword rustTrait BitAnd BitOr BitXor
|
syn keyword rustTrait BitAnd BitOr BitXor
|
||||||
syn keyword rustTrait Drop
|
syn keyword rustTrait Drop
|
||||||
@@ -58,61 +63,45 @@ syn keyword rustEnum Result
|
|||||||
syn keyword rustEnumVariant Ok Err
|
syn keyword rustEnumVariant Ok Err
|
||||||
|
|
||||||
" Functions {{{3
|
" Functions {{{3
|
||||||
"syn keyword rustFunction print println
|
|
||||||
"syn keyword rustFunction range
|
|
||||||
"syn keyword rustFunction from_str
|
"syn keyword rustFunction from_str
|
||||||
|
"syn keyword rustFunction range
|
||||||
|
"syn keyword rustFunction drop
|
||||||
|
|
||||||
" Types and traits {{{3
|
" Types and traits {{{3
|
||||||
syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt
|
syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt
|
||||||
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr IntoBytes
|
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr IntoBytes
|
||||||
syn keyword rustTrait Bool
|
|
||||||
syn keyword rustTrait ToCStr
|
syn keyword rustTrait ToCStr
|
||||||
syn keyword rustTrait Char
|
syn keyword rustTrait Char
|
||||||
syn keyword rustTrait Clone DeepClone
|
syn keyword rustTrait Clone DeepClone
|
||||||
syn keyword rustTrait Eq Ord TotalEq TotalOrd Ordering Equiv
|
syn keyword rustTrait Eq Ord TotalEq TotalOrd Ordering Equiv
|
||||||
syn keyword rustEnumVariant Less Equal Greater
|
syn keyword rustEnumVariant Less Equal Greater
|
||||||
syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet
|
syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet
|
||||||
syn keyword rustTrait Default
|
|
||||||
syn keyword rustTrait Hash
|
|
||||||
syn keyword rustTrait FromStr
|
|
||||||
syn keyword rustTrait FromIterator Extendable
|
syn keyword rustTrait FromIterator Extendable
|
||||||
syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator CloneableIterator
|
syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator CloneableIterator
|
||||||
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
|
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
|
||||||
|
|
||||||
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
|
|
||||||
syn keyword rustTrait Bitwise Bounded Integer Fractional Real RealExt
|
|
||||||
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
|
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
|
||||||
syn keyword rustTrait Orderable Signed Unsigned Round
|
syn keyword rustTrait Signed Unsigned Round
|
||||||
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive
|
syn keyword rustTrait Primitive Int Float ToPrimitive FromPrimitive
|
||||||
syn keyword rustTrait GenericPath Path PosixPath WindowsPath
|
syn keyword rustTrait GenericPath Path PosixPath WindowsPath
|
||||||
syn keyword rustTrait RawPtr
|
syn keyword rustTrait RawPtr
|
||||||
syn keyword rustTrait Buffer Writer Reader Seek
|
syn keyword rustTrait Buffer Writer Reader Seek
|
||||||
syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr
|
syn keyword rustTrait Str StrVector StrSlice OwnedStr IntoMaybeOwned
|
||||||
syn keyword rustTrait Str StrVector StrSlice OwnedStr
|
|
||||||
syn keyword rustTrait IterBytes
|
|
||||||
syn keyword rustTrait ToStr IntoStr
|
syn keyword rustTrait ToStr IntoStr
|
||||||
syn keyword rustTrait CloneableTuple ImmutableTuple
|
|
||||||
syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4
|
syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4
|
||||||
syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8
|
syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8
|
||||||
syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12
|
syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12
|
||||||
syn keyword rustTrait ImmutableTuple1 ImmutableTuple2 ImmutableTuple3 ImmutableTuple4
|
|
||||||
syn keyword rustTrait ImmutableTuple5 ImmutableTuple6 ImmutableTuple7 ImmutableTuple8
|
|
||||||
syn keyword rustTrait ImmutableTuple9 ImmutableTuple10 ImmutableTuple11 ImmutableTuple12
|
|
||||||
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector ImmutableCloneableVector
|
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector ImmutableCloneableVector
|
||||||
syn keyword rustTrait OwnedVector OwnedCloneableVector OwnedEqVector MutableVector
|
syn keyword rustTrait OwnedVector OwnedCloneableVector OwnedEqVector
|
||||||
|
syn keyword rustTrait MutableVector MutableTotalOrdVector
|
||||||
syn keyword rustTrait Vector VectorVector CloneableVector ImmutableVector
|
syn keyword rustTrait Vector VectorVector CloneableVector ImmutableVector
|
||||||
|
|
||||||
"syn keyword rustFunction stream
|
"syn keyword rustFunction stream
|
||||||
syn keyword rustTrait Port Chan GenericChan GenericSmartChan GenericPort Peekable
|
syn keyword rustTrait Sender Receiver
|
||||||
"syn keyword rustFunction spawn
|
"syn keyword rustFunction spawn
|
||||||
|
|
||||||
syn keyword rustSelf self
|
syn keyword rustSelf self
|
||||||
syn keyword rustBoolean true false
|
syn keyword rustBoolean true false
|
||||||
|
|
||||||
syn keyword rustConstant Some None " option
|
|
||||||
syn keyword rustConstant Ok Err " result
|
|
||||||
syn keyword rustConstant Less Equal Greater " Ordering
|
|
||||||
|
|
||||||
" Other syntax {{{2
|
" Other syntax {{{2
|
||||||
|
|
||||||
" If foo::bar changes to foo.bar, change this ("::" to "\.").
|
" If foo::bar changes to foo.bar, change this ("::" to "\.").
|
||||||
@@ -174,11 +163,12 @@ syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[
|
|||||||
syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*"
|
syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*"
|
||||||
syn match rustCharacter /'\([^'\\]\|\\\(.\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial,rustSpecialError
|
syn match rustCharacter /'\([^'\\]\|\\\(.\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial,rustSpecialError
|
||||||
|
|
||||||
syn cluster rustComment contains=rustCommentLine,rustCommentLineDoc,rustCommentBlock,rustCommentBlockDoc
|
syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell
|
||||||
syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell
|
syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell
|
||||||
syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell
|
syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell
|
||||||
syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,@rustComment,@Spell keepend extend
|
syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell
|
||||||
syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,@rustComment,@Spell keepend extend
|
syn region rustCommentBlockNest matchgroup=rustCommentBlock start="/\*" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell contained transparent
|
||||||
|
syn region rustCommentBlockDocNest matchgroup=rustCommentBlockDoc start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell contained transparent
|
||||||
" FIXME: this is a really ugly and not fully correct implementation. Most
|
" FIXME: this is a really ugly and not fully correct implementation. Most
|
||||||
" importantly, a case like ``/* */*`` should have the final ``*`` not being in
|
" importantly, a case like ``/* */*`` should have the final ``*`` not being in
|
||||||
" a comment, but in practice at present it leaves comments open two levels
|
" a comment, but in practice at present it leaves comments open two levels
|
||||||
@@ -246,6 +236,9 @@ hi def link rustDeriving PreProc
|
|||||||
hi def link rustStorage StorageClass
|
hi def link rustStorage StorageClass
|
||||||
hi def link rustObsoleteStorage Error
|
hi def link rustObsoleteStorage Error
|
||||||
hi def link rustLifetime Special
|
hi def link rustLifetime Special
|
||||||
|
hi def link rustInvalidBareKeyword Error
|
||||||
|
hi def link rustExternCrate rustKeyword
|
||||||
|
hi def link rustObsoleteExternMod Error
|
||||||
|
|
||||||
" Other Suggestions:
|
" Other Suggestions:
|
||||||
" hi rustAttribute ctermfg=cyan
|
" hi rustAttribute ctermfg=cyan
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ syn case match
|
|||||||
syn sync minlines=200 maxlines=1000
|
syn sync minlines=200 maxlines=1000
|
||||||
|
|
||||||
syn keyword scalaKeyword catch do else final finally for forSome if
|
syn keyword scalaKeyword catch do else final finally for forSome if
|
||||||
syn keyword scalaKeyword match return throw try while yield
|
syn keyword scalaKeyword match return throw try while yield macro
|
||||||
syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstanceDeclaration skipwhite
|
syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstanceDeclaration skipwhite
|
||||||
syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite
|
syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite
|
||||||
syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite
|
syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ syn match slimDocTypeKeyword "^\s*\(doctype\)\s\+" nextgroup=slimDocType
|
|||||||
syn keyword slimTodo FIXME TODO NOTE OPTIMIZE XXX contained
|
syn keyword slimTodo FIXME TODO NOTE OPTIMIZE XXX contained
|
||||||
syn keyword htmlTagName contained script
|
syn keyword htmlTagName contained script
|
||||||
|
|
||||||
syn match slimTag "\w\+" contained contains=htmlTagName nextgroup=@slimComponent
|
syn match slimTag "\w\+[><]*" contained contains=htmlTagName nextgroup=@slimComponent
|
||||||
syn match slimIdChar "#{\@!" contained nextgroup=slimId
|
syn match slimIdChar "#{\@!" contained nextgroup=slimId
|
||||||
syn match slimId "\%(\w\|-\)\+" contained nextgroup=@slimComponent
|
syn match slimId "\%(\w\|-\)\+" contained nextgroup=@slimComponent
|
||||||
syn match slimClassChar "\." contained nextgroup=slimClass
|
syn match slimClassChar "\." contained nextgroup=slimClass
|
||||||
@@ -79,6 +79,7 @@ syn match slimIEConditional "\%(^\s*/\)\@<=\[\s*if\>[^]]*]" contained containedi
|
|||||||
hi def link slimAttrString String
|
hi def link slimAttrString String
|
||||||
hi def link slimBegin String
|
hi def link slimBegin String
|
||||||
hi def link slimClass Type
|
hi def link slimClass Type
|
||||||
|
hi def link slimAttr Type
|
||||||
hi def link slimClassChar Type
|
hi def link slimClassChar Type
|
||||||
hi def link slimComment Comment
|
hi def link slimComment Comment
|
||||||
hi def link slimDocType Identifier
|
hi def link slimDocType Identifier
|
||||||
|
|||||||
@@ -317,7 +317,6 @@ endif
|
|||||||
" Based On: Tim Pope (sass.vim)
|
" Based On: Tim Pope (sass.vim)
|
||||||
|
|
||||||
syn case ignore
|
syn case ignore
|
||||||
syn region cssInclude start="@import" end="\n" contains=cssComment,cssFuncVal,cssRuleProp
|
|
||||||
|
|
||||||
syn cluster stylusCssSelectors contains=cssTagName,cssSelector,cssPseudo
|
syn cluster stylusCssSelectors contains=cssTagName,cssSelector,cssPseudo
|
||||||
syn cluster stylusCssValues contains=cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency,cssColorVal,cssCommonVal,cssFontVal,cssListVal,cssTextVal,cssVisualVal,cssBorderVal,cssBackgroundVal,cssFuncVal,cssAdvancedVal
|
syn cluster stylusCssValues contains=cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency,cssColorVal,cssCommonVal,cssFontVal,cssListVal,cssTextVal,cssVisualVal,cssBorderVal,cssBackgroundVal,cssFuncVal,cssAdvancedVal
|
||||||
@@ -345,6 +344,9 @@ syn match stylusFunction "\<\%(opposite-position\|image-size\|add-property\)\>(\
|
|||||||
syn keyword stylusVariable null true false arguments
|
syn keyword stylusVariable null true false arguments
|
||||||
syn keyword stylusControl if else unless for in return
|
syn keyword stylusControl if else unless for in return
|
||||||
|
|
||||||
|
syn match stylusImport "@\%(import\|require\)" nextgroup=stylusImportList
|
||||||
|
syn match stylusImportList "[^;]\+" contained contains=cssString.*,cssMediaType,cssURL
|
||||||
|
|
||||||
syn match stylusAmpersand "&"
|
syn match stylusAmpersand "&"
|
||||||
syn match stylusClass "[[:alnum:]_-]\+" contained
|
syn match stylusClass "[[:alnum:]_-]\+" contained
|
||||||
syn match stylusClassChar "\.[[:alnum:]_-]\@=" nextgroup=stylusClass
|
syn match stylusClassChar "\.[[:alnum:]_-]\@=" nextgroup=stylusClass
|
||||||
|
|||||||
Reference in New Issue
Block a user