mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aec5e42bdb | ||
|
|
a0c79360ed | ||
|
|
2d3b20bc68 | ||
|
|
a6b0efd530 | ||
|
|
0de043adbc | ||
|
|
67fcbd2a86 | ||
|
|
c925c92217 | ||
|
|
852d25b307 | ||
|
|
4d8ff4eabc | ||
|
|
d6bc08610b | ||
|
|
c154d82557 | ||
|
|
cf1e53bc39 | ||
|
|
92ab75408d | ||
|
|
f977779693 | ||
|
|
4033ac02d0 | ||
|
|
9ab9275f66 | ||
|
|
1c80c4bb08 | ||
|
|
548653cafe | ||
|
|
ee6b1ea157 | ||
|
|
12db3dafc5 | ||
|
|
d1e95cbc98 | ||
|
|
7ffa793f19 | ||
|
|
4203435c48 | ||
|
|
271b63d717 | ||
|
|
acd7ce5950 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,6 +1,5 @@
|
||||
.gitignore export-ignore
|
||||
.gitattributes export-ignore
|
||||
build export-ignore
|
||||
README.md export-ignore
|
||||
/spec export-ignore
|
||||
Gemfile export-ignore
|
||||
|
||||
44
README.md
44
README.md
@@ -7,7 +7,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 **won't affect your startup time**, as scripts are loaded only on demand\*.
|
||||
- It **installs 50+ times faster** than 50+ packages it consist of.
|
||||
- Solid syntax and indentation support. Only the best language packs.
|
||||
- All unnecessary files are ignored (like enormous documentation from php support).
|
||||
@@ -26,12 +26,12 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
## Language packs
|
||||
|
||||
- [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, indent, ftdetect)
|
||||
- [blade](https://github.com/xsbeats/vim-blade) (syntax, ftdetect)
|
||||
- [blade](https://github.com/xsbeats/vim-blade) (syntax, indent, ftdetect)
|
||||
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
||||
- [c/c++](https://github.com/vim-jp/cpp-vim) (syntax)
|
||||
- [c-extensions](https://github.com/kergoth/aftersyntaxc.vim) (syntax)
|
||||
- [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)
|
||||
- [cjsx](https://github.com/mtscout6/vim-cjsx) (ftdetect, syntax, ftplugin)
|
||||
- [css](https://github.com/JulesWang/css.vim) (syntax)
|
||||
- [cucumber](https://github.com/tpope/vim-cucumber) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
||||
@@ -40,17 +40,22 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
- [emblem](https://github.com/heartsentwined/vim-emblem) (syntax, indent, ftplugin, ftdetect)
|
||||
- [erlang](https://github.com/hcs42/vim-erlang-runtime) (syntax, indent)
|
||||
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
||||
- [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent, ftdetect)
|
||||
- [go](https://github.com/fatih/vim-go) (syntax, indent, ftdetect)
|
||||
- [groovy](https://github.com/vim-scripts/groovy.vim) (syntax)
|
||||
- [haml](https://github.com/tpope/vim-haml) (syntax, indent, compiler, 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/raichoo/haskell-vim) ()
|
||||
- [haxe](https://github.com/yaymukund/vim-haxe) (syntax, ftdetect)
|
||||
- [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload, ftplugin)
|
||||
- [jade](https://github.com/digitaltoad/vim-jade) (syntax, indent, ftplugin, ftdetect)
|
||||
- [jasmine](https://github.com/glanotte/vim-jasmine) (syntax, ftdetect)
|
||||
- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, ftdetect)
|
||||
- [json](https://github.com/leshill/vim-json) (syntax, ftdetect)
|
||||
- [javascript](https://github.com/sheerun/yajs.vim) (syntax, indent)
|
||||
- [julia](https://github.com/dcjones/julia-minimalist-vim) (syntax, indent, ftdetect)
|
||||
- [json](https://github.com/sheerun/vim-json) (syntax, indent, ftdetect)
|
||||
- [jst](https://github.com/briancollins/vim-jst) (syntax, indent, ftdetect)
|
||||
- [jsx](https://github.com/mxw/vim-jsx) (after)
|
||||
- [kotlin](https://github.com/udalov/kotlin-vim) (syntax, indent, ftdetect)
|
||||
- [latex](https://github.com/LaTeX-Box-Team/LaTeX-Box) (syntax, indent, ftplugin)
|
||||
- [less](https://github.com/groenewege/vim-less) (syntax, indent, ftplugin, ftdetect)
|
||||
- [liquid](https://github.com/tpope/vim-liquid) (syntax, indent, ftplugin, ftdetect)
|
||||
@@ -65,20 +70,23 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
- [powershell](https://github.com/Persistent13/vim-ps1) (syntax, indent, ftplugin, ftdetect)
|
||||
- [protobuf](https://github.com/uarun/vim-protobuf) (syntax, ftdetect)
|
||||
- [python](https://github.com/mitsuhiko/vim-python-combined) (syntax, indent)
|
||||
- [qml](https://github.com/peterhoeg/vim-qml) (syntax, indent, ftplugin, ftdetect)
|
||||
- [r-lang](https://github.com/vim-scripts/R.vim) (syntax, ftplugin)
|
||||
- [ragel](https://github.com/jneen/ragel.vim) (syntax)
|
||||
- [rspec](https://github.com/sheerun/rspec.vim) (syntax, ftdetect)
|
||||
- [ruby](https://github.com/vim-ruby/vim-ruby) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||
- [rust](https://github.com/wting/rust.vim) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||
- [sbt](https://github.com/derekwyatt/vim-sbt) (syntax, ftdetect)
|
||||
- [scala](https://github.com/derekwyatt/vim-scala) (syntax, indent, ftplugin, ftdetect)
|
||||
- [scala](https://github.com/derekwyatt/vim-scala) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [slim](https://github.com/slim-template/vim-slim) (syntax, indent, ftdetect)
|
||||
- [solidity](https://github.com/ethereum/vim-solidity) (syntax, indent, ftdetect)
|
||||
- [stylus](https://github.com/wavded/vim-stylus) (syntax, indent, ftplugin, ftdetect)
|
||||
- [systemd](https://github.com/kurayama/systemd-vim-syntax) (syntax, ftdetect)
|
||||
- [swift](https://github.com/toyamarinyon/vim-swift) (syntax, indent, ftdetect)
|
||||
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin, ftdetect)
|
||||
- [tmux](https://github.com/tejr/vim-tmux) (syntax, ftdetect)
|
||||
- [tomdoc](https://github.com/duwanis/tomdoc.vim) (syntax)
|
||||
- [typescript](https://github.com/leafgarland/typescript-vim) (syntax, compiler, ftplugin, ftdetect)
|
||||
- [typescript](https://github.com/leafgarland/typescript-vim) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
|
||||
- [thrift](https://github.com/solarnz/thrift.vim) (syntax, ftdetect)
|
||||
- [toml](https://github.com/cespare/vim-toml) (syntax, ftplugin, ftdetect)
|
||||
@@ -87,7 +95,21 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
- [yard](https://github.com/sheerun/vim-yardoc) (syntax)
|
||||
- [vala](https://github.com/tkztmk/vim-vala) (syntax, indent, ftdetect)
|
||||
- [vm](https://github.com/lepture/vim-velocity) (syntax, indent, ftdetect)
|
||||
- [css-color](https://github.com/ap/vim-css-color) (autoload, syntax)
|
||||
|
||||
## Disabling a language pack
|
||||
|
||||
Individual language packs can be disabled by setting `g:polyglot_disabled`.
|
||||
|
||||
```viml
|
||||
" ~/.vimrc
|
||||
let g:polyglot_disabled = ['css']
|
||||
```
|
||||
|
||||
Note that disabiling languages won't make in general your vim startup any faster / slower (only for specific file type). Vim-polyglot is selection of language plugins that are loaded only on demand.
|
||||
|
||||
## Updating
|
||||
|
||||
You can either wait for new patch release with updates or run the `./build` script by yourself.
|
||||
|
||||
## Contributing
|
||||
|
||||
@@ -98,7 +120,3 @@ Feel free to add your language, and send pull-request.
|
||||
## License
|
||||
|
||||
See linked repositories for detailed license information.
|
||||
|
||||
|
||||
[](https://bitdeli.com/free "Bitdeli Badge")
|
||||
|
||||
|
||||
24
after/ftdetect/javascript.vim
Normal file
24
after/ftdetect/javascript.vim
Normal file
@@ -0,0 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Vim ftdetect file
|
||||
"
|
||||
" Language: JSX (JavaScript)
|
||||
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
exec 'source '.fnameescape(expand('<sfile>:p:h:h').'/jsx-config.vim')
|
||||
|
||||
fu! <SID>EnableJSX()
|
||||
if g:jsx_pragma_required && !b:jsx_pragma_found | return 0 | endif
|
||||
if g:jsx_ext_required && !exists('b:jsx_ext_found') | return 0 | endif
|
||||
return 1
|
||||
endfu
|
||||
|
||||
autocmd BufNewFile,BufRead *.jsx let b:jsx_ext_found = 1
|
||||
autocmd BufNewFile,BufRead *.jsx set filetype=javascript.jsx
|
||||
autocmd BufNewFile,BufRead *.js
|
||||
\ if <SID>EnableJSX() | set filetype=javascript.jsx | endif
|
||||
|
||||
endif
|
||||
@@ -1,2 +1,6 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rspec') == -1
|
||||
|
||||
autocmd BufReadPost,BufNewFile *_spec.rb set syntax=rspec
|
||||
autocmd BufReadPost,BufNewFile *_spec.rb setlocal commentstring=#\ %s
|
||||
|
||||
endif
|
||||
|
||||
9
after/ftplugin/coffee.vim
Normal file
9
after/ftplugin/coffee.vim
Normal file
@@ -0,0 +1,9 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cjsx') == -1
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '(:),\[:\],{:},<:>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -1,9 +0,0 @@
|
||||
" Vim ftplugin file
|
||||
" Language: Haskell
|
||||
" Maintainer: Tristan Ravitch
|
||||
|
||||
" I don't fully understand what the vim-default ftplugin does, but I do know
|
||||
" that the three-part comment entry really messes up this indenter (I also
|
||||
" hate the leading '-'s it puts in on each line). Disable it here.
|
||||
setlocal comments&
|
||||
setlocal comments=:--
|
||||
21
after/ftplugin/jsx.vim
Normal file
21
after/ftplugin/jsx.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Vim ftplugin file
|
||||
"
|
||||
" Language: JSX (JavaScript)
|
||||
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||
" Depends: pangloss/vim-javascript
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" modified from html.vim
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '(:),\[:\],{:},<:>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
|
||||
endif
|
||||
|
||||
setlocal suffixesadd+=.jsx
|
||||
|
||||
endif
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
|
||||
if !exists('g:puppet_align_hashes')
|
||||
let g:puppet_align_hashes = 1
|
||||
endif
|
||||
@@ -14,3 +16,5 @@ if g:puppet_align_hashes && exists(':Tabularize')
|
||||
call search(repeat('\([^=]\|=[^>]\)*=>',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
|
||||
endfunction
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -31,3 +33,5 @@ function! GetCoffeeHtmlIndent(curlinenum)
|
||||
" Otherwise use html indenting.
|
||||
exec 'return ' s:htmlIndentExpr
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
102
after/indent/jsx.vim
Normal file
102
after/indent/jsx.vim
Normal file
@@ -0,0 +1,102 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Vim indent file
|
||||
"
|
||||
" Language: JSX (JavaScript)
|
||||
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||
" Depends: pangloss/vim-javascript
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" Do nothing if we don't find the @jsx pragma (and we care).
|
||||
exec 'source '.fnameescape(expand('<sfile>:p:h:h').'/jsx-config.vim')
|
||||
if g:jsx_pragma_required && !b:jsx_pragma_found | finish | endif
|
||||
|
||||
" Do nothing if we don't have the .jsx extension (and we care).
|
||||
if g:jsx_ext_required && !exists('b:jsx_ext_found') | finish | endif
|
||||
|
||||
" Prologue; load in XML indentation.
|
||||
if exists('b:did_indent')
|
||||
let s:did_indent=b:did_indent
|
||||
unlet b:did_indent
|
||||
endif
|
||||
exe 'runtime! indent/xml.vim'
|
||||
if exists('s:did_indent')
|
||||
let b:did_indent=s:did_indent
|
||||
endif
|
||||
|
||||
setlocal indentexpr=GetJsxIndent()
|
||||
|
||||
" JS indentkeys
|
||||
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e
|
||||
" XML indentkeys
|
||||
setlocal indentkeys+=*<Return>,<>>,<<>,/
|
||||
|
||||
" Self-closing tag regex.
|
||||
let s:sctag = '^\s*\/>\s*;\='
|
||||
|
||||
" Get all syntax types at the beginning of a given line.
|
||||
fu! SynSOL(lnum)
|
||||
return map(synstack(a:lnum, 1), 'synIDattr(v:val, "name")')
|
||||
endfu
|
||||
|
||||
" Get all syntax types at the end of a given line.
|
||||
fu! SynEOL(lnum)
|
||||
let lnum = prevnonblank(a:lnum)
|
||||
let col = strlen(getline(lnum))
|
||||
return map(synstack(lnum, col), 'synIDattr(v:val, "name")')
|
||||
endfu
|
||||
|
||||
" Check if a syntax attribute is XMLish.
|
||||
fu! SynAttrXMLish(synattr)
|
||||
return a:synattr =~ "^xml" || a:synattr =~ "^jsx"
|
||||
endfu
|
||||
|
||||
" Check if a synstack is XMLish (i.e., has an XMLish last attribute).
|
||||
fu! SynXMLish(syns)
|
||||
return SynAttrXMLish(get(a:syns, -1))
|
||||
endfu
|
||||
|
||||
" Check if a synstack has any XMLish attribute.
|
||||
fu! SynXMLishAny(syns)
|
||||
for synattr in a:syns
|
||||
if SynAttrXMLish(synattr)
|
||||
return 1
|
||||
endif
|
||||
endfor
|
||||
return 0
|
||||
endfu
|
||||
|
||||
" Check if a synstack denotes the end of a JSX block.
|
||||
fu! SynJSXBlockEnd(syns)
|
||||
return get(a:syns, -1) == 'jsBraces' && SynAttrXMLish(get(a:syns, -2))
|
||||
endfu
|
||||
|
||||
" Cleverly mix JS and XML indentation.
|
||||
fu! GetJsxIndent()
|
||||
let cursyn = SynSOL(v:lnum)
|
||||
let prevsyn = SynEOL(v:lnum - 1)
|
||||
|
||||
" Use XML indenting if the syntax at the end of the previous line was either
|
||||
" JSX or was the closing brace of a jsBlock whose parent syntax was JSX.
|
||||
if (SynXMLish(prevsyn) || SynJSXBlockEnd(prevsyn)) && SynXMLishAny(cursyn)
|
||||
let ind = XmlIndentGet(v:lnum, 0)
|
||||
|
||||
" Align '/>' with '<' for multiline self-closing tags.
|
||||
if getline(v:lnum) =~? s:sctag
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
|
||||
" Then correct the indentation of any JSX following '/>'.
|
||||
if getline(v:lnum - 1) =~? s:sctag
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
else
|
||||
let ind = GetJavascriptIndent()
|
||||
endif
|
||||
|
||||
return ind
|
||||
endfu
|
||||
|
||||
endif
|
||||
37
after/jsx-config.vim
Normal file
37
after/jsx-config.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Vimscript file
|
||||
"
|
||||
" Set up a bunch of configuration variables.
|
||||
"
|
||||
" Also check (if desired) whether or not the @jsx pragma is correctly included
|
||||
" in '%'. Set the result in b:jsx_pragma_found.
|
||||
"
|
||||
" Language: JSX (JavaScript)
|
||||
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" Only check once.
|
||||
if exists('b:jsx_pragma_found')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Whether the .jsx extension is required to enable JSX syntax/indent.
|
||||
if !exists('g:jsx_ext_required')
|
||||
let g:jsx_ext_required = 1
|
||||
endif
|
||||
|
||||
" Whether the @jsx pragma is required to enable JSX syntax/indent.
|
||||
if !exists('g:jsx_pragma_required')
|
||||
let g:jsx_pragma_required = 0
|
||||
endif
|
||||
if !g:jsx_pragma_required | finish | endif
|
||||
|
||||
" Look for the @jsx pragma. It must be included in a docblock comment before
|
||||
" anything else in the file (except whitespace).
|
||||
let s:jsx_pragma_pattern = '\%^\_s*\/\*\*\%(\_.\%(\*\/\)\@!\)*@jsx\_.\{-}\*\/'
|
||||
let b:jsx_pragma_found = search(s:jsx_pragma_pattern, 'npw')
|
||||
|
||||
endif
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c++11') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: C Additions
|
||||
" Maintainer: Jon Haggblad <jon@haeggblad.com>
|
||||
@@ -72,7 +74,8 @@ syn keyword cAnsiFunction wcstombs mbstowcs wctomb
|
||||
syn keyword cAnsiFunction mbtowc mblen lldiv
|
||||
syn keyword cAnsiFunction ldiv div llabs
|
||||
syn keyword cAnsiFunction labs abs qsort
|
||||
syn keyword cAnsiFunction bsearch system getenv
|
||||
"syn keyword cAnsiFunction bsearch system getenv
|
||||
syn keyword cAnsiFunction bsearch getenv
|
||||
syn keyword cAnsiFunction exit atexit abort
|
||||
syn keyword cAnsiFunction realloc malloc free
|
||||
syn keyword cAnsiFunction calloc srand rand
|
||||
@@ -289,3 +292,5 @@ hi def link cBoolean Boolean
|
||||
"hi def link cDelimiter Delimiter
|
||||
" foldmethod=syntax fix, courtesy of Ivan Freitas
|
||||
"hi def link cBraces Delimiter
|
||||
|
||||
endif
|
||||
|
||||
31
after/syntax/coffee.vim
Normal file
31
after/syntax/coffee.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cjsx') == -1
|
||||
|
||||
if exists('b:current_syntax')
|
||||
let s:current_syntax=b:current_syntax
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
if exists('s:current_syntax')
|
||||
let b:current_syntax=s:current_syntax
|
||||
endif
|
||||
|
||||
syn match cjsxEntity contained "&[^; \t]*;" contains=cjsxEntityPunct
|
||||
syn match cjsxEntityPunct contained "[&.;]"
|
||||
|
||||
syn match cjsxAttribProperty /[A-Za-z_][A-Za-z0-9_-]*/ contained
|
||||
syn region cjsxAttrib start=/\s[A-Za-z_][A-Za-z0-9_-]/hs=s+1 end=/=/ end=/\s[A-Za-z_]/me=e-2 end=+[/>]+me=e-1 contained contains=cjsxAttribProperty
|
||||
|
||||
syn region cjsxBody start=+[^/]>+ms=s+2 start=/>/ms=s+1 end=+<\/+me=e-2 contained contains=cjsxElement,coffeeCurlies,cjsxEntity
|
||||
|
||||
syn region cjsxElement start=/<@\=[A-Za-z_][A-Za-z0-9-_\.]*/ end=/\/>/ end=/<\/@\=[A-Za-z_][A-Za-z0-9-_\.]*>/ contains=cjsxOpenTag,cjsxBody,coffeeCurlies,coffeeString,cjsxAttrib,coffeeNumber,coffeeFloat
|
||||
|
||||
syn cluster coffeeAll add=cjsxElement
|
||||
|
||||
" The default highlighting.
|
||||
hi def link cjsxElement Function
|
||||
hi def link cjsxTagName Function
|
||||
hi def link cjsxEntity Statement
|
||||
hi def link cjsxEntityPunct Type
|
||||
hi def link cjsxAttribProperty Type
|
||||
|
||||
endif
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c++11') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: C++ Additions
|
||||
" Maintainer: Jon Haggblad <jon@haeggblad.com>
|
||||
@@ -134,6 +136,7 @@ syntax keyword cppSTLfunctional binary_negate
|
||||
syntax keyword cppSTLfunctional bit_and
|
||||
syntax keyword cppSTLfunctional bit_not
|
||||
syntax keyword cppSTLfunctional bit_or
|
||||
syntax keyword cppSTLfunctional bit_xor
|
||||
syntax keyword cppSTLfunctional divides
|
||||
syntax keyword cppSTLfunctional equal_to
|
||||
syntax keyword cppSTLfunctional greater
|
||||
@@ -170,7 +173,7 @@ syntax keyword cppSTLfunction back
|
||||
syntax keyword cppSTLfunction back_inserter
|
||||
syntax keyword cppSTLfunction bad
|
||||
syntax keyword cppSTLfunction beg
|
||||
syntax keyword cppSTLfunction begin
|
||||
"syntax keyword cppSTLfunction begin
|
||||
syntax keyword cppSTLfunction binary_compose
|
||||
syntax keyword cppSTLfunction binary_negate
|
||||
syntax keyword cppSTLfunction binary_search
|
||||
@@ -197,14 +200,14 @@ syntax keyword cppSTLfunction count
|
||||
syntax keyword cppSTLfunction count_if
|
||||
syntax keyword cppSTLfunction c_str
|
||||
syntax keyword cppSTLfunction ctime
|
||||
syntax keyword cppSTLfunction data
|
||||
"syntax keyword cppSTLfunction data
|
||||
syntax keyword cppSTLfunction denorm_min
|
||||
syntax keyword cppSTLfunction destroy
|
||||
syntax keyword cppSTLfunction difftime
|
||||
syntax keyword cppSTLfunction distance
|
||||
syntax keyword cppSTLfunction div
|
||||
syntax keyword cppSTLfunction empty
|
||||
syntax keyword cppSTLfunction end
|
||||
"syntax keyword cppSTLfunction end
|
||||
syntax keyword cppSTLfunction eof
|
||||
syntax keyword cppSTLfunction epsilon
|
||||
syntax keyword cppSTLfunction equal
|
||||
@@ -417,7 +420,7 @@ syntax keyword cppSTLfunction signal
|
||||
syntax keyword cppSTLfunction signaling_NaN
|
||||
syntax keyword cppSTLfunction sin
|
||||
syntax keyword cppSTLfunction sinh
|
||||
syntax keyword cppSTLfunction size
|
||||
"syntax keyword cppSTLfunction size
|
||||
syntax keyword cppSTLfunction sort
|
||||
syntax keyword cppSTLfunction sort_heap
|
||||
syntax keyword cppSTLfunction splice
|
||||
@@ -459,13 +462,13 @@ syntax keyword cppSTLfunction swap_ranges
|
||||
syntax keyword cppSTLfunction swprintf
|
||||
syntax keyword cppSTLfunction swscanf
|
||||
syntax keyword cppSTLfunction sync_with_stdio
|
||||
syntax keyword cppSTLfunction system
|
||||
"syntax keyword cppSTLfunction system
|
||||
syntax keyword cppSTLfunction tan
|
||||
syntax keyword cppSTLfunction tanh
|
||||
syntax keyword cppSTLfunction tellg
|
||||
syntax keyword cppSTLfunction tellp
|
||||
syntax keyword cppSTLfunction test
|
||||
syntax keyword cppSTLfunction time
|
||||
"syntax keyword cppSTLfunction test
|
||||
"syntax keyword cppSTLfunction time
|
||||
syntax keyword cppSTLfunction tmpfile
|
||||
syntax keyword cppSTLfunction tmpnam
|
||||
syntax keyword cppSTLfunction tolower
|
||||
@@ -760,6 +763,7 @@ syntax keyword cppSTLconstant WCHAR_MAX
|
||||
if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLtype nullptr_t max_align_t
|
||||
syntax keyword cppSTLtype type_index
|
||||
syntax keyword cppSTLconstant nullptr
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype is_void
|
||||
@@ -1052,7 +1056,7 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLconstant FLT_EVAL_METHOD
|
||||
|
||||
" complex
|
||||
syntax keyword cppSTLfunction proj
|
||||
"syntax keyword cppSTLfunction proj
|
||||
|
||||
" random
|
||||
syntax keyword cppSTLtype linear_congruential_engine
|
||||
@@ -1362,3 +1366,5 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppRawDelimiter Delimiter
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('css', 'extended', 'cssMediaBlock,cssFunction,cssDefinition,cssAttrRegion,cssComment')
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Sven Felix Oberquelle <Svelix.Github@gmail.com>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -11,3 +13,5 @@ syn region hamlCoffeescriptFilter matchgroup=hamlFilter
|
||||
\ end="^\%(\z1 \| *$\)\@!"
|
||||
\ contains=@hamlCoffeeScript,hamlInterpolation
|
||||
\ keepend
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
" Extends standard help syntax with highlighting of Scala code.
|
||||
"
|
||||
" Place code between !sc! and !/sc! delimiters. These will be hidden if Vim is
|
||||
@@ -12,3 +14,5 @@ if has('conceal')
|
||||
else
|
||||
syntax region rgnScala matchgroup=Ignore start='!sc!' end='!/sc!' contains=@ScalaCode
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -9,6 +11,23 @@ syn region coffeeScript start=#<script [^>]*type="text/coffeescript"[^>]*>#
|
||||
\ end=#</script>#me=s-1 keepend
|
||||
\ contains=@htmlCoffeeScript,htmlScriptTag,@htmlPreproc
|
||||
\ containedin=htmlHead
|
||||
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1
|
||||
|
||||
" Language: OpenGL Shading Language
|
||||
" Maintainer: Sergey Tikhomirov <sergey@tikhomirov.io>
|
||||
|
||||
syn include @GLSL syntax/glsl.vim
|
||||
syn region ShaderScript
|
||||
\ start="<script [^>]*type=\('\|\"\)x-shader/x-\(vertex\|fragment\)\('\|\"\)[^>]*>"
|
||||
\ keepend
|
||||
\ end="</script>"me=s-1
|
||||
\ contains=@GLSL,htmlScriptTag,@htmlPreproc
|
||||
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
|
||||
|
||||
if !exists("g:less_html_style_tags")
|
||||
let g:less_html_style_tags = 1
|
||||
endif
|
||||
@@ -35,10 +54,5 @@ syn region lessStyle start=+<style [^>]*type *=[^>]*text/less[^>]*>+ keepend end
|
||||
if exists("s:pre_less_cur_syn")
|
||||
let b:current_syntax = s:pre_less_cur_syn
|
||||
endif
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
" default html syntax should already be including the css syntax
|
||||
syn cluster colorableGroup add=htmlString,htmlCommentPart
|
||||
endif
|
||||
|
||||
47
after/syntax/jsx.vim
Normal file
47
after/syntax/jsx.vim
Normal file
@@ -0,0 +1,47 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Vim syntax file
|
||||
"
|
||||
" Language: JSX (JavaScript)
|
||||
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||
" Depends: pangloss/vim-javascript
|
||||
"
|
||||
" CREDITS: Inspired by Facebook.
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" Do nothing if we don't find the @jsx pragma (and we care).
|
||||
exec 'source '.fnameescape(expand('<sfile>:p:h:h').'/jsx-config.vim')
|
||||
if g:jsx_pragma_required && !b:jsx_pragma_found | finish | endif
|
||||
|
||||
" Do nothing if we don't have the .jsx extension (and we care).
|
||||
if g:jsx_ext_required && !exists('b:jsx_ext_found') | finish | endif
|
||||
|
||||
" Prologue; load in XML syntax.
|
||||
if exists('b:current_syntax')
|
||||
let s:current_syntax=b:current_syntax
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
syn include @XMLSyntax syntax/xml.vim
|
||||
if exists('s:current_syntax')
|
||||
let b:current_syntax=s:current_syntax
|
||||
endif
|
||||
|
||||
" Highlight JSX regions as XML; recursively match.
|
||||
syn region jsxRegion contains=@XMLSyntax,jsxRegion,jsBlock,javascriptBlock
|
||||
\ start=+<\@<!<\z([a-zA-Z][a-zA-Z0-9:\-.]*\)+
|
||||
\ skip=+<!--\_.\{-}-->+
|
||||
\ end=+</\z1\_\s\{-}>+
|
||||
\ end=+/>+
|
||||
\ keepend
|
||||
\ extend
|
||||
|
||||
" JSX attributes should color as JS. Note the trivial end pattern; we let
|
||||
" jsBlock take care of ending the region.
|
||||
syn region xmlString contained start=+{+ end=++ contains=jsBlock,javascriptBlock
|
||||
|
||||
" Add jsxRegion to the lowest-level JS syntax cluster.
|
||||
syn cluster jsExpression add=jsxRegion
|
||||
|
||||
endif
|
||||
@@ -1,13 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
" variable | property | multiline | end-of-line | plugin
|
||||
" -----------------------+----------------+----------------+-------------+---------
|
||||
" lessCssAttribute | lessCssComment | lessComment | https://github.com/genoma/vim-less
|
||||
" lessAttribute | lessCssComment | lessComment | https://github.com/KohPoll/vim-less
|
||||
" lessVariableValue | lessDefinition | cssComment | lessComment | https://github.com/groenewege/vim-less
|
||||
" lessVariableDefinition | cssDefinition | cssComment | lessComment | https://github.com/lunaru/vim-less
|
||||
|
||||
call css_color#init('css', 'extended', 'lessVariableValue,lessVariableDefinition,lessDefinition,lessCssAttribute,lessAttribute,cssDefinition,cssComment,lessCssComment,lessComment')
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('hex', 'extended', 'luaComment,luaString')
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('hex', 'extended', 'moonComment,moonString')
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rspec') == -1
|
||||
|
||||
"
|
||||
" An rspec syntax file
|
||||
" Originally from http://www.vim.org/scripts/script.php?script_id=2286
|
||||
@@ -30,3 +32,5 @@ syntax keyword rspecMessageExpectation advise any_args any_number_of_times anyth
|
||||
highlight link rspecMessageExpectation Function
|
||||
|
||||
let b:current_syntax = 'rspec'
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'yard') == -1
|
||||
|
||||
" Ruby syntax extensions for highlighting YARD documentation.
|
||||
"
|
||||
" Author: Joel Holdbrooks <https://github.com/noprompt>
|
||||
@@ -124,3 +126,5 @@ hi def link yardParametricType yardComment
|
||||
hi def link yardArrow yardComment
|
||||
hi def link yardHashAngle yardComment
|
||||
hi def link yardHashCurly yardComment
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
if !exists('g:rust_conceal') || !has('conceal') || &enc != 'utf-8'
|
||||
finish
|
||||
endif
|
||||
@@ -29,3 +31,5 @@ hi link rustNiceOperator Operator
|
||||
if !exists('g:rust_conceal_mod_path')
|
||||
hi! link Conceal Operator
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('css', 'extended', 'sassCssAttribute,sassComment,sassCssComment')
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('css', 'extended', 'scssAttribute,scssComment,scssVariableValue,sassCssAttribute,cssComment')
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('css', 'extended', 'stylusCssAttribute,stylusComment,cssComment')
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" adds support for cleverref package
|
||||
" \Cref, \cref, \cpageref, \labelcref, \labelcpageref
|
||||
syn region texRefZone matchgroup=texStatement start="\\Cref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
@@ -7,3 +9,5 @@ syn region texRefZone matchgroup=texStatement start="\\\(label\|\)c\(page\|\)re
|
||||
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>"
|
||||
syn match texInputFile "\\lstinputlisting\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texZone "\\lstinline\s*\(\[.*\]\)\={.\{-}}"
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('hex', 'none', 'vimHiGuiRgb,vimComment,vimLineComment')
|
||||
File diff suppressed because one or more lines are too long
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -52,3 +54,5 @@ function! coffee#CoffeeSetUpErrorFormat()
|
||||
\%f:%l:%c:\ error:\ %m,
|
||||
\%-G%.%#
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,574 +0,0 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
" Commit: $Format:%H$
|
||||
" Licence: The MIT License (MIT)
|
||||
|
||||
if v:version < 700
|
||||
echoerr printf('Vim 7 is required for css-color (this is only %d.%d)',v:version/100,v:version%100)
|
||||
finish
|
||||
endif
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
function! s:rgb2color(r,g,b)
|
||||
" Convert 80% -> 204, 100% -> 255, etc.
|
||||
let rgb = map( [a:r,a:g,a:b], 'v:val =~ "%$" ? ( 255 * v:val ) / 100 : v:val' )
|
||||
return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] )
|
||||
endfunction
|
||||
|
||||
function! s:hsl2color(h,s,l)
|
||||
" Convert 80% -> 0.8, 100% -> 1.0, etc.
|
||||
let [s,l] = map( [a:s, a:l], 'v:val =~ "%$" ? v:val / 100.0 : v:val + 0.0' )
|
||||
" algorithm transcoded to vim from http://www.w3.org/TR/css3-color/#hsl-color
|
||||
let hh = ( a:h % 360 ) / 360.0
|
||||
let m2 = l <= 0.5 ? l * ( s + 1 ) : l + s - l * s
|
||||
let m1 = l * 2 - m2
|
||||
let rgb = []
|
||||
for h in [ hh + (1/3.0), hh, hh - (1/3.0) ]
|
||||
let h = h < 0 ? h + 1 : h > 1 ? h - 1 : h
|
||||
let v =
|
||||
\ h * 6 < 1 ? m1 + ( m2 - m1 ) * h * 6 :
|
||||
\ h * 2 < 1 ? m2 :
|
||||
\ h * 3 < 2 ? m1 + ( m2 - m1 ) * ( 2/3.0 - h ) * 6 :
|
||||
\ m1
|
||||
if v > 1.0 | return '' | endif
|
||||
let rgb += [ float2nr( 255 * v ) ]
|
||||
endfor
|
||||
return printf( '%02x%02x%02x', rgb[0], rgb[1], rgb[2] )
|
||||
endfunction
|
||||
|
||||
let s:hex={}
|
||||
for i in range(0, 255)
|
||||
let s:hex[ printf( '%02x', i ) ] = i
|
||||
endfor
|
||||
|
||||
if has('gui_running')
|
||||
let s:is_gui = 1
|
||||
else
|
||||
let s:is_gui = 0
|
||||
|
||||
" preset 16 vt100 colors
|
||||
let s:xtermcolor = [
|
||||
\ [ 0x00, 0x00, 0x00, 0 ],
|
||||
\ [ 0xCD, 0x00, 0x00, 1 ],
|
||||
\ [ 0x00, 0xCD, 0x00, 2 ],
|
||||
\ [ 0xCD, 0xCD, 0x00, 3 ],
|
||||
\ [ 0x00, 0x00, 0xEE, 4 ],
|
||||
\ [ 0xCD, 0x00, 0xCD, 5 ],
|
||||
\ [ 0x00, 0xCD, 0xCD, 6 ],
|
||||
\ [ 0xE5, 0xE5, 0xE5, 7 ],
|
||||
\ [ 0x7F, 0x7F, 0x7F, 8 ],
|
||||
\ [ 0xFF, 0x00, 0x00, 9 ],
|
||||
\ [ 0x00, 0xFF, 0x00, 10 ],
|
||||
\ [ 0xFF, 0xFF, 0x00, 11 ],
|
||||
\ [ 0x5C, 0x5C, 0xFF, 12 ],
|
||||
\ [ 0xFF, 0x00, 0xFF, 13 ],
|
||||
\ [ 0x00, 0xFF, 0xFF, 14 ],
|
||||
\ [ 0xFF, 0xFF, 0xFF, 15 ]]
|
||||
" grayscale ramp
|
||||
" (value is 8+10*lum for lum in 0..23)
|
||||
let s:xtermcolor += [
|
||||
\ [ 0x08, 0x08, 0x08, 232 ],
|
||||
\ [ 0x12, 0x12, 0x12, 233 ],
|
||||
\ [ 0x1C, 0x1C, 0x1C, 234 ],
|
||||
\ [ 0x26, 0x26, 0x26, 235 ],
|
||||
\ [ 0x30, 0x30, 0x30, 236 ],
|
||||
\ [ 0x3A, 0x3A, 0x3A, 237 ],
|
||||
\ [ 0x44, 0x44, 0x44, 238 ],
|
||||
\ [ 0x4E, 0x4E, 0x4E, 239 ],
|
||||
\ [ 0x58, 0x58, 0x58, 240 ],
|
||||
\ [ 0x62, 0x62, 0x62, 241 ],
|
||||
\ [ 0x6C, 0x6C, 0x6C, 242 ],
|
||||
\ [ 0x76, 0x76, 0x76, 243 ],
|
||||
\ [ 0x80, 0x80, 0x80, 244 ],
|
||||
\ [ 0x8A, 0x8A, 0x8A, 245 ],
|
||||
\ [ 0x94, 0x94, 0x94, 246 ],
|
||||
\ [ 0x9E, 0x9E, 0x9E, 247 ],
|
||||
\ [ 0xA8, 0xA8, 0xA8, 248 ],
|
||||
\ [ 0xB2, 0xB2, 0xB2, 249 ],
|
||||
\ [ 0xBC, 0xBC, 0xBC, 250 ],
|
||||
\ [ 0xC6, 0xC6, 0xC6, 251 ],
|
||||
\ [ 0xD0, 0xD0, 0xD0, 252 ],
|
||||
\ [ 0xDA, 0xDA, 0xDA, 253 ],
|
||||
\ [ 0xE4, 0xE4, 0xE4, 254 ],
|
||||
\ [ 0xEE, 0xEE, 0xEE, 255 ]]
|
||||
|
||||
" the 6 values used in the xterm color cube
|
||||
" 0 95 135 175 215 255
|
||||
let s:cubergb = [ 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF ]
|
||||
|
||||
" 0..255 mapped to 0..5 based on the color cube values
|
||||
let s:xvquant = repeat([0],48)
|
||||
\ + repeat([1],68)
|
||||
\ + repeat([2],40)
|
||||
\ + repeat([3],40)
|
||||
\ + repeat([4],40)
|
||||
\ + repeat([5],20)
|
||||
" tweak the mapping for the exact matches (0 and 1 already correct)
|
||||
let s:xvquant[s:cubergb[2]] = 2
|
||||
let s:xvquant[s:cubergb[3]] = 3
|
||||
let s:xvquant[s:cubergb[4]] = 4
|
||||
let s:xvquant[s:cubergb[5]] = 5
|
||||
|
||||
" selects the nearest xterm color for a rgb value like #FF0000
|
||||
function! s:rgb2xterm(color)
|
||||
let best_match=0
|
||||
let smallest_distance = 10000000000
|
||||
let color = tolower(a:color)
|
||||
let r = s:hex[color[0:1]]
|
||||
let g = s:hex[color[2:3]]
|
||||
let b = s:hex[color[4:5]]
|
||||
|
||||
let vr = s:xvquant[r]
|
||||
let vg = s:xvquant[g]
|
||||
let vb = s:xvquant[b]
|
||||
let cidx = vr * 36 + vg * 6 + vb + 16
|
||||
let ccol = [ s:cubergb[vr], s:cubergb[vg], s:cubergb[vb], cidx ]
|
||||
|
||||
for [tr,tg,tb,idx] in [ ccol ] + s:xtermcolor
|
||||
let dr = tr - r
|
||||
let dg = tg - g
|
||||
let db = tb - b
|
||||
let distance = dr*dr + dg*dg + db*db
|
||||
if distance == 0 | return idx | endif
|
||||
if distance > smallest_distance | continue | endif
|
||||
let smallest_distance = distance
|
||||
let best_match = idx
|
||||
endfor
|
||||
return best_match
|
||||
endfunction
|
||||
endif
|
||||
|
||||
let s:pattern_color = {}
|
||||
let s:color_fg = {}
|
||||
let s:color_bg = {}
|
||||
let [s:hi_cmd, s:black, s:white] = s:is_gui
|
||||
\ ? ['hi %s guibg=#%s guifg=%s', '#000000', '#ffffff']
|
||||
\ : ['hi %s ctermbg=%s ctermfg=%s', 0, 15]
|
||||
function! s:create_syn_match()
|
||||
|
||||
let pattern = submatch(0)
|
||||
|
||||
if has_key( b:has_pattern_syn, pattern ) | return | endif
|
||||
let b:has_pattern_syn[pattern] = 1
|
||||
|
||||
let rgb_color = get( s:pattern_color, pattern, '' )
|
||||
|
||||
if ! strlen( rgb_color )
|
||||
let hexcolor = submatch(1)
|
||||
let funcname = submatch(2)
|
||||
|
||||
if funcname == 'rgb'
|
||||
let rgb_color = s:rgb2color(submatch(3),submatch(4),submatch(5))
|
||||
elseif funcname == 'hsl'
|
||||
let rgb_color = s:hsl2color(submatch(3),submatch(4),submatch(5))
|
||||
elseif strlen(hexcolor) == 6
|
||||
let rgb_color = tolower(hexcolor)
|
||||
elseif strlen(hexcolor) == 3
|
||||
let rgb_color = substitute(tolower(hexcolor), '\(.\)', '\1\1', 'g')
|
||||
else
|
||||
throw 'css_color: create_syn_match invoked on bad match data'
|
||||
endif
|
||||
|
||||
let s:pattern_color[pattern] = rgb_color
|
||||
endif
|
||||
|
||||
if ! has_key( b:has_color_hi, rgb_color )
|
||||
" check GUI flag early here to avoid pure-overhead caching
|
||||
let syn_bg = s:is_gui ? rgb_color : get( s:color_bg, rgb_color, '' )
|
||||
if ! strlen(syn_bg)
|
||||
let syn_bg = s:rgb2xterm(rgb_color)
|
||||
let s:color_bg[rgb_color] = syn_bg
|
||||
endif
|
||||
|
||||
let syn_fg = get( s:color_fg, rgb_color, '' )
|
||||
if ! strlen(syn_fg)
|
||||
let r = s:hex[rgb_color[0:1]]
|
||||
let g = s:hex[rgb_color[2:3]]
|
||||
let b = s:hex[rgb_color[4:5]]
|
||||
let syn_fg = r*30 + g*59 + b*11 > 12000 ? s:black : s:white
|
||||
let s:color_fg[rgb_color] = syn_fg
|
||||
endif
|
||||
endif
|
||||
|
||||
let group = 'BG' . rgb_color
|
||||
|
||||
if ! has_key( b:has_color_hi, rgb_color )
|
||||
exe printf( s:hi_cmd, group, syn_bg, syn_fg )
|
||||
let b:has_color_hi[rgb_color] = 1
|
||||
endif
|
||||
|
||||
" iff pattern ends on word character, require word break to match
|
||||
if pattern =~ '\>$' | let pattern .= '\>' | endif
|
||||
exe 'syn match' group '/'.escape(pattern, '/').'/ contained containedin=@colorableGroup'
|
||||
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:clear_matches()
|
||||
if exists('w:color_match_id')
|
||||
call filter(w:color_match_id, 'matchdelete(v:val)')
|
||||
unlet w:color_match_id
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:create_matches()
|
||||
if ! &l:cursorline | return | endif
|
||||
" adds matches based that duplicate the highlighted colors on the current line
|
||||
let lnr = line('.')
|
||||
let group = ''
|
||||
let groupstart = 0
|
||||
let endcol = col('$')
|
||||
let w:color_match_id = []
|
||||
for col in range( 1, endcol )
|
||||
let nextgroup = col < endcol ? synIDattr( synID( lnr, col, 1 ), 'name' ) : ''
|
||||
if group == nextgroup | continue | endif
|
||||
if group =~ '^BG\x\{6}$'
|
||||
let regex = '\%'.lnr.'l\%'.groupstart.'c'.repeat( '.', col - groupstart )
|
||||
let match = matchadd( group, regex, -1 )
|
||||
let w:color_match_id += [ match ]
|
||||
endif
|
||||
let group = nextgroup
|
||||
let groupstart = col
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
let s:_hexcolor = '#\(\x\{3}\|\x\{6}\)\>' " submatch 1
|
||||
let s:_funcname = '\(rgb\|hsl\)a\?' " submatch 2
|
||||
let s:_ws_ = '\s*'
|
||||
let s:_numval = s:_ws_ . '\(\d\{1,3}%\?\)' " submatch 3,4,5
|
||||
let s:_listsep = s:_ws_ . ','
|
||||
let s:_otherargs_ = '\%(,[^)]*\)\?'
|
||||
let s:_funcexpr = s:_funcname . '[(]' . s:_numval . s:_listsep . s:_numval . s:_listsep . s:_numval . s:_ws_ . s:_otherargs_ . '[)]'
|
||||
let s:_csscolor = s:_hexcolor . '\|' . s:_funcexpr
|
||||
" N.B. these substitute() calls are here just for the side effect
|
||||
" of invoking s:create_syn_match during substitution -- because
|
||||
" match() and friends do not allow finding all matches in a single
|
||||
" scan without examining the start of the string over and over
|
||||
function! s:parse_css_screen()
|
||||
call substitute( join( getline('w0','w$'), "\n" ), s:_csscolor, '\=s:create_syn_match()', 'g' )
|
||||
call s:clear_matches()
|
||||
call s:create_matches()
|
||||
endfunction
|
||||
function! s:parse_hex_screen()
|
||||
call substitute( join( getline('w0','w$'), "\n" ), s:_hexcolor, '\=s:create_syn_match()', 'g' )
|
||||
call s:clear_matches()
|
||||
call s:create_matches()
|
||||
endfunction
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
function! css_color#init(type, keywords, groups)
|
||||
exe 'syn cluster colorableGroup contains=' . a:groups
|
||||
|
||||
let b:has_color_hi = {}
|
||||
let b:has_pattern_syn = {}
|
||||
|
||||
augroup CSSColor
|
||||
autocmd! * <buffer>
|
||||
exe 'autocmd CursorMoved,CursorMovedI <buffer> call s:parse_'.a:type.'_screen()'
|
||||
autocmd BufWinEnter <buffer> call s:create_matches()
|
||||
autocmd BufWinLeave <buffer> call s:clear_matches()
|
||||
augroup END
|
||||
|
||||
exe 'call s:parse_'.a:type.'_screen()'
|
||||
|
||||
if a:keywords == 'none' | return | endif
|
||||
|
||||
syn case ignore
|
||||
|
||||
" W3C basic colors
|
||||
|
||||
hi BG000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231
|
||||
hi BGc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 ctermfg=16
|
||||
hi BG808080 guibg=#808080 guifg=#000000 ctermbg=244 ctermfg=16
|
||||
hi BGffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16
|
||||
hi BG800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231
|
||||
hi BGff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231
|
||||
hi BG800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BGff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231
|
||||
hi BG008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231
|
||||
hi BG00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16
|
||||
hi BG808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BGffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16
|
||||
hi BG000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231
|
||||
hi BG0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 ctermfg=231
|
||||
hi BG00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 ctermfg=16
|
||||
|
||||
syn keyword BG000000 black contained containedin=@colorableGroup
|
||||
syn keyword BGc0c0c0 silver contained containedin=@colorableGroup
|
||||
syn keyword BG808080 gray contained containedin=@colorableGroup
|
||||
syn match BGffffff "\c\<white\(-\)\@!\>" contained containedin=@colorableGroup
|
||||
syn keyword BG800000 maroon contained containedin=@colorableGroup
|
||||
syn keyword BGff0000 red contained containedin=@colorableGroup
|
||||
syn keyword BG800080 purple contained containedin=@colorableGroup
|
||||
syn keyword BGff00ff fuchsia contained containedin=@colorableGroup
|
||||
syn keyword BG008000 green contained containedin=@colorableGroup
|
||||
syn keyword BG00ff00 lime contained containedin=@colorableGroup
|
||||
syn keyword BG808000 olive contained containedin=@colorableGroup
|
||||
syn keyword BGffff00 yellow contained containedin=@colorableGroup
|
||||
syn keyword BG000080 navy contained containedin=@colorableGroup
|
||||
syn keyword BG0000ff blue contained containedin=@colorableGroup
|
||||
syn keyword BG008080 teal contained containedin=@colorableGroup
|
||||
syn keyword BG00ffff aqua contained containedin=@colorableGroup
|
||||
|
||||
if a:keywords == 'basic' | return | endif
|
||||
|
||||
" W3C extended colors
|
||||
|
||||
hi BG00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231
|
||||
hi BG008b8b guibg=#008B8B guifg=#FFFFFF ctermbg=30 ctermfg=231
|
||||
hi BG00bfff guibg=#00BFFF guifg=#000000 ctermbg=6 ctermfg=16
|
||||
hi BG00ced1 guibg=#00CED1 guifg=#000000 ctermbg=6 ctermfg=16
|
||||
hi BG00fa9a guibg=#00FA9A guifg=#000000 ctermbg=6 ctermfg=16
|
||||
hi BG00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16
|
||||
hi BG191970 guibg=#191970 guifg=#FFFFFF ctermbg=237 ctermfg=231
|
||||
hi BG1e90ff guibg=#1E90FF guifg=#000000 ctermbg=12 ctermfg=16
|
||||
hi BG20b2aa guibg=#20B2AA guifg=#000000 ctermbg=37 ctermfg=16
|
||||
hi BG228b22 guibg=#228B22 guifg=#FFFFFF ctermbg=2 ctermfg=231
|
||||
hi BG2e8b57 guibg=#2E8B57 guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BG2f4f4f guibg=#2F4F4F guifg=#FFFFFF ctermbg=238 ctermfg=231
|
||||
hi BG32cd32 guibg=#32CD32 guifg=#000000 ctermbg=2 ctermfg=16
|
||||
hi BG3cb371 guibg=#3CB371 guifg=#000000 ctermbg=71 ctermfg=16
|
||||
hi BG40e0d0 guibg=#40E0D0 guifg=#000000 ctermbg=80 ctermfg=16
|
||||
hi BG4169e1 guibg=#4169E1 guifg=#FFFFFF ctermbg=12 ctermfg=231
|
||||
hi BG4682b4 guibg=#4682B4 guifg=#FFFFFF ctermbg=67 ctermfg=231
|
||||
hi BG483d8b guibg=#483D8B guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BG48d1cc guibg=#48D1CC guifg=#000000 ctermbg=80 ctermfg=16
|
||||
hi BG4b0082 guibg=#4B0082 guifg=#FFFFFF ctermbg=238 ctermfg=231
|
||||
hi BG556b2f guibg=#556B2F guifg=#FFFFFF ctermbg=239 ctermfg=231
|
||||
hi BG5f9ea0 guibg=#5F9EA0 guifg=#000000 ctermbg=73 ctermfg=16
|
||||
hi BG6495ed guibg=#6495ED guifg=#000000 ctermbg=12 ctermfg=16
|
||||
hi BG66cdaa guibg=#66CDAA guifg=#000000 ctermbg=79 ctermfg=16
|
||||
hi BG696969 guibg=#696969 guifg=#FFFFFF ctermbg=242 ctermfg=231
|
||||
hi BG6a5acd guibg=#6A5ACD guifg=#FFFFFF ctermbg=12 ctermfg=231
|
||||
hi BG6b8e23 guibg=#6B8E23 guifg=#FFFFFF ctermbg=241 ctermfg=231
|
||||
hi BG708090 guibg=#708090 guifg=#000000 ctermbg=66 ctermfg=16
|
||||
hi BG778899 guibg=#778899 guifg=#000000 ctermbg=102 ctermfg=16
|
||||
hi BG7b68ee guibg=#7B68EE guifg=#000000 ctermbg=12 ctermfg=16
|
||||
hi BG7cfc00 guibg=#7CFC00 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BG7fff00 guibg=#7FFF00 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BG7fffd4 guibg=#7FFFD4 guifg=#000000 ctermbg=122 ctermfg=16
|
||||
hi BG87ceeb guibg=#87CEEB guifg=#000000 ctermbg=117 ctermfg=16
|
||||
hi BG87cefa guibg=#87CEFA guifg=#000000 ctermbg=117 ctermfg=16
|
||||
hi BG8a2be2 guibg=#8A2BE2 guifg=#FFFFFF ctermbg=12 ctermfg=231
|
||||
hi BG8b0000 guibg=#8B0000 guifg=#FFFFFF ctermbg=88 ctermfg=231
|
||||
hi BG8b008b guibg=#8B008B guifg=#FFFFFF ctermbg=5 ctermfg=231
|
||||
hi BG8b4513 guibg=#8B4513 guifg=#FFFFFF ctermbg=94 ctermfg=231
|
||||
hi BG8fbc8f guibg=#8FBC8F guifg=#000000 ctermbg=108 ctermfg=16
|
||||
hi BG90ee90 guibg=#90EE90 guifg=#000000 ctermbg=249 ctermfg=16
|
||||
hi BG9370d8 guibg=#9370D8 guifg=#000000 ctermbg=12 ctermfg=16
|
||||
hi BG9400d3 guibg=#9400D3 guifg=#FFFFFF ctermbg=5 ctermfg=231
|
||||
hi BG98fb98 guibg=#98FB98 guifg=#000000 ctermbg=250 ctermfg=16
|
||||
hi BG9932cc guibg=#9932CC guifg=#FFFFFF ctermbg=5 ctermfg=231
|
||||
hi BG9acd32 guibg=#9ACD32 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGa0522d guibg=#A0522D guifg=#FFFFFF ctermbg=130 ctermfg=231
|
||||
hi BGa52a2a guibg=#A52A2A guifg=#FFFFFF ctermbg=124 ctermfg=231
|
||||
hi BGa9a9a9 guibg=#A9A9A9 guifg=#000000 ctermbg=248 ctermfg=16
|
||||
hi BGadd8e6 guibg=#ADD8E6 guifg=#000000 ctermbg=152 ctermfg=16
|
||||
hi BGadff2f guibg=#ADFF2F guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGafeeee guibg=#AFEEEE guifg=#000000 ctermbg=159 ctermfg=16
|
||||
hi BGb0c4de guibg=#B0C4DE guifg=#000000 ctermbg=152 ctermfg=16
|
||||
hi BGb0e0e6 guibg=#B0E0E6 guifg=#000000 ctermbg=152 ctermfg=16
|
||||
hi BGb22222 guibg=#B22222 guifg=#FFFFFF ctermbg=124 ctermfg=231
|
||||
hi BGb8860b guibg=#B8860B guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGba55d3 guibg=#BA55D3 guifg=#000000 ctermbg=5 ctermfg=16
|
||||
hi BGbc8f8f guibg=#BC8F8F guifg=#000000 ctermbg=138 ctermfg=16
|
||||
hi BGbdb76b guibg=#BDB76B guifg=#000000 ctermbg=247 ctermfg=16
|
||||
hi BGc71585 guibg=#C71585 guifg=#FFFFFF ctermbg=5 ctermfg=231
|
||||
hi BGcd5c5c guibg=#CD5C5C guifg=#000000 ctermbg=167 ctermfg=16
|
||||
hi BGcd853f guibg=#CD853F guifg=#000000 ctermbg=173 ctermfg=16
|
||||
hi BGd2691e guibg=#D2691E guifg=#000000 ctermbg=166 ctermfg=16
|
||||
hi BGd2b48c guibg=#D2B48C guifg=#000000 ctermbg=180 ctermfg=16
|
||||
hi BGd3d3d3 guibg=#D3D3D3 guifg=#000000 ctermbg=252 ctermfg=16
|
||||
hi BGd87093 guibg=#D87093 guifg=#000000 ctermbg=168 ctermfg=16
|
||||
hi BGd8bfd8 guibg=#D8BFD8 guifg=#000000 ctermbg=252 ctermfg=16
|
||||
hi BGda70d6 guibg=#DA70D6 guifg=#000000 ctermbg=249 ctermfg=16
|
||||
hi BGdaa520 guibg=#DAA520 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGdc143c guibg=#DC143C guifg=#FFFFFF ctermbg=161 ctermfg=231
|
||||
hi BGdcdcdc guibg=#DCDCDC guifg=#000000 ctermbg=253 ctermfg=16
|
||||
hi BGdda0dd guibg=#DDA0DD guifg=#000000 ctermbg=182 ctermfg=16
|
||||
hi BGdeb887 guibg=#DEB887 guifg=#000000 ctermbg=180 ctermfg=16
|
||||
hi BGe0ffff guibg=#E0FFFF guifg=#000000 ctermbg=195 ctermfg=16
|
||||
hi BGe6e6fa guibg=#E6E6FA guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGe9967a guibg=#E9967A guifg=#000000 ctermbg=174 ctermfg=16
|
||||
hi BGee82ee guibg=#EE82EE guifg=#000000 ctermbg=251 ctermfg=16
|
||||
hi BGeee8aa guibg=#EEE8AA guifg=#000000 ctermbg=223 ctermfg=16
|
||||
hi BGf08080 guibg=#F08080 guifg=#000000 ctermbg=210 ctermfg=16
|
||||
hi BGf0e68c guibg=#F0E68C guifg=#000000 ctermbg=222 ctermfg=16
|
||||
hi BGf0f8ff guibg=#F0F8FF guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGf0fff0 guibg=#F0FFF0 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGf0ffff guibg=#F0FFFF guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGf4a460 guibg=#F4A460 guifg=#000000 ctermbg=215 ctermfg=16
|
||||
hi BGf5deb3 guibg=#F5DEB3 guifg=#000000 ctermbg=223 ctermfg=16
|
||||
hi BGf5f5dc guibg=#F5F5DC guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGf5f5f5 guibg=#F5F5F5 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGf5fffa guibg=#F5FFFA guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGf8f8ff guibg=#F8F8FF guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGfa8072 guibg=#FA8072 guifg=#000000 ctermbg=209 ctermfg=16
|
||||
hi BGfaebd7 guibg=#FAEBD7 guifg=#000000 ctermbg=7 ctermfg=16
|
||||
hi BGfaf0e6 guibg=#FAF0E6 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfafad2 guibg=#FAFAD2 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfdf5e6 guibg=#FDF5E6 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGff1493 guibg=#FF1493 guifg=#FFFFFF ctermbg=5 ctermfg=231
|
||||
hi BGff4500 guibg=#FF4500 guifg=#FFFFFF ctermbg=9 ctermfg=231
|
||||
hi BGff6347 guibg=#FF6347 guifg=#000000 ctermbg=203 ctermfg=16
|
||||
hi BGff69b4 guibg=#FF69B4 guifg=#000000 ctermbg=205 ctermfg=16
|
||||
hi BGff7f50 guibg=#FF7F50 guifg=#000000 ctermbg=209 ctermfg=16
|
||||
hi BGff8c00 guibg=#FF8C00 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGffa07a guibg=#FFA07A guifg=#000000 ctermbg=216 ctermfg=16
|
||||
hi BGffa500 guibg=#FFA500 guifg=#000000 ctermbg=3 ctermfg=16
|
||||
hi BGffb6c1 guibg=#FFB6C1 guifg=#000000 ctermbg=217 ctermfg=16
|
||||
hi BGffc0cb guibg=#FFC0CB guifg=#000000 ctermbg=218 ctermfg=16
|
||||
hi BGffd700 guibg=#FFD700 guifg=#000000 ctermbg=11 ctermfg=16
|
||||
hi BGffdab9 guibg=#FFDAB9 guifg=#000000 ctermbg=223 ctermfg=16
|
||||
hi BGffdead guibg=#FFDEAD guifg=#000000 ctermbg=223 ctermfg=16
|
||||
hi BGffe4b5 guibg=#FFE4B5 guifg=#000000 ctermbg=223 ctermfg=16
|
||||
hi BGffe4c4 guibg=#FFE4C4 guifg=#000000 ctermbg=224 ctermfg=16
|
||||
hi BGffe4e1 guibg=#FFE4E1 guifg=#000000 ctermbg=224 ctermfg=16
|
||||
hi BGffebcd guibg=#FFEBCD guifg=#000000 ctermbg=7 ctermfg=16
|
||||
hi BGffefd5 guibg=#FFEFD5 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfff0f5 guibg=#FFF0F5 guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGfff5ee guibg=#FFF5EE guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfff8dc guibg=#FFF8DC guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfffacd guibg=#FFFACD guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfffaf0 guibg=#FFFAF0 guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGfffafa guibg=#FFFAFA guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16
|
||||
|
||||
syn keyword BGf0f8ff AliceBlue contained containedin=@colorableGroup
|
||||
syn keyword BGfaebd7 AntiqueWhite contained containedin=@colorableGroup
|
||||
syn keyword BG7fffd4 Aquamarine contained containedin=@colorableGroup
|
||||
syn keyword BGf0ffff Azure contained containedin=@colorableGroup
|
||||
syn keyword BGf5f5dc Beige contained containedin=@colorableGroup
|
||||
syn keyword BGffe4c4 Bisque contained containedin=@colorableGroup
|
||||
syn keyword BGffebcd BlanchedAlmond contained containedin=@colorableGroup
|
||||
syn keyword BG8a2be2 BlueViolet contained containedin=@colorableGroup
|
||||
syn keyword BGa52a2a Brown contained containedin=@colorableGroup
|
||||
syn keyword BGdeb887 BurlyWood contained containedin=@colorableGroup
|
||||
syn keyword BG5f9ea0 CadetBlue contained containedin=@colorableGroup
|
||||
syn keyword BG7fff00 Chartreuse contained containedin=@colorableGroup
|
||||
syn keyword BGd2691e Chocolate contained containedin=@colorableGroup
|
||||
syn keyword BGff7f50 Coral contained containedin=@colorableGroup
|
||||
syn keyword BG6495ed CornflowerBlue contained containedin=@colorableGroup
|
||||
syn keyword BGfff8dc Cornsilk contained containedin=@colorableGroup
|
||||
syn keyword BGdc143c Crimson contained containedin=@colorableGroup
|
||||
syn keyword BG00ffff Cyan contained containedin=@colorableGroup
|
||||
syn keyword BG00008b DarkBlue contained containedin=@colorableGroup
|
||||
syn keyword BG008b8b DarkCyan contained containedin=@colorableGroup
|
||||
syn keyword BGb8860b DarkGoldenRod contained containedin=@colorableGroup
|
||||
syn keyword BGa9a9a9 DarkGray contained containedin=@colorableGroup
|
||||
syn keyword BG006400 DarkGreen contained containedin=@colorableGroup
|
||||
syn keyword BGa9a9a9 DarkGrey contained containedin=@colorableGroup
|
||||
syn keyword BGbdb76b DarkKhaki contained containedin=@colorableGroup
|
||||
syn keyword BG8b008b DarkMagenta contained containedin=@colorableGroup
|
||||
syn keyword BG556b2f DarkOliveGreen contained containedin=@colorableGroup
|
||||
syn keyword BG9932cc DarkOrchid contained containedin=@colorableGroup
|
||||
syn keyword BG8b0000 DarkRed contained containedin=@colorableGroup
|
||||
syn keyword BGe9967a DarkSalmon contained containedin=@colorableGroup
|
||||
syn keyword BG8fbc8f DarkSeaGreen contained containedin=@colorableGroup
|
||||
syn keyword BG483d8b DarkSlateBlue contained containedin=@colorableGroup
|
||||
syn keyword BG2f4f4f DarkSlateGray contained containedin=@colorableGroup
|
||||
syn keyword BG2f4f4f DarkSlateGrey contained containedin=@colorableGroup
|
||||
syn keyword BG00ced1 DarkTurquoise contained containedin=@colorableGroup
|
||||
syn keyword BG9400d3 DarkViolet contained containedin=@colorableGroup
|
||||
syn keyword BGff8c00 Darkorange contained containedin=@colorableGroup
|
||||
syn keyword BGff1493 DeepPink contained containedin=@colorableGroup
|
||||
syn keyword BG00bfff DeepSkyBlue contained containedin=@colorableGroup
|
||||
syn keyword BG696969 DimGray contained containedin=@colorableGroup
|
||||
syn keyword BG696969 DimGrey contained containedin=@colorableGroup
|
||||
syn keyword BG1e90ff DodgerBlue contained containedin=@colorableGroup
|
||||
syn keyword BGb22222 FireBrick contained containedin=@colorableGroup
|
||||
syn keyword BGfffaf0 FloralWhite contained containedin=@colorableGroup
|
||||
syn keyword BG228b22 ForestGreen contained containedin=@colorableGroup
|
||||
syn keyword BGdcdcdc Gainsboro contained containedin=@colorableGroup
|
||||
syn keyword BGf8f8ff GhostWhite contained containedin=@colorableGroup
|
||||
syn keyword BGffd700 Gold contained containedin=@colorableGroup
|
||||
syn keyword BGdaa520 GoldenRod contained containedin=@colorableGroup
|
||||
syn keyword BGadff2f GreenYellow contained containedin=@colorableGroup
|
||||
syn keyword BG808080 Grey contained containedin=@colorableGroup
|
||||
syn keyword BGf0fff0 HoneyDew contained containedin=@colorableGroup
|
||||
syn keyword BGff69b4 HotPink contained containedin=@colorableGroup
|
||||
syn keyword BGcd5c5c IndianRed contained containedin=@colorableGroup
|
||||
syn keyword BG4b0082 Indigo contained containedin=@colorableGroup
|
||||
syn keyword BGfffff0 Ivory contained containedin=@colorableGroup
|
||||
syn keyword BGf0e68c Khaki contained containedin=@colorableGroup
|
||||
syn keyword BGe6e6fa Lavender contained containedin=@colorableGroup
|
||||
syn keyword BGfff0f5 LavenderBlush contained containedin=@colorableGroup
|
||||
syn keyword BG7cfc00 LawnGreen contained containedin=@colorableGroup
|
||||
syn keyword BGfffacd LemonChiffon contained containedin=@colorableGroup
|
||||
syn keyword BGadd8e6 LightBlue contained containedin=@colorableGroup
|
||||
syn keyword BGf08080 LightCoral contained containedin=@colorableGroup
|
||||
syn keyword BGe0ffff LightCyan contained containedin=@colorableGroup
|
||||
syn keyword BGfafad2 LightGoldenRodYellow contained containedin=@colorableGroup
|
||||
syn keyword BGd3d3d3 LightGray contained containedin=@colorableGroup
|
||||
syn keyword BG90ee90 LightGreen contained containedin=@colorableGroup
|
||||
syn keyword BGd3d3d3 LightGrey contained containedin=@colorableGroup
|
||||
syn keyword BGffb6c1 LightPink contained containedin=@colorableGroup
|
||||
syn keyword BGffa07a LightSalmon contained containedin=@colorableGroup
|
||||
syn keyword BG20b2aa LightSeaGreen contained containedin=@colorableGroup
|
||||
syn keyword BG87cefa LightSkyBlue contained containedin=@colorableGroup
|
||||
syn keyword BG778899 LightSlateGray contained containedin=@colorableGroup
|
||||
syn keyword BG778899 LightSlateGrey contained containedin=@colorableGroup
|
||||
syn keyword BGb0c4de LightSteelBlue contained containedin=@colorableGroup
|
||||
syn keyword BGffffe0 LightYellow contained containedin=@colorableGroup
|
||||
syn keyword BG32cd32 LimeGreen contained containedin=@colorableGroup
|
||||
syn keyword BGfaf0e6 Linen contained containedin=@colorableGroup
|
||||
syn keyword BGff00ff Magenta contained containedin=@colorableGroup
|
||||
syn keyword BG66cdaa MediumAquaMarine contained containedin=@colorableGroup
|
||||
syn keyword BG0000cd MediumBlue contained containedin=@colorableGroup
|
||||
syn keyword BGba55d3 MediumOrchid contained containedin=@colorableGroup
|
||||
syn keyword BG9370d8 MediumPurple contained containedin=@colorableGroup
|
||||
syn keyword BG3cb371 MediumSeaGreen contained containedin=@colorableGroup
|
||||
syn keyword BG7b68ee MediumSlateBlue contained containedin=@colorableGroup
|
||||
syn keyword BG00fa9a MediumSpringGreen contained containedin=@colorableGroup
|
||||
syn keyword BG48d1cc MediumTurquoise contained containedin=@colorableGroup
|
||||
syn keyword BGc71585 MediumVioletRed contained containedin=@colorableGroup
|
||||
syn keyword BG191970 MidnightBlue contained containedin=@colorableGroup
|
||||
syn keyword BGf5fffa MintCream contained containedin=@colorableGroup
|
||||
syn keyword BGffe4e1 MistyRose contained containedin=@colorableGroup
|
||||
syn keyword BGffe4b5 Moccasin contained containedin=@colorableGroup
|
||||
syn keyword BGffdead NavajoWhite contained containedin=@colorableGroup
|
||||
syn keyword BGfdf5e6 OldLace contained containedin=@colorableGroup
|
||||
syn keyword BG6b8e23 OliveDrab contained containedin=@colorableGroup
|
||||
syn keyword BGffa500 Orange contained containedin=@colorableGroup
|
||||
syn keyword BGff4500 OrangeRed contained containedin=@colorableGroup
|
||||
syn keyword BGda70d6 Orchid contained containedin=@colorableGroup
|
||||
syn keyword BGeee8aa PaleGoldenRod contained containedin=@colorableGroup
|
||||
syn keyword BG98fb98 PaleGreen contained containedin=@colorableGroup
|
||||
syn keyword BGafeeee PaleTurquoise contained containedin=@colorableGroup
|
||||
syn keyword BGd87093 PaleVioletRed contained containedin=@colorableGroup
|
||||
syn keyword BGffefd5 PapayaWhip contained containedin=@colorableGroup
|
||||
syn keyword BGffdab9 PeachPuff contained containedin=@colorableGroup
|
||||
syn keyword BGcd853f Peru contained containedin=@colorableGroup
|
||||
syn keyword BGffc0cb Pink contained containedin=@colorableGroup
|
||||
syn keyword BGdda0dd Plum contained containedin=@colorableGroup
|
||||
syn keyword BGb0e0e6 PowderBlue contained containedin=@colorableGroup
|
||||
syn keyword BGbc8f8f RosyBrown contained containedin=@colorableGroup
|
||||
syn keyword BG4169e1 RoyalBlue contained containedin=@colorableGroup
|
||||
syn keyword BG8b4513 SaddleBrown contained containedin=@colorableGroup
|
||||
syn keyword BGfa8072 Salmon contained containedin=@colorableGroup
|
||||
syn keyword BGf4a460 SandyBrown contained containedin=@colorableGroup
|
||||
syn keyword BG2e8b57 SeaGreen contained containedin=@colorableGroup
|
||||
syn keyword BGfff5ee SeaShell contained containedin=@colorableGroup
|
||||
syn keyword BGa0522d Sienna contained containedin=@colorableGroup
|
||||
syn keyword BG87ceeb SkyBlue contained containedin=@colorableGroup
|
||||
syn keyword BG6a5acd SlateBlue contained containedin=@colorableGroup
|
||||
syn keyword BG708090 SlateGray contained containedin=@colorableGroup
|
||||
syn keyword BG708090 SlateGrey contained containedin=@colorableGroup
|
||||
syn keyword BGfffafa Snow contained containedin=@colorableGroup
|
||||
syn keyword BG00ff7f SpringGreen contained containedin=@colorableGroup
|
||||
syn keyword BG4682b4 SteelBlue contained containedin=@colorableGroup
|
||||
syn keyword BGd2b48c Tan contained containedin=@colorableGroup
|
||||
syn keyword BGd8bfd8 Thistle contained containedin=@colorableGroup
|
||||
syn keyword BGff6347 Tomato contained containedin=@colorableGroup
|
||||
syn keyword BG40e0d0 Turquoise contained containedin=@colorableGroup
|
||||
syn keyword BGee82ee Violet contained containedin=@colorableGroup
|
||||
syn keyword BGf5deb3 Wheat contained containedin=@colorableGroup
|
||||
syn keyword BGf5f5f5 WhiteSmoke contained containedin=@colorableGroup
|
||||
syn keyword BG9acd32 YellowGreen contained containedin=@colorableGroup
|
||||
endfunction
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Vim completion script
|
||||
" Language: HTML and XHTML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
@@ -837,3 +839,5 @@ function! htmlcomplete#CheckDoctype() " {{{
|
||||
endfunction
|
||||
" }}}
|
||||
" vim:set foldmethod=marker:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim completion script
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
@@ -704,7 +706,9 @@ class VimRubyCompletion
|
||||
cv = eval("self.class.constants")
|
||||
vartype = get_var_type( receiver )
|
||||
dprint "vartype: %s" % vartype
|
||||
if vartype != ''
|
||||
|
||||
invalid_vartype = ['', "gets"]
|
||||
if !invalid_vartype.include?(vartype)
|
||||
load_buffer_class( vartype )
|
||||
|
||||
begin
|
||||
@@ -732,7 +736,7 @@ class VimRubyCompletion
|
||||
methods.concat m.instance_methods(false)
|
||||
}
|
||||
end
|
||||
variables += add_rails_columns( "#{vartype}" ) if vartype && vartype.length > 0
|
||||
variables += add_rails_columns( "#{vartype}" ) if vartype && !invalid_vartype.include?(vartype)
|
||||
|
||||
when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/
|
||||
message = $1
|
||||
@@ -829,3 +833,5 @@ call s:DefRuby()
|
||||
|
||||
|
||||
" vim:tw=78:sw=4:ts=8:et:fdm=marker:ft=vim:norl:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
" Author: Kevin Ballard
|
||||
" Description: Helper functions for Rust commands/mappings
|
||||
" Last Modified: May 27, 2014
|
||||
@@ -223,3 +225,5 @@ endfunction
|
||||
" }}}1
|
||||
|
||||
" vim: set noet sw=4 ts=4:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Vim completion for WAI-ARIA data file
|
||||
" Language: HTML + WAI-ARIA
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
@@ -230,3 +232,5 @@ let g:xmldata_aria = {
|
||||
\ 'default_role': default_role,
|
||||
\ 'vimariaattrinfo': aria_attributes_value
|
||||
\ }
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Vim completion for HTML5 data file
|
||||
" Language: HTML5
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
@@ -823,3 +825,5 @@ let g:xmldata_html5 = {
|
||||
\ 'wbr': ['/>', ''],
|
||||
\ },
|
||||
\ }
|
||||
|
||||
endif
|
||||
|
||||
53
build
53
build
@@ -4,13 +4,21 @@ set -E
|
||||
|
||||
DIRS="syntax indent compiler autoload ftplugin ftdetect after/syntax after/indent after/ftplugin after/ftdetect"
|
||||
DIRS_BASIC="syntax indent ftdetect after/syntax after/indent after/ftdetect"
|
||||
DIRS_ALL="syntax indent compiler autoload ftplugin ftdetect after"
|
||||
|
||||
OUTPUT=""
|
||||
|
||||
output() {
|
||||
OUTPUT="$OUTPUT$1"
|
||||
printf -- "$1"
|
||||
}
|
||||
|
||||
download() {
|
||||
for pack in $1; do
|
||||
path="$(printf "$pack" | cut -d ':' -f 2)"
|
||||
dir="tmp/$(printf "$path" | cut -d '/' -f 2)"
|
||||
rm -rf "$dir"
|
||||
(git clone -q --recursive "https://github.com/$path.git" "$dir" && printf '.') &
|
||||
(mkdir -p "$dir" && curl --silent -L https://codeload.github.com/$path/tar.gz/master | tar -zx -C "$dir" --strip 1 && printf '.') &
|
||||
done
|
||||
|
||||
wait
|
||||
@@ -24,7 +32,7 @@ extract() {
|
||||
dir="tmp/$(printf "$path" | cut -d '/' -f 2)"
|
||||
directories="DIRS$(printf "$pack" | cut -d ':' -f 3)"
|
||||
subtree="$(printf "$pack" | cut -d ':' -f 4)"
|
||||
printf -- "- [$name](https://github.com/$path) ("
|
||||
output "- [$name](https://github.com/$path) ("
|
||||
|
||||
subdirs=""
|
||||
for subdir in ${!directories}; do
|
||||
@@ -34,12 +42,12 @@ extract() {
|
||||
subdirs="$subdirs, $base"
|
||||
fi
|
||||
|
||||
copy_dir "${dir}${subtree}" "$subdir"
|
||||
copy_dir "${dir}${subtree}" "$subdir" "$name"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
printf "${subdirs##, })\n"
|
||||
output "${subdirs##, })\n"
|
||||
done
|
||||
|
||||
for pack in $1; do
|
||||
@@ -59,7 +67,9 @@ copy_dir() {
|
||||
file_path="$(dirname "${file##$1/}")"
|
||||
mkdir -p "$file_path"
|
||||
touch "$file_path/$(basename "$file")"
|
||||
cat $file >> $file_path/$(basename "$file")
|
||||
|
||||
# Use comma instead of / to handle cases like c/c++
|
||||
sed -e "s,%%PACK%%,$3," -e "/%%CONTENT%%/{r $file" -e "d;}" plugin_guard.vim.template >> $file_path/$(basename "$file")
|
||||
done
|
||||
}
|
||||
|
||||
@@ -69,6 +79,22 @@ concat_ftdetect() {
|
||||
mv tmp/polyglot.vim ftdetect/
|
||||
}
|
||||
|
||||
update_readme() {
|
||||
OLD_README="$(cat README.md)"
|
||||
|
||||
ed README.md <<- EOF
|
||||
/Language packs
|
||||
+2kb
|
||||
/##
|
||||
'b,-2c
|
||||
$(printf -- "$OUTPUT")
|
||||
.
|
||||
w
|
||||
q
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
PACKS="
|
||||
arduino:sudar/vim-arduino-syntax
|
||||
blade:xsbeats/vim-blade
|
||||
@@ -76,6 +102,7 @@ PACKS="
|
||||
c/c++:vim-jp/cpp-vim
|
||||
clojure:guns/vim-clojure-static
|
||||
coffee-script:kchmck/vim-coffee-script
|
||||
cjsx:mtscout6/vim-cjsx
|
||||
css:JulesWang/css.vim
|
||||
cucumber:tpope/vim-cucumber
|
||||
dockerfile:honza/dockerfile.vim
|
||||
@@ -84,17 +111,22 @@ PACKS="
|
||||
emblem:heartsentwined/vim-emblem
|
||||
erlang:hcs42/vim-erlang-runtime
|
||||
git:tpope/vim-git
|
||||
glsl:tikhomirov/vim-glsl
|
||||
go:fatih/vim-go:_BASIC
|
||||
groovy:vim-scripts/groovy.vim
|
||||
haml:tpope/vim-haml
|
||||
handlebars:mustache/vim-mustache-handlebars
|
||||
haskell:travitch/hasksyn
|
||||
haskell:raichoo/haskell-vim
|
||||
haxe:yaymukund/vim-haxe
|
||||
html5:othree/html5.vim
|
||||
jade:digitaltoad/vim-jade
|
||||
jasmine:glanotte/vim-jasmine
|
||||
javascript:pangloss/vim-javascript
|
||||
javascript:sheerun/yajs.vim
|
||||
julia:dcjones/julia-minimalist-vim
|
||||
json:sheerun/vim-json
|
||||
jst:briancollins/vim-jst
|
||||
jsx:mxw/vim-jsx:_ALL
|
||||
kotlin:udalov/kotlin-vim
|
||||
latex:LaTeX-Box-Team/LaTeX-Box
|
||||
less:groenewege/vim-less
|
||||
liquid:tpope/vim-liquid
|
||||
@@ -109,13 +141,16 @@ PACKS="
|
||||
powershell:Persistent13/vim-ps1
|
||||
protobuf:uarun/vim-protobuf
|
||||
python:mitsuhiko/vim-python-combined
|
||||
qml:peterhoeg/vim-qml
|
||||
r-lang:vim-scripts/R.vim
|
||||
ragel:jneen/ragel.vim
|
||||
rspec:sheerun/rspec.vim
|
||||
ruby:vim-ruby/vim-ruby
|
||||
rust:wting/rust.vim
|
||||
sbt:derekwyatt/vim-sbt
|
||||
scala:derekwyatt/vim-scala
|
||||
slim:slim-template/vim-slim
|
||||
solidity:ethereum/vim-solidity
|
||||
stylus:wavded/vim-stylus
|
||||
systemd:kurayama/systemd-vim-syntax
|
||||
swift:toyamarinyon/vim-swift
|
||||
@@ -131,16 +166,16 @@ PACKS="
|
||||
yard:sheerun/vim-yardoc
|
||||
vala:tkztmk/vim-vala
|
||||
vm:lepture/vim-velocity
|
||||
css-color:ap/vim-css-color
|
||||
"
|
||||
|
||||
rm -rf tmp
|
||||
rm -rf $DIRS
|
||||
rm -rf $DIRS_ALL
|
||||
mkdir tmp
|
||||
|
||||
printf "Downloading packs..."
|
||||
download "$PACKS"
|
||||
extract "$PACKS"
|
||||
concat_ftdetect
|
||||
update_readme
|
||||
|
||||
rm -rf tmp
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -13,3 +15,5 @@ call coffee#CoffeeSetUpVariables()
|
||||
exec 'CompilerSet makeprg=' . escape(g:coffee_cake . ' ' .
|
||||
\ g:coffee_cake_options . ' $*', ' ')
|
||||
call coffee#CoffeeSetUpErrorFormat()
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Cargo Compiler
|
||||
" Maintainer: Damien Radtke <damienradtke@gmail.com>
|
||||
@@ -63,3 +65,5 @@ if s:local_manifest != ''
|
||||
call setqflist(qflist, 'r')
|
||||
endfunction
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -80,3 +82,5 @@ augroup CoffeeUpdateMakePrg
|
||||
autocmd BufWritePre,BufFilePost call s:UpdateMakePrg()
|
||||
endif
|
||||
augroup END
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -27,3 +29,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
@@ -37,3 +39,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: ExUnit
|
||||
" Maintainer: Rein Henrichs <rein.henrichs@gmail.com>
|
||||
@@ -22,3 +24,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -26,3 +28,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: Rake
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -37,3 +39,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: RSpec
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -31,3 +33,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
@@ -43,3 +45,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: Test::Unit - Ruby Unit Testing Framework
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
@@ -33,3 +35,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Rust Compiler
|
||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||
@@ -31,3 +33,5 @@ CompilerSet errorformat=
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Compiler: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -28,3 +30,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
" Vim compiler file
|
||||
" Language: Scala SBT (http://www.scala-sbt.org/)
|
||||
" Maintainer: Derek Wyatt
|
||||
@@ -28,3 +30,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 et:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
@@ -14,3 +16,5 @@ endif
|
||||
let &l:makeprg = g:typescript_compiler_binary . ' ' . g:typescript_compiler_options . ' $* %'
|
||||
|
||||
CompilerSet errorformat=%+A\ %#%f\ %#(%l\\\,%c):\ %m,%C%m
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'arduino') == -1
|
||||
|
||||
au BufRead,BufNewFile *.ino,*.pde set filetype=arduino
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'blade') == -1
|
||||
|
||||
au BufNewFile,BufRead *.blade.php set filetype=blade
|
||||
autocmd BufNewFile,BufRead *.clj,*.cljs,*.edn setlocal filetype=clojure
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cjsx') == -1
|
||||
|
||||
augroup CJSX
|
||||
au!
|
||||
autocmd BufNewFile,BufRead *.csx,*.cjsx set filetype=coffee
|
||||
augroup END
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'clojure') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.clj,*.cljs,*.edn,*.cljx,*.cljc setlocal filetype=clojure
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.coffee set filetype=coffee
|
||||
autocmd BufNewFile,BufRead *Cakefile set filetype=coffee
|
||||
autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee
|
||||
@@ -11,10 +29,22 @@ function! s:DetectCoffee()
|
||||
endif
|
||||
endfunction
|
||||
autocmd BufNewFile,BufRead * call s:DetectCoffee()
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -1
|
||||
|
||||
autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
||||
|
||||
au BufNewFile,BufRead Dockerfile set filetype=dockerfile
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||
|
||||
au BufRead,BufNewFile *.eex set filetype=eelixir
|
||||
au FileType eelixir setl sw=2 sts=2 et iskeyword+=!,?
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||
|
||||
au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
|
||||
au FileType elixir setl sw=2 sts=2 et iskeyword+=!,?
|
||||
function! s:DetectElixir()
|
||||
@@ -23,11 +53,20 @@ function! s:DetectElixir()
|
||||
endif
|
||||
endfunction
|
||||
autocmd BufNewFile,BufRead * call s:DetectElixir()
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.em set filetype=ember-script
|
||||
autocmd FileType ember-script set tabstop=2|set shiftwidth=2|set expandtab
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.emblem set filetype=emblem
|
||||
autocmd FileType emblem set tabstop=2|set shiftwidth=2|set expandtab
|
||||
autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
|
||||
autocmd BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig
|
||||
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
||||
autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
|
||||
@@ -45,43 +84,77 @@ autocmd BufNewFile,BufRead *
|
||||
\ if getline(1) =~ '^From \x\{40\} Mon Sep 17 00:00:00 2001$' |
|
||||
\ set filetype=gitsendemail |
|
||||
\ endif
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1
|
||||
|
||||
autocmd! BufNewFile,BufRead *.glsl,*.geom,*.vert,*.frag,*.gsh,*.vsh,*.fsh,*.vs,*.fs,*.gs,*.tcs,*.tes set filetype=glsl
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'go') == -1
|
||||
|
||||
let s:current_fileformats = ''
|
||||
let s:current_fileencodings = ''
|
||||
function! s:gofiletype_pre()
|
||||
let s:current_fileformats = &g:fileformats
|
||||
let s:current_fileencodings = &g:fileencodings
|
||||
set fileencodings=utf-8 fileformats=unix
|
||||
setlocal filetype=go
|
||||
let s:current_fileformats = &g:fileformats
|
||||
let s:current_fileencodings = &g:fileencodings
|
||||
set fileencodings=utf-8 fileformats=unix
|
||||
setlocal filetype=go
|
||||
endfunction
|
||||
function! s:gofiletype_post()
|
||||
let &g:fileformats = s:current_fileformats
|
||||
let &g:fileencodings = s:current_fileencodings
|
||||
let &g:fileformats = s:current_fileformats
|
||||
let &g:fileencodings = s:current_fileencodings
|
||||
endfunction
|
||||
au BufNewFile *.go setlocal filetype=go fileencoding=utf-8 fileformat=unix
|
||||
au BufNewFile *.go setfiletype go | setlocal fileencoding=utf-8 fileformat=unix
|
||||
au BufRead *.go call s:gofiletype_pre()
|
||||
au BufReadPost *.go call s:gofiletype_post()
|
||||
au BufRead,BufNewFile *.tmpl set filetype=gohtmltmpl
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc setf haml
|
||||
autocmd BufNewFile,BufRead *.sass setf sass
|
||||
autocmd BufNewFile,BufRead *.scss setf scss
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haxe') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.hx setf haxe
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jade') == -1
|
||||
|
||||
autocmd BufNewFile,BufReadPost *.jade set filetype=jade
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jasmine') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript syntax=jasmine
|
||||
au BufNewFile,BufRead *.js setf javascript
|
||||
au BufNewFile,BufRead *.jsm setf javascript
|
||||
au BufNewFile,BufRead Jakefile setf javascript
|
||||
fun! s:SelectJavascript()
|
||||
if getline(1) =~# '^#!.*/bin/env\s\+node\>'
|
||||
set ft=javascript
|
||||
endif
|
||||
endfun
|
||||
au BufNewFile,BufRead * call s:SelectJavascript()
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'json') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.json set filetype=json
|
||||
autocmd BufNewFile,BufRead *.jsonp set filetype=json
|
||||
au BufNewFile,BufRead *.ejs set filetype=jst
|
||||
au BufNewFile,BufRead *.jst set filetype=jst
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jst') == -1
|
||||
|
||||
au BufNewFile,BufRead *.ejs set filetype=jst
|
||||
au BufNewFile,BufRead *.jst set filetype=jst
|
||||
au BufNewFile,BufRead *.djs set filetype=jst
|
||||
au BufNewFile,BufRead *.hamljs set filetype=jst
|
||||
au BufNewFile,BufRead *.ect set filetype=jst
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'julia') == -1
|
||||
|
||||
au BufRead,BufNewFile *.jl let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp<"
|
||||
au BufRead,BufNewFile *.jl set filetype=julia
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.kt setfiletype kotlin
|
||||
autocmd BufNewFile,BufRead *.kts setfiletype kotlin
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.less setf less
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1
|
||||
|
||||
au BufNewFile,BufRead *.liquid set ft=liquid
|
||||
au BufNewFile,BufRead */_layouts/*.html,*/_includes/*.html set ft=liquid
|
||||
au BufNewFile,BufRead *.html,*.xml,*.textile
|
||||
@@ -94,22 +167,40 @@ au BufNewFile,BufRead *.markdown,*.mkd,*.mkdn,*.md
|
||||
au BufNewFile,BufRead */templates/**.liquid,*/layout/**.liquid,*/snippets/**.liquid
|
||||
\ let b:liquid_subtype = 'html' |
|
||||
\ set ft=liquid |
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mkd,*.mkdn
|
||||
\ if &ft =~# '^\%(conf\|modula2\)$' |
|
||||
\ set ft=markdown |
|
||||
\ else |
|
||||
\ setf markdown |
|
||||
\ endif
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||
|
||||
autocmd BufRead *.html
|
||||
\ if getline(1) =~ '^\(%\|<[%&].*>\)' |
|
||||
\ set filetype=mason |
|
||||
\ endif
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') == -1
|
||||
|
||||
if has("autocmd")
|
||||
au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||
au BufNewFile,BufRead *.handlebars,*.hbs set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||
endif
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1
|
||||
|
||||
au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/*,*/nginx/vhosts.d/*,nginx.conf if &ft == '' | setfiletype nginx | endif
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'opencl') == -1
|
||||
|
||||
au BufRead,BufNewFile *.cl set filetype=opencl
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||
|
||||
function! s:DetectPerl6()
|
||||
let line_no = 1
|
||||
let eof = line('$')
|
||||
@@ -128,7 +219,7 @@ function! s:DetectPerl6()
|
||||
endif
|
||||
if line =~ '^\s*\%(use\s\+\)\=v6\%(\.\d\%(\.\d\)\=\)\=;'
|
||||
set filetype=perl6 " we matched a 'use v6' declaration
|
||||
elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\(module\|class\|role\|enum\|grammar\)'
|
||||
elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\%(unit\s\+\)\=\(module\|class\|role\|enum\|grammar\)'
|
||||
set filetype=perl6 " we found a class, role, module, enum, or grammar declaration
|
||||
endif
|
||||
break " we either found what we needed, or we found a non-POD, non-comment,
|
||||
@@ -138,13 +229,32 @@ function! s:DetectPerl6()
|
||||
endfunction
|
||||
autocmd BufReadPost *.pl,*.pm,*.t call s:DetectPerl6()
|
||||
autocmd BufNew,BufNewFile,BufRead *.nqp setf perl6
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'protobuf') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||
|
||||
au BufNewFile,BufRead *.ps1 set ft=ps1
|
||||
au BufNewFile,BufRead *.psd1 set ft=ps1
|
||||
au BufNewFile,BufRead *.psm1 set ft=ps1
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||
|
||||
au BufNewFile,BufRead *.ps1xml set ft=ps1xml
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
|
||||
au! BufRead,BufNewFile *.pp setfiletype puppet
|
||||
au! BufRead,BufNewFile Puppetfile setfiletype ruby
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'qml') == -1
|
||||
|
||||
autocmd BufRead,BufNewFile *.qml setfiletype qml
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
function! s:setf(filetype) abort
|
||||
if &filetype !=# a:filetype
|
||||
let &filetype = a:filetype
|
||||
@@ -172,8 +282,19 @@ au BufNewFile,BufRead Puppetfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead [Bb]uildfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead Appraisals call s:setf('ruby')
|
||||
au BufNewFile,BufRead Podfile,*.podspec call s:setf('ruby')
|
||||
au BufNewFile,BufRead [rR]outefile call s:setf('ruby')
|
||||
au BufNewFile,BufRead .simplecov set filetype=ruby
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
au BufRead,BufNewFile *.rs set filetype=rust
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sbt') == -1
|
||||
|
||||
au BufRead,BufNewFile *.sbt set filetype=sbt.scala
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
fun! s:DetectScala()
|
||||
if getline(1) =~# '^#!\(/usr\)\?/bin/env\s\+scalas\?'
|
||||
set filetype=scala
|
||||
@@ -182,10 +303,26 @@ endfun
|
||||
au BufRead,BufNewFile *.scala set filetype=scala
|
||||
au BufRead,BufNewFile * call s:DetectScala()
|
||||
au BufRead,BufNewFile *.sbt setfiletype sbt.scala
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slim') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.slim set filetype=slim
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'solidity') == -1
|
||||
|
||||
au BufNewFile,BufRead *.sol setf solidity
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'stylus') == -1
|
||||
|
||||
autocmd BufNewFile,BufReadPost *.styl set filetype=stylus
|
||||
autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'swift') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.swift set filetype=swift
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'systemd') == -1
|
||||
|
||||
au BufNewFile,BufRead *.automount set filetype=systemd
|
||||
au BufNewFile,BufRead *.mount set filetype=systemd
|
||||
au BufNewFile,BufRead *.path set filetype=systemd
|
||||
@@ -194,14 +331,40 @@ au BufNewFile,BufRead *.socket set filetype=systemd
|
||||
au BufNewFile,BufRead *.swap set filetype=systemd
|
||||
au BufNewFile,BufRead *.target set filetype=systemd
|
||||
au BufNewFile,BufRead *.timer set filetype=systemd
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'textile') == -1
|
||||
|
||||
au BufRead,BufNewFile *.textile set filetype=textile
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'thrift') == -1
|
||||
|
||||
au BufNewFile,BufRead *.thrift setlocal filetype=thrift
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tmux') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead {.,}tmux.conf{.*,} setlocal filetype=tmux
|
||||
autocmd BufNewFile,BufRead {.,}tmux.conf{.*,} setlocal commentstring=#\ %s
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'toml') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.toml set filetype=toml
|
||||
autocmd BufNewFile,BufRead Cargo.lock set filetype=toml
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'twig') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.twig set filetype=twig
|
||||
autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig
|
||||
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||
|
||||
autocmd BufNewFile,BufRead *.ts,*.tsx setlocal filetype=typescript
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
|
||||
|
||||
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
|
||||
au BufRead,BufNewFile *.vala,*.vapi setfiletype vala
|
||||
endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vm') == -1
|
||||
|
||||
au BufRead,BufNewFile *.vm set ft=velocity syntax=velocity
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'clojure') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
@@ -93,3 +95,5 @@ let &cpo = s:cpo_save
|
||||
unlet! s:cpo_save s:setting s:dir
|
||||
|
||||
" vim:sts=8:sw=8:ts=8:noet
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||
|
||||
" Language: CoffeeScript
|
||||
" Maintainer: Mick Koch <mick@kochm.co>
|
||||
" URL: http://github.com/kchmck/vim-coffee-script
|
||||
@@ -403,3 +405,5 @@ command! -buffer -range=% -bar -nargs=* CoffeeRun
|
||||
\ call s:CoffeeRun(<line1>, <line2>, <q-args>)
|
||||
command! -buffer -range=% -bang -bar -nargs=* CoffeeLint
|
||||
\ call s:CoffeeLint(<line1>, <line2>, <q-bang>, <q-args>)
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -19,6 +21,9 @@ setlocal omnifunc=CucumberComplete
|
||||
let b:undo_ftplugin = "setl fo< com< cms< ofu<"
|
||||
|
||||
let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??')
|
||||
if !exists("b:cucumber_steps_glob")
|
||||
let b:cucumber_steps_glob = b:cucumber_root.'/**/*.rb'
|
||||
endif
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps")
|
||||
cnoremap <SID>foldopen <Bar>if &foldopen =~# 'tag'<Bar>exe 'norm! zv'<Bar>endif
|
||||
@@ -52,7 +57,7 @@ endfunction
|
||||
function! s:allsteps()
|
||||
let step_pattern = '\C^\s*\K\k*\>\s*(\=\s*\zs\S.\{-\}\ze\s*)\=\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
|
||||
let steps = []
|
||||
for file in split(glob(b:cucumber_root.'/**/*.rb'),"\n")
|
||||
for file in split(glob(b:cucumber_steps_glob),"\n")
|
||||
let lines = readfile(file)
|
||||
let num = 0
|
||||
for line in lines
|
||||
@@ -145,3 +150,5 @@ let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Embedded Elixir
|
||||
" URL: https://github.com/elixir-lang/vim-elixir
|
||||
@@ -89,3 +91,5 @@ let b:undo_ftplugin = "setl cms< "
|
||||
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Elixir
|
||||
" Maintainer: Carlos Galdino <carloshsgaldino@gmail.com>
|
||||
@@ -23,3 +25,5 @@ endif
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||
|
||||
" Language: ember-script
|
||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
||||
@@ -15,3 +17,5 @@ setlocal smartindent
|
||||
setlocal formatoptions-=t formatoptions+=croqlj
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||
|
||||
" Language: emblem
|
||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
||||
" URL: http://github.com/heartsentwined/vim-emblem
|
||||
@@ -15,3 +17,5 @@ setlocal smartindent
|
||||
setlocal formatoptions=q
|
||||
setlocal comments=:/
|
||||
setlocal commentstring=/\ %s
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: eRuby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -100,3 +102,5 @@ let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -36,3 +38,5 @@ endif
|
||||
|
||||
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
|
||||
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -58,3 +60,5 @@ function! s:gitdiffcached(bang,gitdir,...)
|
||||
nnoremap <buffer> <silent> q :q<CR>
|
||||
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: git config file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -13,3 +15,5 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal comments=:#,:; commentstring=;\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms<"
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -41,3 +43,5 @@ endif
|
||||
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: git send-email message
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2009 Dec 24
|
||||
|
||||
runtime! ftplugin/mail.vim
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -66,3 +68,5 @@ let b:undo_ftplugin = "setl cms< com< "
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1
|
||||
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5.vim
|
||||
" Last Change: 2014-05-02
|
||||
@@ -5,3 +7,5 @@
|
||||
" Changes: Add - to keyword
|
||||
|
||||
" setlocal iskeyword+=-
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jade') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Jade
|
||||
" Maintainer: Joshua Borton
|
||||
@@ -55,3 +57,5 @@ let b:undo_ftplugin = "setl cms< com< "
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LaTeX Box common functions
|
||||
|
||||
" Error Format {{{
|
||||
@@ -179,7 +181,13 @@ function! LatexBox_GetTexRoot()
|
||||
return fnamemodify(LatexBox_GetMainTexFile(), ':h')
|
||||
endfunction
|
||||
|
||||
function! LatexBox_GetTexBasename(with_dir)
|
||||
function! LatexBox_GetBuildBasename(with_dir)
|
||||
" 1. Check for g:LatexBox_jobname
|
||||
if exists('g:LatexBox_jobname')
|
||||
return g:LatexBox_jobname
|
||||
endif
|
||||
|
||||
" 2. Get the basename from the main tex file
|
||||
if a:with_dir
|
||||
return fnamemodify(LatexBox_GetMainTexFile(), ':r')
|
||||
else
|
||||
@@ -190,48 +198,48 @@ endfunction
|
||||
function! LatexBox_GetAuxFile()
|
||||
" 1. check for b:build_dir variable
|
||||
if exists('b:build_dir') && isdirectory(b:build_dir)
|
||||
return b:build_dir . '/' . LatexBox_GetTexBasename(0) . '.aux'
|
||||
return b:build_dir . '/' . LatexBox_GetBuildBasename(0) . '.aux'
|
||||
endif
|
||||
|
||||
" 2. check for g:LatexBox_build_dir variable
|
||||
if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir)
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0) . '.aux'
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0) . '.aux'
|
||||
endif
|
||||
|
||||
" 3. use the base name of main tex file
|
||||
return LatexBox_GetTexBasename(1) . '.aux'
|
||||
return LatexBox_GetBuildBasename(1) . '.aux'
|
||||
endfunction
|
||||
|
||||
function! LatexBox_GetLogFile()
|
||||
" 1. check for b:build_dir variable
|
||||
if exists('b:build_dir') && isdirectory(b:build_dir)
|
||||
return b:build_dir . '/' . LatexBox_GetTexBasename(0) . '.log'
|
||||
return b:build_dir . '/' . LatexBox_GetBuildBasename(0) . '.log'
|
||||
endif
|
||||
|
||||
" 2. check for g:LatexBox_build_dir variable
|
||||
if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir)
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0) . '.log'
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0) . '.log'
|
||||
endif
|
||||
|
||||
" 3. use the base name of main tex file
|
||||
return LatexBox_GetTexBasename(1) . '.log'
|
||||
return LatexBox_GetBuildBasename(1) . '.log'
|
||||
endfunction
|
||||
|
||||
function! LatexBox_GetOutputFile()
|
||||
" 1. check for b:build_dir variable
|
||||
if exists('b:build_dir') && isdirectory(b:build_dir)
|
||||
return b:build_dir . '/' . LatexBox_GetTexBasename(0)
|
||||
return b:build_dir . '/' . LatexBox_GetBuildBasename(0)
|
||||
\ . '.' . g:LatexBox_output_type
|
||||
endif
|
||||
|
||||
" 2. check for g:LatexBox_build_dir variable
|
||||
if exists('g:LatexBox_build_dir') && isdirectory(g:LatexBox_build_dir)
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetTexBasename(0)
|
||||
return g:LatexBox_build_dir . '/' . LatexBox_GetBuildBasename(0)
|
||||
\ . '.' . g:LatexBox_output_type
|
||||
endif
|
||||
|
||||
" 3. use the base name of main tex file
|
||||
return LatexBox_GetTexBasename(1) . '.' . g:LatexBox_output_type
|
||||
return LatexBox_GetBuildBasename(1) . '.' . g:LatexBox_output_type
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
@@ -264,7 +272,12 @@ function! LatexBox_View(...)
|
||||
if has('win32')
|
||||
let cmd = '!start /b ' . cmd . ' >nul'
|
||||
else
|
||||
let cmd = '!' . cmd . ' &>/dev/null &'
|
||||
let cmd = '!' . cmd . ' '
|
||||
if fnamemodify(&shell, ':t') ==# 'fish'
|
||||
let cmd .= ' >/dev/null ^/dev/null &'
|
||||
else
|
||||
let cmd .= ' &>/dev/null &'
|
||||
endif
|
||||
endif
|
||||
silent execute cmd
|
||||
if !has("gui_running")
|
||||
@@ -400,3 +413,5 @@ endfunction
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LaTeX Box completion
|
||||
|
||||
setlocal omnifunc=LatexBox_Complete
|
||||
@@ -24,7 +26,7 @@ if !exists('g:LatexBox_cite_pattern')
|
||||
let g:LatexBox_cite_pattern = '\C\\\a*cite\a*\*\?\(\[[^\]]*\]\)*\_\s*{'
|
||||
endif
|
||||
if !exists('g:LatexBox_ref_pattern')
|
||||
let g:LatexBox_ref_pattern = '\C\\v\?\(eq\|page\|[cC]\|labelc\)\?ref\*\?\_\s*{'
|
||||
let g:LatexBox_ref_pattern = '\C\\v\?\(eq\|page\|[cC]\|labelc\|name\|auto\)\?ref\*\?\_\s*{'
|
||||
endif
|
||||
|
||||
if !exists('g:LatexBox_completion_environments')
|
||||
@@ -255,14 +257,14 @@ function! LatexBox_BibSearch(regexp)
|
||||
if has('win32')
|
||||
let l:old_shellslash = &l:shellslash
|
||||
setlocal noshellslash
|
||||
silent execute '! cd ' shellescape(LatexBox_GetTexRoot()) .
|
||||
call system('cd ' . shellescape(LatexBox_GetTexRoot()) .
|
||||
\ ' & bibtex -terse '
|
||||
\ . fnamemodify(auxfile, ':t') . ' >nul'
|
||||
\ . fnamemodify(auxfile, ':t') . ' >nul')
|
||||
let &l:shellslash = l:old_shellslash
|
||||
else
|
||||
silent execute '! cd ' shellescape(LatexBox_GetTexRoot()) .
|
||||
call system('cd ' . shellescape(LatexBox_GetTexRoot()) .
|
||||
\ ' ; bibtex -terse '
|
||||
\ . fnamemodify(auxfile, ':t') . ' >/dev/null'
|
||||
\ . fnamemodify(auxfile, ':t') . ' >/dev/null')
|
||||
endif
|
||||
|
||||
let lines = split(substitute(join(readfile(bblfile), "\n"),
|
||||
@@ -930,3 +932,5 @@ command! LatexLabels call <SID>PromptLabelList()
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LatexBox_GetMainFileName: gets the name of the main file being compiled. {{{
|
||||
" Description: returns the full path name of the main file.
|
||||
" This function checks for the existence of a .latexmain file
|
||||
@@ -60,3 +62,5 @@ function! LatexBox_GetMainFileName(...)
|
||||
" certain platforms.
|
||||
return lheadfile
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" Folding support for LaTeX
|
||||
|
||||
"
|
||||
@@ -376,3 +378,5 @@ endfunction
|
||||
|
||||
" {{{1 Footer
|
||||
" vim:fdm=marker:ff=unix:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LaTeX Box latexmk functions
|
||||
|
||||
" Options and variables {{{
|
||||
@@ -141,7 +143,7 @@ endfunction
|
||||
|
||||
function! LatexBox_Latexmk(force)
|
||||
" Define often used names
|
||||
let basepath = LatexBox_GetTexBasename(1)
|
||||
let basepath = LatexBox_GetBuildBasename(1)
|
||||
let basename = fnamemodify(basepath, ':t')
|
||||
let texroot = shellescape(LatexBox_GetTexRoot())
|
||||
let mainfile = fnameescape(fnamemodify(LatexBox_GetMainTexFile(), ':t'))
|
||||
@@ -166,7 +168,11 @@ function! LatexBox_Latexmk(force)
|
||||
elseif match(&shell, '/tcsh$') >= 0
|
||||
let env = 'setenv max_print_line ' . max_print_line . '; '
|
||||
else
|
||||
let env = 'max_print_line=' . max_print_line
|
||||
if fnamemodify(&shell, ':t') ==# 'fish'
|
||||
let env = 'set max_print_line ' . max_print_line . '; and '
|
||||
else
|
||||
let env = 'max_print_line=' . max_print_line
|
||||
endif
|
||||
endif
|
||||
|
||||
" Set environment options
|
||||
@@ -177,7 +183,11 @@ function! LatexBox_Latexmk(force)
|
||||
" Make sure to switch drive as well as directory
|
||||
let cmd = 'cd /D ' . texroot . ' && '
|
||||
else
|
||||
let cmd = 'cd ' . texroot . ' && '
|
||||
if fnamemodify(&shell, ':t') ==# 'fish'
|
||||
let cmd = 'cd ' . texroot . '; and '
|
||||
else
|
||||
let cmd = 'cd ' . texroot . ' && '
|
||||
endif
|
||||
endif
|
||||
let cmd .= env . ' latexmk'
|
||||
if ! g:LatexBox_personal_latexmkrc
|
||||
@@ -203,7 +213,11 @@ function! LatexBox_Latexmk(force)
|
||||
if has('win32')
|
||||
let cmd .= ' >nul'
|
||||
else
|
||||
let cmd .= ' &>/dev/null'
|
||||
if fnamemodify(&shell, ':t') ==# 'fish'
|
||||
let cmd .= ' >/dev/null ^/dev/null'
|
||||
else
|
||||
let cmd .= ' &>/dev/null'
|
||||
endif
|
||||
endif
|
||||
|
||||
if g:LatexBox_latexmk_async
|
||||
@@ -357,7 +371,7 @@ function! LatexBox_LatexmkClean(cleanall)
|
||||
return
|
||||
endif
|
||||
|
||||
let basename = LatexBox_GetTexBasename(1)
|
||||
let basename = LatexBox_GetBuildBasename(1)
|
||||
|
||||
if has_key(g:latexmk_running_pids, basename)
|
||||
echomsg "don't clean when latexmk is running"
|
||||
@@ -490,7 +504,7 @@ function! LatexBox_LatexmkStatus(detailed)
|
||||
echo "latexmk is running (" . plist . ")"
|
||||
endif
|
||||
else
|
||||
let basename = LatexBox_GetTexBasename(1)
|
||||
let basename = LatexBox_GetBuildBasename(1)
|
||||
if has_key(g:latexmk_running_pids, basename)
|
||||
echo "latexmk is running"
|
||||
else
|
||||
@@ -504,12 +518,12 @@ endfunction
|
||||
function! LatexBox_LatexmkStop(silent)
|
||||
if empty(g:latexmk_running_pids)
|
||||
if !a:silent
|
||||
let basepath = LatexBox_GetTexBasename(1)
|
||||
let basepath = LatexBox_GetBuildBasename(1)
|
||||
let basename = fnamemodify(basepath, ':t')
|
||||
echoerr "latexmk is not running for `" . basename . "'"
|
||||
endif
|
||||
else
|
||||
let basepath = LatexBox_GetTexBasename(1)
|
||||
let basepath = LatexBox_GetBuildBasename(1)
|
||||
let basename = fnamemodify(basepath, ':t')
|
||||
if has_key(g:latexmk_running_pids, basepath)
|
||||
call s:kill_latexmk_process(g:latexmk_running_pids[basepath])
|
||||
@@ -540,3 +554,5 @@ endif
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LaTeX Box mappings
|
||||
|
||||
if exists("g:LatexBox_no_mappings")
|
||||
@@ -104,3 +106,5 @@ vnoremap <buffer> <silent> [[ :<c-u>call <SID>LatexBoxNextSection(0,1,1)<CR>
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" LaTeX Box motion functions
|
||||
|
||||
" Motion options {{{
|
||||
@@ -542,3 +544,5 @@ command! LatexTOCToggle call LatexBox_TOC(1)
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
|
||||
|
||||
" {{{1 Settings
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=wipe
|
||||
@@ -200,3 +202,5 @@ nnoremap <buffer> <silent> <Esc>OD h
|
||||
" }}}1
|
||||
|
||||
" vim:fdm=marker:ff=unix:et:ts=4:sw=4
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: LessCSS
|
||||
" Author: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -13,13 +15,16 @@ let b:did_ftplugin = 1
|
||||
let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<"
|
||||
|
||||
setlocal iskeyword+=-
|
||||
setlocal commentstring=//\ %s
|
||||
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:*/
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,://
|
||||
setlocal fo=croql
|
||||
|
||||
let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -59,3 +61,5 @@ endif
|
||||
setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %}
|
||||
|
||||
let b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words'
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Markdown
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -48,3 +50,5 @@ if has("folding") && exists("g:markdown_folding")
|
||||
endif
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') == -1
|
||||
|
||||
if exists('g:loaded_mustache_handlebars') && g:loaded_mustache_handlebars
|
||||
finish
|
||||
endif
|
||||
@@ -118,3 +120,5 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nofoldenable
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
|
||||
|
||||
" Language: OCaml
|
||||
" Maintainer: David Baelde <firstname.name@ens-lyon.org>
|
||||
" Mike Leary <leary@nwlink.com>
|
||||
@@ -503,3 +505,5 @@ let &cpoptions=s:cposet
|
||||
unlet s:cposet
|
||||
|
||||
" vim:sw=2
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'opencl') == -1
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
if version > 600
|
||||
@@ -13,3 +15,5 @@ setlocal smarttab
|
||||
setlocal smartindent
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
@@ -87,3 +89,5 @@ let b:match_words = '\<if\>:\<elsif\>:\<else\>'
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
@@ -20,7 +22,7 @@ setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crqol
|
||||
setlocal keywordprg=p6doc
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal comments=:#\|,:#=,:#
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly Perl-related files
|
||||
@@ -43,7 +45,7 @@ setlocal define=[^A-Za-z_]
|
||||
" after/ftplugin/perl6.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
setlocal iskeyword=@,48-57,_,192-255,:,-,'
|
||||
setlocal iskeyword=@,48-57,_,192-255,-
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
@@ -86,3 +88,5 @@ let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< isk< kp< path
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Windows PowerShell
|
||||
" Maintainer: Peter Provost <peter@provost.org>
|
||||
@@ -32,3 +34,5 @@ endif
|
||||
let b:undo_ftplugin = "setlocal tw< cms< fo<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: Windows PowerShell
|
||||
" Maintainer: Peter Provost <peter@provost.org>
|
||||
@@ -29,3 +31,5 @@ endif
|
||||
let b:undo_ftplugin = "setlocal tw< cms< fo<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
|
||||
setl ts=2
|
||||
setl sts=2
|
||||
setl sw=2
|
||||
setl et
|
||||
setl keywordprg=puppet\ describe\ --providers
|
||||
setl iskeyword=-,:,@,48-57,_,192-255
|
||||
|
||||
endif
|
||||
|
||||
41
ftplugin/qml.vim
Normal file
41
ftplugin/qml.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'qml') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: qml
|
||||
" Last change: 2014 Feb 8
|
||||
|
||||
if exists( 'b:did_ftplugin' )
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpoptions_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" command for undo
|
||||
let b:undo_ftplugin =
|
||||
\ 'let b:browsefilter = "" | ' .
|
||||
\ 'setlocal ' .
|
||||
\ 'comments< '.
|
||||
\ 'commentstring< ' .
|
||||
\ 'formatoptions< ' .
|
||||
\ 'indentexpr<'
|
||||
|
||||
if has( 'gui_win32' )
|
||||
\ && !exists( 'b:browsefilter' )
|
||||
let b:browsefilter =
|
||||
\ 'qml files (*.qml)\t*.qml\n' .
|
||||
\ 'All files (*.*)\t*.*\n'
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//%s
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=croql
|
||||
|
||||
let &cpoptions = s:cpoptions_save
|
||||
unlet s:cpoptions_save
|
||||
|
||||
endif
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'r-lang') == -1
|
||||
|
||||
" ftplugin for R files
|
||||
"
|
||||
" Author: Iago Mosqueira <i.mosqueira@ic.ac.uk>
|
||||
@@ -67,3 +69,5 @@ inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o
|
||||
|
||||
" Send current file to R
|
||||
noremap <buffer> <F5> :execute '1 ,' line("$") 'w >> ~/.r-pipe' <CR><CR>
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'r-lang') == -1
|
||||
|
||||
" ftplugin for R help files
|
||||
"
|
||||
" Author: Johannes Ranke <jranke@uni-bremen.de>
|
||||
@@ -46,3 +48,5 @@ vnoremap <buffer> r :w >> ~/.r-pipe<CR>
|
||||
|
||||
" Write and process mode (somehow mapping <C-Enter> does not work)
|
||||
inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'r-lang') == -1
|
||||
|
||||
" ftplugin for Sweave files containing both LaTeX and R code
|
||||
"
|
||||
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
|
||||
@@ -57,3 +59,5 @@ vnoremap <buffer> r :w >> ~/.r-pipe<CR>
|
||||
|
||||
" Write and process mode (somehow mapping <C-Enter> does not work)
|
||||
inoremap <M-Enter> <Esc>:execute line(".") 'w >> ~/.r-pipe'<CR>o
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Ruby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -67,7 +69,7 @@ if !exists('g:ruby_version_paths')
|
||||
let g:ruby_version_paths = {}
|
||||
endif
|
||||
|
||||
function! s:query_path(root)
|
||||
function! s:query_path(root) abort
|
||||
let code = "print $:.join %q{,}"
|
||||
if &shell =~# 'sh'
|
||||
let prefix = 'env PATH='.shellescape($PATH).' '
|
||||
@@ -92,7 +94,7 @@ function! s:query_path(root)
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function! s:build_path(path)
|
||||
function! s:build_path(path) abort
|
||||
let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',')
|
||||
if &g:path !~# '\v^\.%(,/%(usr|emx)/include)=,,$'
|
||||
let path = substitute(&g:path,',,$',',','') . ',' . path
|
||||
@@ -102,7 +104,7 @@ endfunction
|
||||
|
||||
if !exists('b:ruby_version') && !exists('g:ruby_path') && isdirectory(expand('%:p:h'))
|
||||
let s:version_file = findfile('.ruby-version', '.;')
|
||||
if !empty(s:version_file)
|
||||
if !empty(s:version_file) && filereadable(s:version_file)
|
||||
let b:ruby_version = get(readfile(s:version_file, '', 1), '')
|
||||
if !has_key(g:ruby_version_paths, b:ruby_version)
|
||||
let g:ruby_version_paths[b:ruby_version] = s:query_path(fnamemodify(s:version_file, ':p:h'))
|
||||
@@ -146,7 +148,22 @@ let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< tags< kp<"
|
||||
\."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
|
||||
\."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
|
||||
|
||||
function! s:map(mode, flags, map) abort
|
||||
let from = matchstr(a:map, '\S\+')
|
||||
if empty(mapcheck(from, a:mode))
|
||||
exe a:mode.'map' '<buffer>'.(a:0 ? a:1 : '') a:map
|
||||
let b:undo_ftplugin .= '|sil! '.a:mode.'unmap <buffer> '.from
|
||||
endif
|
||||
endfunction
|
||||
|
||||
cmap <buffer><script><expr> <Plug><cword> substitute(RubyCursorIdentifier(),'^$',"\022\027",'')
|
||||
cmap <buffer><script><expr> <Plug><cfile> substitute(RubyCursorFile(),'^$',"\022\006",'')
|
||||
let b:undo_ftplugin .= "| sil! cunmap <buffer> <Plug><cword>| sil! cunmap <buffer> <Plug><cfile>"
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
nmap <buffer><script> <SID>: :<C-U>
|
||||
nmap <buffer><script> <SID>c: :<C-U><C-R>=v:count ? v:count : ''<CR>
|
||||
|
||||
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','n')<CR>
|
||||
nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','n')<CR>
|
||||
@@ -189,34 +206,24 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
\."| sil! exe 'xunmap <buffer> iM' | sil! exe 'xunmap <buffer> aM'"
|
||||
endif
|
||||
|
||||
if maparg("\<C-]>",'n') == ''
|
||||
cnoremap <buffer> <SID>foldopen <Bar>if &foldopen =~# 'tag'<Bar>exe 'norm! zv'<Bar>endif
|
||||
nnoremap <silent> <script> <buffer> <C-]> :<C-U>exe v:count1."tag <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> g<C-]> :<C-U>exe "tjump <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> g] :<C-U>exe "tselect <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W>] :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W><C-]> :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W>g<C-]> :<C-U>exe "stjump <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W>g] :<C-U>exe "stselect <C-R>=RubyCursorIdentifier()<CR>"<SID>foldopen<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W>} :<C-U>exe "ptag <C-R>=RubyCursorIdentifier()<CR>"<CR>
|
||||
nnoremap <silent> <script> <buffer> <C-W>g} :<C-U>exe "ptjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'nunmap <buffer> <C-]>'| sil! exe 'nunmap <buffer> g<C-]>'| sil! exe 'nunmap <buffer> g]'"
|
||||
\."| sil! exe 'nunmap <buffer> <C-W>]'| sil! exe 'nunmap <buffer> <C-W><C-]>'"
|
||||
\."| sil! exe 'nunmap <buffer> <C-W>g<C-]>'| sil! exe 'nunmap <buffer> <C-W>g]'"
|
||||
\."| sil! exe 'nunmap <buffer> <C-W>}'| sil! exe 'nunmap <buffer> <C-W>g}'"
|
||||
endif
|
||||
call s:map('c', '', '<C-R><C-W> <Plug><cword>')
|
||||
call s:map('c', '', '<C-R><C-F> <Plug><cfile>')
|
||||
|
||||
if maparg("gf",'n') == ''
|
||||
" By using findfile() rather than gf's normal behavior, we prevent
|
||||
" erroneously editing a directory.
|
||||
nnoremap <silent> <buffer> gf :<C-U>exe <SID>gf(v:count1,"gf",'edit')<CR>
|
||||
nnoremap <silent> <buffer> <C-W>f :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>f",'split')<CR>
|
||||
nnoremap <silent> <buffer> <C-W><C-F> :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>\<Lt>C-F>",'split')<CR>
|
||||
nnoremap <silent> <buffer> <C-W>gf :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>gf",'tabedit')<CR>
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'nunmap <buffer> gf' | sil! exe 'nunmap <buffer> <C-W>f' | sil! exe 'nunmap <buffer> <C-W><C-F>' | sil! exe 'nunmap <buffer> <C-W>gf'"
|
||||
endif
|
||||
cmap <buffer><script><expr> <SID>tagzv &foldopen =~# 'tag' ? '<Bar>norm! zv' : ''
|
||||
call s:map('n', '<silent>', '<C-]> <SID>:exe v:count1."tag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g<C-]> <SID>:exe "tjump <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g] <SID>:exe "tselect <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>] <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W><C-]> <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g<C-]> <SID>:exe "stjump <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g] <SID>:exe "stselect <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>} <SID>:exe v:count1."ptag <Plug><cword>"<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g} <SID>:exe "ptjump <Plug><cword>"<CR>')
|
||||
|
||||
call s:map('n', '<silent>', 'gf <SID>c:find <Plug><cfile><CR>')
|
||||
call s:map('n', '<silent>', '<C-W>f <SID>c:sfind <Plug><cfile><CR>')
|
||||
call s:map('n', '<silent>', '<C-W><C-F> <SID>c:sfind <Plug><cfile><CR>')
|
||||
call s:map('n', '<silent>', '<C-W>gf <SID>c:tabfind <Plug><cfile><CR>')
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
@@ -227,7 +234,7 @@ if exists("g:did_ruby_ftplugin_functions")
|
||||
endif
|
||||
let g:did_ruby_ftplugin_functions = 1
|
||||
|
||||
function! RubyBalloonexpr()
|
||||
function! RubyBalloonexpr() abort
|
||||
if !exists('s:ri_found')
|
||||
let s:ri_found = executable('ri')
|
||||
endif
|
||||
@@ -276,7 +283,7 @@ function! RubyBalloonexpr()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:searchsyn(pattern,syn,flags,mode)
|
||||
function! s:searchsyn(pattern, syn, flags, mode) abort
|
||||
let cnt = v:count1
|
||||
norm! m'
|
||||
if a:mode ==# 'v'
|
||||
@@ -298,11 +305,11 @@ function! s:searchsyn(pattern,syn,flags,mode)
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
function! s:synname()
|
||||
function! s:synname() abort
|
||||
return synIDattr(synID(line('.'),col('.'),0),'name')
|
||||
endfunction
|
||||
|
||||
function! s:wrap_i(back,forward)
|
||||
function! s:wrap_i(back,forward) abort
|
||||
execute 'norm k'.a:forward
|
||||
let line = line('.')
|
||||
execute 'norm '.a:back
|
||||
@@ -312,7 +319,7 @@ function! s:wrap_i(back,forward)
|
||||
execute 'norm jV'.a:forward.'k'
|
||||
endfunction
|
||||
|
||||
function! s:wrap_a(back,forward)
|
||||
function! s:wrap_a(back,forward) abort
|
||||
execute 'norm '.a:forward
|
||||
if line('.') < line('$') && getline(line('.')+1) ==# ''
|
||||
let after = 1
|
||||
@@ -330,37 +337,55 @@ function! s:wrap_a(back,forward)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! RubyCursorIdentifier()
|
||||
function! RubyCursorIdentifier() abort
|
||||
let asciicode = '\%(\w\|[]})\"'."'".']\)\@<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)'
|
||||
let number = '\%(\%(\w\|[]})\"'."'".']\s*\)\@<!-\)\=\%(\<[[:digit:]_]\+\%(\.[[:digit:]_]\+\)\=\%([Ee][[:digit:]_]\+\)\=\>\|\<0[xXbBoOdD][[:xdigit:]_]\+\>\)\|'.asciicode
|
||||
let operator = '\%(\[\]\|<<\|<=>\|[!<>]=\=\|===\=\|[!=]\~\|>>\|\*\*\|\.\.\.\=\|=>\|[~^&|*/%+-]\)'
|
||||
let method = '\%(\<[_a-zA-Z]\w*\>\%([?!]\|\s*=>\@!\)\=\)'
|
||||
let method = '\%(\.[_a-zA-Z]\w*\s*=>\@!\|\<[_a-zA-Z]\w*\>[?!]\=\)'
|
||||
let global = '$\%([!$&"'."'".'*+,./:;<=>?@\`~]\|-\=\w\+\>\)'
|
||||
let symbolizable = '\%(\%(@@\=\)\w\+\>\|'.global.'\|'.method.'\|'.operator.'\)'
|
||||
let pattern = '\C\s*\%('.number.'\|\%(:\@<!:\)\='.symbolizable.'\)'
|
||||
let [lnum, col] = searchpos(pattern,'bcn',line('.'))
|
||||
let raw = matchstr(getline('.')[col-1 : ],pattern)
|
||||
let stripped = substitute(substitute(raw,'\s\+=$','=',''),'^\s*:\=','','')
|
||||
let stripped = substitute(substitute(raw,'\s\+=$','=',''),'^\s*[:.]\=','','')
|
||||
return stripped == '' ? expand("<cword>") : stripped
|
||||
endfunction
|
||||
|
||||
function! s:gf(count,map,edit) abort
|
||||
if getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
return a:edit.' %:h/'.target.'.rb'
|
||||
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\.\./\zs.\{-\}\ze\1')
|
||||
return a:edit.' %:h/'.target.'.rb'
|
||||
function! RubyCursorFile() abort
|
||||
let isfname = &isfname
|
||||
try
|
||||
set isfname+=:
|
||||
let cfile = expand('<cfile>')
|
||||
finally
|
||||
let isfname = &isfname
|
||||
endtry
|
||||
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
|
||||
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
|
||||
let ext = getline('.') =~# '^\s*\%(require\|autoload\)\>' ? '.rb' : ''
|
||||
if s:synname() ==# 'rubyConstant'
|
||||
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
|
||||
let cfile = substitute(cfile,'::','/','g')
|
||||
let cfile = substitute(cfile,'\(\u\+\)\(\u\l\)','\1_\2', 'g')
|
||||
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
|
||||
return tolower(cfile) . '.rb'
|
||||
elseif getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
|
||||
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . '.rb'
|
||||
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\.\.\zs/.\{-\}\ze\1')
|
||||
let cfile = expand('%:p:h') . target . ext
|
||||
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
|
||||
elseif pre.post =~# '\<File.expand_path[( ].*[''"]\{2\}, *__FILE__\>' && cfile =~# '^\.\.'
|
||||
let cfile = expand('%:p:h') . strpart(cfile, 2)
|
||||
else
|
||||
let target = expand('<cfile>')
|
||||
return substitute(cfile, '\C\v^(.*):(\d+)%(:in)=$', '+\2 \1', '')
|
||||
endif
|
||||
let found = findfile(target, &path, a:count)
|
||||
if found ==# ''
|
||||
return 'norm! '.a:count.a:map
|
||||
let cwdpat = '^\M' . substitute(getcwd(), '[\/]', '\\[\\/]', 'g').'\ze\[\/]'
|
||||
let cfile = substitute(cfile, cwdpat, '.', '')
|
||||
if fnameescape(cfile) !=# cfile
|
||||
return '+ '.fnameescape(cfile)
|
||||
else
|
||||
return a:edit.' '.fnameescape(found)
|
||||
return cfile
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -395,3 +420,5 @@ endfunction
|
||||
"
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
" Language: Rust
|
||||
" Description: Vim syntax file for Rust
|
||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||
@@ -148,3 +150,5 @@ let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: set noet sw=4 ts=4:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
@@ -21,3 +23,5 @@ setlocal suffixesadd=.sass,.scss,.css
|
||||
let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
" Vim filetype plugin
|
||||
" Language: Scala
|
||||
" Maintainer: Derek Wyatt
|
||||
@@ -170,3 +172,5 @@ noremap <script> <buffer> <silent> ]] :call <SID>NextSection(0)<cr>
|
||||
noremap <script> <buffer> <silent> [[ :call <SID>NextSection(1)<cr>
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 et:
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
|
||||
XPTemplate priority=lang
|
||||
|
||||
@@ -27,3 +29,5 @@ trait `derived^`trait^Component extends `trait^Component {
|
||||
`body2^
|
||||
}
|
||||
}
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||
|
||||
"
|
||||
" Support for Tagbar -- https://github.com/majutsushi/tagbar
|
||||
"
|
||||
@@ -10,38 +12,24 @@ endif
|
||||
|
||||
let g:tagbar_type_scala = {
|
||||
\ 'ctagstype' : 'scala',
|
||||
\ 'sro' : '.',
|
||||
\ 'kinds' : [
|
||||
\ 'p:packages:1',
|
||||
\ 'V:values',
|
||||
\ 'v:variables',
|
||||
\ 'T:types',
|
||||
\ 'p:packages',
|
||||
\ 'T:types:1',
|
||||
\ 't:traits',
|
||||
\ 'o:objects',
|
||||
\ 'a:aclasses',
|
||||
\ 'O:case objects',
|
||||
\ 'c:classes',
|
||||
\ 'r:cclasses',
|
||||
\ 'm:methods'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 'T' : 'type',
|
||||
\ 't' : 'trait',
|
||||
\ 'o' : 'object',
|
||||
\ 'a' : 'abstract class',
|
||||
\ 'c' : 'class',
|
||||
\ 'r' : 'case class'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'type' : 'T',
|
||||
\ 'trait' : 't',
|
||||
\ 'object' : 'o',
|
||||
\ 'abstract class' : 'a',
|
||||
\ 'class' : 'c',
|
||||
\ 'case class' : 'r'
|
||||
\ }
|
||||
\ 'C:case classes',
|
||||
\ 'm:methods',
|
||||
\ 'V:values:1',
|
||||
\ 'v:variables:1'
|
||||
\ ]
|
||||
\ }
|
||||
|
||||
" In case you've updated/customized your ~/.ctags and prefer to use it.
|
||||
if get(g:, 'scala_use_builtin_tagbar_defs', 1)
|
||||
let g:tagbar_type_scala.deffile = expand('<sfile>:p:h:h:h') . '/ctags/scala.ctags'
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user