mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a59f644d49 | ||
|
|
33dd4b2741 | ||
|
|
d6866fcced | ||
|
|
7208e89a13 | ||
|
|
56a815be94 | ||
|
|
45273d44d4 | ||
|
|
e961fa8037 | ||
|
|
1b61c48d46 | ||
|
|
8f483aee0f | ||
|
|
b36260d015 | ||
|
|
6c198a3ca9 | ||
|
|
a4c9223257 | ||
|
|
d681cb59d3 | ||
|
|
0b50acdddf | ||
|
|
daa6fc6958 | ||
|
|
610f4c5701 | ||
|
|
f3833f5a39 | ||
|
|
fe26a3a7e6 | ||
|
|
548f7d672a | ||
|
|
10b28c4175 | ||
|
|
95bc6710a4 |
35
README.md
35
README.md
@@ -5,14 +5,14 @@
|
||||
|
||||
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.
|
||||
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
|
||||
|
||||
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
|
||||
- It **installs 40x faster** (unparallelized), as language packs are not submoduled, but merged.
|
||||
- It clones even faster as all unnecessary files are ignored (like enormous documentation from php support).
|
||||
- Best syntax and indentation support. If someone releases better language pack, it will be replaced here.
|
||||
- No support for esoteric languages (vim-polyglot supports modern ones like `slim` though).
|
||||
- Each build is tested by automated Travis CI setup using vimrunner gem. Spee `spec` directory.
|
||||
- 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).
|
||||
- No support for esoteric languages, only most popular ones (modern too, like `slim`).
|
||||
- Each build is tested by automated vimrunner script on CI. See `spec` directory.
|
||||
|
||||
\*To be completely honest, concatenated `ftdetect` script takes around `3ms` to load.
|
||||
|
||||
@@ -25,38 +25,43 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
|
||||
## Language packs
|
||||
|
||||
- [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, ftdetect)
|
||||
- [arduino](https://github.com/sudar/vim-arduino-syntax) (syntax, indent, ftdetect)
|
||||
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
||||
- [c/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)
|
||||
- [css-color](https://github.com/gorodinskiy/vim-coloresque) (syntax)
|
||||
- [csv](https://github.com/chrisbra/csv.vim) (syntax, ftplugin, ftdetect)
|
||||
- [cucumber](https://github.com/tpope/vim-cucumber) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
||||
- [elixir](https://github.com/elixir-lang/vim-elixir) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [emberscript](https://github.com/heartsentwined/vim-ember-script) (syntax, indent, ftplugin, ftdetect)
|
||||
- [erlang](https://github.com/oscarh/vimerl) (syntax, indent, compiler, autoload, ftplugin)
|
||||
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
||||
- [go](https://github.com/jnwhiteh/vim-golang) (syntax, indent, autoload, ftplugin, ftdetect)
|
||||
- [go](https://github.com/jnwhiteh/vim-golang) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||
- [haml](https://github.com/tpope/vim-haml) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||
- [handlebars](https://github.com/mustache/vim-mustache-handlebars) (syntax, ftplugin, ftdetect)
|
||||
- [haskell](https://github.com/travitch/hasksyn) (syntax, indent, ftplugin)
|
||||
- [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload)
|
||||
- [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)
|
||||
- [jst](https://github.com/briancollins/vim-jst) (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)
|
||||
- [markdown](https://github.com/tpope/vim-markdown) (syntax, ftplugin, ftdetect)
|
||||
- [nginx](https://github.com/mutewinter/nginx.vim) (syntax, ftdetect)
|
||||
- [ocaml](https://github.com/jrk/vim-ocaml) (syntax, indent, ftplugin)
|
||||
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
||||
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
|
||||
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin, ftdetect)
|
||||
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin, ftdetect)
|
||||
- [php](https://github.com/StanAngeloff/php.vim) (syntax)
|
||||
- [puppet](https://github.com/ajf/puppet-vim) (syntax, indent, ftplugin, ftdetect)
|
||||
- [puppet](https://github.com/rodjek/vim-puppet) (syntax, indent, ftplugin, ftdetect)
|
||||
- [protobuf](https://github.com/uarun/vim-protobuf) (syntax, ftdetect)
|
||||
- [python](https://github.com/vim-scripts/python.vim--Vasiliev) (syntax)
|
||||
- [python](https://github.com/mitsuhiko/vim-python-combined) (syntax, indent)
|
||||
- [r-lang](https://github.com/vim-scripts/R.vim) (syntax, ftplugin)
|
||||
- [rspec](https://github.com/sheerun/rspec.vim) (syntax, ftdetect)
|
||||
- [ruby](https://github.com/vim-ruby/vim-ruby) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||
@@ -65,13 +70,17 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
||||
- [scala](https://github.com/derekwyatt/vim-scala) (syntax, indent, ftplugin, ftdetect)
|
||||
- [slim](https://github.com/slim-template/vim-slim) (syntax, indent, ftdetect)
|
||||
- [stylus](https://github.com/wavded/vim-stylus) (syntax, indent, ftplugin, ftdetect)
|
||||
- [systemd](https://github.com/kurayama/systemd-vim-syntax) (syntax, ftdetect)
|
||||
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin, ftdetect)
|
||||
- [tmux](https://github.com/acustodioo/vim-tmux) (syntax, ftdetect)
|
||||
- [tomdoc](https://github.com/duwanis/tomdoc.vim) (syntax)
|
||||
- [typescript](https://github.com/leafgarland/typescript-vim) (syntax, compiler, ftplugin, ftdetect)
|
||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
|
||||
- [toml](https://github.com/cespare/vim-toml) (syntax, ftdetect)
|
||||
- [twig](https://github.com/beyondwords/vim-twig) (syntax, ftplugin, ftdetect)
|
||||
- [xls](https://github.com/vim-scripts/XSLT-syntax) (syntax)
|
||||
- [yard](https://github.com/sheerun/vim-yardoc) (syntax)
|
||||
- [css-color](https://github.com/ap/vim-css-color) (autoload, syntax)
|
||||
|
||||
## Contributing
|
||||
|
||||
|
||||
11
after/ftplugin/puppet.vim
Normal file
11
after/ftplugin/puppet.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
inoremap <buffer> <silent> > ><Esc>:call <SID>puppetalign()<CR>A
|
||||
function! s:puppetalign()
|
||||
let p = '^\s*\w+\s*[=+]>.*$'
|
||||
let lineContainsHashrocket = getline('.') =~# '^\s*\w+\s*[=+]>'
|
||||
let hashrocketOnPrevLine = getline(line('.') - 1) =~# p
|
||||
let hashrocketOnNextLine = getline(line('.') + 1) =~# p
|
||||
if exists(':Tabularize') " && lineContainsHashrocket && (hashrocketOnPrevLine || hashrocketOnNextLine)
|
||||
Tabularize /=>/l1
|
||||
normal! 0
|
||||
endif
|
||||
endfunction
|
||||
279
after/syntax/c.vim
Normal file
279
after/syntax/c.vim
Normal file
@@ -0,0 +1,279 @@
|
||||
" Vim syntax file
|
||||
" Language: C Additions
|
||||
" Maintainer: Mikhail Wolfson <mywolfson@gmail.com>
|
||||
" URL: http://web.mit.edu/wolfsonm
|
||||
" Last Change: 2010 Dec. 3
|
||||
" Version: 0.4
|
||||
"
|
||||
" Changelog:
|
||||
" 0.4 - updates and fixes to cDelimiter to fix break with foldmethod=syntax,
|
||||
" entirely suggested and solved by Ivan Freitas
|
||||
" <ivansichfreitas@gmail.com>
|
||||
" 0.3 - updates and fixes to cUserFunctionPointer, thanks to
|
||||
" Alexei <lxmzhv@gmail.com>
|
||||
" 0.2 - change [] to operator
|
||||
" 0.1 - initial upload, modification from vimscript#1201, Extended c.vim
|
||||
|
||||
|
||||
" Common ANSI-standard functions
|
||||
syn keyword cAnsiFunction MULU_ DIVU_ MODU_ MUL_ DIV_ MOD_
|
||||
syn keyword cAnsiFunction main typeof
|
||||
syn keyword cAnsiFunction open close read write lseek dup dup2
|
||||
syn keyword cAnsiFunction fcntl ioctl
|
||||
syn keyword cAnsiFunction wctrans towctrans towupper
|
||||
syn keyword cAnsiFunction towlower wctype iswctype
|
||||
syn keyword cAnsiFunction iswxdigit iswupper iswspace
|
||||
syn keyword cAnsiFunction iswpunct iswprint iswlower
|
||||
syn keyword cAnsiFunction iswgraph iswdigit iswcntrl
|
||||
syn keyword cAnsiFunction iswalpha iswalnum wcsrtombs
|
||||
syn keyword cAnsiFunction mbsrtowcs wcrtomb mbrtowc
|
||||
syn keyword cAnsiFunction mbrlen mbsinit wctob
|
||||
syn keyword cAnsiFunction btowc wcsfxtime wcsftime
|
||||
syn keyword cAnsiFunction wmemset wmemmove wmemcpy
|
||||
syn keyword cAnsiFunction wmemcmp wmemchr wcstok
|
||||
syn keyword cAnsiFunction wcsstr wcsspn wcsrchr
|
||||
syn keyword cAnsiFunction wcspbrk wcslen wcscspn
|
||||
syn keyword cAnsiFunction wcschr wcsxfrm wcsncmp
|
||||
syn keyword cAnsiFunction wcscoll wcscmp wcsncat
|
||||
syn keyword cAnsiFunction wcscat wcsncpy wcscpy
|
||||
syn keyword cAnsiFunction wcstoull wcstoul wcstoll
|
||||
syn keyword cAnsiFunction wcstol wcstold wcstof
|
||||
syn keyword cAnsiFunction wcstod ungetwc putwchar
|
||||
syn keyword cAnsiFunction putwc getwchar getwc
|
||||
syn keyword cAnsiFunction fwide fputws fputwc
|
||||
syn keyword cAnsiFunction fgetws fgetwc wscanf
|
||||
syn keyword cAnsiFunction wprintf vwscanf vwprintf
|
||||
syn keyword cAnsiFunction vswscanf vswprintf vfwscanf
|
||||
syn keyword cAnsiFunction vfwprintf swscanf swprintf
|
||||
syn keyword cAnsiFunction fwscanf fwprintf zonetime
|
||||
syn keyword cAnsiFunction strfxtime strftime localtime
|
||||
syn keyword cAnsiFunction gmtime ctime asctime
|
||||
syn keyword cAnsiFunction time mkxtime mktime
|
||||
syn keyword cAnsiFunction difftime clock strlen
|
||||
syn keyword cAnsiFunction strerror memset strtok
|
||||
syn keyword cAnsiFunction strstr strspn strrchr
|
||||
syn keyword cAnsiFunction strpbrk strcspn strchr
|
||||
syn keyword cAnsiFunction memchr strxfrm strncmp
|
||||
syn keyword cAnsiFunction strcoll strcmp memcmp
|
||||
syn keyword cAnsiFunction strncat strcat strncpy
|
||||
syn keyword cAnsiFunction strcpy memmove memcpy
|
||||
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 exit atexit abort
|
||||
syn keyword cAnsiFunction realloc malloc free
|
||||
syn keyword cAnsiFunction calloc srand rand
|
||||
syn keyword cAnsiFunction strtoull strtoul strtoll
|
||||
syn keyword cAnsiFunction strtol strtold strtof
|
||||
syn keyword cAnsiFunction strtod atoll atol
|
||||
syn keyword cAnsiFunction atoi atof perror
|
||||
syn keyword cAnsiFunction ferror feof clearerr
|
||||
syn keyword cAnsiFunction rewind ftell fsetpos
|
||||
syn keyword cAnsiFunction fseek fgetpos fwrite
|
||||
syn keyword cAnsiFunction fread ungetc puts
|
||||
syn keyword cAnsiFunction putchar putc gets
|
||||
syn keyword cAnsiFunction getchar getc fputs
|
||||
syn keyword cAnsiFunction fputc fgets fgetc
|
||||
syn keyword cAnsiFunction vsscanf vsprintf vsnprintf
|
||||
syn keyword cAnsiFunction vscanf vprintf vfscanf
|
||||
syn keyword cAnsiFunction vfprintf sscanf sprintf
|
||||
syn keyword cAnsiFunction snprintf scanf printf
|
||||
syn keyword cAnsiFunction fscanf fprintf setvbuf
|
||||
syn keyword cAnsiFunction setbuf freopen fopen
|
||||
syn keyword cAnsiFunction fflush fclose tmpnam
|
||||
syn keyword cAnsiFunction tmpfile rename remove
|
||||
syn keyword cAnsiFunction offsetof va_start va_end
|
||||
syn keyword cAnsiFunction va_copy va_arg raise signal
|
||||
syn keyword cAnsiFunction longjmp setjmp isunordered
|
||||
syn keyword cAnsiFunction islessgreater islessequal isless
|
||||
syn keyword cAnsiFunction isgreaterequal isgreater fmal
|
||||
syn keyword cAnsiFunction fmaf fma fminl
|
||||
syn keyword cAnsiFunction fminf fmin fmaxl
|
||||
syn keyword cAnsiFunction fmaxf fmax fdiml
|
||||
syn keyword cAnsiFunction fdimf fdim nextafterxl
|
||||
syn keyword cAnsiFunction nextafterxf nextafterx nextafterl
|
||||
syn keyword cAnsiFunction nextafterf nextafter nanl
|
||||
syn keyword cAnsiFunction nanf nan copysignl
|
||||
syn keyword cAnsiFunction copysignf copysign remquol
|
||||
syn keyword cAnsiFunction remquof remquo remainderl
|
||||
syn keyword cAnsiFunction remainderf remainder fmodl
|
||||
syn keyword cAnsiFunction fmodf fmod truncl
|
||||
syn keyword cAnsiFunction truncf trunc llroundl
|
||||
syn keyword cAnsiFunction llroundf llround lroundl
|
||||
syn keyword cAnsiFunction lroundf lround roundl
|
||||
syn keyword cAnsiFunction roundf round llrintl
|
||||
syn keyword cAnsiFunction llrintf llrint lrintl
|
||||
syn keyword cAnsiFunction lrintf lrint rintl
|
||||
syn keyword cAnsiFunction rintf rint nearbyintl
|
||||
syn keyword cAnsiFunction nearbyintf nearbyint floorl
|
||||
syn keyword cAnsiFunction floorf floor ceill
|
||||
syn keyword cAnsiFunction ceilf ceil tgammal
|
||||
syn keyword cAnsiFunction tgammaf tgamma lgammal
|
||||
syn keyword cAnsiFunction lgammaf lgamma erfcl
|
||||
syn keyword cAnsiFunction erfcf erfc erfl
|
||||
syn keyword cAnsiFunction erff erf sqrtl
|
||||
syn keyword cAnsiFunction sqrtf sqrt powl
|
||||
syn keyword cAnsiFunction powf pow hypotl
|
||||
syn keyword cAnsiFunction hypotf hypot fabsl
|
||||
syn keyword cAnsiFunction fabsf fabs cbrtl
|
||||
syn keyword cAnsiFunction cbrtf cbrt scalblnl
|
||||
syn keyword cAnsiFunction scalblnf scalbln scalbnl
|
||||
syn keyword cAnsiFunction scalbnf scalbn modfl
|
||||
syn keyword cAnsiFunction modff modf logbl
|
||||
syn keyword cAnsiFunction logbf logb log2l
|
||||
syn keyword cAnsiFunction log2f log2 log1pl
|
||||
syn keyword cAnsiFunction log1pf log1p log10l
|
||||
syn keyword cAnsiFunction log10f log10 logl
|
||||
syn keyword cAnsiFunction logf log ldexpl
|
||||
syn keyword cAnsiFunction ldexpf ldexp ilogbl
|
||||
syn keyword cAnsiFunction ilogbf ilogb frexpl
|
||||
syn keyword cAnsiFunction frexpf frexp expm1l
|
||||
syn keyword cAnsiFunction expm1f expm1 exp2l
|
||||
syn keyword cAnsiFunction exp2f exp2 expl
|
||||
syn keyword cAnsiFunction expf exp tanhl
|
||||
syn keyword cAnsiFunction tanhf tanh sinhl
|
||||
syn keyword cAnsiFunction sinhf sinh coshl
|
||||
syn keyword cAnsiFunction coshf cosh atanhl
|
||||
syn keyword cAnsiFunction atanhf atanh asinhl
|
||||
syn keyword cAnsiFunction asinhf asinh acoshl
|
||||
syn keyword cAnsiFunction acoshf acosh tanl
|
||||
syn keyword cAnsiFunction tanf tan sinl
|
||||
syn keyword cAnsiFunction sinf sin cosl
|
||||
syn keyword cAnsiFunction cosf cos atan2l
|
||||
syn keyword cAnsiFunction atan2f atan2 atanl
|
||||
syn keyword cAnsiFunction atanf atan asinl
|
||||
syn keyword cAnsiFunction asinf asin acosl
|
||||
syn keyword cAnsiFunction acosf acos signbit
|
||||
syn keyword cAnsiFunction isnormal isnan isinf
|
||||
syn keyword cAnsiFunction isfinite fpclassify localeconv
|
||||
syn keyword cAnsiFunction setlocale wcstoumax wcstoimax
|
||||
syn keyword cAnsiFunction strtoumax strtoimax feupdateenv
|
||||
syn keyword cAnsiFunction fesetenv feholdexcept fegetenv
|
||||
syn keyword cAnsiFunction fesetround fegetround fetestexcept
|
||||
syn keyword cAnsiFunction fesetexceptflag feraiseexcept fegetexceptflag
|
||||
syn keyword cAnsiFunction feclearexcept toupper tolower
|
||||
syn keyword cAnsiFunction isxdigit isupper isspace
|
||||
syn keyword cAnsiFunction ispunct isprint islower
|
||||
syn keyword cAnsiFunction isgraph isdigit iscntrl
|
||||
syn keyword cAnsiFunction isalpha isalnum creall
|
||||
syn keyword cAnsiFunction crealf creal cprojl
|
||||
syn keyword cAnsiFunction cprojf cproj conjl
|
||||
syn keyword cAnsiFunction conjf conj cimagl
|
||||
syn keyword cAnsiFunction cimagf cimag cargl
|
||||
syn keyword cAnsiFunction cargf carg csqrtl
|
||||
syn keyword cAnsiFunction csqrtf csqrt cpowl
|
||||
syn keyword cAnsiFunction cpowf cpow cabsl
|
||||
syn keyword cAnsiFunction cabsf cabs clogl
|
||||
syn keyword cAnsiFunction clogf clog cexpl
|
||||
syn keyword cAnsiFunction cexpf cexp ctanhl
|
||||
syn keyword cAnsiFunction ctanhf ctanh csinhl
|
||||
syn keyword cAnsiFunction csinhf csinh ccoshl
|
||||
syn keyword cAnsiFunction ccoshf ccosh catanhl
|
||||
syn keyword cAnsiFunction catanhf catanh casinhl
|
||||
syn keyword cAnsiFunction casinhf casinh cacoshl
|
||||
syn keyword cAnsiFunction cacoshf cacosh ctanl
|
||||
syn keyword cAnsiFunction ctanf ctan csinl
|
||||
syn keyword cAnsiFunction csinf csin ccosl
|
||||
syn keyword cAnsiFunction ccosf ccos catanl
|
||||
syn keyword cAnsiFunction catanf catan casinl
|
||||
syn keyword cAnsiFunction casinf casin cacosl
|
||||
syn keyword cAnsiFunction cacosf cacos assert
|
||||
syn keyword cAnsiFunction UINTMAX_C INTMAX_C UINT64_C
|
||||
syn keyword cAnsiFunction UINT32_C UINT16_C UINT8_C
|
||||
syn keyword cAnsiFunction INT64_C INT32_C INT16_C INT8_C
|
||||
|
||||
" Common ANSI-standard Names
|
||||
syn keyword cAnsiName PRId8 PRIi16 PRIo32 PRIu64
|
||||
syn keyword cAnsiName PRId16 PRIi32 PRIo64 PRIuLEAST8
|
||||
syn keyword cAnsiName PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16
|
||||
syn keyword cAnsiName PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32
|
||||
syn keyword cAnsiName PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64
|
||||
syn keyword cAnsiName PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8
|
||||
syn keyword cAnsiName PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16
|
||||
syn keyword cAnsiName PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32
|
||||
syn keyword cAnsiName PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64
|
||||
syn keyword cAnsiName PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX
|
||||
syn keyword cAnsiName PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR
|
||||
syn keyword cAnsiName PRIdFAST64 PRIiMAX PRIoPTR PRIx8
|
||||
syn keyword cAnsiName PRIdMAX PRIiPTR PRIu8 PRIx16
|
||||
syn keyword cAnsiName PRIdPTR PRIo8 PRIu16 PRIx32
|
||||
syn keyword cAnsiName PRIi8 PRIo16 PRIu32 PRIx64
|
||||
|
||||
syn keyword cAnsiName PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32
|
||||
syn keyword cAnsiName PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64
|
||||
syn keyword cAnsiName PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8
|
||||
syn keyword cAnsiName PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16
|
||||
syn keyword cAnsiName PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32
|
||||
syn keyword cAnsiName PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64
|
||||
syn keyword cAnsiName PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX
|
||||
syn keyword cAnsiName PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR
|
||||
syn keyword cAnsiName PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8
|
||||
syn keyword cAnsiName PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16
|
||||
syn keyword cAnsiName PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32
|
||||
syn keyword cAnsiName PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64
|
||||
syn keyword cAnsiName PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8
|
||||
syn keyword cAnsiName PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16
|
||||
syn keyword cAnsiName PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32
|
||||
syn keyword cAnsiName PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64
|
||||
syn keyword cAnsiName PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8
|
||||
syn keyword cAnsiName PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16
|
||||
syn keyword cAnsiName PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32
|
||||
syn keyword cAnsiName PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64
|
||||
syn keyword cAnsiName PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX
|
||||
syn keyword cAnsiName PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR
|
||||
syn keyword cAnsiName PRIXMAX SCNiFAST8 SCNuLEAST8
|
||||
syn keyword cAnsiName PRIXPTR SCNiFAST16 SCNuLEAST16
|
||||
|
||||
syn keyword cAnsiName errno environ
|
||||
|
||||
syn keyword cAnsiName STDC CX_LIMITED_RANGE
|
||||
syn keyword cAnsiName STDC FENV_ACCESS
|
||||
syn keyword cAnsiName STDC FP_CONTRACT
|
||||
|
||||
syn keyword cAnsiName and bitor not_eq xor
|
||||
syn keyword cAnsiName and_eq compl or xor_eq
|
||||
syn keyword cAnsiName bitand not or_eq
|
||||
|
||||
hi def link cAnsiFunction cFunction
|
||||
hi def link cAnsiName cIdentifier
|
||||
|
||||
" Operators
|
||||
syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)="
|
||||
syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->"
|
||||
syn match cOperator "[.!~*&%<>^|=,+-]"
|
||||
syn match cOperator "/[^/*=]"me=e-1
|
||||
syn match cOperator "/$"
|
||||
syn match cOperator "&&\|||"
|
||||
syn match cOperator "[][]"
|
||||
|
||||
" Preprocs
|
||||
syn keyword cDefined defined contained containedin=cDefine
|
||||
hi def link cDefined cDefine
|
||||
|
||||
" Functions
|
||||
syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine
|
||||
syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator
|
||||
|
||||
hi def link cUserFunction cFunction
|
||||
hi def link cUserFunctionPointer cFunction
|
||||
|
||||
" Delimiters
|
||||
syn match cDelimiter "[();\\]"
|
||||
" foldmethod=syntax fix, courtesy of Ivan Freitas
|
||||
syn match cBraces display "[{}]"
|
||||
|
||||
|
||||
" Booleans
|
||||
syn keyword cBoolean true false TRUE FALSE
|
||||
|
||||
|
||||
" Links
|
||||
hi def link cFunction Function
|
||||
hi def link cIdentifier Identifier
|
||||
hi def link cDelimiter Delimiter
|
||||
" foldmethod=syntax fix, courtesy of Ivan Freitas
|
||||
hi def link cBraces Delimiter
|
||||
hi def link cBoolean Boolean
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
" Language: C++ Additions
|
||||
" Maintainer: Jon Haggblad <jon@haeggblad.com>
|
||||
" URL: http://www.haeggblad.com
|
||||
" Last Change: 26 Jan 2014
|
||||
" Version: 0.2
|
||||
" Last Change: 21 Apr 2014
|
||||
" Version: 0.3
|
||||
" Changelog:
|
||||
" 0.1 - initial version.
|
||||
" 0.2 - C++14
|
||||
" 0.3 - Incorporate lastest changes from Mizuchi/STL-Syntax
|
||||
"
|
||||
" Additional Vim syntax highlighting for C++ (including C++11)
|
||||
"
|
||||
" This file contains additional syntax highlighting that I use for my C++11
|
||||
" This file contains additional syntax highlighting that I use for my C++11/14
|
||||
" development in Vim. Compared to the standard syntax highlighting for C++ it
|
||||
" adds highlighting of (user defined) functions and the containers and types
|
||||
" in the standard library / boost.
|
||||
@@ -54,6 +55,10 @@ hi def link cCustomFunc Function
|
||||
" http://www.vim.org/scripts/script.php?script_id=1640
|
||||
" -----------------------------------------------------------------------------
|
||||
syntax keyword cppSTLconstant badbit
|
||||
syntax keyword cppSTLconstant cerr
|
||||
syntax keyword cppSTLconstant cin
|
||||
syntax keyword cppSTLconstant clog
|
||||
syntax keyword cppSTLconstant cout
|
||||
syntax keyword cppSTLconstant digits
|
||||
syntax keyword cppSTLconstant digits10
|
||||
syntax keyword cppSTLconstant eofbit
|
||||
@@ -82,6 +87,10 @@ syntax keyword cppSTLconstant radix
|
||||
syntax keyword cppSTLconstant round_style
|
||||
syntax keyword cppSTLconstant tinyness_before
|
||||
syntax keyword cppSTLconstant traps
|
||||
syntax keyword cppSTLconstant wcerr
|
||||
syntax keyword cppSTLconstant wcin
|
||||
syntax keyword cppSTLconstant wclog
|
||||
syntax keyword cppSTLconstant wcout
|
||||
syntax keyword cppSTLexception bad_alloc
|
||||
syntax keyword cppSTLexception bad_array_new_length
|
||||
syntax keyword cppSTLexception bad_exception
|
||||
@@ -157,12 +166,9 @@ syntax keyword cppSTLfunction bsearch
|
||||
syntax keyword cppSTLfunction calloc
|
||||
syntax keyword cppSTLfunction capacity
|
||||
syntax keyword cppSTLfunction ceil
|
||||
syntax keyword cppSTLfunction cerr
|
||||
syntax keyword cppSTLfunction cin
|
||||
syntax keyword cppSTLfunction clear
|
||||
syntax keyword cppSTLfunction clearerr
|
||||
syntax keyword cppSTLfunction clock
|
||||
syntax keyword cppSTLfunction clog
|
||||
syntax keyword cppSTLfunction close
|
||||
syntax keyword cppSTLfunction compare
|
||||
syntax keyword cppSTLfunction conj
|
||||
@@ -173,7 +179,6 @@ syntax keyword cppSTLfunction cos
|
||||
syntax keyword cppSTLfunction cosh
|
||||
syntax keyword cppSTLfunction count
|
||||
syntax keyword cppSTLfunction count_if
|
||||
syntax keyword cppSTLfunction cout
|
||||
syntax keyword cppSTLfunction c_str
|
||||
syntax keyword cppSTLfunction ctime
|
||||
syntax keyword cppSTLfunction data
|
||||
@@ -314,7 +319,7 @@ syntax keyword cppSTLfunction norm
|
||||
syntax keyword cppSTLfunction not1
|
||||
syntax keyword cppSTLfunction not2
|
||||
syntax keyword cppSTLfunction nth_element
|
||||
syntax keyword cppSTLfunction numeric_limits
|
||||
syntax keyword cppSTLtype numeric_limits
|
||||
syntax keyword cppSTLfunction open
|
||||
syntax keyword cppSTLfunction partial_sort
|
||||
syntax keyword cppSTLfunction partial_sort_copy
|
||||
@@ -426,9 +431,9 @@ syntax keyword cppSTLfunction strspn
|
||||
syntax keyword cppSTLfunction strstr
|
||||
syntax keyword cppSTLfunction strtod
|
||||
syntax keyword cppSTLfunction strtof
|
||||
syntax keyword cppSTLfunction strtold
|
||||
syntax keyword cppSTLfunction strtok
|
||||
syntax keyword cppSTLfunction strtol
|
||||
syntax keyword cppSTLfunction strtold
|
||||
syntax keyword cppSTLfunction strtoll
|
||||
syntax keyword cppSTLfunction strtoul
|
||||
syntax keyword cppSTLfunction strxfrm
|
||||
@@ -466,7 +471,6 @@ syntax keyword cppSTLfunction unique_copy
|
||||
syntax keyword cppSTLfunction unsetf
|
||||
syntax keyword cppSTLfunction upper_bound
|
||||
syntax keyword cppSTLfunction va_arg
|
||||
syntax keyword cppSTLfunction va_arg
|
||||
syntax keyword cppSTLfunction va_copy
|
||||
syntax keyword cppSTLfunction va_end
|
||||
syntax keyword cppSTLfunction value_comp
|
||||
@@ -543,12 +547,18 @@ syntax keyword cppSTLnamespace rel_ops
|
||||
syntax keyword cppSTLnamespace std
|
||||
syntax keyword cppSTLtype allocator
|
||||
syntax keyword cppSTLtype auto_ptr
|
||||
syntax keyword cppSTLtype basic_filebuf
|
||||
syntax keyword cppSTLtype basic_fstream
|
||||
syntax keyword cppSTLtype basic_ifstream
|
||||
syntax keyword cppSTLtype basic_iostream
|
||||
syntax keyword cppSTLtype basic_istream
|
||||
syntax keyword cppSTLtype basic_istringstream
|
||||
syntax keyword cppSTLtype basic_ofstream
|
||||
syntax keyword cppSTLtype basic_ostream
|
||||
syntax keyword cppSTLtype basic_ostringstream
|
||||
syntax keyword cppSTLtype basic_streambuf
|
||||
syntax keyword cppSTLtype basic_string
|
||||
syntax keyword cppSTLtype basic_stringbuf
|
||||
syntax keyword cppSTLtype basic_stringstream
|
||||
syntax keyword cppSTLtype binary_compose
|
||||
syntax keyword cppSTLtype binder1st
|
||||
@@ -577,7 +587,11 @@ syntax keyword cppSTLtype ifstream
|
||||
syntax keyword cppSTLtype imaxdiv_t
|
||||
syntax keyword cppSTLtype indirect_array
|
||||
syntax keyword cppSTLtype int_type
|
||||
syntax keyword cppSTLtype ios_base
|
||||
syntax keyword cppSTLtype iostream
|
||||
syntax keyword cppSTLtype istream
|
||||
syntax keyword cppSTLtype istringstream
|
||||
syntax keyword cppSTLtype istrstream
|
||||
syntax keyword cppSTLtype iterator_traits
|
||||
syntax keyword cppSTLtype key_compare
|
||||
syntax keyword cppSTLtype key_type
|
||||
@@ -598,6 +612,7 @@ syntax keyword cppSTLtype off_type
|
||||
syntax keyword cppSTLtype ofstream
|
||||
syntax keyword cppSTLtype ostream
|
||||
syntax keyword cppSTLtype ostringstream
|
||||
syntax keyword cppSTLtype ostrstream
|
||||
syntax keyword cppSTLtype pair
|
||||
syntax keyword cppSTLtype pointer
|
||||
syntax keyword cppSTLtype pointer_to_binary_function
|
||||
@@ -614,9 +629,12 @@ syntax keyword cppSTLtype size_type
|
||||
syntax keyword cppSTLtype slice_array
|
||||
syntax keyword cppSTLtype stack
|
||||
syntax keyword cppSTLtype stream
|
||||
syntax keyword cppSTLtype streambuf
|
||||
syntax keyword cppSTLtype string
|
||||
syntax keyword cppSTLtype stringbuf
|
||||
syntax keyword cppSTLtype stringstream
|
||||
syntax keyword cppSTLtype strstream
|
||||
syntax keyword cppSTLtype strstreambuf
|
||||
syntax keyword cppSTLtype temporary_buffer
|
||||
syntax keyword cppSTLtype test_type
|
||||
syntax keyword cppSTLtype time_t
|
||||
@@ -631,11 +649,16 @@ syntax keyword cppSTLtype valarray
|
||||
syntax keyword cppSTLtype value_compare
|
||||
syntax keyword cppSTLtype value_type
|
||||
syntax keyword cppSTLtype vector
|
||||
syntax keyword cppSTLtype wfilebuf
|
||||
syntax keyword cppSTLtype wfstream
|
||||
syntax keyword cppSTLtype wifstream
|
||||
syntax keyword cppSTLtype wiostream
|
||||
syntax keyword cppSTLtype wistream
|
||||
syntax keyword cppSTLtype wistringstream
|
||||
syntax keyword cppSTLtype wofstream
|
||||
syntax keyword cppSTLtype wostream
|
||||
syntax keyword cppSTLtype wostringstream
|
||||
syntax keyword cppSTLtype wstreambuf
|
||||
syntax keyword cppSTLtype wstring
|
||||
syntax keyword cppSTLtype wstringbuf
|
||||
syntax keyword cppSTLtype wstringstream
|
||||
@@ -810,6 +833,10 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLtype integral_constant
|
||||
syntax keyword cppSTLtype true_type
|
||||
syntax keyword cppSTLtype false_type
|
||||
syntax keyword cppSTLfunction declval
|
||||
|
||||
syntax keyword cppSTLconstant piecewise_construct
|
||||
syntax keyword cppSTLtype piecewise_construct_t
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLtype unique_ptr
|
||||
@@ -834,6 +861,12 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLtype pointer_traits
|
||||
syntax keyword cppSTLfunction addressof
|
||||
syntax keyword cppSTLfunction align
|
||||
syntax keyword cppSTLfunction make_shared
|
||||
syntax keyword cppSTLfunction allocate_shared
|
||||
syntax keyword cppSTLcast static_pointer_cast
|
||||
syntax keyword cppSTLcast dynamic_pointer_cast
|
||||
syntax keyword cppSTLcast const_pointer_cast
|
||||
syntax keyword cppSTLfunction get_deleter
|
||||
|
||||
" function object
|
||||
syntax keyword cppSTLfunction bind
|
||||
@@ -859,6 +892,7 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLfunction quick_exit
|
||||
syntax keyword cppSTLfunction _Exit
|
||||
syntax keyword cppSTLfunction at_quick_exit
|
||||
syntax keyword cppSTLfunction forward
|
||||
|
||||
" date and time
|
||||
syntax keyword cppSTLnamespace chrono
|
||||
@@ -867,6 +901,8 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLtype steady_clock
|
||||
syntax keyword cppSTLtype high_resolution_clock
|
||||
syntax keyword cppSTLtype time_point
|
||||
syntax keyword cppSTLcast duration_cast
|
||||
syntax keyword cppSTLcast time_point_cast
|
||||
|
||||
" tuple
|
||||
syntax keyword cppSTLtype tuple
|
||||
@@ -925,6 +961,7 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLfunction copy_if
|
||||
syntax keyword cppSTLfunction copy_n
|
||||
syntax keyword cppSTLfunction move
|
||||
syntax keyword cppSTLfunction move_if_noexcept
|
||||
syntax keyword cppSTLfunction move_backward
|
||||
syntax keyword cppSTLfunction shuffle
|
||||
syntax keyword cppSTLfunction is_partitioned
|
||||
@@ -1148,6 +1185,7 @@ if !exists("cpp_no_cpp11")
|
||||
|
||||
" thread
|
||||
syntax keyword cppSTLtype thread
|
||||
syntax keyword cppSTLnamespace this_thread
|
||||
syntax keyword cppSTLfunction yield
|
||||
syntax keyword cppSTLfunction get_id
|
||||
syntax keyword cppSTLfunction sleep_for
|
||||
@@ -1249,24 +1287,38 @@ if !exists("cpp_no_cpp11")
|
||||
syntax keyword cppSTLfunction wcstoimax
|
||||
syntax keyword cppSTLfunction wcstoumax
|
||||
|
||||
syntax keyword cppSTLtype nanoseconds
|
||||
syntax keyword cppSTLtype microseconds
|
||||
syntax keyword cppSTLtype milliseconds
|
||||
syntax keyword cppSTLtype seconds
|
||||
syntax keyword cppSTLtype minutes
|
||||
syntax keyword cppSTLtype hours
|
||||
|
||||
endif " C++11
|
||||
|
||||
if !exists("cpp_no_cpp14")
|
||||
|
||||
"optional
|
||||
syntax keyword cppSTLtype optional
|
||||
"syntax keyword cppSTLfunction value
|
||||
syntax keyword cppSTLfunction value_or
|
||||
syntax keyword cppSTLfunction make_optional
|
||||
|
||||
"dynarray
|
||||
syntax keyword cppSTLtype dynarray
|
||||
|
||||
"thread
|
||||
syntax keyword cppSTLtype shared_mutex
|
||||
syntax keyword cppSTLtype shared_lock
|
||||
|
||||
"memory
|
||||
syntax keyword cppSTLfunction make_unique
|
||||
endif " C++14
|
||||
|
||||
if !exists("cpp_no_boost")
|
||||
"optional is not a part of C++14 anymore
|
||||
syntax keyword cppSTLtype optional
|
||||
"syntax keyword cppSTLfunction value
|
||||
syntax keyword cppSTLfunction value_or
|
||||
syntax keyword cppSTLfunction make_optional
|
||||
|
||||
syntax keyword cppSTLnamespace boost
|
||||
syntax keyword cppSTLcast lexical_cast
|
||||
endif " Boost
|
||||
|
||||
" Default highlighting
|
||||
if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
if version < 508
|
||||
@@ -1276,15 +1328,15 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
HiLink cppSTLfunction Function
|
||||
HiLink cppSTLfunctional Type
|
||||
HiLink cppSTLfunctional Typedef
|
||||
HiLink cppSTLconstant Constant
|
||||
HiLink cppSTLnamespace Constant
|
||||
HiLink cppSTLtype Type
|
||||
HiLink cppSTLexception Type
|
||||
HiLink cppSTLiterator Type
|
||||
HiLink cppSTLiterator_tag Type
|
||||
HiLink cppSTLenum Type
|
||||
HiLink cppSTLtype Typedef
|
||||
HiLink cppSTLexception Exception
|
||||
HiLink cppSTLiterator Typedef
|
||||
HiLink cppSTLiterator_tag Typedef
|
||||
HiLink cppSTLenum Typedef
|
||||
HiLink cppSTLios Function
|
||||
HiLink cppSTLcast Statement " be consistent with official syntax
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
6
after/syntax/css.vim
Normal file
6
after/syntax/css.vim
Normal file
@@ -0,0 +1,6 @@
|
||||
" 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', 'cssMediaBlock,cssFunction,cssDefinition,cssAttrRegion,cssComment')
|
||||
@@ -1,632 +0,0 @@
|
||||
" Name: Coloresque
|
||||
" Language: color preview in vim
|
||||
" Author: Gorodinskii Konstantin <gor.konstantin@gmail.com>
|
||||
" Licence: Vim license
|
||||
" Version: 0.9.5
|
||||
" based on
|
||||
" https://github.com/ap/vim-css-color
|
||||
" https://github.com/lilydjwg/colorizer
|
||||
" vim:et:ts=2 sw=2 sts=2
|
||||
|
||||
let s:hex={}
|
||||
let b:matchescache = {}
|
||||
let b:color_pattern = {}
|
||||
|
||||
let w:colorDictRegExp=''
|
||||
for i in range(0, 255)
|
||||
let s:hex[ printf( '%02x', i ) ] = i
|
||||
endfor
|
||||
|
||||
let s:black = '#000000'
|
||||
let s:white = '#ffffff'
|
||||
|
||||
function! s:FGForBG(color)
|
||||
" pick suitable text color given a background color
|
||||
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]]
|
||||
return r*30 + g*59 + b*11 > 12000 ? s:black : s:white
|
||||
endfunction
|
||||
|
||||
let s:color_prefix = 'gui'
|
||||
let s:fg_color_calc = 'let color = "#" . toupper(a:color)'
|
||||
|
||||
function! s:RestoreColors()
|
||||
for part in keys(b:color_pattern)
|
||||
|
||||
"if b:color_pattern[part]=="ffffff"
|
||||
"echoe part
|
||||
"endif
|
||||
|
||||
call s:MatchColorValue(b:color_pattern[part], part)
|
||||
"echoe color
|
||||
"echoe b:color_pattern[color]
|
||||
"let group = 'cssColor' . tolower(strpart(b:color_pattern[part]["color"], 1))
|
||||
""exe 'syn match' group '/'.escape(pattern, '/').'/ contained'
|
||||
"exe 'syn cluster cssColors add='.group
|
||||
"exe 'hi' group s:color_prefix.'bg='.b:color_pattern[part]["bg"] s:color_prefix.'fg='.b:color_pattern[part]["fg"]
|
||||
|
||||
"if !exists('b:matchescache')
|
||||
"let b:matchescache={}
|
||||
"endif
|
||||
|
||||
"let b:matchescache[part] = matchadd(group, part, -1)
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:MatchColorValue(color, part)
|
||||
if ! len(a:color) | return | endif
|
||||
|
||||
let group = 'cssColor' . tolower(a:color)
|
||||
|
||||
if !exists('b:color_pattern[a:part]')
|
||||
exe s:fg_color_calc
|
||||
exe 'syn cluster cssColors add='.group
|
||||
exe 'hi' group s:color_prefix.'bg='.color s:color_prefix.'fg='.s:FGForBG(a:color)
|
||||
let b:color_pattern[a:part] = a:color
|
||||
endif
|
||||
|
||||
if !exists('b:matchescache')
|
||||
let b:matchescache = {}
|
||||
elseif !exists('b:matchescache[a:part]')
|
||||
let b:matchescache[a:part] = matchadd(group, a:part, -1)
|
||||
endif
|
||||
|
||||
"call add(w:matchescache, matchadd(group, a:part, -1))
|
||||
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:HexForRGBValue(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:HexForHSLValue(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 : str2float(v:val)' )
|
||||
" 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
|
||||
|
||||
function! s:ClearMatches()
|
||||
call clearmatches()
|
||||
|
||||
if !exists('b:matchescache')
|
||||
return
|
||||
endif
|
||||
"for i in values(b:matchescache)
|
||||
"call matchdelete(i)
|
||||
"endfor
|
||||
unlet b:matchescache
|
||||
endfunction
|
||||
|
||||
function! s:VimCssInit(update)
|
||||
|
||||
if a:update==1
|
||||
call s:ClearMatches()
|
||||
endif
|
||||
:set isk+=-
|
||||
:set isk+=#
|
||||
:set isk+=.
|
||||
|
||||
if len(keys(b:color_pattern))>0
|
||||
call s:RestoreColors()
|
||||
return
|
||||
endif
|
||||
|
||||
"let b:matchescache = {}
|
||||
|
||||
call s:AdditionalColors()
|
||||
|
||||
"for i in range(1, line("$"))
|
||||
call s:PreviewCSSColor(join(getline(1,'$'), "\n"))
|
||||
"endfor
|
||||
|
||||
endfunction
|
||||
|
||||
function! s:AdditionalColors()
|
||||
"if exists('&b:colorDictRegExp')&&b:colorDictRegExp!=''
|
||||
"return
|
||||
"endif
|
||||
|
||||
" w3c Colors
|
||||
" plus extra colors
|
||||
let w:colorDict = {
|
||||
\'black': '#000000',
|
||||
\'red': '#ff0000',
|
||||
\'silver': '#c0c0c0',
|
||||
\'gray': '#808080',
|
||||
\'white': '#ffffff',
|
||||
\'maroon': '#800000',
|
||||
\'purple': '#800080',
|
||||
\'fuchsia': '#ff00ff',
|
||||
\'green': '#008000',
|
||||
\'lime': '#00ff00',
|
||||
\'olive': '#808000',
|
||||
\'yellow': '#ffff00',
|
||||
\'navy': '#000080',
|
||||
\'blue': '#0000ff',
|
||||
\'teal': '#008080',
|
||||
\'aqua': '#00ffff',
|
||||
\'aliceblue': '#f0f8ff',
|
||||
\'antiquewhite': '#faebd7',
|
||||
\'aquamarine': '#7fffd4',
|
||||
\'azure': '#f0ffff',
|
||||
\'beige': '#f5f5dc',
|
||||
\'bisque': '#ffe4c4',
|
||||
\'blanchedalmond': '#ffebcd',
|
||||
\'blueviolet': '#8a2be2',
|
||||
\'brown': '#a52a2a',
|
||||
\'burlywood': '#deb887',
|
||||
\'cadetblue': '#5f9ea0',
|
||||
\'chartreuse': '#7fff00',
|
||||
\'chocolate': '#d2691e',
|
||||
\'coral': '#ff7f50',
|
||||
\'cornflowerblue': '#6495ed',
|
||||
\'cornsilk': '#fff8dc',
|
||||
\'crimson': '#dc143c',
|
||||
\'cyan': '#00ffff',
|
||||
\'darkblue': '#00008b',
|
||||
\'darkcyan': '#008b8b',
|
||||
\'darkgoldenrod': '#b8860b',
|
||||
\'darkgray': '#a9a9a9',
|
||||
\'darkgreen': '#006400',
|
||||
\'darkgrey': '#a9a9a9',
|
||||
\'darkkhaki': '#bdb76b',
|
||||
\'darkmagenta': '#8b008b',
|
||||
\'darkolivegreen': '#556b2f',
|
||||
\'darkorchid': '#9932cc',
|
||||
\'darkred': '#8b0000',
|
||||
\'darksalmon': '#e9967a',
|
||||
\'darkseagreen': '#8fbc8f',
|
||||
\'darkslateblue': '#483d8b',
|
||||
\'darkslategray': '#2f4f4f',
|
||||
\'darkslategrey': '#2f4f4f',
|
||||
\'darkturquoise': '#00ced1',
|
||||
\'darkviolet': '#9400d3',
|
||||
\'darkorange': '#ff8c00',
|
||||
\'deeppink': '#ff1493',
|
||||
\'deepskyblue': '#00bfff',
|
||||
\'dimgray': '#696969',
|
||||
\'dimgrey': '#696969',
|
||||
\'dodgerblue': '#1e90ff',
|
||||
\'firebrick': '#b22222',
|
||||
\'floralwhite': '#fffaf0',
|
||||
\'forestgreen': '#228b22',
|
||||
\'gainsboro': '#dcdcdc',
|
||||
\'ghostwhite': '#f8f8ff',
|
||||
\'gold': '#ffd700',
|
||||
\'goldenrod': '#daa520',
|
||||
\'greenyellow': '#adff2f',
|
||||
\'grey': '#808080',
|
||||
\'honeydew': '#f0fff0',
|
||||
\'hotpink': '#ff69b4',
|
||||
\'indianred': '#cd5c5c',
|
||||
\'indigo': '#4b0082',
|
||||
\'ivory': '#fffff0',
|
||||
\'khaki': '#f0e68c',
|
||||
\'lavender': '#e6e6fa',
|
||||
\'lavenderblush': '#fff0f5',
|
||||
\'lawngreen': '#7cfc00',
|
||||
\'lemonchiffon': '#fffacd',
|
||||
\'lightblue': '#add8e6',
|
||||
\'lightcoral': '#f08080',
|
||||
\'lightcyan': '#e0ffff',
|
||||
\'lightgoldenrodyellow': '#fafad2',
|
||||
\'lightgray': '#d3d3d3',
|
||||
\'lightgreen': '#90ee90',
|
||||
\'lightgrey': '#d3d3d3',
|
||||
\'lightpink': '#ffb6c1',
|
||||
\'lightsalmon': '#ffa07a',
|
||||
\'lightseagreen': '#20b2aa',
|
||||
\'lightskyblue': '#87cefa',
|
||||
\'lightslategray': '#778899',
|
||||
\'lightslategrey': '#778899',
|
||||
\'lightsteelblue': '#b0c4de',
|
||||
\'lightyellow': '#ffffe0',
|
||||
\'limegreen': '#32cd32',
|
||||
\'linen': '#faf0e6',
|
||||
\'magenta': '#ff00ff',
|
||||
\'mediumaquamarine': '#66cdaa',
|
||||
\'mediumblue': '#0000cd',
|
||||
\'mediumorchid': '#ba55d3',
|
||||
\'mediumpurple': '#9370d8',
|
||||
\'mediumseagreen': '#3cb371',
|
||||
\'mediumslateblue': '#7b68ee',
|
||||
\'mediumspringgreen': '#00fa9a',
|
||||
\'mediumturquoise': '#48d1cc',
|
||||
\'mediumvioletred': '#c71585',
|
||||
\'midnightblue': '#191970',
|
||||
\'mintcream': '#f5fffa',
|
||||
\'mistyrose': '#ffe4e1',
|
||||
\'moccasin': '#ffe4b5',
|
||||
\'navajowhite': '#ffdead',
|
||||
\'oldlace': '#fdf5e6',
|
||||
\'olivedrab': '#6b8e23',
|
||||
\'orange': '#ffa500',
|
||||
\'orangered': '#ff4500',
|
||||
\'orchid': '#da70d6',
|
||||
\'palegoldenrod': '#eee8aa',
|
||||
\'palegreen': '#98fb98',
|
||||
\'paleturquoise': '#afeeee',
|
||||
\'palevioletred': '#d87093',
|
||||
\'papayawhip': '#ffefd5',
|
||||
\'peachpuff': '#ffdab9',
|
||||
\'peru': '#cd853f',
|
||||
\'pink': '#ffc0cb',
|
||||
\'plum': '#dda0dd',
|
||||
\'powderblue': '#b0e0e6',
|
||||
\'rosybrown': '#bc8f8f',
|
||||
\'royalblue': '#4169e1',
|
||||
\'saddlebrown': '#8b4513',
|
||||
\'salmon': '#fa8072',
|
||||
\'sandybrown': '#f4a460',
|
||||
\'seagreen': '#2e8b57',
|
||||
\'seashell': '#fff5ee',
|
||||
\'sienna': '#a0522d',
|
||||
\'skyblue': '#87ceeb',
|
||||
\'slateblue': '#6a5acd',
|
||||
\'slategray': '#708090',
|
||||
\'slategrey': '#708090',
|
||||
\'snow': '#fffafa',
|
||||
\'springgreen': '#00ff7f',
|
||||
\'steelblue': '#4682b4',
|
||||
\'tan': '#d2b48c',
|
||||
\'thistle': '#d8bfd8',
|
||||
\'tomato': '#ff6347',
|
||||
\'turquoise': '#40e0d0',
|
||||
\'violet': '#ee82ee',
|
||||
\'wheat': '#f5deb3',
|
||||
\'whitesmoke': '#f5f5f5',
|
||||
\'yellowgreen': '#9acd32'
|
||||
\}
|
||||
|
||||
"let w:colorDictRegExp = '\('
|
||||
for _color in keys(w:colorDict)
|
||||
"let w:colorDictRegExp.='\<'._color.'\>\|'
|
||||
call s:MatchColorValue(strpart(w:colorDict[tolower(_color)], 1), '\<\c'._color.'\>')
|
||||
endfor
|
||||
"let w:colorDictRegExp=strpart(w:colorDictRegExp, 0, len(w:colorDictRegExp)-2).'\)\c'
|
||||
endfunction
|
||||
|
||||
function! s:ProcessByLine(w)
|
||||
call s:PreviewCSSColor(getline(a:w))
|
||||
endfunction
|
||||
|
||||
function! s:PreviewCSSColor(str)
|
||||
"if !exists('&w:colorDictRegExp')
|
||||
"endif
|
||||
|
||||
let line=a:str "getline(a:w)
|
||||
let colorexps = {
|
||||
\ 'hex' : '#[0-9A-Fa-f]\{3\}\>\|#[0-9A-Fa-f]\{6\}\>',
|
||||
\ 'rgba' : 'rgba\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)',
|
||||
\ 'hsla' : 'hsla\?(\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*,\s*\(\d\{1,3}%\?\)\s*\%(,[^)]*\)\?)'
|
||||
\ }
|
||||
"\ 'color': w:colorDictRegExp
|
||||
|
||||
"let foundcolor=''
|
||||
|
||||
for exp in keys(colorexps)
|
||||
let place=0
|
||||
|
||||
if exists("foundcolor")
|
||||
unlet foundcolor
|
||||
endif
|
||||
|
||||
while 1
|
||||
if exp=='rgba'||exp=='hsla'
|
||||
let foundcolor = matchlist(a:str, colorexps[exp], place)
|
||||
else
|
||||
let foundcolor = matchstr(a:str, colorexps[exp], place)
|
||||
endif
|
||||
|
||||
let place = matchend(a:str, colorexps[exp], place)
|
||||
|
||||
if empty(foundcolor)
|
||||
break
|
||||
endif
|
||||
|
||||
if exp=='hex'
|
||||
let part = foundcolor.'\>'
|
||||
else
|
||||
let part = foundcolor[0]
|
||||
endif
|
||||
|
||||
if exp=='hex'
|
||||
if len(foundcolor) == 4
|
||||
let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g')
|
||||
endif
|
||||
call s:MatchColorValue(strpart(foundcolor, 1), part)
|
||||
elseif exp=='rgba'
|
||||
"TODO get rid of duplicated variables
|
||||
call s:MatchColorValue(s:HexForRGBValue(foundcolor[1], foundcolor[2], foundcolor[3]), part)
|
||||
elseif exp=='hsla'
|
||||
call s:MatchColorValue(s:HexForHSLValue(foundcolor[1], foundcolor[2], foundcolor[3]), part)
|
||||
endif
|
||||
endwhile
|
||||
endfor
|
||||
|
||||
endfunction
|
||||
|
||||
if has("gui_running") || &t_Co==256
|
||||
" HACK modify cssDefinition to add @cssColors to its contains
|
||||
redir => cssdef
|
||||
silent! syn list cssDefinition
|
||||
redir END
|
||||
if len( cssdef )
|
||||
for out in split( cssdef, "\n" )
|
||||
if out !~ '^cssDefinition ' | continue | endif
|
||||
let out = substitute( out, ' \+xxx \+', ' ', '' )
|
||||
let out = substitute( out, ' contains=\zs', '@cssColors,', '' )
|
||||
exe 'syn region' out
|
||||
endfor
|
||||
endif
|
||||
|
||||
if ! has('gui_running')
|
||||
|
||||
let s:black = 0
|
||||
let s:white = 15
|
||||
|
||||
let s:color_prefix = 'cterm'
|
||||
let s:fg_color_calc = 'let color = s:XTermColorForRGB(a:color)'
|
||||
|
||||
" 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:XTermColorForRGB(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
|
||||
|
||||
hi cssColor000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231 | syn cluster cssColors add=cssColor000000
|
||||
hi cssColor000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor000080
|
||||
hi cssColor00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor00008b
|
||||
hi cssColor0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000cd
|
||||
hi cssColor0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231 | syn cluster cssColors add=cssColor0000ff
|
||||
hi cssColor006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231 | syn cluster cssColors add=cssColor006400
|
||||
hi cssColor008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor008000
|
||||
hi cssColor008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008080
|
||||
hi cssColor008b8b guibg=#008B8B guifg=#FFFFFF ctermbg=30 ctermfg=231 | syn cluster cssColors add=cssColor008b8b
|
||||
hi cssColor00bfff guibg=#00BFFF guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00bfff
|
||||
hi cssColor00ced1 guibg=#00CED1 guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ced1
|
||||
hi cssColor00fa9a guibg=#00FA9A guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00fa9a
|
||||
hi cssColor00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16 | syn cluster cssColors add=cssColor00ff00
|
||||
hi cssColor00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16 | syn cluster cssColors add=cssColor00ff7f
|
||||
hi cssColor00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 ctermfg=16 | syn cluster cssColors add=cssColor00ffff
|
||||
hi cssColor191970 guibg=#191970 guifg=#FFFFFF ctermbg=237 ctermfg=231 | syn cluster cssColors add=cssColor191970
|
||||
hi cssColor1e90ff guibg=#1E90FF guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor1e90ff
|
||||
hi cssColor20b2aa guibg=#20B2AA guifg=#000000 ctermbg=37 ctermfg=16 | syn cluster cssColors add=cssColor20b2aa
|
||||
hi cssColor228b22 guibg=#228B22 guifg=#FFFFFF ctermbg=2 ctermfg=231 | syn cluster cssColors add=cssColor228b22
|
||||
hi cssColor2e8b57 guibg=#2E8B57 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor2e8b57
|
||||
hi cssColor2f4f4f guibg=#2F4F4F guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor2f4f4f
|
||||
hi cssColor32cd32 guibg=#32CD32 guifg=#000000 ctermbg=2 ctermfg=16 | syn cluster cssColors add=cssColor32cd32
|
||||
hi cssColor3cb371 guibg=#3CB371 guifg=#000000 ctermbg=71 ctermfg=16 | syn cluster cssColors add=cssColor3cb371
|
||||
hi cssColor40e0d0 guibg=#40E0D0 guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor40e0d0
|
||||
hi cssColor4169e1 guibg=#4169E1 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor4169e1
|
||||
hi cssColor4682b4 guibg=#4682B4 guifg=#FFFFFF ctermbg=67 ctermfg=231 | syn cluster cssColors add=cssColor4682b4
|
||||
hi cssColor483d8b guibg=#483D8B guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor483d8b
|
||||
hi cssColor48d1cc guibg=#48D1CC guifg=#000000 ctermbg=80 ctermfg=16 | syn cluster cssColors add=cssColor48d1cc
|
||||
hi cssColor4b0082 guibg=#4B0082 guifg=#FFFFFF ctermbg=238 ctermfg=231 | syn cluster cssColors add=cssColor4b0082
|
||||
hi cssColor556b2f guibg=#556B2F guifg=#FFFFFF ctermbg=239 ctermfg=231 | syn cluster cssColors add=cssColor556b2f
|
||||
hi cssColor5f9ea0 guibg=#5F9EA0 guifg=#000000 ctermbg=73 ctermfg=16 | syn cluster cssColors add=cssColor5f9ea0
|
||||
hi cssColor6495ed guibg=#6495ED guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor6495ed
|
||||
hi cssColor66cdaa guibg=#66CDAA guifg=#000000 ctermbg=79 ctermfg=16 | syn cluster cssColors add=cssColor66cdaa
|
||||
hi cssColor696969 guibg=#696969 guifg=#FFFFFF ctermbg=242 ctermfg=231 | syn cluster cssColors add=cssColor696969
|
||||
hi cssColor6a5acd guibg=#6A5ACD guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor6a5acd
|
||||
hi cssColor6b8e23 guibg=#6B8E23 guifg=#FFFFFF ctermbg=241 ctermfg=231 | syn cluster cssColors add=cssColor6b8e23
|
||||
hi cssColor708090 guibg=#708090 guifg=#000000 ctermbg=66 ctermfg=16 | syn cluster cssColors add=cssColor708090
|
||||
hi cssColor778899 guibg=#778899 guifg=#000000 ctermbg=102 ctermfg=16 | syn cluster cssColors add=cssColor778899
|
||||
hi cssColor7b68ee guibg=#7B68EE guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor7b68ee
|
||||
hi cssColor7cfc00 guibg=#7CFC00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7cfc00
|
||||
hi cssColor7fff00 guibg=#7FFF00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor7fff00
|
||||
hi cssColor7fffd4 guibg=#7FFFD4 guifg=#000000 ctermbg=122 ctermfg=16 | syn cluster cssColors add=cssColor7fffd4
|
||||
hi cssColor800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor800000
|
||||
hi cssColor800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor800080
|
||||
hi cssColor808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231 | syn cluster cssColors add=cssColor808000
|
||||
hi cssColor808080 guibg=#808080 guifg=#000000 ctermbg=244 ctermfg=16 | syn cluster cssColors add=cssColor808080
|
||||
hi cssColor87ceeb guibg=#87CEEB guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87ceeb
|
||||
hi cssColor87cefa guibg=#87CEFA guifg=#000000 ctermbg=117 ctermfg=16 | syn cluster cssColors add=cssColor87cefa
|
||||
hi cssColor8a2be2 guibg=#8A2BE2 guifg=#FFFFFF ctermbg=12 ctermfg=231 | syn cluster cssColors add=cssColor8a2be2
|
||||
hi cssColor8b0000 guibg=#8B0000 guifg=#FFFFFF ctermbg=88 ctermfg=231 | syn cluster cssColors add=cssColor8b0000
|
||||
hi cssColor8b008b guibg=#8B008B guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor8b008b
|
||||
hi cssColor8b4513 guibg=#8B4513 guifg=#FFFFFF ctermbg=94 ctermfg=231 | syn cluster cssColors add=cssColor8b4513
|
||||
hi cssColor8fbc8f guibg=#8FBC8F guifg=#000000 ctermbg=108 ctermfg=16 | syn cluster cssColors add=cssColor8fbc8f
|
||||
hi cssColor90ee90 guibg=#90EE90 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColor90ee90
|
||||
hi cssColor9370d8 guibg=#9370D8 guifg=#000000 ctermbg=12 ctermfg=16 | syn cluster cssColors add=cssColor9370d8
|
||||
hi cssColor9400d3 guibg=#9400D3 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9400d3
|
||||
hi cssColor98fb98 guibg=#98FB98 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColor98fb98
|
||||
hi cssColor9932cc guibg=#9932CC guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColor9932cc
|
||||
hi cssColor9acd32 guibg=#9ACD32 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColor9acd32
|
||||
hi cssColora0522d guibg=#A0522D guifg=#FFFFFF ctermbg=130 ctermfg=231 | syn cluster cssColors add=cssColora0522d
|
||||
hi cssColora52a2a guibg=#A52A2A guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColora52a2a
|
||||
hi cssColora9a9a9 guibg=#A9A9A9 guifg=#000000 ctermbg=248 ctermfg=16 | syn cluster cssColors add=cssColora9a9a9
|
||||
hi cssColoradd8e6 guibg=#ADD8E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColoradd8e6
|
||||
hi cssColoradff2f guibg=#ADFF2F guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColoradff2f
|
||||
hi cssColorafeeee guibg=#AFEEEE guifg=#000000 ctermbg=159 ctermfg=16 | syn cluster cssColors add=cssColorafeeee
|
||||
hi cssColorb0c4de guibg=#B0C4DE guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0c4de
|
||||
hi cssColorb0e0e6 guibg=#B0E0E6 guifg=#000000 ctermbg=152 ctermfg=16 | syn cluster cssColors add=cssColorb0e0e6
|
||||
hi cssColorb22222 guibg=#B22222 guifg=#FFFFFF ctermbg=124 ctermfg=231 | syn cluster cssColors add=cssColorb22222
|
||||
hi cssColorb8860b guibg=#B8860B guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorb8860b
|
||||
hi cssColorba55d3 guibg=#BA55D3 guifg=#000000 ctermbg=5 ctermfg=16 | syn cluster cssColors add=cssColorba55d3
|
||||
hi cssColorbc8f8f guibg=#BC8F8F guifg=#000000 ctermbg=138 ctermfg=16 | syn cluster cssColors add=cssColorbc8f8f
|
||||
hi cssColorbdb76b guibg=#BDB76B guifg=#000000 ctermbg=247 ctermfg=16 | syn cluster cssColors add=cssColorbdb76b
|
||||
hi cssColorc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 ctermfg=16 | syn cluster cssColors add=cssColorc0c0c0
|
||||
hi cssColorc71585 guibg=#C71585 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorc71585
|
||||
hi cssColorcd5c5c guibg=#CD5C5C guifg=#000000 ctermbg=167 ctermfg=16 | syn cluster cssColors add=cssColorcd5c5c
|
||||
hi cssColorcd853f guibg=#CD853F guifg=#000000 ctermbg=173 ctermfg=16 | syn cluster cssColors add=cssColorcd853f
|
||||
hi cssColord2691e guibg=#D2691E guifg=#000000 ctermbg=166 ctermfg=16 | syn cluster cssColors add=cssColord2691e
|
||||
hi cssColord2b48c guibg=#D2B48C guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColord2b48c
|
||||
hi cssColord3d3d3 guibg=#D3D3D3 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord3d3d3
|
||||
hi cssColord87093 guibg=#D87093 guifg=#000000 ctermbg=168 ctermfg=16 | syn cluster cssColors add=cssColord87093
|
||||
hi cssColord8bfd8 guibg=#D8BFD8 guifg=#000000 ctermbg=252 ctermfg=16 | syn cluster cssColors add=cssColord8bfd8
|
||||
hi cssColorda70d6 guibg=#DA70D6 guifg=#000000 ctermbg=249 ctermfg=16 | syn cluster cssColors add=cssColorda70d6
|
||||
hi cssColordaa520 guibg=#DAA520 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColordaa520
|
||||
hi cssColordc143c guibg=#DC143C guifg=#FFFFFF ctermbg=161 ctermfg=231 | syn cluster cssColors add=cssColordc143c
|
||||
hi cssColordcdcdc guibg=#DCDCDC guifg=#000000 ctermbg=253 ctermfg=16 | syn cluster cssColors add=cssColordcdcdc
|
||||
hi cssColordda0dd guibg=#DDA0DD guifg=#000000 ctermbg=182 ctermfg=16 | syn cluster cssColors add=cssColordda0dd
|
||||
hi cssColordeb887 guibg=#DEB887 guifg=#000000 ctermbg=180 ctermfg=16 | syn cluster cssColors add=cssColordeb887
|
||||
hi cssColore0ffff guibg=#E0FFFF guifg=#000000 ctermbg=195 ctermfg=16 | syn cluster cssColors add=cssColore0ffff
|
||||
hi cssColore6e6fa guibg=#E6E6FA guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColore6e6fa
|
||||
hi cssColore9967a guibg=#E9967A guifg=#000000 ctermbg=174 ctermfg=16 | syn cluster cssColors add=cssColore9967a
|
||||
hi cssColoree82ee guibg=#EE82EE guifg=#000000 ctermbg=251 ctermfg=16 | syn cluster cssColors add=cssColoree82ee
|
||||
hi cssColoreee8aa guibg=#EEE8AA guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColoreee8aa
|
||||
hi cssColorf08080 guibg=#F08080 guifg=#000000 ctermbg=210 ctermfg=16 | syn cluster cssColors add=cssColorf08080
|
||||
hi cssColorf0e68c guibg=#F0E68C guifg=#000000 ctermbg=222 ctermfg=16 | syn cluster cssColors add=cssColorf0e68c
|
||||
hi cssColorf0f8ff guibg=#F0F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0f8ff
|
||||
hi cssColorf0fff0 guibg=#F0FFF0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf0fff0
|
||||
hi cssColorf0ffff guibg=#F0FFFF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf0ffff
|
||||
hi cssColorf4a460 guibg=#F4A460 guifg=#000000 ctermbg=215 ctermfg=16 | syn cluster cssColors add=cssColorf4a460
|
||||
hi cssColorf5deb3 guibg=#F5DEB3 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorf5deb3
|
||||
hi cssColorf5f5dc guibg=#F5F5DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5dc
|
||||
hi cssColorf5f5f5 guibg=#F5F5F5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorf5f5f5
|
||||
hi cssColorf5fffa guibg=#F5FFFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf5fffa
|
||||
hi cssColorf8f8ff guibg=#F8F8FF guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorf8f8ff
|
||||
hi cssColorfa8072 guibg=#FA8072 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorfa8072
|
||||
hi cssColorfaebd7 guibg=#FAEBD7 guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorfaebd7
|
||||
hi cssColorfaf0e6 guibg=#FAF0E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfaf0e6
|
||||
hi cssColorfafad2 guibg=#FAFAD2 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfafad2
|
||||
hi cssColorfdf5e6 guibg=#FDF5E6 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfdf5e6
|
||||
hi cssColorff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231 | syn cluster cssColors add=cssColorff0000
|
||||
hi cssColorff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231 | syn cluster cssColors add=cssColorff00ff
|
||||
hi cssColorff1493 guibg=#FF1493 guifg=#FFFFFF ctermbg=5 ctermfg=231 | syn cluster cssColors add=cssColorff1493
|
||||
hi cssColorff4500 guibg=#FF4500 guifg=#FFFFFF ctermbg=9 ctermfg=231 | syn cluster cssColors add=cssColorff4500
|
||||
hi cssColorff6347 guibg=#FF6347 guifg=#000000 ctermbg=203 ctermfg=16 | syn cluster cssColors add=cssColorff6347
|
||||
hi cssColorff69b4 guibg=#FF69B4 guifg=#000000 ctermbg=205 ctermfg=16 | syn cluster cssColors add=cssColorff69b4
|
||||
hi cssColorff7f50 guibg=#FF7F50 guifg=#000000 ctermbg=209 ctermfg=16 | syn cluster cssColors add=cssColorff7f50
|
||||
hi cssColorff8c00 guibg=#FF8C00 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorff8c00
|
||||
hi cssColorffa07a guibg=#FFA07A guifg=#000000 ctermbg=216 ctermfg=16 | syn cluster cssColors add=cssColorffa07a
|
||||
hi cssColorffa500 guibg=#FFA500 guifg=#000000 ctermbg=3 ctermfg=16 | syn cluster cssColors add=cssColorffa500
|
||||
hi cssColorffb6c1 guibg=#FFB6C1 guifg=#000000 ctermbg=217 ctermfg=16 | syn cluster cssColors add=cssColorffb6c1
|
||||
hi cssColorffc0cb guibg=#FFC0CB guifg=#000000 ctermbg=218 ctermfg=16 | syn cluster cssColors add=cssColorffc0cb
|
||||
hi cssColorffd700 guibg=#FFD700 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffd700
|
||||
hi cssColorffdab9 guibg=#FFDAB9 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdab9
|
||||
hi cssColorffdead guibg=#FFDEAD guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffdead
|
||||
hi cssColorffe4b5 guibg=#FFE4B5 guifg=#000000 ctermbg=223 ctermfg=16 | syn cluster cssColors add=cssColorffe4b5
|
||||
hi cssColorffe4c4 guibg=#FFE4C4 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4c4
|
||||
hi cssColorffe4e1 guibg=#FFE4E1 guifg=#000000 ctermbg=224 ctermfg=16 | syn cluster cssColors add=cssColorffe4e1
|
||||
hi cssColorffebcd guibg=#FFEBCD guifg=#000000 ctermbg=7 ctermfg=16 | syn cluster cssColors add=cssColorffebcd
|
||||
hi cssColorffefd5 guibg=#FFEFD5 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffefd5
|
||||
hi cssColorfff0f5 guibg=#FFF0F5 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfff0f5
|
||||
hi cssColorfff5ee guibg=#FFF5EE guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff5ee
|
||||
hi cssColorfff8dc guibg=#FFF8DC guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfff8dc
|
||||
hi cssColorfffacd guibg=#FFFACD guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorfffacd
|
||||
hi cssColorfffaf0 guibg=#FFFAF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffaf0
|
||||
hi cssColorfffafa guibg=#FFFAFA guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffafa
|
||||
hi cssColorffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16 | syn cluster cssColors add=cssColorffff00
|
||||
hi cssColorffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16 | syn cluster cssColors add=cssColorffffe0
|
||||
hi cssColorfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16 | syn cluster cssColors add=cssColorfffff0
|
||||
hi cssColorffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16 | syn cluster cssColors add=cssColorffffff
|
||||
|
||||
"call s:VimCssInit(1)
|
||||
|
||||
":augroup css
|
||||
"au!
|
||||
autocmd CursorMovedI <buffer> silent call s:ProcessByLine('.')
|
||||
autocmd ColorScheme <buffer> silent call s:VimCssInit(1)
|
||||
autocmd BufEnter <buffer> silent call s:VimCssInit(1)
|
||||
":augroup END
|
||||
|
||||
"autocmd CursorMoved <buffer> silent call s:ProcessByLine('.')
|
||||
endif
|
||||
@@ -9,4 +9,10 @@ syn region coffeeScript start=#<script [^>]*type="text/coffeescript"[^>]*>#
|
||||
\ end=#</script>#me=s-1 keepend
|
||||
\ contains=@htmlCoffeeScript,htmlScriptTag,@htmlPreproc
|
||||
\ containedin=htmlHead
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
" 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
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
" 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', 'lessVariableValue')
|
||||
|
||||
@@ -18,3 +18,129 @@ syn match tomdocDescriptions +\s*Deprecated:+he=e-1 containedin=rubyComment cont
|
||||
hi default link tomdocDescriptions String
|
||||
hi default link tomdocKeywords String
|
||||
hi default link tomdocArguments HELP
|
||||
" Ruby syntax extensions for highlighting YARD documentation.
|
||||
"
|
||||
" Author: Joel Holdbrooks <https://github.com/noprompt>
|
||||
" URI: https://github.com/noprompt/vim-yardoc
|
||||
" Version: 0.0.1
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Tags
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
syn match yardGenericTag "@\h\+" contained
|
||||
syn match yardAbstract "@abstract" contained
|
||||
syn match yardApi "@api" contained
|
||||
syn match yardAttr "@attr" contained
|
||||
syn match yardAttrReader "@attr_reader" contained
|
||||
syn match yardAttrWriter "@attr_writer" contained
|
||||
syn match yardAuthor "@author" contained
|
||||
syn match yardDeprecated "@deprecated" contained
|
||||
syn match yardExample "@example" contained
|
||||
syn match yardNote "@note" contained
|
||||
syn match yardOption "@option" contained
|
||||
syn match yardOverload "@overload" contained
|
||||
syn match yardParam "@param" contained
|
||||
syn match yardPrivate "@private" contained
|
||||
syn match yardRaise "@raise" contained
|
||||
syn match yardReturn "@return" contained
|
||||
syn match yardSee "@see" contained
|
||||
syn match yardSince "@since" contained
|
||||
syn match yardTodo "@todo" contained
|
||||
syn match yardVersion "@version" contained
|
||||
syn match yardYield "@yield" contained
|
||||
syn match yardYieldParam "@yieldparam" contained
|
||||
syn match yardYieldReturn "@yieldreturn" contained
|
||||
syn cluster yardTags contains=yardGenericTag,yardAbstract,yardApi,yardAttr,yardAttrReader,yardAttrWriter,yardAuthor,yardDeprecated,yardExample,yardNote,yardOption,yardOverload,yardParam,yardPrivate,yardRaise,yardReturn,yardSee,yardSince,yardTodo,yardVersion,yardYield,yardYieldParam,yardYieldReturn
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Directives
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
syn match yardGenericDirective "@!\h\+" contained
|
||||
syn match yardAttribute "@!attribute" contained
|
||||
syn match yardEndGroup "@!endgroup" contained
|
||||
syn match yardGroup "@!group" contained
|
||||
syn match yardMacro "@!macro" contained
|
||||
syn match yardMethod "@!method" contained
|
||||
syn match yardParse "@!parse" contained
|
||||
syn match yardScope "@!scope" contained
|
||||
syn match yardVisibility "@!visibility" contained
|
||||
|
||||
syn cluster yardDirectives contains=yardGenericDirective,yardAttribute,yardEndGroup,yardGroup,yardMacro,yardMethod,yardParse,yardScope,yardVisibility
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Types, Lists, and Hashes
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
syn match yardDuckType "#\h\+" contained
|
||||
syn match yardType "[A-Z]\h\+" contained
|
||||
syn match yardLiteral "\(true\|false\|nil\|self\|void\)" contained
|
||||
syn match yardComma "," nextgroup=@yardTypes contained
|
||||
syn match yardArrow "=>" nextgroup=@yardTypes contained
|
||||
|
||||
syn region yardParametricType start="[A-Z]\+\h\+<" end=">" contains=yardType,yardOrderDependentList,yardComma skipwhite contained
|
||||
syn region yardOrderDependentList start="(" end=")" contains=@yardTypes,yardComma skipwhite contained
|
||||
syn region yardTypeList start="\[" end="]" contains=@yardTypes,yardOrderDependentList,@yardHashes skipwhite contained
|
||||
syn region yardHashAngle start="Hash<" end=">" contains=yardDuckType,yardType,yardLiteral,yardArrow,yardComma skipwhite contained
|
||||
syn region yardHashCurly start="Hash{" end="}" contains=@yardTypes,yardArrow,yardComma skipwhite contained
|
||||
|
||||
syn cluster yardTypes contains=yardDuckType,yardType,yardLiteral,yardParametricType
|
||||
syn cluster yardHashes contains=yardArrow,yardHashAngle,yardHashCurly
|
||||
syn cluster yardLists contains=yardComma,yardTypeList,yardOrderDependentList
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Yard
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
syn match yardComment "#\s*@!\{,1}\h\+.*" contains=@yardTags,@yardDirectives,yardTypeList
|
||||
syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell,yardComment
|
||||
syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
|
||||
syn cluster rubyNotTop add=@yardTags,@yardDirectives,@yardTypes,@yardLists,@yardHashes
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Links
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
hi def link yardComment rubyComment
|
||||
" Tags
|
||||
hi def link yardGenericTag rubyKeyword
|
||||
hi def link yardAbstract yardGenericTag
|
||||
hi def link yardApi yardGenericTag
|
||||
hi def link yardAttr yardGenericTag
|
||||
hi def link yardAttrReader yardGenericTag
|
||||
hi def link yardAttrWriter yardGenericTag
|
||||
hi def link yardAuthor yardGenericTag
|
||||
hi def link yardDeprecated yardGenericTag
|
||||
hi def link yardExample yardGenericTag
|
||||
hi def link yardNote yardGenericTag
|
||||
hi def link yardOption yardGenericTag
|
||||
hi def link yardOverload yardGenericTag
|
||||
hi def link yardParam yardGenericTag
|
||||
hi def link yardPrivate yardGenericTag
|
||||
hi def link yardRaise yardGenericTag
|
||||
hi def link yardReturn yardGenericTag
|
||||
hi def link yardSee yardGenericTag
|
||||
hi def link yardSince yardGenericTag
|
||||
hi def link yardTodo yardGenericTag
|
||||
hi def link yardVersion yardGenericTag
|
||||
hi def link yield yardGenericTag
|
||||
hi def link yieldparam yardGenericTag
|
||||
hi def link yieldreturn yardGenericTag
|
||||
" Directives
|
||||
hi def link yardGenericDirective rubyKeyword
|
||||
hi def link yardAttribute yardGenericDirective
|
||||
hi def link yardEndGroup yardGenericDirective
|
||||
hi def link yardGroup yardGenericDirective
|
||||
hi def link yardMacro yardGenericDirective
|
||||
hi def link yardMethod yardGenericDirective
|
||||
hi def link yardParse yardGenericDirective
|
||||
hi def link yardScope yardGenericDirective
|
||||
hi def link yardVisibility yardGenericDirective
|
||||
" Types
|
||||
hi def link yardComma yardComment
|
||||
hi def link yardType yardComment
|
||||
hi def link yardDuckType yardComment
|
||||
hi def link yardLiteral yardComment
|
||||
" Lists
|
||||
hi def link yardTypeList yardComment
|
||||
hi def link yardParametricType yardComment
|
||||
" Hashes
|
||||
hi def link yardArrow yardComment
|
||||
hi def link yardHashAngle yardComment
|
||||
hi def link yardHashCurly yardComment
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
" 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', 'sassCssAttribute,sassComment,sassCssComment')
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
@@ -1 +1,6 @@
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
" 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', 'stylusCssAttribute,stylusComment,cssComment')
|
||||
|
||||
@@ -5,5 +5,5 @@ syn region texRefZone matchgroup=texStatement start="\\\(label\|\)c\(page\|\)re
|
||||
|
||||
" adds support for listings package
|
||||
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>"
|
||||
syn region texZone start="\\lstinputlisting" end="{\s*[a-zA-Z/.0-9_^]\+\s*}"
|
||||
syn match texInputFile "\\lstinline\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texInputFile "\\lstinputlisting\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texZone "\\lstinline\s*\(\[.*\]\)\={.\{-}}"
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
syn include syntax/css/vim-coloresque.vim
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
|
||||
if !( has('gui_running') || &t_Co==256 ) | finish | endif
|
||||
|
||||
call css_color#init('any', 'vimHiGuiRgb,vimComment,vimLineComment')
|
||||
|
||||
File diff suppressed because one or more lines are too long
559
autoload/css_color.vim
Normal file
559
autoload/css_color.vim
Normal file
@@ -0,0 +1,559 @@
|
||||
" Language: Colorful CSS Color Preview
|
||||
" Author: Aristotle Pagaltzis <pagaltzis@gmx.de>
|
||||
" Last Change: 2014-01-14
|
||||
" Licence: No Warranties. WTFPL. But please tell me!
|
||||
" Version: 1.0
|
||||
|
||||
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:update_matches()
|
||||
call filter(b:color_match_id, 'matchdelete(v:val)')
|
||||
if &l:cursorline
|
||||
" adds matches based that duplicate the highlighted colors on the current line
|
||||
let lnr = line('.')
|
||||
let group = ''
|
||||
let groupstart = 0
|
||||
let endcol = col('$')
|
||||
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 b:color_match_id += [ match ]
|
||||
endif
|
||||
let group = nextgroup
|
||||
let groupstart = col
|
||||
endfor
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let s:_hexcolor = '#\(\x\{3}\|\x\{6}\)\>' " submatch 1
|
||||
let s:_funcname = '\(rgb\|hsl\)a\?' " submatch 2
|
||||
let s:_numval = '\(\d\{1,3}%\?\)' " submatch 3,4,5
|
||||
let s:_ws_ = '\s*'
|
||||
let s:_listsep = s:_ws_ . ',' . 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:update_matches()
|
||||
endfunction
|
||||
function! s:parse_any_screen()
|
||||
call substitute( join( getline('w0','w$'), "\n" ), s:_hexcolor, '\=s:create_syn_match()', 'g' )
|
||||
call s:update_matches()
|
||||
endfunction
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
function! css_color#init(type, groups)
|
||||
exe 'syn cluster colorableGroup contains=' . a:groups
|
||||
|
||||
let b:has_color_hi = {}
|
||||
let b:has_pattern_syn = {}
|
||||
let b:color_match_id = []
|
||||
|
||||
augroup CSSColor
|
||||
autocmd! * <buffer>
|
||||
exe 'autocmd CursorMoved,CursorMovedI <buffer> call s:parse_'.a:type.'_screen()'
|
||||
augroup END
|
||||
|
||||
do CSSColor CursorMoved <buffer>
|
||||
|
||||
if a:type != 'css' | return | endif
|
||||
|
||||
hi BG000000 guibg=#000000 guifg=#FFFFFF ctermbg=16 ctermfg=231
|
||||
hi BG000080 guibg=#000080 guifg=#FFFFFF ctermbg=235 ctermfg=231
|
||||
hi BG00008b guibg=#00008B guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG0000cd guibg=#0000CD guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG0000ff guibg=#0000FF guifg=#FFFFFF ctermbg=4 ctermfg=231
|
||||
hi BG006400 guibg=#006400 guifg=#FFFFFF ctermbg=235 ctermfg=231
|
||||
hi BG008000 guibg=#008000 guifg=#FFFFFF ctermbg=2 ctermfg=231
|
||||
hi BG008080 guibg=#008080 guifg=#FFFFFF ctermbg=30 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 BG00ff00 guibg=#00FF00 guifg=#000000 ctermbg=10 ctermfg=16
|
||||
hi BG00ff7f guibg=#00FF7F guifg=#000000 ctermbg=6 ctermfg=16
|
||||
hi BG00ffff guibg=#00FFFF guifg=#000000 ctermbg=51 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 BG800000 guibg=#800000 guifg=#FFFFFF ctermbg=88 ctermfg=231
|
||||
hi BG800080 guibg=#800080 guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BG808000 guibg=#808000 guifg=#FFFFFF ctermbg=240 ctermfg=231
|
||||
hi BG808080 guibg=#808080 guifg=#000000 ctermbg=244 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 BGc0c0c0 guibg=#C0C0C0 guifg=#000000 ctermbg=250 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 BGff0000 guibg=#FF0000 guifg=#FFFFFF ctermbg=196 ctermfg=231
|
||||
hi BGff00ff guibg=#FF00FF guifg=#FFFFFF ctermbg=13 ctermfg=231
|
||||
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 BGffff00 guibg=#FFFF00 guifg=#000000 ctermbg=11 ctermfg=16
|
||||
hi BGffffe0 guibg=#FFFFE0 guifg=#000000 ctermbg=255 ctermfg=16
|
||||
hi BGfffff0 guibg=#FFFFF0 guifg=#000000 ctermbg=15 ctermfg=16
|
||||
hi BGffffff guibg=#FFFFFF guifg=#000000 ctermbg=231 ctermfg=16
|
||||
|
||||
" W3C Colors
|
||||
syn keyword BG000000 black contained containedin=@colorableGroup
|
||||
syn keyword BGc0c0c0 silver contained containedin=@colorableGroup
|
||||
syn keyword BG808080 gray contained containedin=@colorableGroup
|
||||
syn match BGffffff "\<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
|
||||
|
||||
" extra colors
|
||||
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
|
||||
@@ -58,7 +58,7 @@ function! go#complete#Package(ArgLead, CmdLine, CursorPos)
|
||||
if executable('go')
|
||||
let goroot = substitute(system('go env GOROOT'), '\n', '', 'g')
|
||||
if v:shell_error
|
||||
echomsg '\'go env GOROOT\' failed'
|
||||
echomsg '''go env GOROOT'' failed'
|
||||
endif
|
||||
else
|
||||
let goroot = $GOROOT
|
||||
|
||||
@@ -7,9 +7,11 @@
|
||||
" Last Change: 2010 Sep 25
|
||||
|
||||
if !exists('g:aria_attributes_complete')
|
||||
let g:aria_attributes_complete = 1
|
||||
let g:aria_attributes_complete = 1
|
||||
endif
|
||||
|
||||
let b:html_omni_flavor = 'html5'
|
||||
|
||||
function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
" locate the start of the word
|
||||
@@ -167,11 +169,11 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
"runtime! autoload/xml/xhtml10s.vim
|
||||
call htmlcomplete#LoadData()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
|
||||
let entities = b:html_omni['vimxmlentities']
|
||||
let entities = b:html_omni['vimxmlentities']
|
||||
|
||||
if len(a:base) == 1
|
||||
for m in entities
|
||||
@@ -469,9 +471,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
"runtime! autoload/xml/xhtml10s.vim
|
||||
call htmlcomplete#LoadData()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
" }}}
|
||||
if attrname == 'href'
|
||||
" Now we are looking for local anchors defined by name or id
|
||||
@@ -551,9 +553,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if !exists("b:html_omni")
|
||||
call htmlcomplete#LoadData()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
" }}}
|
||||
|
||||
if has_key(b:html_omni, tag)
|
||||
@@ -658,9 +660,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
"runtime! autoload/xml/xhtml10s.vim
|
||||
call htmlcomplete#LoadData()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
if g:aria_attributes_complete == 1 && !exists("b:aria_omni")
|
||||
call htmlcomplete#LoadAria()
|
||||
endif
|
||||
" }}}
|
||||
" Tag completion {{{
|
||||
" Deal with tag completion.
|
||||
@@ -763,9 +765,9 @@ endfunction
|
||||
function! htmlcomplete#LoadData() " {{{
|
||||
if !exists("b:html_omni_flavor")
|
||||
if &filetype == 'html'
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
let b:html_omni_flavor = 'html5'
|
||||
else
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
let b:html_omni_flavor = 'html5'
|
||||
endif
|
||||
endif
|
||||
" With that if we still have bloated memory but create new buffer
|
||||
|
||||
@@ -342,7 +342,7 @@ let abutton_dec = 'details\\|embed\\|iframe\\|keygen\\|label\\|menu\\|select\\|t
|
||||
|
||||
let g:xmldata_html5 = {
|
||||
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
|
||||
\ 'vimxmlroot': ['html'],
|
||||
\ 'vimxmlroot': ['html', 'head', 'body'] + flow_elements,
|
||||
\ 'a': [
|
||||
\ filter(copy(flow_elements), "!(v:val =~ '". abutton_dec ."')"),
|
||||
\ extend(copy(global_attributes), {'name': [], 'href': [], 'target': [], 'rel': linktypes, 'hreflang': lang_tag, 'media': [], 'type': []})
|
||||
|
||||
15
build
15
build
@@ -69,34 +69,40 @@ PACKS="
|
||||
arduino:sudar/vim-arduino-syntax
|
||||
c++11:octol/vim-cpp-enhanced-highlight
|
||||
c/c++:vim-jp/cpp-vim
|
||||
c-extensions:kergoth/aftersyntaxc.vim
|
||||
clojure:guns/vim-clojure-static
|
||||
coffee-script:kchmck/vim-coffee-script
|
||||
csv:chrisbra/csv.vim
|
||||
cucumber:tpope/vim-cucumber
|
||||
dockerfile:honza/dockerfile.vim
|
||||
elixir:elixir-lang/vim-elixir
|
||||
emberscript:heartsentwined/vim-ember-script
|
||||
erlang:oscarh/vimerl
|
||||
git:tpope/vim-git
|
||||
go:jnwhiteh/vim-golang
|
||||
haml:tpope/vim-haml
|
||||
handlebars:mustache/vim-mustache-handlebars
|
||||
haskell:travitch/hasksyn
|
||||
haxe:yaymukund/vim-haxe
|
||||
html5:othree/html5.vim
|
||||
jade:digitaltoad/vim-jade
|
||||
jasmine:glanotte/vim-jasmine
|
||||
javascript:pangloss/vim-javascript
|
||||
json:leshill/vim-json
|
||||
jst:briancollins/vim-jst
|
||||
latex:LaTeX-Box-Team/LaTeX-Box
|
||||
less:groenewege/vim-less
|
||||
liquid:tpope/vim-liquid
|
||||
markdown:tpope/vim-markdown
|
||||
nginx:mutewinter/nginx.vim
|
||||
ocaml:jrk/vim-ocaml
|
||||
octave:vim-scripts/octave.vim--
|
||||
opencl:petRUShka/vim-opencl
|
||||
perl:vim-perl/vim-perl
|
||||
php:StanAngeloff/php.vim
|
||||
puppet:ajf/puppet-vim
|
||||
puppet:rodjek/vim-puppet
|
||||
protobuf:uarun/vim-protobuf
|
||||
python:vim-scripts/python.vim--Vasiliev
|
||||
python:mitsuhiko/vim-python-combined
|
||||
r-lang:vim-scripts/R.vim
|
||||
rspec:sheerun/rspec.vim
|
||||
ruby:vim-ruby/vim-ruby
|
||||
@@ -105,14 +111,17 @@ PACKS="
|
||||
scala:derekwyatt/vim-scala
|
||||
slim:slim-template/vim-slim
|
||||
stylus:wavded/vim-stylus
|
||||
systemd:kurayama/systemd-vim-syntax
|
||||
textile:timcharper/textile.vim
|
||||
tmux:acustodioo/vim-tmux
|
||||
tomdoc:duwanis/tomdoc.vim
|
||||
typescript:leafgarland/typescript-vim
|
||||
vbnet:vim-scripts/vbnet.vim
|
||||
toml:cespare/vim-toml
|
||||
twig:beyondwords/vim-twig
|
||||
xls:vim-scripts/XSLT-syntax
|
||||
css-color:gorodinskiy/vim-coloresque
|
||||
yard:sheerun/vim-yardoc
|
||||
css-color:ap/vim-css-color
|
||||
"
|
||||
|
||||
rm -rf tmp
|
||||
|
||||
@@ -15,7 +15,7 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=haml\ -c
|
||||
CompilerSet makeprg=haml
|
||||
|
||||
CompilerSet errorformat=
|
||||
\Haml\ %trror\ on\ line\ %l:\ %m,
|
||||
|
||||
@@ -17,6 +17,8 @@ let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=testrb
|
||||
" CompilerSet makeprg=ruby\ -Itest
|
||||
" CompilerSet makeprg=m
|
||||
|
||||
CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:,
|
||||
\%C%m\ [%f:%l]:,
|
||||
|
||||
@@ -15,7 +15,7 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=sass\ -c
|
||||
CompilerSet makeprg=sass
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%m\ (Sass::Syntax%trror),
|
||||
|
||||
@@ -15,7 +15,9 @@ autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
|
||||
au BufNewFile,BufRead Dockerfile set filetype=dockerfile
|
||||
au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
|
||||
au FileType elixir setl sw=2 sts=2 et iskeyword+=!,?
|
||||
autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,MERGE_}MSG set ft=gitcommit
|
||||
autocmd BufNewFile,BufRead *.em set filetype=ember-script
|
||||
autocmd FileType ember-script set tabstop=2|set shiftwidth=2|set expandtab
|
||||
autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
|
||||
autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules set ft=gitconfig
|
||||
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
||||
autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
|
||||
@@ -44,10 +46,12 @@ endfunction
|
||||
au BufNewFile *.go setlocal filetype=go fileencoding=utf-8 fileformat=unix
|
||||
au BufRead *.go call s:gofiletype_pre()
|
||||
au BufReadPost *.go call s:gofiletype_post()
|
||||
autocmd BufNewFile,BufRead *.haml,*.hamlbars setf haml
|
||||
autocmd BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc setf haml
|
||||
autocmd BufNewFile,BufRead *.sass setf sass
|
||||
autocmd BufNewFile,BufRead *.scss setf scss
|
||||
autocmd BufNewFile,BufRead *.hx setf haxe
|
||||
autocmd BufNewFile,BufReadPost *.jade set filetype=jade
|
||||
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
|
||||
@@ -68,6 +72,18 @@ au BufNewFile,BufRead *.ejs set filetype=jst
|
||||
au BufNewFile,BufRead *.jst set filetype=jst
|
||||
au BufNewFile,BufRead *.hamljs set filetype=jst
|
||||
autocmd BufNewFile,BufRead *.less setf less
|
||||
au BufNewFile,BufRead *.liquid set ft=liquid
|
||||
au BufNewFile,BufRead */_layouts/*.html,*/_includes/*.html set ft=liquid
|
||||
au BufNewFile,BufRead *.html,*.xml,*.textile
|
||||
\ if getline(1) == '---' | set ft=liquid | endif
|
||||
au BufNewFile,BufRead *.markdown,*.mkd,*.mkdn,*.md
|
||||
\ if getline(1) == '---' |
|
||||
\ let b:liquid_subtype = 'markdown' |
|
||||
\ set ft=liquid |
|
||||
\ endif
|
||||
au BufNewFile,BufRead */templates/**.liquid,*/layout/**.liquid,*/snippets/**.liquid
|
||||
\ let b:liquid_subtype = 'html' |
|
||||
\ set ft=liquid |
|
||||
autocmd BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mkd,*.mkdn
|
||||
\ if &ft =~# '^\%(conf\|modula2\)$' |
|
||||
\ set ft=markdown |
|
||||
@@ -82,30 +98,36 @@ if has("autocmd")
|
||||
au BufNewFile,BufRead *.mustache,*.handlebars,*.hbs,*.hogan,*.hulk,*.hjs set filetype=html syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||
endif
|
||||
au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/*,*/nginx/vhosts.d/*,nginx.conf if &ft == '' | setfiletype nginx | endif
|
||||
au BufRead,BufNewFile *.cl set filetype=opencl
|
||||
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
||||
au BufRead,BufNewFile *.pp set filetype=puppet
|
||||
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set filetype=ruby
|
||||
au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby set filetype=ruby
|
||||
au BufNewFile,BufRead [rR]akefile,*.rake set filetype=ruby
|
||||
au BufNewFile,BufRead [rR]antfile,*.rant set filetype=ruby
|
||||
au BufNewFile,BufRead .irbrc,irbrc set filetype=ruby
|
||||
au BufNewFile,BufRead .pryrc set filetype=ruby
|
||||
au BufNewFile,BufRead *.ru set filetype=ruby
|
||||
au BufNewFile,BufRead Capfile set filetype=ruby
|
||||
au BufNewFile,BufRead Gemfile set filetype=ruby
|
||||
au BufNewFile,BufRead Guardfile,.Guardfile set filetype=ruby
|
||||
au BufNewFile,BufRead Cheffile set filetype=ruby
|
||||
au BufNewFile,BufRead Berksfile set filetype=ruby
|
||||
au BufNewFile,BufRead [vV]agrantfile set filetype=ruby
|
||||
au BufNewFile,BufRead .autotest set filetype=ruby
|
||||
au BufNewFile,BufRead *.erb,*.rhtml set filetype=eruby
|
||||
au BufNewFile,BufRead [tT]horfile,*.thor set filetype=ruby
|
||||
au BufNewFile,BufRead *.rabl set filetype=ruby
|
||||
au BufNewFile,BufRead *.jbuilder set filetype=ruby
|
||||
au BufNewFile,BufRead Puppetfile set filetype=ruby
|
||||
au BufNewFile,BufRead [Bb]uildfile set filetype=ruby
|
||||
au BufNewFile,BufRead Appraisals set filetype=ruby
|
||||
au BufNewFile,BufRead Podfile,*.podspec set filetype=ruby
|
||||
au! BufRead,BufNewFile *.pp setfiletype puppet
|
||||
function! s:setf(filetype) abort
|
||||
if &filetype !=# a:filetype
|
||||
let &filetype = a:filetype
|
||||
endif
|
||||
endfunction
|
||||
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec call s:setf('ruby')
|
||||
au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby call s:setf('ruby')
|
||||
au BufNewFile,BufRead [rR]akefile,*.rake call s:setf('ruby')
|
||||
au BufNewFile,BufRead [rR]antfile,*.rant call s:setf('ruby')
|
||||
au BufNewFile,BufRead .irbrc,irbrc call s:setf('ruby')
|
||||
au BufNewFile,BufRead .pryrc call s:setf('ruby')
|
||||
au BufNewFile,BufRead *.ru call s:setf('ruby')
|
||||
au BufNewFile,BufRead Capfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead Gemfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead Guardfile,.Guardfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead Cheffile call s:setf('ruby')
|
||||
au BufNewFile,BufRead Berksfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead [vV]agrantfile call s:setf('ruby')
|
||||
au BufNewFile,BufRead .autotest call s:setf('ruby')
|
||||
au BufNewFile,BufRead *.erb,*.rhtml call s:setf('eruby')
|
||||
au BufNewFile,BufRead [tT]horfile,*.thor call s:setf('ruby')
|
||||
au BufNewFile,BufRead *.rabl call s:setf('ruby')
|
||||
au BufNewFile,BufRead *.jbuilder call s:setf('ruby')
|
||||
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 BufRead,BufNewFile *.rs set filetype=rust
|
||||
au BufRead,BufNewFile *.sbt set filetype=sbt
|
||||
fun! s:DetectScala()
|
||||
@@ -118,8 +140,17 @@ au BufRead,BufNewFile * call s:DetectScala()
|
||||
autocmd BufNewFile,BufRead *.slim set filetype=slim
|
||||
autocmd BufNewFile,BufReadPost *.styl set filetype=stylus
|
||||
autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus
|
||||
au BufNewFile,BufRead *.automount set filetype=systemd
|
||||
au BufNewFile,BufRead *.mount set filetype=systemd
|
||||
au BufNewFile,BufRead *.path set filetype=systemd
|
||||
au BufNewFile,BufRead *.service set filetype=systemd
|
||||
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
|
||||
au BufRead,BufNewFile *.textile set filetype=textile
|
||||
autocmd BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
|
||||
autocmd BufNewFile,BufRead *.toml set filetype=toml
|
||||
autocmd BufNewFile,BufRead *.twig set filetype=twig
|
||||
autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig
|
||||
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
|
||||
|
||||
@@ -42,8 +42,9 @@ setlocal commentstring=;\ %s
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
"
|
||||
" -*- LISPWORDS -*-
|
||||
" Generated from https://github.com/guns/vim-clojure-static/blob/%%RELEASE_TAG%%/clj/src/vim_clojure_static/generate.clj
|
||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doall,dorun,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" Filetype plugin for editing CSV files. "{{{1
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Version: 0.29
|
||||
" Version: 0.30
|
||||
" Script: http://www.vim.org/scripts/script.php?script_id=2830
|
||||
" License: VIM License
|
||||
" Last Change: Wed, 14 Aug 2013 22:05:39 +0200
|
||||
" Last Change: Thu, 27 Mar 2014 23:28:40 +0100
|
||||
" Documentation: see :help ft-csv.txt
|
||||
" GetLatestVimScripts: 2830 28 :AutoInstall: csv.vim
|
||||
" GetLatestVimScripts: 2830 29 :AutoInstall: csv.vim
|
||||
"
|
||||
" Some ideas are taken from the wiki http://vim.wikia.com/wiki/VimTip667
|
||||
" though, implementation differs.
|
||||
@@ -483,7 +483,7 @@ fu! <sid>GetDelimiter(first, last) "{{{3
|
||||
if !exists("b:csv_fixed_width_cols")
|
||||
let _cur = getpos('.')
|
||||
let _s = @/
|
||||
let Delim= {0: ';', 1: ',', 2: '|', 3: ' '}
|
||||
let Delim= {0: ';', 1: ',', 2: '|', 3: ' ', 4: '\^'}
|
||||
let temp = {}
|
||||
" :silent :s does not work with lazyredraw
|
||||
let _lz = &lz
|
||||
@@ -525,12 +525,16 @@ fu! <sid>WColumn(...) "{{{3
|
||||
let fields=(split(line[0:end],b:col.'\zs'))
|
||||
let ret=len(fields)
|
||||
if exists("a:1") && a:1 > 0
|
||||
" bang attribute
|
||||
" bang attribute: Try to get the column name
|
||||
let head = split(getline(1),b:col.'\zs')
|
||||
" remove preceeding whitespace
|
||||
let ret = substitute(head[ret-1], '^\s\+', '', '')
|
||||
" remove delimiter
|
||||
let ret = substitute(ret, b:delimiter. '$', '', '')
|
||||
if len(head) < ret
|
||||
call <sid>Warn("Header has no field ". ret)
|
||||
else
|
||||
let ret = substitute(head[ret-1], '^\s\+', '', '')
|
||||
" remove delimiter
|
||||
let ret = substitute(ret, b:delimiter. '$', '', '')
|
||||
endif
|
||||
endif
|
||||
else
|
||||
let temp=getpos('.')[2]
|
||||
@@ -1002,7 +1006,8 @@ fu! <sid>MoveCol(forward, line, ...) "{{{3
|
||||
elseif a:forward < 0
|
||||
if colnr > 0 || cpos == spos
|
||||
call search('.\ze'.pat, 'bWe')
|
||||
while getpos('.')[2] == cpos
|
||||
let stime=localtime()
|
||||
while getpos('.')[2] == cpos && <sid>Timeout(stime) " make sure loop terminates
|
||||
" cursor didn't move, move cursor one cell to the left
|
||||
norm! h
|
||||
if colnr > 0
|
||||
@@ -1208,8 +1213,10 @@ fu! <sid>AddColumn(start, stop, ...) range "{{{3
|
||||
if exists("a:1")
|
||||
if a:1 == '$' || a:1 >= max
|
||||
let pos = max
|
||||
elseif a:1 <= 0
|
||||
elseif a:1 < 0
|
||||
let pos = col
|
||||
else
|
||||
let pos = a:1
|
||||
endif
|
||||
else
|
||||
let pos = col
|
||||
@@ -1217,7 +1224,7 @@ fu! <sid>AddColumn(start, stop, ...) range "{{{3
|
||||
let cnt=(exists("a:2") && a:2 > 0 ? a:2 : 1)
|
||||
|
||||
" translate 1 based columns into zero based list index
|
||||
let pos -= 1
|
||||
"let pos -= 1
|
||||
let col -= 1
|
||||
|
||||
if pos == 0
|
||||
@@ -1772,7 +1779,7 @@ endfu
|
||||
|
||||
fu! <sid>NewRecord(line1, line2, count) "{{{3
|
||||
if a:count =~ "\D"
|
||||
call <sid>WarningMsg("Invalid count specified")
|
||||
call <sid>Warn("Invalid count specified")
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -1848,20 +1855,13 @@ fu! <sid>CSVMappings() "{{{3
|
||||
call <sid>Map('noremap', 'E', ':<C-U>call <SID>MoveCol(-1, line("."))<CR>')
|
||||
call <sid>Map('noremap', '<C-Left>', ':<C-U>call <SID>MoveCol(-1, line("."))<CR>')
|
||||
call <sid>Map('noremap', 'H', ':<C-U>call <SID>MoveCol(-1, line("."), 1)<CR>')
|
||||
call <sid>Map('noremap', 'K', ':<C-U>call <SID>MoveCol(0,
|
||||
\ line(".")-v:count1)<CR>')
|
||||
call <sid>Map('noremap', '<Up>', ':<C-U>call <SID>MoveCol(0,
|
||||
\ line(".")-v:count1)<CR>')
|
||||
call <sid>Map('noremap', 'J', ':<C-U>call <SID>MoveCol(0,
|
||||
\ line(".")+v:count1)<CR>')
|
||||
call <sid>Map('noremap', '<Down>', ':<C-U>call <SID>MoveCol(0,
|
||||
\ line(".")+v:count1)<CR>')
|
||||
call <sid>Map('nnoremap', '<CR>', ':<C-U>call <SID>PrepareFolding(1,
|
||||
\ 1)<CR>')
|
||||
call <sid>Map('nnoremap', '<Space>', ':<C-U>call <SID>PrepareFolding(1,
|
||||
\ 0)<CR>')
|
||||
call <sid>Map('nnoremap', '<BS>', ':<C-U>call <SID>PrepareFolding(0,
|
||||
\ 1)<CR>')
|
||||
call <sid>Map('noremap', 'K', ':<C-U>call <SID>MoveCol(0, line(".")-v:count1)<CR>')
|
||||
call <sid>Map('noremap', '<Up>', ':<C-U>call <SID>MoveCol(0, line(".")-v:count1)<CR>')
|
||||
call <sid>Map('noremap', 'J', ':<C-U>call <SID>MoveCol(0, line(".")+v:count1)<CR>')
|
||||
call <sid>Map('noremap', '<Down>', ':<C-U>call <SID>MoveCol(0, line(".")+v:count1)<CR>')
|
||||
call <sid>Map('nnoremap', '<CR>', ':<C-U>call <SID>PrepareFolding(1, 1)<CR>')
|
||||
call <sid>Map('nnoremap', '<Space>', ':<C-U>call <SID>PrepareFolding(1, 0)<CR>')
|
||||
call <sid>Map('nnoremap', '<BS>', ':<C-U>call <SID>PrepareFolding(0, 1)<CR>')
|
||||
call <sid>Map('imap', '<CR>', '<sid>ColumnMode()', 'expr')
|
||||
" Text object: Field
|
||||
call <sid>Map('vnoremap', 'if', ':<C-U>call <sid>MoveOver(0)<CR>')
|
||||
@@ -1937,9 +1937,6 @@ fu! <sid>CommandDefinitions() "{{{3
|
||||
\ '-nargs=1 -complete=custom,<sid>CompleteColumnNr')
|
||||
call <sid>LocalCmd('Transpose', ':call <sid>Transpose(<line1>, <line2>)',
|
||||
\ '-range=%')
|
||||
call <sid>LocalCmd('Tabularize', ':call <sid>Tabularize(<bang>0,<line1>,<line2>)',
|
||||
\ '-bang -range=%')
|
||||
" Alias for :Tabularize, might be taken by Tabular plugin
|
||||
call <sid>LocalCmd('CSVTabularize', ':call <sid>Tabularize(<bang>0,<line1>,<line2>)',
|
||||
\ '-bang -range=%')
|
||||
call <sid>LocalCmd("AddColumn",
|
||||
@@ -2391,6 +2388,9 @@ fu! <sid>ColumnMode() "{{{3
|
||||
return "\<CR>"
|
||||
endif
|
||||
endfu
|
||||
fu! <sid>Timeout(start) "{{{3
|
||||
return localtime()-a:start < 2
|
||||
endfu
|
||||
|
||||
" Global functions "{{{2
|
||||
fu! csv#EvalColumn(nr, func, first, last) range "{{{3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 Aug 09
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -9,6 +9,9 @@ if (exists("b:did_ftplugin"))
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal omnifunc=CucumberComplete
|
||||
@@ -18,25 +21,17 @@ let b:undo_ftplugin = "setl fo< com< cms< ofu<"
|
||||
let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??')
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps")
|
||||
nnoremap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-D> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
let b:undo_ftplugin .=
|
||||
\ "|sil! nunmap <buffer> <C-]>" .
|
||||
\ "|sil! nunmap <buffer> [<C-D>" .
|
||||
\ "|sil! nunmap <buffer> ]<C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>]" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-]>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>d" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>}" .
|
||||
\ "|sil! nunmap <buffer> [d" .
|
||||
\ "|sil! nunmap <buffer> ]d"
|
||||
endif
|
||||
@@ -145,4 +140,7 @@ function! CucumberComplete(findstart,base) abort
|
||||
return sort(steps)
|
||||
endfunction
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
17
ftplugin/ember-script.vim
Normal file
17
ftplugin/ember-script.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Language: ember-script
|
||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
||||
" Version: 1.0.1
|
||||
" Last Change: 2013 Apr 17
|
||||
" License: GPL-3.0
|
||||
|
||||
setlocal tabstop=2
|
||||
setlocal softtabstop=2
|
||||
setlocal shiftwidth=2
|
||||
setlocal smarttab
|
||||
setlocal expandtab
|
||||
setlocal smartindent
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croqlj
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
@@ -9,9 +9,11 @@ if exists("b:did_ftplugin")
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms<"
|
||||
let b:undo_ftplugin = "setl fo< com< cms<"
|
||||
|
||||
" vim:ts=4:sw=4:et
|
||||
|
||||
7
ftplugin/html.vim
Normal file
7
ftplugin/html.vim
Normal file
@@ -0,0 +1,7 @@
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5.vim
|
||||
" Last Change: 2014-05-02
|
||||
" License: MIT
|
||||
" Changes: Add - to keyword
|
||||
|
||||
setlocal iskeyword+=-
|
||||
@@ -40,13 +40,9 @@ endfunction
|
||||
|
||||
" {{{2 EscapeTitle
|
||||
function! s:EscapeTitle(titlestr)
|
||||
" Credit goes to Marcin Szamotulski for the following fix. It allows to
|
||||
" match through commands added by TeX.
|
||||
let titlestr = substitute(a:titlestr, '\\\w*\>\s*\%({[^}]*}\)\?', '.*', 'g')
|
||||
|
||||
let titlestr = escape(titlestr, '\')
|
||||
let titlestr = substitute(titlestr, ' ', '\\_\\s\\+', 'g')
|
||||
|
||||
let titlestr = substitute(a:titlestr, '\\[a-zA-Z@]*\>\s*{\?', '.*', 'g')
|
||||
let titlestr = substitute(titlestr, '}', '', 'g')
|
||||
let titlestr = substitute(titlestr, '\%(\.\*\s*\)\{2,}', '.*', 'g')
|
||||
return titlestr
|
||||
endfunction
|
||||
|
||||
@@ -101,6 +97,10 @@ endfunction
|
||||
|
||||
" {{{2 TOCFindMatch
|
||||
function! s:TOCFindMatch(strsearch,duplicates,files)
|
||||
if len(a:files) == 0
|
||||
echoerr "Could not find: " . a:strsearch
|
||||
return
|
||||
endif
|
||||
|
||||
call s:TOCOpenBuf(a:files[0])
|
||||
let dups = a:duplicates
|
||||
@@ -120,7 +120,6 @@ function! s:TOCFindMatch(strsearch,duplicates,files)
|
||||
endif
|
||||
|
||||
call s:TOCFindMatch(a:strsearch,dups,a:files[1:])
|
||||
|
||||
endfunction
|
||||
|
||||
" {{{2 TOCFoldLevel
|
||||
@@ -170,6 +169,7 @@ function! s:TOCOpenBuf(file)
|
||||
let bnr = bufnr(a:file)
|
||||
endif
|
||||
execute 'buffer! ' . bnr
|
||||
normal! gg
|
||||
|
||||
endfunction
|
||||
|
||||
|
||||
61
ftplugin/liquid.vim
Normal file
61
ftplugin/liquid.vim
Normal file
@@ -0,0 +1,61 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists('g:liquid_default_subtype')
|
||||
let g:liquid_default_subtype = 'html'
|
||||
endif
|
||||
|
||||
if !exists('b:liquid_subtype')
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+')
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = g:liquid_default_subtype
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('b:liquid_subtype') && b:liquid_subtype != ''
|
||||
exe 'runtime! ftplugin/'.b:liquid_subtype.'.vim ftplugin/'.b:liquid_subtype.'_*.vim ftplugin/'.b:liquid_subtype.'/*.vim'
|
||||
else
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= '|'
|
||||
else
|
||||
let b:undo_ftplugin = ''
|
||||
endif
|
||||
if exists('b:browsefilter')
|
||||
let b:browsefilter = "\n".b:browsefilter
|
||||
else
|
||||
let b:browsefilter = ''
|
||||
endif
|
||||
if exists('b:match_words')
|
||||
let b:match_words .= ','
|
||||
elseif exists('loaded_matchit')
|
||||
let b:match_words = ''
|
||||
endif
|
||||
|
||||
if has('gui_win32')
|
||||
let b:browsefilter="Liquid Files (*.liquid)\t*.liquid" . b:browsefilter
|
||||
endif
|
||||
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,<\(capture\|comment\|highlight\)\>:\<end\1\>'
|
||||
endif
|
||||
|
||||
setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %}
|
||||
|
||||
let b:undo_ftplugin .= 'setl cms< | unlet! b:browsefilter b:match_words'
|
||||
@@ -19,4 +19,32 @@ else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp<"
|
||||
endif
|
||||
|
||||
function! MarkdownFold()
|
||||
let line = getline(v:lnum)
|
||||
|
||||
" Regular headers
|
||||
let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=')
|
||||
if depth > 0
|
||||
return ">" . depth
|
||||
endif
|
||||
|
||||
" Setext style headings
|
||||
let nextline = getline(v:lnum + 1)
|
||||
if (line =~ '^.\+$') && (nextline =~ '^=\+$')
|
||||
return ">1"
|
||||
endif
|
||||
|
||||
if (line =~ '^.\+$') && (nextline =~ '^-\+$')
|
||||
return ">2"
|
||||
endif
|
||||
|
||||
return "="
|
||||
endfunction
|
||||
|
||||
if has("folding") && exists("g:markdown_folding")
|
||||
setlocal foldexpr=MarkdownFold()
|
||||
setlocal foldmethod=expr
|
||||
let b:undo_ftplugin .= " foldexpr< foldmethod<"
|
||||
endif
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
@@ -59,10 +59,18 @@ xnoremap <silent> <buffer> ]] :<C-U>call <SID>sectionmovement('{{','' ,'v',v:cou
|
||||
|
||||
" Operator pending mappings
|
||||
|
||||
onoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
|
||||
onoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
|
||||
xnoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
|
||||
xnoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
|
||||
" Operators are available by default. Set `let g:mustache_operators = 0` in
|
||||
" your .vimrc to disable them.
|
||||
if ! exists("g:mustache_operators")
|
||||
let g:mustache_operators = 1
|
||||
endif
|
||||
|
||||
if exists("g:mustache_operators") && g:mustache_operators
|
||||
onoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
|
||||
onoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
|
||||
xnoremap <silent> <buffer> ie :<C-U>call <SID>wrap_inside()<CR>
|
||||
xnoremap <silent> <buffer> ae :<C-U>call <SID>wrap_around()<CR>
|
||||
endif
|
||||
|
||||
function! s:wrap_around()
|
||||
" If the cursor is at the end of the tag element, move back
|
||||
|
||||
15
ftplugin/opencl.vim
Normal file
15
ftplugin/opencl.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
if version > 600
|
||||
runtime! ftplugin/c.vim
|
||||
endif
|
||||
|
||||
" Smaller tab stops.
|
||||
setlocal tabstop=4
|
||||
setlocal shiftwidth=4
|
||||
|
||||
" Smart tabbing/indenting
|
||||
setlocal smarttab
|
||||
setlocal smartindent
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
@@ -1,137 +1,6 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Puppet
|
||||
" Maintainer: Todd Zullinger <tmz@pobox.com>
|
||||
" Last Change: 2009 Aug 19
|
||||
" vim: set sw=4 sts=4:
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_puppet_maps")
|
||||
if !hasmapto("<Plug>AlignRange")
|
||||
map <buffer> <LocalLeader>= <Plug>AlignRange
|
||||
endif
|
||||
endif
|
||||
|
||||
noremap <buffer> <unique> <script> <Plug>AlignArrows :call <SID>AlignArrows()<CR>
|
||||
noremap <buffer> <unique> <script> <Plug>AlignRange :call <SID>AlignRange()<CR>
|
||||
|
||||
iabbrev => =><C-R>=<SID>AlignArrows('=>')<CR>
|
||||
iabbrev +> +><C-R>=<SID>AlignArrows('+>')<CR>
|
||||
|
||||
if exists('*s:AlignArrows')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:arrow_re = '[=+]>'
|
||||
let s:selector_re = '[=+]>\s*\$.*\s*?\s*{\s*$'
|
||||
|
||||
" set keywordprg to 'pi' (alias for puppet describe)
|
||||
" this lets K invoke pi for word under cursor
|
||||
setlocal keywordprg=puppet\ describe
|
||||
|
||||
function! s:AlignArrows(op)
|
||||
let cursor_pos = getpos('.')
|
||||
let lnum = line('.')
|
||||
let line = getline(lnum)
|
||||
if line !~ s:arrow_re
|
||||
return
|
||||
endif
|
||||
let pos = stridx(line, a:op)
|
||||
let start = lnum
|
||||
let end = lnum
|
||||
let pnum = lnum - 1
|
||||
while 1
|
||||
let pline = getline(pnum)
|
||||
if pline !~ s:arrow_re || pline =~ s:selector_re
|
||||
break
|
||||
endif
|
||||
let start = pnum
|
||||
let pnum -= 1
|
||||
endwhile
|
||||
let cnum = end
|
||||
while 1
|
||||
let cline = getline(cnum)
|
||||
if cline !~ s:arrow_re ||
|
||||
\ (indent(cnum) != indent(cnum+1) && getline(cnum+1) !~ '\s*}')
|
||||
break
|
||||
endif
|
||||
let end = cnum
|
||||
let cnum += 1
|
||||
endwhile
|
||||
call s:AlignSection(start, end)
|
||||
let cursor_pos[2] = stridx(getline('.'), a:op) + strlen(a:op) + 1
|
||||
call setpos('.', cursor_pos)
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:AlignRange() range
|
||||
call s:AlignSection(a:firstline, a:lastline)
|
||||
endfunction
|
||||
|
||||
" AlignSection and AlignLine are from the vim wiki:
|
||||
" http://vim.wikia.com/wiki/Regex-based_text_alignment
|
||||
function! s:AlignSection(start, end)
|
||||
let extra = 1
|
||||
let sep = s:arrow_re
|
||||
let maxpos = 0
|
||||
let section = getline(a:start, a:end)
|
||||
for line in section
|
||||
let pos = match(line, ' *'.sep)
|
||||
if maxpos < pos
|
||||
let maxpos = pos
|
||||
endif
|
||||
endfor
|
||||
call map(section, 's:AlignLine(v:val, sep, maxpos, extra)')
|
||||
call setline(a:start, section)
|
||||
endfunction
|
||||
|
||||
function! s:AlignLine(line, sep, maxpos, extra)
|
||||
let m = matchlist(a:line, '\(.\{-}\) \{-}\('.a:sep.'.*\)')
|
||||
if empty(m)
|
||||
return a:line
|
||||
endif
|
||||
let spaces = repeat(' ', a:maxpos - strlen(m[1]) + a:extra)
|
||||
return m[1] . spaces . m[2]
|
||||
endfunction
|
||||
|
||||
" detect if we are in a module and set variables for classpath (autoloader),
|
||||
" modulename, modulepath, and classname
|
||||
" useful to use in templates
|
||||
function! s:SetModuleVars()
|
||||
|
||||
" set these to any dirs you want to stop searching on
|
||||
" useful to stop vim from spinning disk looking all over for init.pp
|
||||
" probably only a macosx problem with /tmp since it's really /private/tmp
|
||||
" but it's here if you find vim spinning on new files in certain places
|
||||
if !exists("g:puppet_stop_dirs")
|
||||
let g:puppet_stop_dirs = '/tmp;/private/tmp'
|
||||
endif
|
||||
|
||||
" search path for init.pp
|
||||
let b:search_path = './**'
|
||||
let b:search_path = b:search_path . ';' . getcwd() . ';' . g:puppet_stop_dirs
|
||||
|
||||
" find what we assume to be our module dir
|
||||
let b:initpp = findfile("init.pp", b:search_path) " find an init.pp up or down
|
||||
let b:module_path = fnamemodify(b:initpp, ":p:h:h") " full path to module name
|
||||
let b:module_name = fnamemodify(b:module_path, ":t") " just the module name
|
||||
|
||||
" sub out the full path to the module with the name and replace slashes with ::
|
||||
let b:classpath = fnamemodify(expand("%:p:r"), ':s#' . b:module_path . '/manifests#' . b:module_name . '#'. ":gs?/?::?")
|
||||
let b:classname = expand("%:t:r")
|
||||
|
||||
" if we don't start with a word we didn't replace the module_path
|
||||
" probably b/c we couldn't find an init.pp / not a module
|
||||
" so we assume that root of the filename is the class (sane for throwaway
|
||||
" manifests
|
||||
if b:classpath =~ '^::'
|
||||
let b:classpath = b:classname
|
||||
endif
|
||||
endfunction
|
||||
|
||||
if exists("g:puppet_module_detect")
|
||||
call s:SetModuleVars()
|
||||
endif
|
||||
setl ts=2
|
||||
setl sts=2
|
||||
setl sw=2
|
||||
setl et
|
||||
setl keywordprg=puppet\ describe\ --providers
|
||||
setl iskeyword=-,:,@,48-57,_,192-255
|
||||
|
||||
@@ -8,11 +8,6 @@
|
||||
" License: Same as Vim
|
||||
" Last Change: %%RELEASE_DATE%%
|
||||
|
||||
" TODO: Indenting after multibyte characters is broken:
|
||||
" (let [Δ (if foo
|
||||
" bar ; Indent error
|
||||
" baz)])
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
@@ -57,27 +52,30 @@ if exists("*searchpairpos")
|
||||
let g:clojure_align_subforms = 0
|
||||
endif
|
||||
|
||||
function! s:SynIdName()
|
||||
function! s:syn_id_name()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
|
||||
function! s:CurrentChar()
|
||||
function! s:ignored_region()
|
||||
return s:syn_id_name() =~? '\vstring|regex|comment|character'
|
||||
endfunction
|
||||
|
||||
function! s:current_char()
|
||||
return getline('.')[col('.')-1]
|
||||
endfunction
|
||||
|
||||
function! s:CurrentWord()
|
||||
function! s:current_word()
|
||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||
function! s:is_paren()
|
||||
return s:current_char() =~# '\v[\(\)\[\]\{\}]' && !s:ignored_region()
|
||||
endfunction
|
||||
|
||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||
" patterns.
|
||||
function! s:MatchesOne(patterns, string)
|
||||
function! s:match_one(patterns, string)
|
||||
let list = type(a:patterns) == type([])
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
@@ -86,7 +84,7 @@ if exists("*searchpairpos")
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:MatchPairs(open, close, stopat)
|
||||
function! s:match_pairs(open, close, stopat)
|
||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||
" comments.
|
||||
if a:stopat == 0
|
||||
@@ -95,11 +93,11 @@ if exists("*searchpairpos")
|
||||
let stopat = a:stopat
|
||||
endif
|
||||
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
||||
return [pos[0], virtcol(pos)]
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:is_paren()", stopat)
|
||||
return [pos[0], col(pos)]
|
||||
endfunction
|
||||
|
||||
function! s:ClojureCheckForStringWorker()
|
||||
function! s:clojure_check_for_string_worker()
|
||||
" Check whether there is the last character of the previous line is
|
||||
" highlighted as a string. If so, we check whether it's a ". In this
|
||||
" case we have to check also the previous character. The " might be the
|
||||
@@ -113,17 +111,17 @@ if exists("*searchpairpos")
|
||||
|
||||
call cursor(nb, 0)
|
||||
call cursor(0, col("$") - 1)
|
||||
if s:SynIdName() !~? "string"
|
||||
if s:syn_id_name() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
|
||||
" This will not work for a " in the first column...
|
||||
if s:CurrentChar() == '"'
|
||||
if s:current_char() == '"'
|
||||
call cursor(0, col("$") - 2)
|
||||
if s:SynIdName() !~? "string"
|
||||
if s:syn_id_name() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
if s:CurrentChar() != '\\'
|
||||
if s:current_char() != '\\'
|
||||
return -1
|
||||
endif
|
||||
call cursor(0, col("$") - 1)
|
||||
@@ -138,40 +136,40 @@ if exists("*searchpairpos")
|
||||
return indent(".")
|
||||
endfunction
|
||||
|
||||
function! s:CheckForString()
|
||||
function! s:check_for_string()
|
||||
let pos = getpos('.')
|
||||
try
|
||||
let val = s:ClojureCheckForStringWorker()
|
||||
let val = s:clojure_check_for_string_worker()
|
||||
finally
|
||||
call setpos('.', pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:StripNamespaceAndMacroChars(word)
|
||||
function! s:strip_namespace_and_macro_chars(word)
|
||||
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
function! s:clojure_is_method_special_case_worker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
|
||||
" Special case: we are at a '(('.
|
||||
if s:CurrentChar() == '('
|
||||
if s:current_char() == '('
|
||||
return 0
|
||||
endif
|
||||
call cursor(a:position)
|
||||
|
||||
let nextParen = s:MatchPairs('(', ')', 0)
|
||||
let next_paren = s:match_pairs('(', ')', 0)
|
||||
|
||||
" Special case: we are now at toplevel.
|
||||
if nextParen == [0, 0]
|
||||
if next_paren == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
call cursor(nextParen)
|
||||
call cursor(next_paren)
|
||||
|
||||
call search('\S', 'W')
|
||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
||||
let w = s:strip_namespace_and_macro_chars(s:current_word())
|
||||
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||
return 1
|
||||
endif
|
||||
@@ -179,27 +177,33 @@ if exists("*searchpairpos")
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function! s:IsMethodSpecialCase(position)
|
||||
function! s:is_method_special_case(position)
|
||||
let pos = getpos('.')
|
||||
try
|
||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
||||
let val = s:clojure_is_method_special_case_worker(a:position)
|
||||
finally
|
||||
call setpos('.', pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! GetClojureIndent()
|
||||
" Returns 1 for opening brackets, -1 for _anything else_.
|
||||
function! s:bracket_type(char)
|
||||
return stridx('([{', a:char) > -1 ? 1 : -1
|
||||
endfunction
|
||||
|
||||
" Returns: [opening-bracket-lnum, indent]
|
||||
function! s:clojure_indent_pos()
|
||||
" Get rid of special case.
|
||||
if line(".") == 1
|
||||
return 0
|
||||
return [0, 0]
|
||||
endif
|
||||
|
||||
" We have to apply some heuristics here to figure out, whether to use
|
||||
" normal lisp indenting or not.
|
||||
let i = s:CheckForString()
|
||||
let i = s:check_for_string()
|
||||
if i > -1
|
||||
return i + !!g:clojure_align_multiline_strings
|
||||
return [0, i + !!g:clojure_align_multiline_strings]
|
||||
endif
|
||||
|
||||
call cursor(0, 1)
|
||||
@@ -207,28 +211,28 @@ if exists("*searchpairpos")
|
||||
" Find the next enclosing [ or {. We can limit the second search
|
||||
" to the line, where the [ was found. If no [ was there this is
|
||||
" zero and we search for an enclosing {.
|
||||
let paren = s:MatchPairs('(', ')', 0)
|
||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
||||
let paren = s:match_pairs('(', ')', 0)
|
||||
let bracket = s:match_pairs('\[', '\]', paren[0])
|
||||
let curly = s:match_pairs('{', '}', bracket[0])
|
||||
|
||||
" In case the curly brace is on a line later then the [ or - in
|
||||
" case they are on the same line - in a higher column, we take the
|
||||
" curly indent.
|
||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||
return curly[1]
|
||||
return curly
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the curly was not chosen, we take the bracket indent - if
|
||||
" there was one.
|
||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||
return bracket[1]
|
||||
return bracket
|
||||
endif
|
||||
|
||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||
if paren == [0, 0]
|
||||
return 0
|
||||
return paren
|
||||
endif
|
||||
|
||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||
@@ -246,58 +250,116 @@ if exists("*searchpairpos")
|
||||
" - In any other case we use the column of the end of the word + 2.
|
||||
call cursor(paren)
|
||||
|
||||
if s:IsMethodSpecialCase(paren)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
if s:is_method_special_case(paren)
|
||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||
endif
|
||||
|
||||
" In case we are at the last character, we use the paren position.
|
||||
if col("$") - 1 == paren[1]
|
||||
return paren[1]
|
||||
return paren
|
||||
endif
|
||||
|
||||
" In case after the paren is a whitespace, we search for the next word.
|
||||
call cursor(0, col('.') + 1)
|
||||
if s:CurrentChar() == ' '
|
||||
if s:current_char() == ' '
|
||||
call search('\v\S', 'W')
|
||||
endif
|
||||
|
||||
" If we moved to another line, there is no word after the (. We
|
||||
" use the ( position for indent.
|
||||
if line(".") > paren[0]
|
||||
return paren[1]
|
||||
return paren
|
||||
endif
|
||||
|
||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||
" In that case we use the ( position for indent.
|
||||
let w = s:CurrentWord()
|
||||
if stridx('([{', w[0]) > -1
|
||||
return paren[1]
|
||||
let w = s:current_word()
|
||||
if s:bracket_type(w[0]) == 1
|
||||
return paren
|
||||
endif
|
||||
|
||||
" Test words without namespace qualifiers and leading reader macro
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = s:StripNamespaceAndMacroChars(w)
|
||||
let ww = s:strip_namespace_and_macro_chars(w)
|
||||
|
||||
if &lispwords =~# '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||
endif
|
||||
|
||||
if g:clojure_fuzzy_indent
|
||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
\ && !s:match_one(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:match_one(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||
endif
|
||||
|
||||
call search('\v\_s', 'cW')
|
||||
call search('\v\S', 'W')
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)
|
||||
return [paren[0], paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)]
|
||||
endif
|
||||
|
||||
call search('\v\S', 'bW')
|
||||
return virtcol(".") + 1
|
||||
return [line('.'), col('.') + 1]
|
||||
endfunction
|
||||
|
||||
function! GetClojureIndent()
|
||||
let lnum = line('.')
|
||||
let orig_lnum = lnum
|
||||
let orig_col = col('.')
|
||||
let [opening_lnum, indent] = s:clojure_indent_pos()
|
||||
|
||||
" Account for multibyte characters
|
||||
if opening_lnum > 0
|
||||
let indent -= indent - virtcol([opening_lnum, indent])
|
||||
endif
|
||||
|
||||
" Return if there are no previous lines to inherit from
|
||||
if opening_lnum < 1 || opening_lnum >= lnum - 1
|
||||
call cursor(orig_lnum, orig_col)
|
||||
return indent
|
||||
endif
|
||||
|
||||
let bracket_count = 0
|
||||
|
||||
" Take the indent of the first previous non-white line that is
|
||||
" at the same sexp level. cf. src/misc1.c:get_lisp_indent()
|
||||
while 1
|
||||
let lnum = prevnonblank(lnum - 1)
|
||||
let col = 1
|
||||
|
||||
if lnum <= opening_lnum
|
||||
break
|
||||
endif
|
||||
|
||||
call cursor(lnum, col)
|
||||
|
||||
" Handle bracket counting edge case
|
||||
if s:is_paren()
|
||||
let bracket_count += s:bracket_type(s:current_char())
|
||||
endif
|
||||
|
||||
while 1
|
||||
if search('\v[(\[{}\])]', '', lnum) < 1
|
||||
break
|
||||
elseif !s:ignored_region()
|
||||
let bracket_count += s:bracket_type(s:current_char())
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if bracket_count == 0
|
||||
" Check if this is part of a multiline string
|
||||
call cursor(lnum, 1)
|
||||
if s:syn_id_name() !~? '\vstring|regex'
|
||||
call cursor(orig_lnum, orig_col)
|
||||
return indent(lnum)
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
call cursor(orig_lnum, orig_col)
|
||||
return indent
|
||||
endfunction
|
||||
|
||||
setlocal indentexpr=GetClojureIndent()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
@@ -59,6 +59,10 @@ function! GetElixirIndent()
|
||||
|
||||
let ind += opened_symbol * &sw
|
||||
|
||||
if current_line =~ '^\s*\(\]\|}\)'
|
||||
let ind -= &sw
|
||||
endif
|
||||
|
||||
if last_line =~ s:indent_keywords
|
||||
let ind += &sw
|
||||
endif
|
||||
|
||||
14
indent/ember-script.vim
Normal file
14
indent/ember-script.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Language: ember-script
|
||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
||||
" Version: 1.0.1
|
||||
" Last Change: 2013 Apr 17
|
||||
" License: GPL-3.0
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/coffee.vim
|
||||
unlet! b:did_indent
|
||||
let b:did_indent = 1
|
||||
@@ -24,6 +24,18 @@ if exists("*GoIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
" The shiftwidth() function is relatively new.
|
||||
" Don't require it to exist.
|
||||
if exists('*shiftwidth')
|
||||
func s:sw()
|
||||
return shiftwidth()
|
||||
endfunc
|
||||
else
|
||||
func s:sw()
|
||||
return &shiftwidth
|
||||
endfunc
|
||||
endif
|
||||
|
||||
function! GoIndent(lnum)
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
if prevlnum == 0
|
||||
@@ -40,17 +52,17 @@ function! GoIndent(lnum)
|
||||
|
||||
if prevl =~ '[({]\s*$'
|
||||
" previous line opened a block
|
||||
let ind += &sw
|
||||
let ind += s:sw()
|
||||
endif
|
||||
if prevl =~# '^\s*\(case .*\|default\):$'
|
||||
" previous line is part of a switch statement
|
||||
let ind += &sw
|
||||
let ind += s:sw()
|
||||
endif
|
||||
" TODO: handle if the previous line is a label.
|
||||
|
||||
if thisl =~ '^\s*[)}]'
|
||||
" this line closed a block
|
||||
let ind -= &sw
|
||||
let ind -= s:sw()
|
||||
endif
|
||||
|
||||
" Colons are tricky.
|
||||
@@ -58,7 +70,7 @@ function! GoIndent(lnum)
|
||||
" We ignore trying to deal with jump labels because (a) they're rare, and
|
||||
" (b) they're hard to disambiguate from a composite literal key.
|
||||
if thisl =~# '^\s*\(case .*\|default\):$'
|
||||
let ind -= &sw
|
||||
let ind -= s:sw()
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
@@ -36,7 +36,7 @@ let b:did_indent = 1
|
||||
|
||||
" [-- local settings (must come before aborting the script) --]
|
||||
setlocal indentexpr=HtmlIndentGet(v:lnum)
|
||||
setlocal indentkeys=o,O,*<Return>,<>>,{,}
|
||||
setlocal indentkeys=o,O,*<Return>,<>>,{,},!^F
|
||||
|
||||
|
||||
let s:tags = []
|
||||
|
||||
62
indent/liquid.vim
Normal file
62
indent/liquid.vim
Normal file
@@ -0,0 +1,62 @@
|
||||
" Vim indent file
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
|
||||
set indentexpr=
|
||||
if exists('b:liquid_subtype')
|
||||
exe 'runtime! indent/'.b:liquid_subtype.'.vim'
|
||||
else
|
||||
runtime! indent/html.vim
|
||||
endif
|
||||
unlet! b:did_indent
|
||||
|
||||
if &l:indentexpr == ''
|
||||
if &l:cindent
|
||||
let &l:indentexpr = 'cindent(v:lnum)'
|
||||
else
|
||||
let &l:indentexpr = 'indent(prevnonblank(v:lnum-1))'
|
||||
endif
|
||||
endif
|
||||
let b:liquid_subtype_indentexpr = &l:indentexpr
|
||||
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetLiquidIndent()
|
||||
setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=endif,=endunless,=endifchanged,=endcase,=endfor,=endtablerow,=endcapture,=else,=elsif,=when,=empty
|
||||
|
||||
" Only define the function once.
|
||||
if exists('*GetLiquidIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! s:count(string,pattern)
|
||||
let string = substitute(a:string,'\C'.a:pattern,"\n",'g')
|
||||
return strlen(substitute(string,"[^\n]",'','g'))
|
||||
endfunction
|
||||
|
||||
function! GetLiquidIndent(...)
|
||||
if a:0 && a:1 == '.'
|
||||
let v:lnum = line('.')
|
||||
elseif a:0 && a:1 =~ '^\d'
|
||||
let v:lnum = a:1
|
||||
endif
|
||||
let vcol = col('.')
|
||||
call cursor(v:lnum,1)
|
||||
exe "let ind = ".b:liquid_subtype_indentexpr
|
||||
let lnum = prevnonblank(v:lnum-1)
|
||||
let line = getline(lnum)
|
||||
let cline = getline(v:lnum)
|
||||
let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
||||
let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+')
|
||||
let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
|
||||
let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
|
||||
let ind -= &sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
|
||||
let ind -= &sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>')
|
||||
let ind -= &sw * s:count(cline,'{%\s*end\w*$')
|
||||
return ind
|
||||
endfunction
|
||||
10
indent/opencl.vim
Normal file
10
indent/opencl.vim
Normal file
@@ -0,0 +1,10 @@
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
if version > 600
|
||||
runtime! indent/c.vim
|
||||
endif
|
||||
|
||||
let b:did_indent = 1
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Puppet
|
||||
" Maintainer: Todd Zullinger <tmz@pobox.com>
|
||||
" Last Change: 2009 Aug 19
|
||||
" Language: Puppet
|
||||
" Maintainer: Todd Zullinger <tmz@pobox.com>
|
||||
" Last Change: 2009 Aug 19
|
||||
" vim: set sw=4 sts=4:
|
||||
|
||||
if exists("b:did_indent")
|
||||
@@ -67,10 +67,15 @@ function! GetPuppetIndent()
|
||||
let ind -= &sw
|
||||
endif
|
||||
|
||||
" Match } }, }; ] ]: )
|
||||
if line =~ '^\s*\(}\(,\|;\)\?$\|]:\?$\|)\)'
|
||||
" Match } }, }; ] ]: ], ]; )
|
||||
if line =~ '^\s*\(}\(,\|;\)\?$\|]:\|],\|}]\|];\?$\|)\)'
|
||||
let ind = indent(s:OpenBrace(v:lnum))
|
||||
endif
|
||||
|
||||
" Don't actually shift over for } else {
|
||||
if line =~ '^\s*}\s*els\(e\|if\).*{\s*$'
|
||||
let ind -= &sw
|
||||
endif
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
213
indent/python.vim
Normal file
213
indent/python.vim
Normal file
@@ -0,0 +1,213 @@
|
||||
" PEP8 compatible Python indent file
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal expandtab
|
||||
setlocal nolisp
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetPythonPEPIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except
|
||||
|
||||
let s:maxoff = 50
|
||||
|
||||
" Find backwards the closest open parenthesis/bracket/brace.
|
||||
function! s:SearchParensPair()
|
||||
let line = line('.')
|
||||
let col = col('.')
|
||||
|
||||
" Skip strings and comments and don't look too far
|
||||
let skip = "line('.') < " . (line - s:maxoff) . " ? dummy :" .
|
||||
\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? ' .
|
||||
\ '"string\\|comment"'
|
||||
|
||||
" Search for parentheses
|
||||
call cursor(line, col)
|
||||
let parlnum = searchpair('(', '', ')', 'bW', skip)
|
||||
let parcol = col('.')
|
||||
|
||||
" Search for brackets
|
||||
call cursor(line, col)
|
||||
let par2lnum = searchpair('\[', '', '\]', 'bW', skip)
|
||||
let par2col = col('.')
|
||||
|
||||
" Search for braces
|
||||
call cursor(line, col)
|
||||
let par3lnum = searchpair('{', '', '}', 'bW', skip)
|
||||
let par3col = col('.')
|
||||
|
||||
" Get the closest match
|
||||
if par2lnum > parlnum || (par2lnum == parlnum && par2col > parcol)
|
||||
let parlnum = par2lnum
|
||||
let parcol = par2col
|
||||
endif
|
||||
if par3lnum > parlnum || (par3lnum == parlnum && par3col > parcol)
|
||||
let parlnum = par3lnum
|
||||
let parcol = par3col
|
||||
endif
|
||||
|
||||
" Put the cursor on the match
|
||||
if parlnum > 0
|
||||
call cursor(parlnum, parcol)
|
||||
endif
|
||||
return parlnum
|
||||
endfunction
|
||||
|
||||
" Find the start of a multi-line statement
|
||||
function! s:StatementStart(lnum)
|
||||
let lnum = a:lnum
|
||||
while 1
|
||||
if getline(lnum - 1) =~ '\\$'
|
||||
let lnum = lnum - 1
|
||||
else
|
||||
call cursor(lnum, 1)
|
||||
let maybe_lnum = s:SearchParensPair()
|
||||
if maybe_lnum < 1
|
||||
return lnum
|
||||
else
|
||||
let lnum = maybe_lnum
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
" Find the block starter that matches the current line
|
||||
function! s:BlockStarter(lnum, block_start_re)
|
||||
let lnum = a:lnum
|
||||
let maxindent = 10000 " whatever
|
||||
while lnum > 1
|
||||
let lnum = prevnonblank(lnum - 1)
|
||||
if indent(lnum) < maxindent
|
||||
if getline(lnum) =~ a:block_start_re
|
||||
return lnum
|
||||
else
|
||||
let maxindent = indent(lnum)
|
||||
" It's not worth going further if we reached the top level
|
||||
if maxindent == 0
|
||||
return -1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! GetPythonPEPIndent(lnum)
|
||||
let scol = col('.')
|
||||
|
||||
" First line has indent 0
|
||||
if a:lnum == 1
|
||||
return 0
|
||||
endif
|
||||
|
||||
" If we can find an open parenthesis/bracket/brace, line up with it.
|
||||
call cursor(a:lnum, 1)
|
||||
let parlnum = s:SearchParensPair()
|
||||
if parlnum > 0
|
||||
let parcol = col('.')
|
||||
let matches = matchlist(getline(a:lnum), '^\(\s*\)[])}]')
|
||||
if len(matches) == 0
|
||||
let closing_paren = 0
|
||||
let closing_paren_pos = 0
|
||||
else
|
||||
let closing_paren = 1
|
||||
let closing_paren_pos = len(matches[1])
|
||||
endif
|
||||
if match(getline(parlnum), '[([{]\s*$', parcol - 1) != -1
|
||||
if closing_paren
|
||||
return indent(parlnum)
|
||||
else
|
||||
return indent(parlnum) + &shiftwidth
|
||||
endif
|
||||
elseif a:lnum - 1 != parlnum
|
||||
if closing_paren && closing_paren_pos > scol
|
||||
return indent(parlnum)
|
||||
else
|
||||
let lastindent = match(getline(a:lnum - 1), '\S')
|
||||
if lastindent != -1 && lastindent < parcol
|
||||
return lastindent
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" If we line up with an opening column there is a special case
|
||||
" we want to handle: a docstring as argument. In that case we
|
||||
" don't want to line up with the paren but with the statement
|
||||
" imagine foo(doc=""" as example
|
||||
echo getline(parlnum)
|
||||
if match(getline(parlnum), '\("""\|' . "'''" . '\)\s*$') != -1
|
||||
return indent(parlnum)
|
||||
endif
|
||||
|
||||
return parcol
|
||||
endif
|
||||
|
||||
" Examine this line
|
||||
let thisline = getline(a:lnum)
|
||||
let thisindent = indent(a:lnum)
|
||||
|
||||
" If the line starts with 'elif' or 'else', line up with 'if' or 'elif'
|
||||
if thisline =~ '^\s*\(elif\|else\)\>'
|
||||
let bslnum = s:BlockStarter(a:lnum, '^\s*\(if\|elif\)\>')
|
||||
if bslnum > 0
|
||||
return indent(bslnum)
|
||||
else
|
||||
return -1
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the line starts with 'except' or 'finally', line up with 'try'
|
||||
" or 'except'
|
||||
if thisline =~ '^\s*\(except\|finally\)\>'
|
||||
let bslnum = s:BlockStarter(a:lnum, '^\s*\(try\|except\)\>')
|
||||
if bslnum > 0
|
||||
return indent(bslnum)
|
||||
else
|
||||
return -1
|
||||
endif
|
||||
endif
|
||||
|
||||
" Examine previous line
|
||||
let plnum = a:lnum - 1
|
||||
let pline = getline(plnum)
|
||||
let sslnum = s:StatementStart(plnum)
|
||||
|
||||
" If the previous line is blank, keep the same indentation
|
||||
if pline =~ '^\s*$'
|
||||
return -1
|
||||
endif
|
||||
|
||||
" If this line is explicitly joined, try to find an indentation that looks
|
||||
" good.
|
||||
if pline =~ '\\$'
|
||||
let compound_statement = '^\s*\(if\|while\|from\|import\|for\s.*\sin\|except\)\s*'
|
||||
let maybe_indent = matchend(getline(sslnum), compound_statement)
|
||||
if maybe_indent != -1
|
||||
return maybe_indent
|
||||
else
|
||||
return indent(sslnum) + &sw * 2
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the previous line ended with a colon and is not a comment, indent
|
||||
" relative to statement start.
|
||||
if pline =~ '^[^#]*:\s*\(#.*\)\?$'
|
||||
return indent(sslnum) + &sw
|
||||
endif
|
||||
|
||||
" If the previous line was a stop-execution statement or a pass
|
||||
if getline(sslnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
|
||||
" See if the user has already dedented
|
||||
if indent(a:lnum) > indent(sslnum) - &sw
|
||||
" If not, recommend one dedent
|
||||
return indent(sslnum) - &sw
|
||||
endif
|
||||
" Otherwise, trust the user
|
||||
return -1
|
||||
endif
|
||||
|
||||
" In all other cases, line up with the start of the previous statement.
|
||||
return indent(sslnum)
|
||||
endfunction
|
||||
@@ -13,7 +13,7 @@ setlocal cindent
|
||||
setlocal cinoptions=L0,(0,Ws,JN,j1
|
||||
setlocal cinkeys=0{,0},!^F,o,O,0[,0]
|
||||
" Don't think cinwords will actually do anything at all... never mind
|
||||
setlocal cinwords=do,for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern
|
||||
setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern
|
||||
|
||||
" Some preliminary settings
|
||||
setlocal nolisp " Make sure lisp indenting doesn't supersede us
|
||||
@@ -30,7 +30,7 @@ endif
|
||||
|
||||
" Come here when loading the script the first time.
|
||||
|
||||
function s:get_line_trimmed(lnum)
|
||||
function! s:get_line_trimmed(lnum)
|
||||
" Get the line and remove a trailing comment.
|
||||
" Use syntax highlighting attributes when possible.
|
||||
" NOTE: this is not accurate; /* */ or a line continuation could trick it
|
||||
@@ -40,12 +40,12 @@ function s:get_line_trimmed(lnum)
|
||||
" If the last character in the line is a comment, do a binary search for
|
||||
" the start of the comment. synID() is slow, a linear search would take
|
||||
" too long on a long line.
|
||||
if synIDattr(synID(a:lnum, line_len, 1), "name") =~ "Comment\|Todo"
|
||||
if synIDattr(synID(a:lnum, line_len, 1), "name") =~ 'Comment\|Todo'
|
||||
let min = 1
|
||||
let max = line_len
|
||||
while min < max
|
||||
let col = (min + max) / 2
|
||||
if synIDattr(synID(a:lnum, col, 1), "name") =~ "Comment\|Todo"
|
||||
if synIDattr(synID(a:lnum, col, 1), "name") =~ 'Comment\|Todo'
|
||||
let max = col
|
||||
else
|
||||
let min = col + 1
|
||||
@@ -61,6 +61,20 @@ function s:get_line_trimmed(lnum)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:is_string_comment(lnum, col)
|
||||
if has('syntax_items')
|
||||
for id in synstack(a:lnum, a:col)
|
||||
let synname = synIDattr(id, "name")
|
||||
if synname == "rustString" || synname =~ "^rustComment"
|
||||
return 1
|
||||
endif
|
||||
endfor
|
||||
else
|
||||
" without syntax, let's not even try
|
||||
return 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function GetRustIndent(lnum)
|
||||
|
||||
" Starting assumption: cindent (called at the end) will do it right
|
||||
@@ -73,10 +87,10 @@ function GetRustIndent(lnum)
|
||||
if synname == "rustString"
|
||||
" If the start of the line is in a string, don't change the indent
|
||||
return -1
|
||||
elseif synname =~ "\\(Comment\\|Todo\\)"
|
||||
\ && line !~ "^\\s*/\\*" " not /* opening line
|
||||
elseif synname =~ '\(Comment\|Todo\)'
|
||||
\ && line !~ '^\s*/\*' " not /* opening line
|
||||
if synname =~ "CommentML" " multi-line
|
||||
if line !~ "^\\s*\\*" && getline(a:lnum - 1) =~ "^\\s*/\\*"
|
||||
if line !~ '^\s*\*' && getline(a:lnum - 1) =~ '^\s*/\*'
|
||||
" This is (hopefully) the line after a /*, and it has no
|
||||
" leader, so the correct indentation is that of the
|
||||
" previous line.
|
||||
@@ -101,10 +115,16 @@ function GetRustIndent(lnum)
|
||||
" };
|
||||
|
||||
" Search backwards for the previous non-empty line.
|
||||
let prevline = s:get_line_trimmed(prevnonblank(a:lnum - 1))
|
||||
let prevlinenum = prevnonblank(a:lnum - 1)
|
||||
let prevline = s:get_line_trimmed(prevlinenum)
|
||||
while prevlinenum > 1 && prevline !~ '[^[:blank:]]'
|
||||
let prevlinenum = prevnonblank(prevlinenum - 1)
|
||||
let prevline = s:get_line_trimmed(prevlinenum)
|
||||
endwhile
|
||||
if prevline[len(prevline) - 1] == ","
|
||||
\ && s:get_line_trimmed(a:lnum) !~ "^\\s*[\\[\\]{}]"
|
||||
\ && prevline !~ "^\\s*fn\\s"
|
||||
\ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]'
|
||||
\ && prevline !~ '^\s*fn\s'
|
||||
\ && prevline !~ '([^()]\+,$'
|
||||
" Oh ho! The previous line ended in a comma! I bet cindent will try to
|
||||
" take this too far... For now, let's normally use the previous line's
|
||||
" indent.
|
||||
@@ -119,6 +139,16 @@ function GetRustIndent(lnum)
|
||||
" fn foo(baz: Baz,
|
||||
" baz: Baz) // <-- cindent gets this right by itself
|
||||
"
|
||||
" Another case is similar to the previous, except calling a function
|
||||
" instead of defining it, or any conditional expression that leaves
|
||||
" an open paren:
|
||||
"
|
||||
" foo(baz,
|
||||
" baz);
|
||||
"
|
||||
" if baz && (foo ||
|
||||
" bar) {
|
||||
"
|
||||
" There are probably other cases where we don't want to do this as
|
||||
" well. Add them as needed.
|
||||
return GetRustIndent(a:lnum - 1)
|
||||
@@ -141,8 +171,10 @@ function GetRustIndent(lnum)
|
||||
" column zero)
|
||||
|
||||
call cursor(a:lnum, 1)
|
||||
if searchpair('{\|(', '', '}\|)', 'nbW') == 0
|
||||
if searchpair('\[', '', '\]', 'nbW') == 0
|
||||
if searchpair('{\|(', '', '}\|)', 'nbW',
|
||||
\ 's:is_string_comment(line("."), col("."))') == 0
|
||||
if searchpair('\[', '', '\]', 'nbW',
|
||||
\ 's:is_string_comment(line("."), col("."))') == 0
|
||||
" Global scope, should be zero
|
||||
return 0
|
||||
else
|
||||
|
||||
@@ -4,18 +4,21 @@
|
||||
" Modifications by : Derek Wyatt
|
||||
" Last Change: 2011 Mar 19 (Derek Wyatt)
|
||||
|
||||
"if exists("b:did_indent")
|
||||
" finish
|
||||
"endif
|
||||
"let b:did_indent = 1
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetScalaIndent()
|
||||
setlocal indentkeys=0{,0},0),!^F,<>>,o,O,e,=case,<CR>
|
||||
setlocal autoindent
|
||||
setlocal softtabstop=2
|
||||
setlocal tabstop=2
|
||||
setlocal shiftwidth=2
|
||||
|
||||
"if exists("*GetScalaIndent")
|
||||
" finish
|
||||
"endif
|
||||
if exists("*GetScalaIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:defMatcher = '\%(\%(private\|protected\)\%(\[[^\]]*\]\)\?\s\+\|abstract\s\+\|override\s\+\)*\<def\>'
|
||||
let s:funcNameMatcher = '\w\+'
|
||||
|
||||
@@ -379,8 +379,13 @@ endif
|
||||
syn cluster cLabelGroup contains=cUserLabel
|
||||
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
if s:ft ==# 'cpp'
|
||||
syn match cUserCont display "^\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
else
|
||||
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
|
||||
endif
|
||||
|
||||
syn match cUserLabel display "\I\i*" contained
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2012 Jun 14
|
||||
" Last Change: 2014 May 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -39,9 +39,7 @@ if !exists("cpp_no_cpp11")
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype
|
||||
syn keyword cppConstant nullptr
|
||||
" A C++11 raw-string literal. It tries to follow 2.14.5 and 2.14.5.2 of the
|
||||
" standard.
|
||||
syn region cppRawString matchgroup=cppRawDelim start=+\%(u8\=\|[LU]\)\=R"\z(\%([ ()\\\d9-\d12]\@![\d0-\d127]\)\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
@@ -65,7 +63,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppStructure Structure
|
||||
HiLink cppBoolean Boolean
|
||||
HiLink cppConstant Constant
|
||||
HiLink cppRawDelim cFormat
|
||||
HiLink cppRawDelimiter Delimiter
|
||||
HiLink cppRawString String
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.feature
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
syn sync minlines=20
|
||||
|
||||
@@ -133,4 +136,7 @@ hi def link cucumberThen Type
|
||||
|
||||
let b:current_syntax = "cucumber"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
@@ -16,31 +16,40 @@ syn match elixirComment '#.*' contains=elixirTodo
|
||||
syn keyword elixirTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained
|
||||
|
||||
syn keyword elixirKeyword is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_record is_reference is_tuple is_exception
|
||||
syn keyword elixirKeyword case cond bc lc inlist inbits if unless try receive
|
||||
syn keyword elixirKeyword case cond for if unless try receive send
|
||||
syn keyword elixirKeyword exit raise throw after rescue catch else do end
|
||||
syn keyword elixirKeyword quote unquote super
|
||||
syn match elixirKeyword '\<\%(->\)\>\s*'
|
||||
|
||||
syn keyword elixirInclude import require alias use
|
||||
|
||||
syn keyword elixirOperator and not or when xor in
|
||||
syn match elixirOperator '%=\|\*=\|\*\*=\|+=\|-=\|\^=\|||='
|
||||
syn match elixirOperator "\%(<=>\|<\%(<\|=\)\@!\|>\%(<\|=\|>\)\@!\|<=\|>=\|===\|==\|=\~\|!=\|!\~\|\s?[ \t]\@=\)"
|
||||
syn match elixirOperator "!+[ \t]\@=\|&&\|||\|\^\|\*\|+\|-\|/"
|
||||
syn match elixirOperator "|\|++\|--\|\*\*\|\/\/\|\\\\\|<-\|<>\|<<\|>>\|=\|\.\|::"
|
||||
|
||||
syn match elixirSymbol '\(:\)\@<!:\%([a-zA-Z_]\w*\%([?!]\|=[>=]\@!\)\?\|<>\|===\?\|>=\?\|<=\?\)'
|
||||
syn match elixirSymbol '\(:\)\@<!:\%(<=>\|&&\?\|%\(()\|\[\]\|{}\)\|++\?\|--\?\|||\?\|!\|//\|[%&`/|]\)'
|
||||
syn match elixirSymbol "\%([a-zA-Z_]\w*\([?!]\)\?\):\(:\)\@!"
|
||||
|
||||
syn keyword elixirName nil
|
||||
syn match elixirName '\<[A-Z]\w*\>'
|
||||
syn match elixirId '\<[_a-zA-Z]\w*[!?]\?\>'
|
||||
|
||||
" This unfortunately also matches function names in function calls
|
||||
syn match elixirUnusedVariable '\<_\w*\>'
|
||||
|
||||
syn keyword elixirBoolean true false
|
||||
syn keyword elixirOperator and not or when xor in
|
||||
syn match elixirOperator '!==\|!=\|!'
|
||||
syn match elixirOperator '=\~\|===\|==\|='
|
||||
syn match elixirOperator '<<<\|<<\|<=\|<-\|<'
|
||||
syn match elixirOperator '>>>\|>>\|>=\|>'
|
||||
syn match elixirOperator '->\|--\|-'
|
||||
syn match elixirOperator '++\|+'
|
||||
syn match elixirOperator '&&&\|&&\|&'
|
||||
syn match elixirOperator '|||\|||\||>\||'
|
||||
syn match elixirOperator '\.\.\|\.'
|
||||
syn match elixirOperator "\^\^\^\|\^"
|
||||
syn match elixirOperator '\\\\\|::\|\*\|/\|\~\~\~\|@'
|
||||
|
||||
syn match elixirVariable '@[a-zA-Z_]\w*\|&\d'
|
||||
syn match elixirAtom '\(:\)\@<!:\%([a-zA-Z_]\w*\%([?!]\|=[>=]\@!\)\?\|<>\|===\?\|>=\?\|<=\?\)'
|
||||
syn match elixirAtom '\(:\)\@<!:\%(<=>\|&&\?\|%\(()\|\[\]\|{}\)\|++\?\|--\?\|||\?\|!\|//\|[%&`/|]\)'
|
||||
syn match elixirAtom "\%([a-zA-Z_]\w*[?!]\?\):\(:\)\@!"
|
||||
|
||||
syn match elixirAlias '\<[A-Z]\w*\(\.[A-Z]\w*\)*\>'
|
||||
|
||||
syn keyword elixirBoolean true false nil
|
||||
|
||||
syn match elixirVariable '@[a-z]\w*'
|
||||
syn match elixirVariable '&\d\+'
|
||||
|
||||
syn keyword elixirPseudoVariable __FILE__ __DIR__ __MODULE__ __ENV__ __CALLER__
|
||||
|
||||
@@ -68,36 +77,34 @@ syn region elixirDocStringStart matchgroup=elixirDocString start=+'''+ end=+$+ o
|
||||
syn region elixirDocString start=+\z("""\)+ end=+^\s*\zs\z1+ contains=elixirDocStringStart,elixirTodo,elixirInterpolation fold keepend
|
||||
syn region elixirDocString start=+\z('''\)+ end=+^\s*\zs\z1+ contains=elixirDocStringStart,elixirTodo,elixirInterpolation fold keepend
|
||||
|
||||
syn match elixirSymbolInterpolated ':\("\)\@=' contains=elixirString
|
||||
syn match elixirAtomInterpolated ':\("\)\@=' contains=elixirString
|
||||
syn match elixirString "\(\w\)\@<!?\%(\\\(x\d{1,2}\|\h{1,2}\h\@!\>\|0[0-7]{0,2}[0-7]\@!\>\|[^x0MC]\)\|(\\[MC]-)+\w\|[^\s\\]\)"
|
||||
|
||||
syn region elixirBlock matchgroup=elixirKeyword start="\<do\>\(:\)\@!" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
||||
syn region elixirAnonymousFunction matchgroup=elixirKeyword start="\<fn\>" end="\<end\>" contains=ALLBUT,@elixirNotTop fold
|
||||
|
||||
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirSymbol,elixirPseudoVariable,elixirName,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirSymbolInterpolated,elixirRegex,elixirString,elixirDelimiter
|
||||
syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirDelimiter
|
||||
|
||||
syn match elixirDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
|
||||
syn match elixirDelimEscape "\\[(<{\[)>}\]/\"'|]" transparent display contained contains=NONE
|
||||
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~]\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\={" end="}" skip="\\\\\|\\}" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=<" end=">" skip="\\\\\|\\>" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=\[" end="\]" skip="\\\\\|\\\]" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][SCRW]\=(" end=")" skip="\\\\\|\\)" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\u\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\u{" end="}" skip="\\\\\|\\}" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\u<" end=">" skip="\\\\\|\\>" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\u\[" end="\]" skip="\\\\\|\\\]" contains=elixirDelimEscape fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\u(" end=")" skip="\\\\\|\\)" contains=elixirDelimEscape fold
|
||||
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]{" end="}" skip="\\\\\|\\}" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]<" end=">" skip="\\\\\|\\>" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw]\[" end="\]" skip="\\\\\|\\\]" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="[%~][scrw](" end=")" skip="\\\\\|\\)" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\l\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\l{" end="}" skip="\\\\\|\\}" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\l<" end=">" skip="\\\\\|\\>" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\l\[" end="\]" skip="\\\\\|\\\]" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start="\~\l(" end=")" skip="\\\\\|\\)" fold contains=@elixirStringContained,elixirRegexEscapePunctuation
|
||||
|
||||
" Sigils surrounded with docString
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start=+[%~][SCRWscrw]\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start=+[%~][SCRWscrw]\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start=+\~\a\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold
|
||||
syn region elixirSigil matchgroup=elixirDelimiter start=+\~\a\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold
|
||||
|
||||
" Defines
|
||||
syn keyword elixirDefine def nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn keyword elixirDefine def nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn keyword elixirPrivateDefine defp nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn keyword elixirModuleDefine defmodule nextgroup=elixirModuleDeclaration skipwhite skipnl
|
||||
syn keyword elixirProtocolDefine defprotocol nextgroup=elixirProtocolDeclaration skipwhite skipnl
|
||||
@@ -110,21 +117,23 @@ syn keyword elixirDelegateDefine defdelegate nextgroup=elixirDelegateDec
|
||||
syn keyword elixirOverridableDefine defoverridable nextgroup=elixirOverridableDeclaration skipwhite skipnl
|
||||
syn keyword elixirExceptionDefine defexception nextgroup=elixirExceptionDeclaration skipwhite skipnl
|
||||
syn keyword elixirCallbackDefine defcallback nextgroup=elixirCallbackDeclaration skipwhite skipnl
|
||||
syn keyword elixirStructDefine defstruct nextgroup=elixirStructDeclaration skipwhite skipnl
|
||||
|
||||
" Declarations
|
||||
syn match elixirModuleDeclaration "[^[:space:];#<]\+" contained contains=elixirName nextgroup=elixirBlock skipwhite skipnl
|
||||
syn match elixirFunctionDeclaration "[^[:space:];#<,()\[\]]\+" contained nextgroup=elixirArguments skipwhite skipnl
|
||||
syn match elixirProtocolDeclaration "[^[:space:];#<]\+" contained contains=elixirName skipwhite skipnl
|
||||
syn match elixirImplDeclaration "[^[:space:];#<]\+" contained contains=elixirName skipwhite skipnl
|
||||
syn match elixirRecordDeclaration "[^[:space:];#<]\+" contained contains=elixirName,elixirSymbol skipwhite skipnl
|
||||
syn match elixirMacroDeclaration "[^[:space:];#<,()\[\]]\+" contained nextgroup=elixirArguments skipwhite skipnl
|
||||
syn match elixirDelegateDeclaration "[^[:space:];#<,()\[\]]\+" contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn region elixirDelegateDeclaration start='\[' end='\]' contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirOverridableDeclaration "[^[:space:];#<]\+" contained contains=elixirName skipwhite skipnl
|
||||
syn match elixirExceptionDeclaration "[^[:space:];#<]\+" contained contains=elixirName skipwhite skipnl
|
||||
syn match elixirCallbackDeclaration "[^[:space:];#<,()\[\]]\+" contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirModuleDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias nextgroup=elixirBlock skipwhite skipnl
|
||||
syn match elixirFunctionDeclaration "[^[:space:];#<,()\[\]]\+" contained nextgroup=elixirArguments skipwhite skipnl
|
||||
syn match elixirProtocolDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl
|
||||
syn match elixirImplDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl
|
||||
syn match elixirRecordDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias,elixirAtom skipwhite skipnl
|
||||
syn match elixirMacroDeclaration "[^[:space:];#<,()\[\]]\+" contained nextgroup=elixirArguments skipwhite skipnl
|
||||
syn match elixirDelegateDeclaration "[^[:space:];#<,()\[\]]\+" contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn region elixirDelegateDeclaration start='\[' end='\]' contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirOverridableDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl
|
||||
syn match elixirExceptionDeclaration "[^[:space:];#<]\+" contained contains=elixirAlias skipwhite skipnl
|
||||
syn match elixirCallbackDeclaration "[^[:space:];#<,()\[\]]\+" contained contains=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirStructDeclaration "[^[:space:];#<]\+" contained nextgroup=elixirArguments skipwhite skipnl
|
||||
|
||||
syn cluster elixirDeclaration contains=elixirFunctionDeclaration,elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirMacroDeclaration,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration
|
||||
syn cluster elixirDeclaration contains=elixirFunctionDeclaration,elixirModuleDeclaration,elixirProtocolDeclaration,elixirImplDeclaration,elixirRecordDeclaration,elixirMacroDeclaration,elixirDelegateDeclaration,elixirOverridableDeclaration,elixirExceptionDeclaration,elixirCallbackDeclaration,elixirStructDeclaration
|
||||
|
||||
hi def link elixirDefine Define
|
||||
hi def link elixirPrivateDefine Define
|
||||
@@ -139,6 +148,7 @@ hi def link elixirDelegateDefine Define
|
||||
hi def link elixirOverridableDefine Define
|
||||
hi def link elixirExceptionDefine Define
|
||||
hi def link elixirCallbackDefine Define
|
||||
hi def link elixirStructDefine Define
|
||||
hi def link elixirFunctionDeclaration Function
|
||||
hi def link elixirMacroDeclaration Macro
|
||||
hi def link elixirInclude Include
|
||||
@@ -146,15 +156,15 @@ hi def link elixirComment Comment
|
||||
hi def link elixirTodo Todo
|
||||
hi def link elixirKeyword Keyword
|
||||
hi def link elixirOperator Operator
|
||||
hi def link elixirSymbol Constant
|
||||
hi def link elixirAtom Constant
|
||||
hi def link elixirPseudoVariable Constant
|
||||
hi def link elixirName Type
|
||||
hi def link elixirAlias Type
|
||||
hi def link elixirBoolean Boolean
|
||||
hi def link elixirVariable Identifier
|
||||
hi def link elixirUnusedVariable Comment
|
||||
hi def link elixirNumber Number
|
||||
hi def link elixirDocString String
|
||||
hi def link elixirSymbolInterpolated elixirSymbol
|
||||
hi def link elixirAtomInterpolated elixirAtom
|
||||
hi def link elixirRegex elixirString
|
||||
hi def link elixirRegexEscape elixirSpecial
|
||||
hi def link elixirRegexEscapePunctuation elixirSpecial
|
||||
|
||||
31
syntax/ember-script.vim
Normal file
31
syntax/ember-script.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
" Language: ember-script
|
||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
||||
" Version: 1.0.1
|
||||
" Last Change: 2013 Apr 17
|
||||
" License: GPL-3.0
|
||||
|
||||
if exists('b:current_syntax') && b:current_syntax == 'ember-script'
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! syntax/coffee.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
" mixin and with
|
||||
syn match emKeyword /\vmixin|with/ display
|
||||
hi def link emKeyword Keyword
|
||||
|
||||
" annotations
|
||||
syn match emAnnotation /\v\+(computed|observer|volatile)/ display
|
||||
hi def link emAnnotation Define
|
||||
|
||||
" ~> and *. operators
|
||||
syn match emOperator /\v\~\>|\*\./ display
|
||||
hi def link emOperator Operator
|
||||
|
||||
" @each is special
|
||||
syn match emEach /\v\@each/ display
|
||||
hi def link emEach Special
|
||||
|
||||
let b:current_syntax = 'ember-script'
|
||||
@@ -67,7 +67,7 @@ syn region hamlJavascriptFilter matchgroup=hamlFilter start="^\z(\s*\):javascri
|
||||
syn region hamlCSSFilter matchgroup=hamlFilter start="^\z(\s*\):css\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlCss,hamlInterpolation keepend
|
||||
syn region hamlSassFilter matchgroup=hamlFilter start="^\z(\s*\):sass\s*$" end="^\%(\z1 \| *$\)\@!" contains=@hamlSassTop
|
||||
|
||||
syn region hamlJavascriptBlock start="^\z(\s*\)%script" nextgroup=@hamlComponent,hamlError end="^\%(\z1 \| *$\)\@!" contains=@hamlTop,@htmlJavaScript keepend
|
||||
syn region hamlJavascriptBlock start="^\z(\s*\)%script\%((type=[\"']text/javascript[\"'])\)\=\s*$" nextgroup=@hamlComponent,hamlError end="^\%(\z1 \| *$\)\@!" contains=@hamlTop,@htmlJavaScript keepend
|
||||
syn region hamlCssBlock start="^\z(\s*\)%style" nextgroup=@hamlComponent,hamlError end="^\%(\z1 \| *$\)\@!" contains=@hamlTop,@htmlCss keepend
|
||||
syn match hamlError "\$" contained
|
||||
|
||||
|
||||
427
syntax/haxe.vim
Normal file
427
syntax/haxe.vim
Normal file
@@ -0,0 +1,427 @@
|
||||
" Vim syntax file
|
||||
" Language: haxe
|
||||
" Derived from:
|
||||
" http://tech.motion-twin.com/zip/haxe.vim
|
||||
" and http://www.cactusflower.org/haxe.vim
|
||||
" Please check :help haxe.vim for comments on some of the options available.
|
||||
|
||||
set errorformat=%f\:%l\:\ characters\ %c-%*[^\ ]\ %m,%f\:%l\:\ %m
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if !exists("main_syntax")
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let main_syntax='haxe'
|
||||
endif
|
||||
|
||||
if version < 508
|
||||
command! -nargs=+ HaxeHiLink hi link <args>
|
||||
else
|
||||
command! -nargs=+ HaxeHiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" some characters that cannot be in a haxe program (outside a string)
|
||||
syn match haxeError "[\\@`]"
|
||||
syn match haxeError "<<<\|=>\|<>\|||=\|&&=\|\*\/"
|
||||
|
||||
" use separate name so that it can be deleted in haxecc.vim
|
||||
syn match haxeError2 "#\|=<"
|
||||
HaxeHiLink haxeError2 haxeError
|
||||
|
||||
syn keyword haxeExternal import extern using
|
||||
syn keyword haxeDefine package
|
||||
syn keyword haxeConditional if else switch
|
||||
syn keyword haxeRepeat while for do in
|
||||
syn keyword haxeBoolean true false
|
||||
syn keyword haxeConstant null
|
||||
syn keyword haxeTypedef this super
|
||||
syn keyword haxeOperator new cast
|
||||
syn keyword haxeCoreType Void Bool Int Float Dynamic
|
||||
syn keyword haxeStatement return
|
||||
|
||||
syn keyword haxeTypedef1 typedef
|
||||
syn keyword haxeStructure var enum
|
||||
syn keyword haxeScopeDecl private public
|
||||
syn keyword haxeScopeDecl2 static override final dynamic
|
||||
syn keyword haxeFunctionDef function
|
||||
|
||||
syn keyword haxeExceptions throw try catch finally untyped
|
||||
syn keyword haxeAssert assert
|
||||
syn keyword haxeMethodDecl synchronized throws
|
||||
syn keyword haxeClassDecl extends implements interface
|
||||
syn match haxeDelimiter "[;:=\.]"
|
||||
syn match haxeOperator "\(\.\.\.\|\*\|+\|-\|<<\|>>\|\/\|!\|||\|&&\|%\)"
|
||||
syn match haxeComparison "\(==\|<=\|>=\|<\|>\|!=\)"
|
||||
syn match haxeOptionalVars contained "?[a-zA-Z_]\+"
|
||||
|
||||
syn match haxeFunctionRef "[_$a-zA-Z][_$a-zA-Z0-9_]*("me=e-1
|
||||
|
||||
" We use a match here to differentiate the keyword class from MyClass.class
|
||||
syn match haxeTypedef "\.\s*\<class\>"ms=s+1
|
||||
syn match haxeClassDecl "^class\>"
|
||||
syn match haxeClassDecl "[^.]\s*\<class\>"ms=s+1
|
||||
syn keyword haxeBranch break continue nextgroup=haxeUserLabelRef skipwhite
|
||||
syn match haxeUserLabelRef "\k\+" contained
|
||||
syn match haxeClassDef "\(^\s*class\s*\)\@<=[_$a-zA-Z][_$a-zA-Z0-9_]*" contains=haxeTypedef,haxeClassDecl
|
||||
|
||||
syn match haxeLangClass "\<System\>"
|
||||
syn keyword haxeLangClass Array ArrayAccess Class Date DateTools EReg Enum
|
||||
syn keyword haxeLangClass Hash IntHash IntIter Iterable Iterator Lambda
|
||||
syn keyword haxeLangClass List Math Null Reflect Std String StringBug
|
||||
syn keyword haxeLangClass StringTools Type UInt ValueType Xml XmlType
|
||||
|
||||
syn keyword haxeFlashTop flash
|
||||
syn keyword haxeFlashInner accessibility deskdop display errors events
|
||||
syn keyword haxeFlashInner external filters geom media net printing sampler
|
||||
syn keyword haxeFlashInner system text ui utils xml display engine
|
||||
syn keyword haxeFlashFinal BitmapData ExternalInterface BevelFilter
|
||||
syn keyword haxeFlashFinal BitmapFilter BlurFilter ColorMatrixFilter ConvolutionFilter
|
||||
syn keyword haxeFlashFinal DisplacementMapFilter DropShadowFilter GlowFilter GradientBevelFilter
|
||||
syn keyword haxeFlashFinal GradientGlowFilter ColorTransform Matrix Point Rectangle Transform
|
||||
syn keyword haxeFlashFinal FileReference FileReferenceList Capabilities IME Security StyleSheet
|
||||
syn keyword haxeFlashFinal TextRenderer Accessibility Boot Button Camera Color ContextMenu
|
||||
syn keyword haxeFlashFinal ContextMenuItem ExtendedKey Key Lib LoadVars
|
||||
syn keyword haxeFlashFinal LocalConnection Microphone Mouse MovieClip
|
||||
syn keyword haxeFlashFinal MovieClipLoader NetConnection NetStream PrintJob
|
||||
syn keyword haxeFlashFinal Selection SelectionListener SharedObject Sound
|
||||
syn keyword haxeFlashFinal Stage System TextField TextFormat TextSnapshot
|
||||
syn keyword haxeFlashFinal Video XMLRequest XMLSocket
|
||||
syn keyword haxeFlash9Final Accessibility AccessibilityImplementation
|
||||
syn keyword haxeFlash9Final AccessibilityProperties Clipboard
|
||||
syn keyword haxeFlash9Final ClipboardFormats ClipboardTransferMode AVM1Movie
|
||||
syn keyword haxeFlash9Final ActionScriptVersion Bitmap BitmapData
|
||||
syn keyword haxeFlash9Final BitmapDataChannel BlendMode CapsStyle
|
||||
syn keyword haxeFlash9Final DisplayObject DisplayObjectContainer FrameLabel
|
||||
syn keyword haxeFlash9Final GradientType Graphics GraphicsBitmapFill
|
||||
syn keyword haxeFlash9Final GraphicsEndFill GraphicsGradientFill GraphicsPath
|
||||
syn keyword haxeFlash9Final GraphicsPathCommand GraphicsPathWinding
|
||||
syn keyword haxeFlash9Final GraphicsShaderFill GraphicsSolidFill
|
||||
syn keyword haxeFlash9Final GraphicsStroke GraphicsTrianglePath
|
||||
syn keyword haxeFlash9Final IBitmapDrawable IGraphicsData IGraphicsFill
|
||||
syn keyword haxeFlash9Final IGraphicsPath IGraphicsStroke InteractiveObject
|
||||
syn keyword haxeFlash9Final InterpolationMethod JointStyle
|
||||
syn keyword haxeFlash9Final LineScaleMode Loader LoaderInfo MorphShape
|
||||
syn keyword haxeFlash9Final MovieClip PixelSnapping SWFVersion
|
||||
syn keyword haxeFlash9Final Scene Shader ShaderData ShaderInput ShaderJob ShaderParameter
|
||||
syn keyword haxeFlash9Final ShaderParameterType ShaderPrecision Shape
|
||||
syn keyword haxeFlash9Final SimpleButton SpreadMethod Sprite
|
||||
syn keyword haxeFlash9Final Stage StageAlign StageDisplayState StageQuality
|
||||
syn keyword haxeFlash9Final StageScaleMode TriangleCulling
|
||||
syn keyword haxeFlash9Final EOFError Error IOError Illegal OperationError
|
||||
syn keyword haxeFlash9Final InvalidSWFError MemoryError ScriptTimeoutError
|
||||
syn keyword haxeFlash9Final StackOverflowError ActivityEventAsyncErrorEvent
|
||||
syn keyword haxeFlash9Final ContextMenuEvent DataEvent ErrorEvent Event
|
||||
syn keyword haxeFlash9Final EventDispatcher EventPhase FocusEvent
|
||||
syn keyword haxeFlash9Final FullScreenEvent HTTPStatusEvent IEventDispatcher IMEEvent
|
||||
syn keyword haxeFlash9Final IOErrorEvent KeyboardEvent MouseEvent
|
||||
syn keyword haxeFlash9Final NetFilterEvent NetStatusEvent ProgressEvent
|
||||
syn keyword haxeFlash9Final SampleDataEvent SecurityErrorEvent ShaderEvent StatusEvent
|
||||
syn keyword haxeFlash9Final SyncEvent TextEvent TimerEvent WeakFunctionClosure WeakMethodClosure
|
||||
syn keyword haxeFlash9Final ExternalInterface BevelFilter BitmapFilter
|
||||
syn keyword haxeFlash9Final BitmapFilterQuality BitmapFilterType
|
||||
syn keyword haxeFlash9Final BlurFilter ColorMatrixFilter ConvolutionFilter DisplacementMapFilter
|
||||
syn keyword haxeFlash9Final DisplacementMapFilterMode DropShadowFilter
|
||||
syn keyword haxeFlash9Final GlowFilter GradientBevelFilter
|
||||
syn keyword haxeFlash9Final GradientGlowFilter ShaderFilter ColorTransform
|
||||
syn keyword haxeFlash9Final Matrix Matrix3D Orientation3D
|
||||
syn keyword haxeFlash9Final PerspectiveProjection Point Rectangle Transform
|
||||
syn keyword haxeFlash9Final Utils3D Vector3D Camera ID3Info
|
||||
syn keyword haxeFlash9Final Microphone Sound SoundChannel SoundCodec SoundLoaderContext SoundMixer
|
||||
syn keyword haxeFlash9Final SoundTransform Video DynamicPropertyOutput FileFilter FileReference
|
||||
syn keyword haxeFlash9Final FileReferenceList IDynamicPropertyOutput
|
||||
syn keyword haxeFlash9Final IDynamicPropertyWriter LocalConnection
|
||||
syn keyword haxeFlash9Final NetConnection NetStream NetStreamInfo NetSTreamPlayOptions
|
||||
syn keyword haxeFlash9Final NetSTreamPlayTransitions ObjectEncoding Responder SharedObject
|
||||
syn keyword haxeFlash9Final SharedObjectFlushStatus Socket URLLoader URLLoaderDataFormat URLRequest
|
||||
syn keyword haxeFlash9Final URLRequestHeader URLRequestMethod URLStream
|
||||
syn keyword haxeFlash9Final URLVariables XMLSocket PrintJob
|
||||
syn keyword haxeFlash9Final PrintJobOptions PrintJobOrientation Api
|
||||
syn keyword haxeFlash9Final DeleteObjectSample NewObjectSample
|
||||
syn keyword haxeFlash9Final Sample StackFrame ApplicationDomain Capabilities FSCommand IME
|
||||
syn keyword haxeFlash9Final IMEConversionMode JPEGLoaderContext
|
||||
syn keyword haxeFlash9Final LoaderContext Security SecurityDomain
|
||||
syn keyword haxeFlash9Final SecurityPanel System
|
||||
syn keyword haxeFlash9Final BreakOpportunity CFFHinting ContentElement
|
||||
syn keyword haxeFlash9Final DigitCase DigitWidth EastAsianJustifier ElementFormat FontDescription
|
||||
syn keyword haxeFlash9Final FontLookup FontMetrics FontPosture FontWeight
|
||||
syn keyword haxeFlash9Final GraphicElement GroupElement
|
||||
syn keyword haxeFlash9Final JustificationStyle Kerning LIgatureLevel
|
||||
syn keyword haxeFlash9Final LineJustification RenderingMode
|
||||
syn keyword haxeFlash9Final SpaceJustifier TabAlignment TabStop TextBaseline TextBlock TextElement
|
||||
syn keyword haxeFlash9Final TextJustifier TextLine TextLineCreationResult TextLineMirrorRegion
|
||||
syn keyword haxeFlash9Final TextLineValidity TextRotation TypographicCase
|
||||
syn keyword haxeFlash9Final AntiAliasType CSMSettings Font
|
||||
syn keyword haxeFlash9Final FontStyle FontType GridFitType StaticText StyleSheet TextColorType
|
||||
syn keyword haxeFlash9Final TextDisplayMode TextExtent TextField
|
||||
syn keyword haxeFlash9Final TextFieldAutoSize TextFieldType TextFormat
|
||||
syn keyword haxeFlash9Final TextFormatAlign TextFormatDisplay TextLineMetrics TextRenderer TextRun
|
||||
syn keyword haxeFlash9Final TextSnapshot Trace ContextMenu ContextMenuBuiltInItems
|
||||
syn keyword haxeFlash9Final ContextMenuClipboardItems ContextMenuItem KeyLocation Keyboard Mouse
|
||||
syn keyword haxeFlash9Final MouseCursor ByteArray Dictionary Endian
|
||||
syn keyword haxeFlash9Final IDataInput IDataOutput IExternalizable
|
||||
syn keyword haxeFlash9Final Namespace ObjectInput ObjectOutput Proxy QName SetIntervalTimer Timer
|
||||
syn keyword haxeFlash9Final TypedDictionary XML XMLDocument XMLList XMLNode
|
||||
syn keyword haxeFlash9Final XMLNodeType XMLParser XMLTag
|
||||
syn keyword haxeFlash9Final Boot Lib Memory Vector
|
||||
|
||||
HaxeHiLink haxeLangObject haxeConstant
|
||||
syn cluster haxeTop add=haxeLangObject,haxeLangClass
|
||||
syn cluster haxeClasses add=haxeLangClass,haxeFlashClass
|
||||
|
||||
if filereadable(expand("<sfile>:p:h")."/haxeid.vim")
|
||||
source <sfile>:p:h/haxeid.vim
|
||||
endif
|
||||
|
||||
if !exists("haxe_no_trail_space_error")
|
||||
syn match haxeSpaceError "\s\+$"
|
||||
endif
|
||||
if !exists("haxe_no_tab_space_error")
|
||||
syn match haxeSpaceError " \+\t"me=e-1
|
||||
endif
|
||||
|
||||
syn region haxeLabelRegion transparent matchgroup=haxeLabel start="\<case\>"
|
||||
\ matchgroup=NONE end=":"
|
||||
\ contains=haxeNumber,haxeChr,haxeNumber2
|
||||
syn match haxeUserLabel "\({\s*\|^\s*\|,\s*\)\@<=[_$a-zA-Z][_$a-zA-Z0-9_]*:\s"he=e-1 contains=haxeDelimiter
|
||||
\ contains=haxeLabel
|
||||
syn keyword haxeLabel default never
|
||||
|
||||
" Everything - used in parenthases checking or something
|
||||
syn cluster haxeTop add=haxeExternal,haxeError,haxeError,haxeBranch,
|
||||
\ haxeLabelRegion,haxeLabel,haxeConditional,
|
||||
\ haxeRepeat,haxeBoolean,haxeConstant,
|
||||
\ haxeTypedef,haxeOperator,haxeType,haxeCoreType,
|
||||
\ haxeStatement,haxeStorageClass,haxeAssert,
|
||||
\ haxeExceptions,haxeMethodDecl,haxeClassDecl,
|
||||
\ haxeClassDecl,haxeClassDecl,haxeScopeDecl,
|
||||
\ haxeError,haxeError2,haxeUserLabel,
|
||||
\ haxeLangObject,haxeFlashTop,haxeFlashInner,
|
||||
\ haxeFlashFinal,haxeFlash9Final,haxeFunctionRef,
|
||||
\ haxeComparison,haxeOptionalVars
|
||||
|
||||
" Comments
|
||||
syn keyword haxeTodo contained TODO FIXME XXX
|
||||
if exists("haxe_comment_strings")
|
||||
syn region haxeCmString contained start=+"+ end=+"+ end=+$+
|
||||
\ end=+\*/+me=s-1,he=s-1
|
||||
\ contains=haxeSpecial,haxeCmStar,haxeSpecChr,@Spell
|
||||
syn region haxeCm2String contained start=+"+ end=+$\|"+
|
||||
\ contains=haxeSpecial,haxeSpecChr,@Spell
|
||||
syn match haxeCmCharacter contained "'\\[^']\{1,6\}'" contains=haxeSpecChr
|
||||
syn match haxeCmCharacter contained "'\\''" contains=haxeSpecChr
|
||||
syn match haxeCmCharacter contained "'[^\\]'"
|
||||
syn cluster haxeCmSpecial add=haxeCmString,haxeCmCharacter,haxeNumber,haxeNumber2
|
||||
syn cluster haxeCmSpecial2 add=haxeCm2String,haxeCmCharacter,haxeNumber,haxeNumber2
|
||||
endif
|
||||
syn region haxeCm start="/\*" end="\*/"
|
||||
\ contains=@haxeCmSpecial,haxeTodo,@Spell
|
||||
syn match haxeCmStar contained "^\s*\*[^/]"me=e-1
|
||||
syn match haxeCmStar contained "^\s*\*$"
|
||||
syn match haxeLineCm "//.*" contains=@haxeCmSpecial2,haxeTodo,@Spell
|
||||
HaxeHiLink haxeCmString haxeDocTags
|
||||
HaxeHiLink haxeCm2String haxeString
|
||||
HaxeHiLink haxeCmCharacter haxeChr
|
||||
syn cluster haxeTop add=haxeCm,haxeLineCm
|
||||
if exists("haxe_haxedoc") || main_syntax == 'jsp'
|
||||
syntax case ignore
|
||||
" syntax coloring for haxedoc comments (HTML)
|
||||
" syntax include @haxeHtml <sfile>:p:h/html.vim
|
||||
" unlet b:current_syntax
|
||||
syn region haxeDocCm start="/\*\*" end="\*/" keepend
|
||||
\ contains=haxeCmTitle,@haxeHtml,haxeDocTags,haxeTodo,@Spell,haxeProposedTags
|
||||
syn region haxeCmTitle contained matchgroup=haxeDocCm start="/\*\*"
|
||||
\ matchgroup=haxeCmTitle keepend end="\.$"
|
||||
\ end="\.[ \t\r<]"me=e-1
|
||||
\ end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1
|
||||
\ contains=@haxeHtml,haxeCmStar,haxeTodo,@Spell,haxeDocTags,haxeProposedTags
|
||||
syn region haxeDocTags contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)"
|
||||
\ end="}"
|
||||
syn match haxeDocTags contained "@\(see\|param\|exception\|throws\|since\)\s\+\S\+"
|
||||
\ contains=haxeDocParam
|
||||
syn match haxeDocParam contained "\s\S\+"
|
||||
syn match haxeDocTags contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>"
|
||||
syn match haxeProposedTags contained "@\(category\|example\|tutorial\|index\|exclude\|todo\|internal\|obsolete\)\>"
|
||||
syntax case match
|
||||
endif
|
||||
syn match haxeCm "/\*\*/" " Edge case
|
||||
|
||||
|
||||
" Strings and constants
|
||||
syn match haxeSpecError contained "\\."
|
||||
"syn match haxeSpecChrError contained "[^']"
|
||||
syn match haxeSpecChr contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
|
||||
syn match haxeEregEscape contained "\(\\\\\|\\/\)"
|
||||
syn region haxeEreg start=+\~\/+ end=+\/[gims]*+ contains=haxeEregEscape
|
||||
|
||||
syn region haxeString start=+"+ end=+"+ contains=haxeSpecChr,haxeSpecError,@Spell
|
||||
syn region haxeSingleString start=+'+ end=+'+
|
||||
syn match haxeChr "'[^']*'" contains=haxeSpecChr,haxeSpecChrError
|
||||
syn match haxeChr "'\\''" contains=haxeSpecChr
|
||||
syn match haxeChr "'[^\\]'"
|
||||
syn match haxeNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" contains=haxeSpecNum
|
||||
"syn match haxeNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
|
||||
syn match haxeNumber2 "\(\<\d\+\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" contains=haxeSpecNum
|
||||
syn match haxeNumber2 "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" contains=haxeSpecNum
|
||||
syn match haxeNumber2 "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" contains=haxeSpecNum
|
||||
syn match haxeSpecNum contained "\(0[xX]\|[\.+-]\)"
|
||||
|
||||
syn region haxeCondIf start="#if \+!\?" end="\(\W\|$\)" skip="([A-Za-z0-9_ |&!]\+)"
|
||||
syn region haxeCondElseIf start="#elseif \+!\?" end="\(\W\|$\)" skip="([A-Za-z0-9_ |&!]\+)"
|
||||
syn match haxeCondElse "#else\s*$"
|
||||
syn match haxeCondEnd "#end"
|
||||
syn match haxeCondError "#else .*$"
|
||||
|
||||
" unicode characters
|
||||
syn match haxeSpecial "\\u\d\{4\}"
|
||||
|
||||
syn match haxeType ":[a-zA-Z_\.]\+"
|
||||
\ contains=haxeDelimiter,haxeCoreType,haxeFlashTop,haxeFlashInner,haxeFlashFinal,haxeFlash9Final
|
||||
|
||||
syn cluster haxeTop add=haxeString,haxeChr,haxeNumber,haxeNumber2
|
||||
syn cluster haxeTop add=haxeSpecial,haxeStringError,haxeDelimiter,haxeType
|
||||
|
||||
syn keyword haxeTraceFun trace contained
|
||||
syn region haxeTrace start=+\(^\s*\)\@<=trace(+ end=+);+ contains=haxeTraceFun
|
||||
|
||||
if exists("haxe_highlight_functions")
|
||||
if haxe_highlight_functions == "indent"
|
||||
syn match haxeFuncDef "^\(\t\| \{4\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)"
|
||||
\ contains=haxeType,haxeStorageClass,@haxeClasses
|
||||
syn region haxeFuncDef start=+^\(\t\| \{4\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+
|
||||
\ end=+)+ contains=haxeType,haxeStorageClass,@haxeClasses
|
||||
syn match haxeFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)"
|
||||
\ contains=haxeType,haxeStorageClass,@haxeClasses
|
||||
syn region haxeFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+
|
||||
\ end=+)+
|
||||
\ contains=haxeType,haxeStorageClass,@haxeClasses
|
||||
else
|
||||
" This line catches method declarations at any indentation>0, but it assumes
|
||||
" two things:
|
||||
" 1. class names are always capitalized (ie: Button)
|
||||
" 2. method names are never capitalized (except constructors, of course)
|
||||
syn region haxeFuncDef start=+\s\+\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*(+
|
||||
\ end=+)+
|
||||
\ contains=haxeType,haxeStorageClass,haxeCm,haxeLineCm,@haxeClasses
|
||||
endif
|
||||
syn match haxeBraces "[{}]"
|
||||
syn cluster haxeTop add=haxeFuncDef,haxeBraces
|
||||
endif
|
||||
|
||||
if exists("haxe_mark_braces_in_parens_as_errors")
|
||||
syn match haxeInParen contained "[{}]"
|
||||
HaxeHiLink haxeInParen haxeError
|
||||
syn cluster haxeTop add=haxeInParen
|
||||
endif
|
||||
|
||||
" catch errors caused by wrong parenthesis
|
||||
syn region haxeParenT transparent matchgroup=haxeParen start="("
|
||||
\ end=")" contains=@haxeTop,haxeParenT1
|
||||
syn region haxeParenT1 transparent matchgroup=haxeParen1 start="("
|
||||
\ end=")" contains=@haxeTop,haxeParenT2 contained
|
||||
syn region haxeParenT2 transparent matchgroup=haxeParen2 start="("
|
||||
\ end=")" contains=@haxeTop,haxeParenT contained
|
||||
syn match haxeParenError ")"
|
||||
HaxeHiLink haxeParenError haxeError
|
||||
|
||||
|
||||
if !exists("haxe_minlines")
|
||||
let haxe_minlines = 5000
|
||||
endif
|
||||
exec "syn sync ccomment haxeCm minlines=" . haxe_minlines
|
||||
syn sync linebreaks=30
|
||||
|
||||
" The default highlighting.
|
||||
if version >= 508 || !exists("did_haxe_syn_inits")
|
||||
if version < 508
|
||||
let did_haxe_syn_inits = 1
|
||||
endif
|
||||
|
||||
HaxeHiLink haxeFunctionDef Identifier
|
||||
HaxeHiLink haxeFuncDef Identifier
|
||||
HaxeHiLink haxeFunctionRef Function
|
||||
HaxeHiLink haxeBraces Function
|
||||
HaxeHiLink haxeBranch Conditional
|
||||
HaxeHiLink haxeUserLabelRef haxeUserLabel
|
||||
HaxeHiLink haxeLabel Label
|
||||
HaxeHiLink haxeUserLabel Label
|
||||
HaxeHiLink haxeConditional Conditional
|
||||
HaxeHiLink haxeRepeat Repeat
|
||||
HaxeHiLink haxeExceptions Exception
|
||||
HaxeHiLink haxeAssert Statement
|
||||
|
||||
HaxeHiLink haxeClassDef Underlined
|
||||
HaxeHiLink haxeStructure Structure
|
||||
HaxeHiLink haxeMethodDecl haxeStorageClass
|
||||
HaxeHiLink haxeClassDecl Structure
|
||||
HaxeHiLink haxeScopeDecl StorageClass
|
||||
HaxeHiLink haxeScopeDecl2 Tag
|
||||
HaxeHiLink haxeBoolean Boolean
|
||||
HaxeHiLink haxeSpecial Special
|
||||
HaxeHiLink haxeSpecError Error
|
||||
HaxeHiLink haxeSpecChrError Error
|
||||
HaxeHiLink haxeString String
|
||||
HaxeHiLink haxeSingleString Character
|
||||
|
||||
HaxeHiLink haxeEreg Number
|
||||
HaxeHiLink haxeEregEscape Debug
|
||||
HaxeHiLink haxeChr Character
|
||||
HaxeHiLink haxeSpecChr SpecialChar
|
||||
HaxeHiLink haxeNumber Number
|
||||
HaxeHiLink haxeNumber2 Float
|
||||
HaxeHiLink haxeSpecNum Boolean
|
||||
HaxeHiLink haxeError Error
|
||||
HaxeHiLink haxeStringError Debug
|
||||
HaxeHiLink haxeStatement Statement
|
||||
HaxeHiLink haxeOperator Operator
|
||||
HaxeHiLink haxeComparison Repeat
|
||||
HaxeHiLink haxeTraceFun SpecialComment
|
||||
HaxeHiLink haxeTrace Comment
|
||||
HaxeHiLink haxeDelimiter Delimiter
|
||||
|
||||
HaxeHiLink haxeCm Comment
|
||||
HaxeHiLink haxeDocCm Comment
|
||||
HaxeHiLink haxeLineCm Comment
|
||||
HaxeHiLink haxeConstant Constant
|
||||
HaxeHiLink haxeTypedef Typedef
|
||||
HaxeHiLink haxeTypedef1 Typedef
|
||||
HaxeHiLink haxeTodo Todo
|
||||
HaxeHiLink haxeLangClass Special
|
||||
HaxeHiLink haxeFlashClass Keyword
|
||||
HaxeHiLink haxeFunction Function
|
||||
HaxeHiLink haxeCmTitle Special
|
||||
HaxeHiLink haxeDocTags SpecialComment
|
||||
HaxeHiLink haxeProposedTags SpecialComment
|
||||
HaxeHiLink haxeCmStar Comment
|
||||
|
||||
HaxeHiLink haxeDocParam Function
|
||||
HaxeHiLink haxeCoreType Keyword
|
||||
HaxeHiLink haxeType Type
|
||||
HaxeHiLink haxeExternal Include
|
||||
HaxeHiLink haxeDefine Define
|
||||
HaxeHiLink htmlComment Special
|
||||
HaxeHiLink htmlCommentPart Special
|
||||
HaxeHiLink haxeSpaceError Error
|
||||
HaxeHiLink haxeCondIf PreCondit
|
||||
HaxeHiLink haxeCondElseIf PreCondit
|
||||
HaxeHiLink haxeCondElse PreProc
|
||||
HaxeHiLink haxeCondEnd PreProc
|
||||
|
||||
HaxeHiLink haxeCondError Error
|
||||
|
||||
HaxeHiLink haxeFlashTop PreProc
|
||||
HaxeHiLink haxeFlashInner Macro
|
||||
HaxeHiLink haxeFlashFinal Define
|
||||
HaxeHiLink haxeFlash9Final Define
|
||||
|
||||
HaxeHiLink haxeOptionalVars Identifier
|
||||
endif
|
||||
|
||||
delcommand HaxeHiLink
|
||||
let b:current_syntax = "haxe"
|
||||
if main_syntax == 'haxe'
|
||||
unlet main_syntax
|
||||
endif
|
||||
let b:spell_options="contained"
|
||||
@@ -1,12 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: WAI-ARIA
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5-syntax.vim
|
||||
" Last Change: 2010-09-25
|
||||
" Maintainer: othree <othree@gmail.com>
|
||||
" URL: http://github.com/othree/html5-syntax.vim
|
||||
" Last Change: 2014-05-02
|
||||
" License: MIT
|
||||
" Changes: update to Draft 16 September 2010
|
||||
|
||||
setlocal iskeyword+=-
|
||||
" Changes: Add match rules
|
||||
" update to Draft 16 September 2010
|
||||
|
||||
" WAI-ARIA States and Properties
|
||||
" http://www.w3.org/TR/wai-aria/states_and_properties
|
||||
@@ -35,3 +34,29 @@ syn keyword htmlArg contained aria-dropeffect aria-grabbed
|
||||
syn keyword htmlArg contained aria-activedescendant aria-controls aria-describedby aria-flowto
|
||||
syn keyword htmlArg contained aria-labelledby aria-owns aria-posinset aria-setsize
|
||||
|
||||
|
||||
" Use match: https://github.com/othree/html5.vim/issues/39
|
||||
|
||||
" Global States and Properties
|
||||
syn match htmlArg contained "\<aria-\%(\|atomic\|busy\|controls\|describedby\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|disabled\|dropeffect\|flowto\|grabbed\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|haspopup\|hidden\|invalid\|label\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|labelledby\|live\|owns\|relevant\)\>"
|
||||
|
||||
" Widget Attributes
|
||||
syn match htmlArg contained "\<aria-\%(\|autocomplete\|checked\|disabled\|expanded\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|haspopup\|hidden\|invalid\|label\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|level\|multiline\|multiselectable\|orientation\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|pressed\|readonly\|required\|selected\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|sort\|valuemax\|valuemin\|valuenow\|valuetext\)\>"
|
||||
|
||||
" Live Region Attributes
|
||||
syn match htmlArg contained "\<aria-\%(\|atomic\|busy\|live\|relevant\)\>"
|
||||
|
||||
" Drag-and-Drop attributes
|
||||
syn match htmlArg contained "\<aria-\%(\|dropeffect\|grabbed\)\>"
|
||||
|
||||
" Relationship Attributes
|
||||
syn match htmlArg contained "\<aria-\%(\|activedescendant\|controls\|describedby\|flowto\)\>"
|
||||
syn match htmlArg contained "\<aria-\%(\|labelledby\|owns\|posinset\|setsize\)\>"
|
||||
|
||||
|
||||
@@ -12,8 +12,6 @@ if !exists("main_syntax")
|
||||
let main_syntax = 'jade'
|
||||
endif
|
||||
|
||||
runtime! syntax/html.vim
|
||||
runtime! syntax/html/html5.vim
|
||||
silent! syntax include @htmlCoffeescript syntax/coffee.vim
|
||||
unlet! b:current_syntax
|
||||
silent! syntax include @htmlStylus syntax/stylus.vim
|
||||
@@ -56,8 +54,10 @@ syn region jadeMarkdownFilter matchgroup=jadeFilter start=/^\z(\s*\):markdown\s
|
||||
syn region jadeStylusFilter matchgroup=jadeFilter start="^\z(\s*\):stylus\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlStylus
|
||||
syn region jadePlainFilter matchgroup=jadeFilter start="^\z(\s*\):\%(sass\|less\|cdata\)\s*$" end="^\%(\z1\s\|\s*$\)\@!"
|
||||
|
||||
syn match jadeScriptConditional "\<\%(if\|else\|unless\|while\|for\|until\|case\|when\|default\)\>[?!]\@!"
|
||||
syn match jadeScriptStatement "\<\%(each\|block\|prepend\|append\|mixin\|extends\|include\)\>[?!]\@!"
|
||||
syn match jadeScriptConditional "^\s*\<\%(if\|else\|unless\|while\|until\|case\|when\|default\)\>[?!]\@!"
|
||||
syn region jadeScriptLoopRegion start="^\s*\(for\)" end="$" contains=jadeScriptLoopKeywords
|
||||
syn keyword jadeScriptLoopKeywords for in contained
|
||||
syn match jadeScriptStatement "^\s*\<\%(each\|block\|prepend\|append\|mixin\|extends\|include\)\>[?!]\@!"
|
||||
|
||||
syn region jadeJavascript start="^\z(\s*\)script\%(:\w\+\)\=" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlJavascript,jadeJavascriptTag keepend
|
||||
syn region jadeJavascriptTag contained start="^\z(\s*\)script\%(:\w\+\)\=" end="$" contains=jadeBegin,jadeTag
|
||||
@@ -67,6 +67,7 @@ syn match jadeError "\$" contained
|
||||
|
||||
hi def link jadePlainChar Special
|
||||
hi def link jadeScriptConditional PreProc
|
||||
hi def link jadeScriptLoopKeywords PreProc
|
||||
hi def link jadeScriptStatement PreProc
|
||||
hi def link jadeHtmlArg htmlArg
|
||||
hi def link jadeAttributeString String
|
||||
|
||||
34
syntax/jasmine.vim
Normal file
34
syntax/jasmine.vim
Normal file
@@ -0,0 +1,34 @@
|
||||
" Syntax highlighting for jasmine specs (used by http://github.com/thomd/vim-jasmine).
|
||||
|
||||
" if b:current_syntax is defined, some other syntax files, earlier in 'runtimepath' was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" match the case of syntax elements
|
||||
syntax case match
|
||||
|
||||
" keywords
|
||||
syntax keyword jasmineSuite describe it beforeEach afterEach
|
||||
syntax keyword jasmineDisabled xdescribe xit
|
||||
syntax keyword jasmineExpectation expect
|
||||
syntax region jasmineNot start=/not/ end=/\.to/me=s-1
|
||||
syntax match jasmineMatcher /\.to\h\+/
|
||||
syntax keyword jasmineSpy spyOn
|
||||
syntax match jasmineSpyMatcher /and\h\+/
|
||||
|
||||
" jasmine is a subset of the javascript language, thus we need to activate
|
||||
" javascript syntax highlighting and add new jasmin group names to the
|
||||
" JavaScriptAll cluster which is defined there
|
||||
runtime! syntax/javascript.vim
|
||||
syntax cluster JavaScriptAll add=jasmineSuite,jasmineDisabled,jasmineExpectation,jasmineNot,jasmineMatcher,jasmineSpy,jasmineSpyMatcher
|
||||
|
||||
let b:current_syntax = "jasmine"
|
||||
|
||||
hi def link jasmineSuite Statement
|
||||
hi def link jasmineDisabled Error
|
||||
hi def link jasmineExpectation Statement
|
||||
hi def link jasmineNot Special
|
||||
hi def link jasmineMatcher Statement
|
||||
hi def link jasmineSpy Special
|
||||
hi def link jasmineSpyMatcher Statement
|
||||
@@ -55,15 +55,15 @@ if !exists("javascript_ignore_javaScriptdoc")
|
||||
syntax region jsDocComment matchgroup=jsComment start="/\*\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
|
||||
|
||||
" tags containing a param
|
||||
syntax match jsDocTags contained "@\(alias\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|file\|fires\|kind\|listens\|member\|memberOf\|mixes\|module\|name\|namespace\|requires\|throws\|var\|variation\|version\)\>" nextgroup=jsDocParam skipwhite
|
||||
syntax match jsDocTags contained "@\(alias\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|file\|fires\|kind\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|throws\|var\|variation\|version\)\>" nextgroup=jsDocParam skipwhite
|
||||
" tags containing type and param
|
||||
syntax match jsDocTags contained "@\(arg\|argument\|param\|property\)\>" nextgroup=jsDocType skipwhite
|
||||
" tags containing type but no param
|
||||
syntax match jsDocTags contained "@\(callback\|enum\|external\|this\|type\|typedef\|return\|returns\)\>" nextgroup=jsDocTypeNoParam skipwhite
|
||||
" tags containing references
|
||||
syntax match jsDocTags contained "@\(lends\|see\)\>" nextgroup=jsDocSeeTag skipwhite
|
||||
syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" nextgroup=jsDocSeeTag skipwhite
|
||||
" other tags (no extra syntax)
|
||||
syntax match jsDocTags contained "@\(abstract\|access\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|event\|example\|fileOverview\|function\|global\|ignore\|inner\|instance\|license\|method\|mixin\|overview\|private\|protected\|public\|readonly\|since\|static\|todo\|summary\|undocumented\|virtual\)\>"
|
||||
syntax match jsDocTags contained "@\(abstract\|access\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|event\|example\|file[oO]verview\|function\|global\|ignore\|inner\|instance\|license\|method\|mixin\|overview\|private\|protected\|public\|readonly\|since\|static\|todo\|summary\|undocumented\|virtual\)\>"
|
||||
|
||||
syntax region jsDocType start="{" end="}" oneline contained nextgroup=jsDocParam skipwhite
|
||||
syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite
|
||||
@@ -79,39 +79,40 @@ syntax case match
|
||||
|
||||
"" Syntax in the JavaScript code
|
||||
syntax match jsFuncCall /\k\+\%(\s*(\)\@=/
|
||||
syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)"
|
||||
syntax region jsStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=jsSpecial,@htmlPreproc
|
||||
syntax region jsStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=jsSpecial,@htmlPreproc
|
||||
syntax region jsRegexpCharClass start=+\[+ end=+\]+ contained
|
||||
syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained
|
||||
syntax match jsTemplateVar "\${.\{-}}" contained
|
||||
syntax region jsStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=jsSpecial,@htmlPreproc,@Spell
|
||||
syntax region jsStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=jsSpecial,@htmlPreproc,@Spell
|
||||
syntax region jsTemplateString start=+`+ skip=+\\\\\|\\$`+ end=+`+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
|
||||
syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
|
||||
syntax match jsRegexpBoundary "\v%(\<@![\^$]|\\[bB])" contained
|
||||
syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
|
||||
syntax match jsRegexpQuantifier "\v\\@<!%([?*+]|\{\d+%(,|,\d+)?})\??" contained
|
||||
syntax match jsRegexpOr "\v\<@!\|" contained
|
||||
syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
|
||||
syntax cluster jsRegexpSpecial contains=jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
|
||||
syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
|
||||
syntax region jsRegexpGroup start="\\\@<!(" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
|
||||
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gimy]\{,4}+ contains=jsSpecial,jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
|
||||
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\.\|\[\(\\.\|[^]]\)*\]+ end=+/[gimy]\{,4}+ contains=jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
|
||||
syntax match jsNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
|
||||
syntax keyword jsNumber Infinity
|
||||
syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
|
||||
syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\(\s*:\)\@=/ contains=jsFunctionKey
|
||||
syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\(\s*:\)\@=/ contains=jsFunctionKey contained
|
||||
syntax match jsFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\(\s*:\s*function\s*\)\@=/ contained
|
||||
|
||||
"" JavaScript Prototype
|
||||
syntax keyword jsPrototype prototype
|
||||
|
||||
if g:javascript_conceal == 1
|
||||
syntax keyword jsNull null conceal cchar=ø
|
||||
syntax keyword jsThis this conceal cchar=@
|
||||
syntax keyword jsReturn return conceal cchar=⇚
|
||||
syntax keyword jsUndefined undefined conceal cchar=¿
|
||||
syntax keyword jsNan NaN conceal cchar=ℕ
|
||||
syntax keyword jsPrototype prototype conceal cchar=¶
|
||||
else
|
||||
syntax keyword jsNull null
|
||||
syntax keyword jsThis this
|
||||
syntax keyword jsReturn return
|
||||
syntax keyword jsUndefined undefined
|
||||
syntax keyword jsNan NaN
|
||||
syntax keyword jsPrototype prototype
|
||||
endif
|
||||
|
||||
"" Statement Keywords
|
||||
@@ -133,18 +134,18 @@ syntax keyword jsFutureKeys abstract enum int short boolean export interface
|
||||
|
||||
"" DOM/HTML/CSS specified things
|
||||
|
||||
" DOM2 Objects
|
||||
syntax keyword jsGlobalObjects DOMImplementation DocumentFragment Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
|
||||
syntax keyword jsExceptions DOMException
|
||||
" DOM2 Objects
|
||||
syntax keyword jsGlobalObjects DOMImplementation DocumentFragment Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
|
||||
syntax keyword jsExceptions DOMException
|
||||
|
||||
" DOM2 CONSTANT
|
||||
syntax keyword jsDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
|
||||
syntax keyword jsDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
|
||||
" DOM2 CONSTANT
|
||||
syntax keyword jsDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
|
||||
syntax keyword jsDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
|
||||
|
||||
" HTML events and internal variables
|
||||
syntax case ignore
|
||||
syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize
|
||||
syntax case match
|
||||
" HTML events and internal variables
|
||||
syntax case ignore
|
||||
syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize
|
||||
syntax case match
|
||||
|
||||
" Follow stuff should be highligh within a special context
|
||||
" While it can't be handled with context depended with Regex based highlight
|
||||
@@ -181,7 +182,7 @@ endif "DOM/HTML/CSS
|
||||
|
||||
|
||||
"" Code blocks
|
||||
syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise
|
||||
syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise
|
||||
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
|
||||
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
|
||||
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
|
||||
@@ -208,10 +209,13 @@ else
|
||||
endif
|
||||
|
||||
syntax match jsFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup=jsFuncArgs skipwhite
|
||||
syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas nextgroup=jsFuncBlock keepend skipwhite skipempty
|
||||
syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas,jsFuncArgRest nextgroup=jsFuncBlock keepend skipwhite skipempty
|
||||
syntax match jsFuncArgCommas contained ','
|
||||
syntax match jsFuncArgRest contained /\%(\.\.\.[a-zA-Z_$][0-9a-zA-Z_$]*\))/
|
||||
syntax keyword jsArgsObj arguments contained containedin=jsFuncBlock
|
||||
|
||||
syntax match jsArrowFunction /=>/
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
@@ -222,6 +226,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
HiLink jsFuncArgRest Special
|
||||
HiLink jsComment Comment
|
||||
HiLink jsLineComment Comment
|
||||
HiLink jsEnvComment PreProc
|
||||
@@ -235,6 +240,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
|
||||
HiLink jsDocParam Label
|
||||
HiLink jsStringS String
|
||||
HiLink jsStringD String
|
||||
HiLink jsTemplateString String
|
||||
HiLink jsTernaryIfOperator Conditional
|
||||
HiLink jsRegexpString String
|
||||
HiLink jsRegexpBoundary SpecialChar
|
||||
@@ -254,6 +260,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
|
||||
HiLink jsStatement Statement
|
||||
HiLink jsException Exception
|
||||
HiLink jsKeyword Keyword
|
||||
HiLink jsArrowFunction Type
|
||||
HiLink jsFunction Type
|
||||
HiLink jsFuncName Function
|
||||
HiLink jsArgsObj Special
|
||||
@@ -279,6 +286,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
|
||||
HiLink jsFuncBraces Noise
|
||||
HiLink jsFuncParens Noise
|
||||
HiLink jsSpecial Special
|
||||
HiLink jsTemplateVar Special
|
||||
HiLink jsGlobalObjects Special
|
||||
HiLink jsExceptions Special
|
||||
HiLink jsFutureKeys Special
|
||||
|
||||
138
syntax/liquid.vim
Normal file
138
syntax/liquid.vim
Normal file
@@ -0,0 +1,138 @@
|
||||
" Vim syntax file
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.liquid
|
||||
" Last Change: 2010 May 21
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists('main_syntax')
|
||||
let main_syntax = 'liquid'
|
||||
endif
|
||||
|
||||
if !exists('g:liquid_default_subtype')
|
||||
let g:liquid_default_subtype = 'html'
|
||||
endif
|
||||
|
||||
if !exists('b:liquid_subtype') && main_syntax == 'liquid'
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:liquid_subtype = matchstr(s:lines,'liquid_subtype=\zs\w\+')
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(&filetype,'^liquid\.\zs\w\+')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = matchstr(substitute(expand('%:t'),'\c\%(\.liquid\)\+$','',''),'\.\zs\w\+$')
|
||||
endif
|
||||
if b:liquid_subtype == ''
|
||||
let b:liquid_subtype = g:liquid_default_subtype
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('b:liquid_subtype') && b:liquid_subtype != ''
|
||||
exe 'runtime! syntax/'.b:liquid_subtype.'.vim'
|
||||
unlet! b:current_syntax
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
if exists('b:liquid_subtype') && b:liquid_subtype != 'yaml'
|
||||
" YAML Front Matter
|
||||
syn include @liquidYamlTop syntax/yaml.vim
|
||||
unlet! b:current_syntax
|
||||
syn region liquidYamlHead start="\%^---$" end="^---\s*$" keepend contains=@liquidYamlTop,@Spell
|
||||
endif
|
||||
|
||||
if !exists('g:liquid_highlight_types')
|
||||
let g:liquid_highlight_types = []
|
||||
endif
|
||||
|
||||
if !exists('s:subtype')
|
||||
let s:subtype = exists('b:liquid_subtype') ? b:liquid_subtype : ''
|
||||
|
||||
for s:type in map(copy(g:liquid_highlight_types),'matchstr(v:val,"[^=]*$")')
|
||||
if s:type =~ '\.'
|
||||
let b:{matchstr(s:type,'[^.]*')}_subtype = matchstr(s:type,'\.\zs.*')
|
||||
endif
|
||||
exe 'syn include @liquidHighlight'.substitute(s:type,'\.','','g').' syntax/'.matchstr(s:type,'[^.]*').'.vim'
|
||||
unlet! b:current_syntax
|
||||
endfor
|
||||
unlet! s:type
|
||||
|
||||
if s:subtype == ''
|
||||
unlet! b:liquid_subtype
|
||||
else
|
||||
let b:liquid_subtype = s:subtype
|
||||
endif
|
||||
unlet s:subtype
|
||||
endif
|
||||
|
||||
syn region liquidStatement matchgroup=liquidDelimiter start="{%" end="%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidExpression matchgroup=liquidDelimiter start="{{" end="}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidComment matchgroup=liquidDelimiter start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidRaw matchgroup=liquidDelimiter start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend
|
||||
|
||||
syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,liquidRaw,@liquidStatement,liquidYamlHead
|
||||
syn cluster liquidStatement contains=liquidConditional,liquidRepeat,liquidKeyword,@liquidExpression
|
||||
syn cluster liquidExpression contains=liquidOperator,liquidString,liquidNumber,liquidFloat,liquidBoolean,liquidNull,liquidEmpty,liquidPipe,liquidForloop
|
||||
|
||||
syn keyword liquidKeyword highlight nextgroup=liquidTypeHighlight skipwhite contained
|
||||
syn keyword liquidKeyword endhighlight contained
|
||||
syn region liquidHighlight start="{%\s*highlight\s\+\w\+\s*%}" end="{% endhighlight %}" keepend
|
||||
|
||||
for s:type in g:liquid_highlight_types
|
||||
exe 'syn match liquidTypeHighlight "\<'.matchstr(s:type,'[^=]*').'\>" contained'
|
||||
exe 'syn region liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' start="{%\s*highlight\s\+'.matchstr(s:type,'[^=]*').'\s*%}" end="{% endhighlight %}" keepend contains=@liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
|
||||
endfor
|
||||
unlet! s:type
|
||||
|
||||
syn region liquidString matchgroup=liquidQuote start=+"+ end=+"+ contained
|
||||
syn region liquidString matchgroup=liquidQuote start=+'+ end=+'+ contained
|
||||
syn match liquidNumber "-\=\<\d\+\>" contained
|
||||
syn match liquidFloat "-\=\<\d\+\>\.\.\@!\%(\d\+\>\)\=" contained
|
||||
syn keyword liquidBoolean true false contained
|
||||
syn keyword liquidNull null nil contained
|
||||
syn match liquidEmpty "\<empty\>" contained
|
||||
|
||||
syn keyword liquidOperator and or not contained
|
||||
syn match liquidPipe '|' contained skipwhite nextgroup=liquidFilter
|
||||
|
||||
syn keyword liquidFilter date capitalize downcase upcase first last join sort size strip_html strip_newlines newline_to_br replace replace_first remove remove_first truncate truncatewords prepend append minus plus times divided_by contained
|
||||
|
||||
syn keyword liquidConditional if elsif else endif unless endunless case when endcase ifchanged endifchanged contained
|
||||
syn keyword liquidRepeat for endfor tablerow endtablerow in contained
|
||||
syn match liquidRepeat "\%({%\s*\)\@<=empty\>" contained
|
||||
syn keyword liquidKeyword assign cycle include with contained
|
||||
|
||||
syn keyword liquidForloop forloop nextgroup=liquidForloopDot contained
|
||||
syn match liquidForloopDot "\." nextgroup=liquidForloopAttribute contained
|
||||
syn keyword liquidForloopAttribute length index index0 rindex rindex0 first last contained
|
||||
|
||||
syn keyword liquidTablerowloop tablerowloop nextgroup=liquidTablerowloopDot contained
|
||||
syn match liquidTablerowloopDot "\." nextgroup=liquidTableForloopAttribute contained
|
||||
syn keyword liquidTablerowloopAttribute length index index0 col col0 index0 rindex rindex0 first last col_first col_last contained
|
||||
|
||||
hi def link liquidDelimiter PreProc
|
||||
hi def link liquidComment Comment
|
||||
hi def link liquidTypeHighlight Type
|
||||
hi def link liquidConditional Conditional
|
||||
hi def link liquidRepeat Repeat
|
||||
hi def link liquidKeyword Keyword
|
||||
hi def link liquidOperator Operator
|
||||
hi def link liquidString String
|
||||
hi def link liquidQuote Delimiter
|
||||
hi def link liquidNumber Number
|
||||
hi def link liquidFloat Float
|
||||
hi def link liquidEmpty liquidNull
|
||||
hi def link liquidNull liquidBoolean
|
||||
hi def link liquidBoolean Boolean
|
||||
hi def link liquidFilter Function
|
||||
hi def link liquidForloop Identifier
|
||||
hi def link liquidForloopAttribute Identifier
|
||||
|
||||
let b:current_syntax = 'liquid'
|
||||
|
||||
if exists('main_syntax') && main_syntax == 'liquid'
|
||||
unlet main_syntax
|
||||
endif
|
||||
157
syntax/opencl.vim
Normal file
157
syntax/opencl.vim
Normal file
@@ -0,0 +1,157 @@
|
||||
" Vim syntax file
|
||||
" Language: OpenCL (Open Computing Language)
|
||||
" Maintainer: Terence Ou (rivan_@msn.com)
|
||||
" Last Change: 19-July-2010
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read the C syntax to start with
|
||||
if version < 600
|
||||
source <sfile>:p:h/c.vim
|
||||
else
|
||||
runtime! syntax/c.vim
|
||||
endif
|
||||
|
||||
" address space qualifiers
|
||||
syn keyword clStorageClass global __global local __local constant __constant private __private
|
||||
" function qualifiers
|
||||
syn keyword clStorageClass kernel __kernel __attribute__
|
||||
syn keyword clStorageClass read_only __read_only write_only __write_only
|
||||
syn keyword clStorageClass complex imaginary
|
||||
|
||||
" scalar types
|
||||
syn keyword clType bool uchar ushort uint ulong half quad
|
||||
|
||||
" vector types
|
||||
syn keyword clType char2 char3 char4 char8 char16
|
||||
syn keyword clType uchar2 uchar3 uchar4 uchar8 uchar16
|
||||
syn keyword clType short2 short3 short4 short8 short16
|
||||
syn keyword clType ushort2 ushort3 ushort4 ushort8 ushort16
|
||||
syn keyword clType int2 int3 int4 int8 int16
|
||||
syn keyword clType uint2 uint3 uint4 uint8 uint16
|
||||
syn keyword clType long2 long3 long4 long8 long16
|
||||
syn keyword clType ulong2 ulong3 ulong4 ulong8 ulong16
|
||||
syn keyword clType float2 float3 float4 float8 float16
|
||||
syn keyword clType double2 double3 double4 double8 double16
|
||||
syn keyword clType half2 half3 half4 half8 half16
|
||||
|
||||
" other types
|
||||
syn keyword clType ptrdiff_t intptr_t uintptr_t
|
||||
syn keyword clType image2d_t image3d_t sampler_t event_t
|
||||
|
||||
" reserved types
|
||||
syn keyword clType bool2 bool3 bool4 bool8 bool16
|
||||
syn keyword clType quad2 quad3 quad4 quad8 quad16
|
||||
syn match clType "\(float\|double\)\(2\|3\|4\|8\|16\)x\(2\|3\|4\|8\|16\)"
|
||||
|
||||
" abstract data types
|
||||
syn keyword clType _cl_platform_id _cl_device_id _cl_context _cl_command_queue _cl_mem _cl_program _cl_kernel _cl_event _cl_sampler
|
||||
|
||||
" image format descriptor structure
|
||||
syn keyword clType cl_image_format
|
||||
|
||||
syn keyword clCast vec_type_hint work_group_size_hint aligned packed endian
|
||||
|
||||
syn match clCast "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)("
|
||||
|
||||
syn match clCast "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)\(2\|3\|4\|8\|16\)("
|
||||
|
||||
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)("
|
||||
|
||||
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat("
|
||||
|
||||
syn match clCast "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat_\(rte\|rtz\|rtp\|rtn\)("
|
||||
|
||||
" work item functions
|
||||
syn keyword clFunction get_work_dim get_global_size get_global_id get_local_size get_local_id get_num_groups get_group_id get_global_offset
|
||||
|
||||
" math functions
|
||||
syn keyword clFunction cos cosh cospi acos acosh acospi
|
||||
syn keyword clFunction sin sincos sinh sinpi asin asinh asinpi
|
||||
syn keyword clFunction tan tanh tanpi atan atan2 atanh atanpi atan2pi
|
||||
syn keyword clFunction cbrt ceil copysign
|
||||
syn keyword clFunction erfc erf
|
||||
syn keyword clFunction exp exp2 exp10 expm1
|
||||
syn keyword clFunction fabs fdim floor fma fmax fmin
|
||||
syn keyword clFunction fract frexp hypot ilogb
|
||||
syn keyword clFunction ldexp ldexp lgamma lgamma_r
|
||||
syn keyword clFunction log log2 log10 log1p logb
|
||||
syn keyword clFunction mad modf
|
||||
syn keyword clFunction nan nextafter
|
||||
syn keyword clFunction pow pown powr
|
||||
syn keyword clFunction remainder remquo rint rootn round rsqrt sqrt
|
||||
syn keyword clFunction tgamma trunc
|
||||
syn keyword clFunction half_cos half_divide half_exp half_exp2 half_exp10 half_log half_log2 half_log10 half_powr half_recip half_rsqrt half_sin half_sqrt half_tan
|
||||
syn keyword clFunction native_cos native_divide native_exp native_exp2 native_exp10 native_log native_log2 native_log10 native_powr native_recip native_rsqrt native_sin native_sqrt native_tan
|
||||
|
||||
" integer functions
|
||||
syn keyword clFunction abs abs_diff add_sat hadd rhadd clz mad_hi mad_sat max min mul_hi rotate sub_sat upsample mad24 mul24
|
||||
|
||||
" common functions
|
||||
syn keyword clFunction clamp degrees max min mix radians step smoothstep sign
|
||||
|
||||
" geometric functions
|
||||
syn keyword clFunction cross dot distance length normalize fast_distance fast_length fast_normalize
|
||||
|
||||
" miscellaneous vector functions
|
||||
syn keyword clFunction vec_step shuffle shuffle2
|
||||
|
||||
" relational functions
|
||||
syn keyword clFunction isequal isnotequal isgreater isgreaterequal isless islessequal islessgreater isfinite isinf isnan isnormal isordered isunordered signbit any all bitselect select
|
||||
|
||||
" vector data load and store functions
|
||||
syn keyword clFunction vload_half vstore_half
|
||||
syn match clFunction "vload\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vload_half\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vloada_half\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vloada_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\)("
|
||||
syn match clFunction "vstore\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vstore\(rte\|rtz\|rtp\|rtn\)("
|
||||
syn match clFunction "vstore_half\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vstore_half_\(rte\|rtz\|rtp\|rtn\)("
|
||||
syn match clFunction "vstore_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)("
|
||||
syn match clFunction "vstorea_half\(2\|3\|4\|8\|16\)("
|
||||
syn match clFunction "vstorea_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)("
|
||||
|
||||
" image read and write functions
|
||||
syn match clFunction "read_image\(f\|i\|ui\|h\)("
|
||||
syn match clFunction "write_image\(f\|i\|ui\|h\)("
|
||||
syn keyword clFunction get_image_width get_image_height get_image_depth get_image_channel_data_type get_image_channel_order get_image_dim
|
||||
|
||||
" explicit memory fence functions
|
||||
syn keyword clFunction barrier mem_fence read_mem_fence write_mem_fence
|
||||
|
||||
" async copies from global to local mem to and fro and prefetch
|
||||
syn keyword clFunction async_work_group_copy async_work_group__strided_copy wait_group_events prefetch
|
||||
|
||||
" atomic functions
|
||||
syn match clFunction "atom_\(add\|sub\|xchg\|inc\|dec\|cmpxchg\|min\|max\|and\|or\|xor\)("
|
||||
|
||||
syn keyword clConstant MAXFLOAT HUGE_VALF INFINITY NAN
|
||||
syn keyword clConstant FLT_DIG FLT_MANT_DIG FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_MAX FLT_MIN FLT_EPSILON
|
||||
syn keyword clConstant CHAR_BIT CHAR_MAX CHAR_MIN INT_MIN INT_MAX LONG_MAX LONG_MIN SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN UCHAR_MAX UCHAR_MIN UINT_MAX ULONG_MAX
|
||||
syn keyword clConstant DBL_DIG DBL_MANT_DIG DBL_MAX_10_EXP DBL_MIN_10_EXP DBL_MIN_EXP DBL_MAX DBL_MIN DBL_EPSILON
|
||||
syn keyword clConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI2 M_PI4 M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
|
||||
syn keyword clConstant CLK_NORMALIZED_COORDS_TRUE CLK_NORMALIZED_COORDS_FALSE
|
||||
syn keyword clConstant CLK_ADDRESS_REPEAT CLK_ADDRESS_CLAMP_TO_EDGE CLK_ADDRESS_CLAMP
|
||||
syn keyword clConstant CL_INTENSITY CL_RA CL_ARGB CL_BGRA CL_RGBA CL_R CL_RG CL_RGB CL_RGx CL_RGBx CL_Rx CL_A CL_LUMINANCE
|
||||
syn keyword clConstant CL_SNORM_INT8 CL_SNORM_INT16 CL_UNORM_INT8 CL_UNORM_INT16 CL_UNORM_SHORT_565 CL_UNORM_SHORT_555 CL_UNORM_INT_101010 CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 CL_HALF_FLOAT CL_FLOAT
|
||||
syn keyword clConstant CLK_ADDRESS_NONE CLK_FILTER_NEAREST CLK_FILTER_LINEAR
|
||||
syn keyword clConstant CLK_GLOBAL_MEM_FENCE CLK_LOCAL_MEM_FENCE
|
||||
|
||||
hi def link clStorageClass StorageClass
|
||||
hi def link clStructure Structure
|
||||
hi def link clType Type
|
||||
hi def link clVariable Identifier
|
||||
hi def link clConstant Constant
|
||||
hi def link clCast Operator
|
||||
hi def link clFunction Function
|
||||
hi def link clStatement Statement
|
||||
|
||||
let b:current_syntax = "opencl"
|
||||
|
||||
" vim: ts=8
|
||||
@@ -30,6 +30,7 @@
|
||||
" unlet perl_nofold_packages
|
||||
" let perl_nofold_subs = 1
|
||||
" unlet perl_fold_anonymous_subs
|
||||
" unlet perl_no_subprototype_error
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -96,7 +97,7 @@ syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdi
|
||||
syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
|
||||
syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"
|
||||
syn match perlStatementInclude "\<\%(require\|import\|unimport\)\>"
|
||||
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
||||
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
||||
syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
|
||||
syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
|
||||
syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>"
|
||||
@@ -143,34 +144,35 @@ syn match perlPackageRef "[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\
|
||||
" just set the variable "perl_no_extended_vars"...
|
||||
|
||||
if !exists("perl_no_scope_in_variables")
|
||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef
|
||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||
else
|
||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)"
|
||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||
endif
|
||||
|
||||
syn match perlVarPlain2 "%[-+]"
|
||||
|
||||
if !exists("perl_no_extended_vars")
|
||||
syn cluster perlExpr contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained extend
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||
syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contains=perlVarSimpleMemberName contained extend
|
||||
syn match perlVarSimpleMemberName "\I\i*" contained
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod
|
||||
syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||
syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod,perlPostDeref
|
||||
syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||
syn match perlPostDeref "->\%($#\|[$@%]\)\*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||
endif
|
||||
|
||||
" File Descriptors
|
||||
@@ -392,10 +394,10 @@ syn match perlFormatField "@$" contained
|
||||
|
||||
" __END__ and __DATA__ clauses
|
||||
if exists("perl_fold")
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="." fold
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA fold
|
||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
|
||||
else
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="."
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA
|
||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
|
||||
endif
|
||||
|
||||
@@ -410,7 +412,7 @@ if exists("perl_fold")
|
||||
endif
|
||||
if !exists("perl_nofold_subs")
|
||||
if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
|
||||
syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
|
||||
syn region perlSubFold start="\<sub\>[^;]*{" end="}" transparent fold keepend extend
|
||||
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
||||
else
|
||||
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
||||
@@ -512,6 +514,7 @@ HiLink perlStatementMisc perlStatement
|
||||
HiLink perlStatementIndirObj perlStatement
|
||||
HiLink perlFunctionName perlIdentifier
|
||||
HiLink perlMethod perlIdentifier
|
||||
HiLink perlPostDeref perlIdentifier
|
||||
HiLink perlFunctionPRef perlType
|
||||
if !get(g:, 'perl_include_pod', 1)
|
||||
HiLink perlPOD perlComment
|
||||
|
||||
560
syntax/php.vim
560
syntax/php.vim
File diff suppressed because one or more lines are too long
@@ -17,9 +17,9 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
" match class/definition/node declarations
|
||||
syn region puppetDefine start="^\s*\(class\|define\|node\)\s" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments,puppetNodeRe
|
||||
syn region puppetDefine start="^\s*\(class\|define\|node\)\s" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments,puppetNodeRe,@NoSpell
|
||||
syn keyword puppetDefType class define node inherits contained
|
||||
syn region puppetDefArguments start="(" end=")" contained contains=puppetArgument,puppetString
|
||||
syn region puppetDefArguments start="(" end=")" contained contains=puppetArgument,puppetString,puppetComment,puppetMultilineComment
|
||||
syn match puppetArgument "\w\+" contained
|
||||
syn match puppetArgument "\$\w\+" contained
|
||||
syn match puppetArgument "'[^']+'" contained
|
||||
@@ -31,15 +31,24 @@ syn match puppetNodeRe "/.*/" contained
|
||||
" match 'foo::bar' in 'class foo::bar { ...'
|
||||
" match 'Foo::Bar' in 'Foo::Bar["..."]
|
||||
"FIXME: "Foo-bar" doesn't get highlighted as expected, although "foo-bar" does.
|
||||
syn match puppetInstance "[A-Za-z0-9_-]\+\(::[A-Za-z0-9_-]\+\)*\s*{" contains=puppetTypeName,puppetTypeDefault
|
||||
syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*[[{]" contains=puppetTypeName,puppetTypeDefault
|
||||
syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*<\?<|" contains=puppetTypeName,puppetTypeDefault
|
||||
syn match puppetInstance "[A-Za-z0-9_-]\+\(::[A-Za-z0-9_-]\+\)*\s*{" contains=puppetTypeName,puppetTypeDefault,@NoSpell
|
||||
syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*[[{]" contains=puppetTypeName,puppetTypeDefault,@NoSpell
|
||||
syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*<\?<|" contains=puppetTypeName,puppetTypeDefault,@NoSpell
|
||||
syn match puppetTypeName "[a-z]\w*" contained
|
||||
syn match puppetTypeDefault "[A-Z]\w*" contained
|
||||
|
||||
" match 'foo' in 'foo => "bar"'
|
||||
syn match puppetParam "\w\+\s*[=+]>" contains=puppetParamName
|
||||
syn match puppetParamName "\w\+" contained
|
||||
syn match puppetParam "\w\+\s*\(=\|+\)>" contains=puppetTypeRArrow,puppetParamName
|
||||
syn match puppetParamRArrow "\(=\|+\)>" contained
|
||||
syn match puppetParamName "\w\+" contained contains=@NoSpell
|
||||
syn match puppetVariable "$\(\(\(::\)\?\w\+\)\+\|{\(\(::\)\?\w\+\)\+}\)"
|
||||
syn match puppetParen "("
|
||||
syn match puppetParen ")"
|
||||
syn match puppetBrace "{"
|
||||
syn match puppetBrace "}"
|
||||
syn match puppetBrack "\["
|
||||
syn match puppetBrack "\]"
|
||||
syn match puppetBrack "<|"
|
||||
syn match puppetBrack "|>"
|
||||
|
||||
" match 'present' in 'ensure => present'
|
||||
" match '2755' in 'mode => 2755'
|
||||
@@ -57,25 +66,49 @@ syn region puppetFunction start="^\s*\(alert\|crit\|debug\|emerg\|err\|fai
|
||||
" rvalues
|
||||
syn region puppetFunction start="^\s*\(defined\|file\|fqdn_rand\|generate\|inline_template\|regsubst\|sha1\|shellquote\|split\|sprintf\|tagged\|template\|versioncmp\)\s*(" end=")" contained contains=puppetString
|
||||
|
||||
syn match puppetVariable "$[a-zA-Z0-9_:]\+"
|
||||
syn match puppetVariable "${[a-zA-Z0-9_:]\+}"
|
||||
syn match puppetVariable "$[a-zA-Z0-9_:]\+" contains=@NoSpell
|
||||
syn match puppetVariable "${[a-zA-Z0-9_:]\+}" contains=@NoSpell
|
||||
|
||||
" match anything between simple/double quotes.
|
||||
" don't match variables if preceded by a backslash.
|
||||
syn region puppetString start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||
syn region puppetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=puppetVariable,puppetNotVariable
|
||||
syn match puppetString "/[^/]*/"
|
||||
syn match puppetNotVariable "\\$\w\+" contained
|
||||
syn match puppetNotVariable "\\${\w\+}" contained
|
||||
|
||||
syn keyword puppetKeyword import inherits include
|
||||
syn keyword puppetKeyword import inherits include require
|
||||
syn keyword puppetControl case default if else elsif
|
||||
syn keyword puppetSpecial true false undef
|
||||
|
||||
syn match puppetClass "[A-Za-z0-9_-]\+\(::[A-Za-z0-9_-]\+\)\+" contains=@NoSpell
|
||||
|
||||
" Match the Regular Expression type
|
||||
" XXX: Puppet does not currently support a few features available in the
|
||||
" full Ruby Regexp class, namely, interpolation, lookbehind and named
|
||||
" sub-expressions. Matches for these features are included in the
|
||||
" commented-out versions of puppetRegexParen and puppetRegexSubName,
|
||||
" plus the supporting groups puppetRegexAngBrack and puppetRegexTick.
|
||||
syn region puppetRegex start="/" skip="\\/" end="/" contains=puppetRegexParen,puppetRegexBrace,puppetRegexOrpuppetRegexBrack,puppetRegexComment
|
||||
syn match puppetRegexParen "(\(?\([imx]\{0,4}:\|[=!]\)\)\?" contains=puppetRegexSpecChar,puppetRegexSubName contained
|
||||
"syn match puppetRegexParen "(\(?\([imxo]\{0,4}:\|['<][[:alnum:]]\+[>']\|<?[=!]\)\)\?" contains=puppetRegexSpecChar,puppetRegexSubName contained
|
||||
syn match puppetRegexParen ")" contained
|
||||
syn match puppetRegexBrace "{" contained
|
||||
syn match puppetRegexBrace "}" contained
|
||||
syn match puppetRegexBrack "\[" contained
|
||||
syn match puppetRegexBrack "\]" contained
|
||||
"syn match puppetRegexAngBrack "<" contained
|
||||
"syn match puppetRegexAngBrack ">" contained
|
||||
"syn match puppetRegexTick +'+ contained
|
||||
syn match puppetRegexOr "|" contained
|
||||
"syn match puppetRegexSubName "['<][[:alnum:]]\+[>']" contains=puppetRegexAngBrack,puppetRegexTick contained
|
||||
syn match puppetRegexSpecialChar "[?:imx]\|\(<?[=!]\)" contained
|
||||
syn region puppetRegexComment start="(?#" skip="\\)" end=")" contained
|
||||
|
||||
" comments last overriding everything else
|
||||
syn match puppetComment "\s*#.*$" contains=puppetTodo
|
||||
syn region puppetComment start="/\*" end="\*/" contains=puppetTodo extend
|
||||
syn keyword puppetTodo TODO NOTE FIXME XXX BUG HACK contained
|
||||
syn match puppetComment "\s*#.*$" contains=puppetTodo,@Spell
|
||||
syn region puppetMultilineComment start="/\*" end="\*/" contains=puppetTodo,@Spell
|
||||
syn keyword puppetTodo TODO NOTE FIXME XXX BUG HACK contained
|
||||
syn keyword puppetTodo TODO: NOTE: FIXME: XXX: BUG: HACK: contained
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
@@ -90,15 +123,32 @@ if version >= 508 || !exists("did_puppet_syn_inits")
|
||||
|
||||
HiLink puppetVariable Identifier
|
||||
HiLink puppetType Identifier
|
||||
HiLink puppetKeyword Define
|
||||
HiLink puppetKeyword Keyword
|
||||
HiLink puppetComment Comment
|
||||
HiLink puppetMultilineComment Comment
|
||||
HiLink puppetString String
|
||||
HiLink puppetParamKeyword String
|
||||
HiLink puppetRegex Constant
|
||||
HiLink puppetRegexParen Delimiter
|
||||
HiLink puppetRegexBrace Delimiter
|
||||
HiLink puppetRegexBrack Delimiter
|
||||
HiLink puppetRegexAngBrack Delimiter
|
||||
HiLink puppetRegexTick Delimiter
|
||||
HiLink puppetRegexOr Delimiter
|
||||
HiLink puppetRegexSubName Identifier
|
||||
HiLink puppetRegexSpecChar SpecialChar
|
||||
HiLink puppetRegexComment Comment
|
||||
HiLink puppetParamKeyword Keyword
|
||||
HiLink puppetParamDigits String
|
||||
HiLink puppetNotVariable String
|
||||
HiLink puppetParamSpecial Special
|
||||
HiLink puppetParamSpecial Boolean
|
||||
HiLink puppetSpecial Special
|
||||
HiLink puppetTodo Todo
|
||||
HiLink puppetBrack Delimiter
|
||||
HiLink puppetTypeBrack Delimiter
|
||||
HiLink puppetBrace Delimiter
|
||||
HiLink puppetTypeBrace Delimiter
|
||||
HiLink puppetParen Delimiter
|
||||
HiLink puppetDelimiter Delimiter
|
||||
HiLink puppetControl Statement
|
||||
HiLink puppetDefType Define
|
||||
HiLink puppetDefName Type
|
||||
@@ -108,10 +158,9 @@ if version >= 508 || !exists("did_puppet_syn_inits")
|
||||
HiLink puppetParamName Identifier
|
||||
HiLink puppetArgument Identifier
|
||||
HiLink puppetFunction Function
|
||||
HiLink puppetClass Include
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "puppet"
|
||||
set iskeyword=-,:,@,48-57,_,192-255
|
||||
|
||||
|
||||
@@ -1,27 +1,20 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Dmitry Vasiliev <dima@hlabs.spb.ru>
|
||||
" URL: http://www.hlabs.spb.ru/vim/python.vim
|
||||
" Last Change: 2010-04-09
|
||||
" Filenames: *.py
|
||||
" Version: 2.6.6
|
||||
"
|
||||
" Based on python.vim (from Vim 6.1 distribution)
|
||||
" by Neil Schemenauer <nas@python.ca>
|
||||
"
|
||||
" Notes Armin:
|
||||
"
|
||||
" This version of the syntax file works better for 2.x and 3.x without
|
||||
" having to switch modes.
|
||||
"
|
||||
" Thanks:
|
||||
"
|
||||
" Jeroen Ruigrok van der Werven
|
||||
" for the idea to highlight erroneous operators
|
||||
" for the idea of highlighting for erroneous operators
|
||||
" Pedro Algarvio
|
||||
" for the patch to enable spell checking only for the right spots
|
||||
" (strings and comments)
|
||||
" John Eikenberry
|
||||
" for the patch fixing small typo
|
||||
" Caleb Adamantine
|
||||
" for the patch fixing highlighting for decorators
|
||||
" Andrea Riciputi
|
||||
" for the patch with new configuration options
|
||||
|
||||
"
|
||||
" Options:
|
||||
@@ -31,27 +24,15 @@
|
||||
"
|
||||
" Option names:
|
||||
"
|
||||
" For highlight builtin functions and objects:
|
||||
" For highlight builtin functions:
|
||||
" python_highlight_builtins
|
||||
"
|
||||
" For highlight builtin objects:
|
||||
" python_highlight_builtin_objs
|
||||
"
|
||||
" For highlight builtin funtions:
|
||||
" python_highlight_builtin_funcs
|
||||
"
|
||||
" For highlight standard exceptions:
|
||||
" python_highlight_exceptions
|
||||
"
|
||||
" For highlight string formatting:
|
||||
" python_highlight_string_formatting
|
||||
"
|
||||
" For highlight str.format syntax:
|
||||
" python_highlight_string_format
|
||||
"
|
||||
" For highlight string.Template syntax:
|
||||
" python_highlight_string_templates
|
||||
"
|
||||
" For highlight indentation errors:
|
||||
" python_highlight_indent_errors
|
||||
"
|
||||
@@ -61,15 +42,13 @@
|
||||
" For highlight doc-tests:
|
||||
" python_highlight_doctests
|
||||
"
|
||||
" If you want all Python highlightings above:
|
||||
" python_highlight_all
|
||||
" If you want all possible Python highlighting:
|
||||
" (This option not override previously set options)
|
||||
" python_highlight_all
|
||||
"
|
||||
" For fast machines:
|
||||
" python_slow_sync
|
||||
"
|
||||
" For "print" builtin as function:
|
||||
" python_print_as_function
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -82,12 +61,7 @@ endif
|
||||
if exists("python_highlight_all") && python_highlight_all != 0
|
||||
" Not override previously set options
|
||||
if !exists("python_highlight_builtins")
|
||||
if !exists("python_highlight_builtin_objs")
|
||||
let python_highlight_builtin_objs = 1
|
||||
endif
|
||||
if !exists("python_highlight_builtin_funcs")
|
||||
let python_highlight_builtin_funcs = 1
|
||||
endif
|
||||
let python_highlight_builtins = 1
|
||||
endif
|
||||
if !exists("python_highlight_exceptions")
|
||||
let python_highlight_exceptions = 1
|
||||
@@ -95,12 +69,6 @@ if exists("python_highlight_all") && python_highlight_all != 0
|
||||
if !exists("python_highlight_string_formatting")
|
||||
let python_highlight_string_formatting = 1
|
||||
endif
|
||||
if !exists("python_highlight_string_format")
|
||||
let python_highlight_string_format = 1
|
||||
endif
|
||||
if !exists("python_highlight_string_templates")
|
||||
let python_highlight_string_templates = 1
|
||||
endif
|
||||
if !exists("python_highlight_indent_errors")
|
||||
let python_highlight_indent_errors = 1
|
||||
endif
|
||||
@@ -118,23 +86,20 @@ syn keyword pythonStatement exec return
|
||||
syn keyword pythonStatement pass raise
|
||||
syn keyword pythonStatement global assert
|
||||
syn keyword pythonStatement lambda yield
|
||||
syn keyword pythonStatement with
|
||||
syn keyword pythonStatement with nonlocal True False None
|
||||
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
|
||||
syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained
|
||||
syn keyword pythonRepeat for while
|
||||
syn keyword pythonConditional if elif else
|
||||
syn keyword pythonPreCondit import from as
|
||||
syn keyword pythonImport import from as
|
||||
syn keyword pythonException try except finally
|
||||
syn keyword pythonOperator and in is not or
|
||||
|
||||
if !exists("python_print_as_function") || python_print_as_function == 0
|
||||
syn keyword pythonStatement print
|
||||
endif
|
||||
" Print keyword but only if not used as function
|
||||
syn match pythonStatement "\<print\>\((\)\@!" display
|
||||
|
||||
" Decorators (new in Python 2.4)
|
||||
syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite
|
||||
syn match pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained
|
||||
syn match pythonDot "\." display containedin=pythonDottedName
|
||||
syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
|
||||
|
||||
" Comments
|
||||
syn match pythonComment "#.*$" display contains=pythonTodo,@Spell
|
||||
@@ -145,7 +110,7 @@ syn keyword pythonTodo TODO FIXME XXX contained
|
||||
" Errors
|
||||
syn match pythonError "\<\d\+\D\+\>" display
|
||||
syn match pythonError "[$?]" display
|
||||
syn match pythonError "[&|]\{2,}" display
|
||||
syn match pythonError "[-+&|]\{2,}" display
|
||||
syn match pythonError "[=]\{3,}" display
|
||||
|
||||
" TODO: Mixing spaces and tabs also may be used for pretty formatting multiline
|
||||
@@ -160,10 +125,10 @@ if exists("python_highlight_space_errors") && python_highlight_space_errors != 0
|
||||
endif
|
||||
|
||||
" Strings
|
||||
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
|
||||
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
|
||||
syn region pythonString start=+[bB]\="""+ end=+"""+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonString start=+[bB]\='''+ end=+'''+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
|
||||
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
|
||||
syn region pythonString start=+"""+ end=+"""+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonString start=+'''+ end=+'''+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
|
||||
syn match pythonEscape +\\[abfnrtv'"\\]+ display contained
|
||||
syn match pythonEscape "\\\o\o\=\o\=" display contained
|
||||
@@ -172,6 +137,19 @@ syn match pythonEscape "\\x\x\{2}" display contained
|
||||
syn match pythonEscapeError "\\x\x\=\X" display contained
|
||||
syn match pythonEscape "\\$"
|
||||
|
||||
" Byte-Strings
|
||||
syn region pythonBString start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBEscape,pythonBEscapeError,@Spell
|
||||
syn region pythonBString start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBEscape,pythonBEscapeError,@Spell
|
||||
syn region pythonBString start=+[bB]"""+ end=+"""+ keepend contains=pythonBEscape,pythonBEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonBString start=+[bB]'''+ end=+'''+ keepend contains=pythonBEscape,pythonBEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
|
||||
syn match pythonBEscape +\\[abfnrtv'"\\]+ display contained
|
||||
syn match pythonBEscape "\\\o\o\=\o\=" display contained
|
||||
syn match pythonBEscapeError "\\\o\{,2}[89]" display contained
|
||||
syn match pythonBEscape "\\x\x\{2}" display contained
|
||||
syn match pythonBEscapeError "\\x\x\=\X" display contained
|
||||
syn match pythonBEscape "\\$"
|
||||
|
||||
" Unicode strings
|
||||
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell
|
||||
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell
|
||||
@@ -204,21 +182,8 @@ syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display
|
||||
|
||||
if exists("python_highlight_string_formatting") && python_highlight_string_formatting != 0
|
||||
" String formatting
|
||||
syn match pythonStrFormatting "%\(([^)]\+)\)\=[-#0 +]*\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrFormatting "%[-#0 +]*\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
endif
|
||||
|
||||
if exists("python_highlight_string_format") && python_highlight_string_format != 0
|
||||
" str.format syntax
|
||||
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrFormat "{\([a-zA-Z_][a-zA-Z0-9_]*\|\d\+\)\(\.[a-zA-Z_][a-zA-Z0-9_]*\|\[\(\d\+\|[^!:\}]\+\)\]\)*\(![rs]\)\=\(:\({\([a-zA-Z_][a-zA-Z0-9_]*\|\d\+\)}\|\([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*\(\.\d\+\)\=[bcdeEfFgGnoxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
endif
|
||||
|
||||
if exists("python_highlight_string_templates") && python_highlight_string_templates != 0
|
||||
" String templates
|
||||
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrFormat "%\(([^)]\+)\)\=[-#0 +]*\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonBString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
syn match pythonStrFormat "%[-#0 +]*\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonBString,pythonUniString,pythonRawString,pythonUniRawString
|
||||
endif
|
||||
|
||||
if exists("python_highlight_doctests") && python_highlight_doctests != 0
|
||||
@@ -228,47 +193,33 @@ if exists("python_highlight_doctests") && python_highlight_doctests != 0
|
||||
endif
|
||||
|
||||
" Numbers (ints, longs, floats, complex)
|
||||
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\x*[lL]\=\>" display
|
||||
|
||||
syn match pythonHexNumber "\<0[xX]\x\+[lL]\=\>" display
|
||||
syn match pythonOctNumber "\<0[oO]\o\+[lL]\=\>" display
|
||||
syn match pythonBinNumber "\<0[bB][01]\+[lL]\=\>" display
|
||||
|
||||
syn match pythonHexNumber "\<0[xX]\>" display
|
||||
syn match pythonNumber "\<\d\+[lLjJ]\=\>" display
|
||||
|
||||
syn match pythonFloat "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display
|
||||
|
||||
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*[lL]\=\>" display
|
||||
syn match pythonBinError "\<0[bB][01]*[2-9]\d*[lL]\=\>" display
|
||||
syn match pythonOctalError "\<0\o*[89]\d*[lL]\=\>" display
|
||||
syn match pythonHexError "\<0[xX]\X\+[lL]\=\>" display
|
||||
|
||||
if exists("python_highlight_builtin_objs") && python_highlight_builtin_objs != 0
|
||||
" Builtin objects and types
|
||||
syn keyword pythonBuiltinObj True False Ellipsis None NotImplemented
|
||||
syn keyword pythonBuiltinObj __debug__ __doc__ __file__ __name__ __package__
|
||||
endif
|
||||
if exists("python_highlight_builtins") && python_highlight_builtins != 0
|
||||
" Builtin functions, types and objects
|
||||
syn keyword pythonBuiltinObj Ellipsis NotImplemented
|
||||
|
||||
if exists("python_highlight_builtin_funcs") && python_highlight_builtin_funcs != 0
|
||||
" Builtin functions
|
||||
syn keyword pythonBuiltinFunc __import__ abs all any apply
|
||||
syn keyword pythonBuiltinFunc basestring bin bool buffer bytearray bytes callable
|
||||
syn keyword pythonBuiltinFunc basestring bool buffer callable
|
||||
syn keyword pythonBuiltinFunc chr classmethod cmp coerce compile complex
|
||||
syn keyword pythonBuiltinFunc delattr dict dir divmod enumerate eval
|
||||
syn keyword pythonBuiltinFunc execfile file filter float format frozenset getattr
|
||||
syn keyword pythonBuiltinFunc globals hasattr hash help hex id
|
||||
syn keyword pythonBuiltinFunc execfile file filter float frozenset getattr
|
||||
syn keyword pythonBuiltinfunc globals hasattr hash help hex id
|
||||
syn keyword pythonBuiltinFunc input int intern isinstance
|
||||
syn keyword pythonBuiltinFunc issubclass iter len list locals long map max
|
||||
syn keyword pythonBuiltinFunc min next object oct open ord
|
||||
syn keyword pythonBuiltinFunc pow property range
|
||||
syn keyword pythonBuiltinFunc min object oct open ord pow property range
|
||||
syn keyword pythonBuiltinFunc raw_input reduce reload repr
|
||||
syn keyword pythonBuiltinFunc reversed round set setattr
|
||||
syn keyword pythonBuiltinFunc reversed round set setattr
|
||||
syn keyword pythonBuiltinFunc slice sorted staticmethod str sum super tuple
|
||||
syn keyword pythonBuiltinFunc type unichr unicode vars xrange zip
|
||||
|
||||
if exists("python_print_as_function") && python_print_as_function != 0
|
||||
syn keyword pythonBuiltinFunc print
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
|
||||
@@ -277,7 +228,7 @@ if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
|
||||
syn keyword pythonExClass Exception StandardError ArithmeticError
|
||||
syn keyword pythonExClass LookupError EnvironmentError
|
||||
|
||||
syn keyword pythonExClass AssertionError AttributeError BufferError EOFError
|
||||
syn keyword pythonExClass AssertionError AttributeError EOFError
|
||||
syn keyword pythonExClass FloatingPointError GeneratorExit IOError
|
||||
syn keyword pythonExClass ImportError IndexError KeyError
|
||||
syn keyword pythonExClass KeyboardInterrupt MemoryError NameError
|
||||
@@ -287,12 +238,12 @@ if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
|
||||
syn keyword pythonExClass SystemError SystemExit TypeError
|
||||
syn keyword pythonExClass UnboundLocalError UnicodeError
|
||||
syn keyword pythonExClass UnicodeEncodeError UnicodeDecodeError
|
||||
syn keyword pythonExClass UnicodeTranslateError ValueError VMSError
|
||||
syn keyword pythonExClass UnicodeTranslateError ValueError
|
||||
syn keyword pythonExClass WindowsError ZeroDivisionError
|
||||
|
||||
syn keyword pythonExClass Warning UserWarning BytesWarning DeprecationWarning
|
||||
syn keyword pythonExClass Warning UserWarning DeprecationWarning
|
||||
syn keyword pythonExClass PendingDepricationWarning SyntaxWarning
|
||||
syn keyword pythonExClass RuntimeWarning FutureWarning
|
||||
syn keyword pythonExClass RuntimeWarning FutureWarning OverflowWarning
|
||||
syn keyword pythonExClass ImportWarning UnicodeWarning
|
||||
endif
|
||||
|
||||
@@ -315,7 +266,7 @@ if version >= 508 || !exists("did_python_syn_inits")
|
||||
endif
|
||||
|
||||
HiLink pythonStatement Statement
|
||||
HiLink pythonPreCondit Statement
|
||||
HiLink pythonImport Statement
|
||||
HiLink pythonFunction Function
|
||||
HiLink pythonConditional Conditional
|
||||
HiLink pythonRepeat Repeat
|
||||
@@ -323,8 +274,6 @@ if version >= 508 || !exists("did_python_syn_inits")
|
||||
HiLink pythonOperator Operator
|
||||
|
||||
HiLink pythonDecorator Define
|
||||
HiLink pythonDottedName Function
|
||||
HiLink pythonDot Normal
|
||||
|
||||
HiLink pythonComment Comment
|
||||
HiLink pythonCoding Special
|
||||
@@ -336,32 +285,30 @@ if version >= 508 || !exists("did_python_syn_inits")
|
||||
HiLink pythonSpaceError Error
|
||||
|
||||
HiLink pythonString String
|
||||
HiLink pythonBString String
|
||||
HiLink pythonUniString String
|
||||
HiLink pythonRawString String
|
||||
HiLink pythonUniRawString String
|
||||
|
||||
HiLink pythonEscape Special
|
||||
HiLink pythonBEscape Special
|
||||
HiLink pythonEscapeError Error
|
||||
HiLink pythonBEscapeError Error
|
||||
HiLink pythonUniEscape Special
|
||||
HiLink pythonUniEscapeError Error
|
||||
HiLink pythonUniRawEscape Special
|
||||
HiLink pythonUniRawEscapeError Error
|
||||
|
||||
HiLink pythonStrFormatting Special
|
||||
HiLink pythonStrFormat Special
|
||||
HiLink pythonStrTemplate Special
|
||||
HiLink pythonStrFormat Special
|
||||
|
||||
HiLink pythonDocTest Special
|
||||
HiLink pythonDocTest2 Special
|
||||
|
||||
HiLink pythonNumber Number
|
||||
HiLink pythonHexNumber Number
|
||||
HiLink pythonOctNumber Number
|
||||
HiLink pythonBinNumber Number
|
||||
HiLink pythonFloat Float
|
||||
HiLink pythonOctError Error
|
||||
HiLink pythonOctalError Error
|
||||
HiLink pythonHexError Error
|
||||
HiLink pythonBinError Error
|
||||
|
||||
HiLink pythonBuiltinObj Structure
|
||||
HiLink pythonBuiltinFunc Function
|
||||
|
||||
@@ -100,10 +100,6 @@ syn match rubySymbol "[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|[=!]=\|[=!
|
||||
syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
|
||||
syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"
|
||||
syn match rubySymbol "[]})\"':]\@<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\="
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!"he=e-1
|
||||
syn match rubySymbol "[]})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
|
||||
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="hs=s+1,he=e-1
|
||||
syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
|
||||
syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
|
||||
|
||||
@@ -293,6 +289,11 @@ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(extend\|fail\|fork\|
|
||||
syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(load\|loop\|prepend\|private\|proc\|protected\)\>" transparent contains=NONE
|
||||
syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(public\|require\|require_relative\|raise\|throw\|trap\|using\)\>" transparent contains=NONE
|
||||
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=\l\w*[!?]\=::\@!"he=e-1
|
||||
syn match rubySymbol "[]})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\@<=[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
|
||||
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="hs=s+1,he=e-1
|
||||
|
||||
" __END__ Directive
|
||||
syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" fold
|
||||
|
||||
|
||||
@@ -18,30 +18,40 @@ syn keyword rustOperator as
|
||||
|
||||
syn match rustAssert "\<assert\(\w\)*!" contained
|
||||
syn match rustFail "\<fail\(\w\)*!" contained
|
||||
syn keyword rustKeyword break continue
|
||||
syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite
|
||||
syn keyword rustKeyword break
|
||||
syn keyword rustKeyword box nextgroup=rustBoxPlacement skipwhite skipempty
|
||||
syn keyword rustKeyword continue
|
||||
syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite skipempty
|
||||
syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite skipempty
|
||||
syn keyword rustKeyword for in if impl let
|
||||
syn keyword rustKeyword loop once priv pub
|
||||
syn keyword rustKeyword return
|
||||
syn keyword rustKeyword unsafe while
|
||||
syn keyword rustKeyword use nextgroup=rustModPath skipwhite
|
||||
syn keyword rustKeyword loop once proc pub
|
||||
syn keyword rustKeyword return super
|
||||
syn keyword rustKeyword unsafe virtual while
|
||||
syn keyword rustKeyword use nextgroup=rustModPath skipwhite skipempty
|
||||
" FIXME: Scoped impl's name is also fallen in this category
|
||||
syn keyword rustKeyword mod trait struct enum type nextgroup=rustIdentifier skipwhite
|
||||
syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite
|
||||
syn keyword rustKeyword proc
|
||||
syn keyword rustKeyword mod trait struct enum type nextgroup=rustIdentifier skipwhite skipempty
|
||||
syn keyword rustStorage mut ref static
|
||||
syn keyword rustObsoleteStorage const
|
||||
|
||||
syn keyword rustInvalidBareKeyword crate
|
||||
|
||||
syn keyword rustExternCrate crate contained nextgroup=rustIdentifier skipwhite
|
||||
syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite
|
||||
syn keyword rustExternCrate crate contained nextgroup=rustIdentifier skipwhite skipempty
|
||||
syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty
|
||||
|
||||
syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||
syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||
|
||||
syn region rustBoxPlacement matchgroup=rustBoxPlacementParens start="(" end=")" contains=TOP contained
|
||||
syn keyword rustBoxPlacementExpr GC containedin=rustBoxPlacement
|
||||
" Ideally we'd have syntax rules set up to match arbitrary expressions. Since
|
||||
" we don't, we'll just define temporary contained rules to handle balancing
|
||||
" delimiters.
|
||||
syn region rustBoxPlacementBalance start="(" end=")" containedin=rustBoxPlacement transparent
|
||||
syn region rustBoxPlacementBalance start="\[" end="\]" containedin=rustBoxPlacement transparent
|
||||
" {} are handled by rustFoldBraces
|
||||
|
||||
" Reserved (but not yet used) keywords {{{2
|
||||
syn keyword rustReservedKeyword alignof be do offsetof pure sizeof typeof yield
|
||||
syn keyword rustReservedKeyword alignof be do offsetof priv pure sizeof typeof unsized yield
|
||||
|
||||
" Built-in types {{{2
|
||||
syn keyword rustType int uint float char bool u8 u16 u32 u64 f32
|
||||
@@ -52,10 +62,10 @@ syn keyword rustType f64 i8 i16 i32 i64 str Self
|
||||
" to make it easy to update.
|
||||
|
||||
" Core operators {{{3
|
||||
syn keyword rustTrait Freeze Pod Send Sized
|
||||
syn keyword rustTrait Copy Send Sized Share
|
||||
syn keyword rustTrait Add Sub Mul Div Rem Neg Not
|
||||
syn keyword rustTrait BitAnd BitOr BitXor
|
||||
syn keyword rustTrait Drop
|
||||
syn keyword rustTrait Drop Deref DerefMut
|
||||
syn keyword rustTrait Shl Shr Index
|
||||
syn keyword rustEnum Option
|
||||
syn keyword rustEnumVariant Some None
|
||||
@@ -68,11 +78,10 @@ syn keyword rustEnumVariant Ok Err
|
||||
"syn keyword rustFunction drop
|
||||
|
||||
" Types and traits {{{3
|
||||
syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt
|
||||
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr IntoBytes
|
||||
syn keyword rustTrait ToCStr
|
||||
syn keyword rustTrait Char
|
||||
syn keyword rustTrait Clone DeepClone
|
||||
syn keyword rustTrait Clone
|
||||
syn keyword rustTrait Eq Ord TotalEq TotalOrd Ordering Equiv
|
||||
syn keyword rustEnumVariant Less Equal Greater
|
||||
syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet
|
||||
@@ -80,25 +89,32 @@ syn keyword rustTrait FromIterator Extendable
|
||||
syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator CloneableIterator
|
||||
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
|
||||
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
|
||||
syn keyword rustTrait Signed Unsigned Round
|
||||
syn keyword rustTrait Primitive Int Float ToPrimitive FromPrimitive
|
||||
syn keyword rustTrait Signed Unsigned
|
||||
syn keyword rustTrait Primitive Int Float FloatMath ToPrimitive FromPrimitive
|
||||
"syn keyword rustTrait Expect
|
||||
syn keyword rustTrait Box
|
||||
syn keyword rustTrait GenericPath Path PosixPath WindowsPath
|
||||
syn keyword rustTrait RawPtr
|
||||
syn keyword rustTrait Buffer Writer Reader Seek
|
||||
syn keyword rustTrait Str StrVector StrSlice OwnedStr IntoMaybeOwned
|
||||
syn keyword rustTrait StrAllocating
|
||||
syn keyword rustTrait ToStr IntoStr
|
||||
syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4
|
||||
syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8
|
||||
syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12
|
||||
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector ImmutableCloneableVector
|
||||
syn keyword rustTrait OwnedVector OwnedCloneableVector OwnedEqVector
|
||||
syn keyword rustTrait MutableVector MutableTotalOrdVector
|
||||
syn keyword rustTrait Vector VectorVector CloneableVector ImmutableVector
|
||||
syn keyword rustTrait CloneableVector ImmutableCloneableVector MutableCloneableVector
|
||||
syn keyword rustTrait ImmutableVector MutableVector
|
||||
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector MutableTotalOrdVector
|
||||
syn keyword rustTrait Vector VectorVector OwnedVector MutableVectorAllocating
|
||||
syn keyword rustTrait String
|
||||
syn keyword rustTrait Vec
|
||||
|
||||
"syn keyword rustFunction stream
|
||||
syn keyword rustTrait Port Chan
|
||||
"syn keyword rustFunction sync_channel channel
|
||||
syn keyword rustTrait SyncSender Sender Receiver
|
||||
"syn keyword rustFunction spawn
|
||||
|
||||
"syn keyword rustConstant GC
|
||||
|
||||
syn keyword rustSelf self
|
||||
syn keyword rustBoolean true false
|
||||
|
||||
@@ -135,7 +151,7 @@ syn match rustStringContinuation display contained /\\\n\s*/
|
||||
syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustSpecial,rustSpecialError,rustStringContinuation,@Spell
|
||||
syn region rustString start='r\z(#*\)"' end='"\z1' contains=@Spell
|
||||
|
||||
syn region rustAttribute start="#\[" end="\]" contains=rustString,rustDeriving
|
||||
syn region rustAttribute start="#!\?\[" end="\]" contains=rustString,rustDeriving
|
||||
syn region rustDeriving start="deriving(" end=")" contained contains=rustTrait
|
||||
|
||||
" Number literals
|
||||
@@ -239,6 +255,8 @@ hi def link rustLifetime Special
|
||||
hi def link rustInvalidBareKeyword Error
|
||||
hi def link rustExternCrate rustKeyword
|
||||
hi def link rustObsoleteExternMod Error
|
||||
hi def link rustBoxPlacementParens Delimiter
|
||||
hi def link rustBoxPlacementExpr rustKeyword
|
||||
|
||||
" Other Suggestions:
|
||||
" hi rustAttribute ctermfg=cyan
|
||||
|
||||
@@ -58,6 +58,9 @@ syn match sassAmpersand "&"
|
||||
" TODO: Attribute namespaces
|
||||
" TODO: Arithmetic (including strings and concatenation)
|
||||
|
||||
syn region sassMediaQuery matchgroup=sassMedia start="@media" end="$" contains=sassMediaOperators
|
||||
syn keyword sassMediaOperators and not only contained
|
||||
syn region sassCharset start="@charset" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType
|
||||
syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType
|
||||
syn region sassDebugLine end=";\|$" matchgroup=sassDebug start="@debug\>" contains=@sassCssAttributes,sassVariable,sassFunction
|
||||
syn region sassWarnLine end=";\|$" matchgroup=sassWarn start="@warn\>" contains=@sassCssAttributes,sassVariable,sassFunction
|
||||
@@ -82,6 +85,9 @@ hi def link sassExtend PreProc
|
||||
hi def link sassFunctionDecl PreProc
|
||||
hi def link sassReturn PreProc
|
||||
hi def link sassTodo Todo
|
||||
hi def link sassCharset PreProc
|
||||
hi def link sassMedia PreProc
|
||||
hi def link sassMediaOperators PreProc
|
||||
hi def link sassInclude Include
|
||||
hi def link sassDebug sassControl
|
||||
hi def link sassWarn sassControl
|
||||
|
||||
@@ -4,8 +4,19 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:current_syntax = "scala"
|
||||
|
||||
function! s:ContainedGroup()
|
||||
try
|
||||
silent syn list @scala
|
||||
return '@scala'
|
||||
catch /E392/
|
||||
return 'TOP'
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
syn case match
|
||||
syn sync minlines=200 maxlines=1000
|
||||
|
||||
@@ -17,6 +28,8 @@ syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skip
|
||||
syn keyword scalaKeyword def var nextgroup=scalaNameDefinition skipwhite
|
||||
hi link scalaKeyword Keyword
|
||||
|
||||
exe 'syn region scalaBlock start=/{/ end=/}/ contains=' . s:ContainedGroup() . ' fold'
|
||||
|
||||
syn keyword scalaAkkaSpecialWord when goto using startWith initialize onTransition stay become unbecome
|
||||
hi link scalaAkkaSpecialWord PreProc
|
||||
|
||||
@@ -95,31 +108,26 @@ syn region scalaString start=/"/ end=/"/ contains=scalaStringEmbeddedQuote,scala
|
||||
hi link scalaString String
|
||||
hi link scalaStringEmbeddedQuote String
|
||||
|
||||
syn region scalaSString matchgroup=Special start=/s"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaEscapedChar,scalaUnicodeChar
|
||||
syn match scalaInterpolation /\$[a-zA-Z0-9_$]\+/ contained
|
||||
syn match scalaInterpolation /\${[^}]\+}/ contained
|
||||
hi link scalaSString String
|
||||
hi link scalaInterpolation Function
|
||||
syn region scalaIString matchgroup=Special start=/\<[a-zA-Z][a-zA-Z0-9_]*"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleIString matchgroup=Special start=/\<[a-zA-Z][a-zA-Z0-9_]*"""/ end=/"""\%([^"]\|$\)/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
hi link scalaIString String
|
||||
hi link scalaTripleIString String
|
||||
|
||||
syn region scalaFString matchgroup=Special start=/f"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaFInterpolation,scalaEscapedChar,scalaUnicodeChar
|
||||
syn match scalaFInterpolation /\$[a-zA-Z0-9_$]\+%[-A-Za-z0-9\.]\+/ contained
|
||||
syn match scalaFInterpolation /\${[^}]\+}%[-A-Za-z0-9\.]\+/ contained
|
||||
syn match scalaInterpolation /\$[a-zA-Z0-9_$]\+/ contained
|
||||
exe 'syn region scalaInterpolationB matchgroup=scalaInterpolation start=/\${/ end=/}/ contained contains=' . s:ContainedGroup()
|
||||
hi link scalaInterpolation Function
|
||||
hi link scalaInterpolationB Normal
|
||||
|
||||
syn region scalaFString matchgroup=Special start=/f"/ skip=/\\"/ end=/"/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
syn match scalaFInterpolation /\$[a-zA-Z0-9_$]\+\(%[-A-Za-z0-9\.]\+\)\?/ contained
|
||||
exe 'syn region scalaFInterpolationB matchgroup=scalaFInterpolation start=/${/ end=/}\(%[-A-Za-z0-9\.]\+\)\?/ contained contains=' . s:ContainedGroup()
|
||||
hi link scalaFString String
|
||||
hi link scalaFInterpolation Function
|
||||
|
||||
syn region scalaQuasiQuotes matchgroup=Type start=/\<q"/ skip=/\\"/ end=/"/ contains=scalaInterpolation
|
||||
syn region scalaQuasiQuotes matchgroup=Type start=/\<[tcp]q"/ skip=/\\"/ end=/"/ contains=scalaInterpolation
|
||||
hi link scalaQuasiQuotes String
|
||||
|
||||
syn region scalaTripleQuasiQuotes matchgroup=Type start=/\<q"""/ end=/"""\%([^"]\|$\)/ contains=scalaInterpolation
|
||||
syn region scalaTripleQuasiQuotes matchgroup=Type start=/\<[tcp]q"""/ end=/"""\%([^"]\|$\)/ contains=scalaInterpolation
|
||||
hi link scalaTripleQuasiQuotes String
|
||||
hi link scalaFInterpolationB Normal
|
||||
|
||||
syn region scalaTripleString start=/"""/ end=/"""\%([^"]\|$\)/ contains=scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleSString matchgroup=Special start=/s"""/ end=/"""\%([^"]\|$\)/ contains=scalaInterpolation,scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleFString matchgroup=Special start=/f"""/ end=/"""\%([^"]\|$\)/ contains=scalaInterpolation,scalaFInterpolation,scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleFString matchgroup=Special start=/f"""/ end=/"""\%([^"]\|$\)/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
hi link scalaTripleString String
|
||||
hi link scalaTripleSString String
|
||||
hi link scalaTripleFString String
|
||||
|
||||
syn match scalaNumber /\<0[dDfFlL]\?\>/ " Just a bare 0
|
||||
|
||||
@@ -38,7 +38,7 @@ syn match cssTagName /\<center\>/
|
||||
" HTML5 tags
|
||||
syn keyword cssTagName article aside audio bb canvas command datagrid
|
||||
syn keyword cssTagName datalist details dialog embed figure footer figcaption
|
||||
syn keyword cssTagName header hgroup keygen mark meter nav output
|
||||
syn keyword cssTagName header hgroup keygen mark meter nav output
|
||||
syn keyword cssTagName progress time rt rp section time video
|
||||
syn match cssTagName /\<ruby\>/
|
||||
" class select
|
||||
@@ -47,7 +47,7 @@ syn match cssSelector /\.[A-Za-z][A-Za-z0-9_-]\+/
|
||||
syn match cssSelector /#[A-Za-z][A-Za-z0-9_-]\+/
|
||||
syn region cssSelector start='\[' end='\]' contains=cssString
|
||||
|
||||
syn region cssDefineBlock start="{" end="}" transparent contains=ALL
|
||||
syn region cssDefineBlock start="{" end="}" transparent contains=TOP
|
||||
|
||||
syn keyword cssCommonVal inherit initial auto both normal hidden none medium contained
|
||||
|
||||
@@ -103,7 +103,7 @@ syn match cssColorVal /transparent/ contained
|
||||
syn match cssColorVal "#[0-9A-Fa-f]\{3\}\>" contained
|
||||
syn match cssColorVal "#[0-9A-Fa-f]\{6\}\>" contained
|
||||
syn match cssFuncVal /rgb(\(\d\{1,3\}\s*,\s*\)\{2\}\d\{1,3\})/ contained contains=cssString,cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency
|
||||
syn match cssFuncVal /rgba(\(\d\{1,3\}\s*,\s*\)\{3\}\(1\|0\(\.\d\+\)\?\))/ contained contains=cssString,cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency
|
||||
syn match cssFuncVal /rgba(\(\d\{1,3\}\s*,\s*\)\{3\}\(1\|0\(\.\d\+\)\?\))/ contained contains=cssString,cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency
|
||||
syn match cssFuncVal /hsl(\d\{1,3\}\s*,\s*\(100\|\d\{1,2\}\(\.\d\+\)\?\)%\s*,\s*\(100\|\d\{1,2\}\(\.\d\+\)\?\)%)/ contained contains=cssString,cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency
|
||||
syn match cssFuncVal /hsla(\d\{1,3\}\s*,\s*\(\(100\|\d\{1,2\}\(\.\d\+\)\?\)%\s*,\s*\)\{2\}\(1\|0\(\.\d\+\)\?\))/ contained contains=cssString,cssValueLength,cssValueInteger,cssValueNumber,cssValueAngle,cssValueTime,cssValueFrequency
|
||||
syn keyword cssColorVal aliceblue antiquewhite aqua aquamarine azure contained
|
||||
@@ -149,6 +149,7 @@ syn match cssTextProp /text-\(align-last\|align\|decoration\|emphasis\|height\|i
|
||||
syn match cssTextProp /\(line-stacking-\(ruby\|shift\|strategy\)\|line-stacking\|line-height\)/ contained
|
||||
syn match cssTextProp /vertical-align/ contained
|
||||
syn match cssTextProp /letter-spacing/ contained
|
||||
syn match cssTextProp /user-select/ contained
|
||||
syn match cssTextProp /white-\(space-collapse\|space\)/ contained
|
||||
syn match cssTextProp /word-\(break\|spacing\|wrap\)/ contained
|
||||
syn match cssTextProp "\<word-wrap\>" contained
|
||||
@@ -235,6 +236,7 @@ syn match cssAdvancedProp /\(pitch-range\|pitch\)/
|
||||
syn match cssAdvancedProp /presentation-level/
|
||||
syn match cssAdvancedProp /punctuation-trim/
|
||||
syn match cssAdvancedProp /rendering-intent/
|
||||
syn match cssAdvancedProp /pointer-events/
|
||||
syn match cssAdvancedProp /\(rest-\(after\|before\)\|rest\)/
|
||||
syn match cssAdvancedProp /\(rotation-point\|rotation\)/
|
||||
syn match cssAdvancedProp /ruby-\(align\|overhang\|position\|span\)/
|
||||
@@ -245,8 +247,8 @@ syn match cssAdvancedProp /voice-\(balance\|duration\|family\|pitch-range\|pitch
|
||||
|
||||
syn match cssAdvancedVal /\(ease-\(in\|out\|in-out\)\|ease\)/ contained
|
||||
|
||||
" CSS3 Advanced value
|
||||
"syn match cssAdvancedVal
|
||||
" CSS3 Advanced value
|
||||
"syn match cssAdvancedVal
|
||||
|
||||
|
||||
if main_syntax == "css"
|
||||
@@ -279,7 +281,7 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssVisualProp StorageClass
|
||||
HiLink cssAdvancedProp StorageClass
|
||||
HiLink cssCommonProp StorageClass
|
||||
HiLink cssSpecialProp Special
|
||||
HiLink cssSpecialProp Special
|
||||
HiLink cssImportant Special
|
||||
HiLink cssRuleProp PreProc
|
||||
HiLink cssPseudo PreProc
|
||||
@@ -305,7 +307,7 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
endif
|
||||
|
||||
" let b:current_syntax = "css"
|
||||
"
|
||||
"
|
||||
if main_syntax == 'css'
|
||||
unlet main_syntax
|
||||
endif
|
||||
|
||||
273
syntax/systemd.vim
Normal file
273
syntax/systemd.vim
Normal file
@@ -0,0 +1,273 @@
|
||||
" Filename: systemd.vim
|
||||
" Purpose: Vim syntax file
|
||||
" Language: systemd unit files
|
||||
" Maintainer: Will Woods <wwoods@redhat.com>
|
||||
" Last Change: Sep 15, 2011
|
||||
|
||||
if exists("b:current_syntax") && !exists ("g:syntax_debug")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case match
|
||||
syntax sync fromstart
|
||||
setlocal iskeyword+=-
|
||||
|
||||
" special sequences, common data types, comments, includes {{{1
|
||||
" hilight errors with this
|
||||
syn match sdErr contained /\s*\S\+/ nextgroup=sdErr
|
||||
|
||||
" environment args and format strings
|
||||
syn match sdEnvArg contained /\$\i\+\|\${\i\+}/
|
||||
syn match sdFormatStr contained /%[inpINPfcrRt]/ containedin=ALLBUT,sdComment,sdErr
|
||||
|
||||
" common data types
|
||||
syn match sdUInt contained nextgroup=sdErr /\d\+/
|
||||
syn match sdInt contained nextgroup=sdErr /-\=\d\+/
|
||||
syn match sdOctal contained nextgroup=sdErr /0\o\{3,4}/
|
||||
syn match sdDuration contained nextgroup=sdErr /\d\+/
|
||||
syn match sdDuration contained nextgroup=sdErr /\%(\d\+\%(s\|min\|h\|d\|w\|ms\|us\)\s*\)\+/
|
||||
syn match sdDatasize contained nextgroup=sdErr /\d\+[KMGT]/
|
||||
syn match sdFilename contained nextgroup=sdErr /\/\S*/
|
||||
syn keyword sdBool contained nextgroup=sdErr 1 yes true on 0 no false off
|
||||
syn match sdUnitName contained /\S\+\.\(automount\|mount\|swap\|socket\|service\|target\|path\|timer\|device\)\_s/
|
||||
|
||||
" .include
|
||||
syn match sdInclude /^.include/ nextgroup=sdFilename
|
||||
|
||||
" comments
|
||||
syn match sdComment /^[;#].*/ contains=sdTodo containedin=ALL
|
||||
syn keyword sdTodo contained TODO XXX FIXME NOTE
|
||||
|
||||
" [Unit] {{{1
|
||||
" see systemd.unit(5)
|
||||
syn region sdUnitBlock matchgroup=sdHeader start=/^\[Unit\]/ end=/^\[/me=e-2 contains=sdUnitKey
|
||||
syn match sdUnitKey contained /^Description=/
|
||||
syn match sdUnitKey contained /^Documentation=/ nextgroup=sdDocURI
|
||||
syn match sdUnitKey contained /^SourcePath=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdUnitKey contained /^\%(Requires\|RequiresOverridable\|Requisite\|RequisiteOverridable\|Wants\|BindsTo\|PartOf\|Conflicts\|Before\|After\|OnFailure\|Names|PropagatesReloadTo\|ReloadPropagatedFrom\)=/ nextgroup=sdUnitList
|
||||
syn match sdUnitKey contained /^\%(OnFailureIsolate\|IgnoreOnIsolate\|IgnoreOnSnapshot\|StopWhenUnneeded\|RefuseManualStart\|RefuseManualStop\|AllowIsolate\|DefaultDependencies\)=/ nextgroup=sdBool,sdErr
|
||||
syn match sdUnitKey contained /^JobTimeoutSec=/ nextgroup=sdDuration,sdErr
|
||||
" ConditionXXX. Note that they all have an optional '|' after the '='
|
||||
syn match sdUnitKey contained /^Condition\(PathExists\|PathExistsGlob\|PathIsDirectory\|PathIsMountPoint\|PathIsReadWrite\|PathIsSymbolicLink\|DirectoryNotEmpty\|FileNotEmpty\|FileIsExecutable\)=|\=!\=/ contains=sdConditionFlag nextgroup=sdFilename,sdErr
|
||||
syn match sdUnitKey contained /^ConditionVirtualization=|\=!\=/ contains=sdConditionFlag nextgroup=sdVirtType,sdErr
|
||||
syn match sdUnitKey contained /^ConditionSecurity=|\=!\=/ contains=sdConditionFlag nextgroup=sdSecurityType,sdErr
|
||||
syn match sdUnitKey contained /^ConditionCapability=|\=!\=/ contains=sdConditionFlag nextgroup=sdAnyCapName,sdErr
|
||||
syn match sdUnitKey contained /^Condition\%(KernelCommandLine\|Host\)=|\=!\=/ contains=sdConditionFlag
|
||||
syn match sdUnitKey contained /^Condition\%(ACPower\|Null\)=|\=/ contains=sdConditionFlag nextgroup=sdBool,sdErr
|
||||
" extra bits
|
||||
syn match sdUnitList contained /.*/ contains=sdUnitName,sdErr
|
||||
syn match sdConditionFlag contained /[!|]/
|
||||
syn keyword sdVirtType contained nextgroup=sdErr vm container qemu kvm vmware microsoft oracle xen bochs chroot openvz lxc lxc-libvirt systemd-nspawn
|
||||
syn keyword sdSecurityType contained nextgroup=sdErr selinux
|
||||
syn match sdDocUri contained /\%(https\=:\/\/\|file:\|info:\|man:\)\S\+\s*/ nextgroup=sdDocUri,sdErr
|
||||
|
||||
" [Install] {{{1
|
||||
" see systemd.unit(5)
|
||||
syn region sdInstallBlock matchgroup=sdHeader start=/^\[Install\]/ end=/^\[/me=e-2 contains=sdInstallKey
|
||||
syn match sdInstallKey contained /^\%(WantedBy\|Alias\|Also\)=/ nextgroup=sdUnitList
|
||||
|
||||
" Execution options common to [Service|Socket|Mount|Swap] {{{1
|
||||
" see systemd.exec(5)
|
||||
syn match sdExecKey contained /^Exec\%(Start\%(Pre\|Post\|\)\|Reload\|Stop\|StopPost\)=/ nextgroup=sdExecFlag,sdExecFile,sdErr
|
||||
syn match sdExecKey contained /^\%(WorkingDirectory\|RootDirectory\|TTYPath\)=/ nextgroup=sdFilename,sdErr
|
||||
" TODO: handle some of these better
|
||||
" CPUAffinity is: list of uint
|
||||
" BlockIOWeight is: uint\|filename uint
|
||||
" BlockIO\%(Read\|Write\)Bandwidth is: filename datasize
|
||||
syn match sdExecKey contained /^\%(User\|Group\|SupplementaryGroups\|CPUAffinity\|SyslogIdentifier\|PAMName\|TCPWrapName\|ControlGroup\|ControlGroupAttribute\|DeviceAllow\|DeviceDeny\|BlockIOWeight\|BlockIO\%(Read\|Write\)Bandwidth\|UtmpIdentifier\)=/
|
||||
syn match sdExecKey contained /^Limit\%(CPU\|FSIZE\|DATA\|STACK\|CORE\|RSS\|NOFILE\|AS\|NPROC\|MEMLOCK\|LOCKS\|SIGPENDING\|MSGQUEUE\|NICE\|RTPRIO\|RTTIME\)=/ nextgroup=sdRlimit
|
||||
syn match sdExecKey contained /^\%(CPUSchedulingResetOnFork\|TTYReset\|TTYVHangup\|TTYVTDisallocate\|SyslogLevelPrefix\|ControlGroupModify\|PrivateTmp\|PrivateNetwork\)=/ nextgroup=sdBool,sdErr
|
||||
syn match sdExecKey contained /^\%(Nice\|OOMScoreAdjust\)=/ nextgroup=sdInt,sdErr
|
||||
syn match sdExecKey contained /^\%(CPUSchedulingPriority\|TimerSlackNSec\|CPUShares\)=/ nextgroup=sdUInt,sdErr
|
||||
syn match sdExecKey contained /^\%(MemoryLimit\|MemorySoftLimit\)=/ nextgroup=sdDatasize,sdErr
|
||||
syn match sdExecKey contained /^\%(ReadWrite\|ReadOnly\|Inaccessible\)Directories=/ nextgroup=sdFileList
|
||||
syn match sdExecKey contained /^Device\%(Allow\|Deny\)=/ nextgroup=sdDevAllow,sdErr
|
||||
syn match sdExecKey contained /^CapabilityBoundingSet=/ nextgroup=sdCapNameList
|
||||
syn match sdExecKey contained /^Capabilities=/ nextgroup=sdCapability,sdErr
|
||||
syn match sdExecKey contained /^UMask=/ nextgroup=sdOctal,sdErr
|
||||
syn match sdExecKey contained /^StandardInput=/ nextgroup=sdStdin,sdErr
|
||||
syn match sdExecKey contained /^Standard\%(Output\|Error\)=/ nextgroup=sdStdout,sdErr
|
||||
syn match sdExecKey contained /^SecureBits=/ nextgroup=sdSecureBitList
|
||||
syn match sdExecKey contained /^SyslogFacility=/ nextgroup=sdSyslogFacil,sdErr
|
||||
syn match sdExecKey contained /^SyslogLevel=/ nextgroup=sdSyslogLevel,sdErr
|
||||
syn match sdExecKey contained /^IOSchedulingClass=/ nextgroup=sdIOSchedClass,sdErr
|
||||
syn match sdExecKey contained /^IOSchedulingPriority=/ nextgroup=sdIOSchedPrio,sdErr
|
||||
syn match sdExecKey contained /^CPUSchedulingPolicy=/ nextgroup=sdCPUSchedPol,sdErr
|
||||
syn match sdExecKey contained /^MountFlags=/ nextgroup=sdMountFlags,sdErr
|
||||
syn match sdExecKey contained /^Environment=/ nextgroup=sdEnvDefs
|
||||
syn match sdExecKey contained /^EnvironmentFile=-\=/ contains=sdEnvDashFlag nextgroup=sdFilename,sdErr
|
||||
|
||||
syn match sdExecFlag contained /-\=@\=/ nextgroup=sdExecFile,sdErr
|
||||
syn match sdExecFile contained /\/\S\+/ nextgroup=sdExecArgs
|
||||
syn match sdExecArgs contained /.*/ contains=sdEnvArg
|
||||
syn match sdEnvDefs contained /.*/ contains=sdEnvDef
|
||||
syn match sdEnvDashFlag contained /-/ nextgroup=sdFilename,sdErr
|
||||
syn match sdEnvDef contained /\i\+=/he=e-1
|
||||
syn match sdFileList contained /.*/ contains=sdFilename,sdErr
|
||||
" CAPABILITIES WOOO {{{
|
||||
syn case ignore
|
||||
syn match sdCapNameList contained /.*/ contains=sdAnyCapName,sdErr
|
||||
syn match sdAnyCapName contained /CAP_[A-Z_]\+\s*/ contains=sdCapName
|
||||
syn keyword sdCapName contained CAP_AUDIT_CONTROL CAP_AUDIT_WRITE CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH
|
||||
syn keyword sdCapName contained CAP_FOWNER CAP_FSETID CAP_IPC_LOCK CAP_IPC_OWNER CAP_KILL CAP_LEASE
|
||||
syn keyword sdCapName contained CAP_LINUX_IMMUTABLE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_MKNOD
|
||||
syn keyword sdCapName contained CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
|
||||
syn keyword sdCapName contained CAP_SETGID CAP_SETFCAP CAP_SETPCAP CAP_SETUID
|
||||
syn keyword sdCapName contained CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_CHROOT CAP_SYS_MODULE CAP_SYS_NICE CAP_SYS_PACCT
|
||||
syn keyword sdCapName contained CAP_SYS_PTRACE CAP_SYS_RAWIO CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_TTY_CONFIG
|
||||
syn case match
|
||||
syn cluster sdCap contains=sdCapName,sdCapOps,sdCapFlags
|
||||
syn match sdCapOps contained /[=+-]/
|
||||
syn match sdCapFlags contained /\<[eip]\+/
|
||||
syn match sdCapability contained /\%(\%([A-Za-z_]\+,\=\)*\|all\)\%(=[eip]*\|[+-][eip]\+\)\s*/ contains=@sdCap nextgroup=sdCapability,sdErr
|
||||
"}}}
|
||||
syn match sdDevAllow contained /\/\S\+\s\+/ nextgroup=sdDevAllowPerm
|
||||
syn match sdDevAllowPerm contained /\S\+/ contains=sdDevAllowErr nextgroup=sdErr
|
||||
syn match sdDevAllowErr contained /[^rwm]\+/
|
||||
syn keyword sdStdin contained nextgroup=sdErr null tty-force tty-fail socket tty
|
||||
syn match sdStdout contained nextgroup=sdErr /\%(syslog\|kmsg\|journal\)\%(+console\)\=/
|
||||
syn keyword sdStdout contained nextgroup=sdErr inherit null tty socket
|
||||
syn keyword sdSyslogFacil contained nextgroup=sdErr kern user mail daemon auth syslog lpr news uucp cron authpriv ftp
|
||||
syn match sdSyslogFacil contained nextgroup=sdErr /\<local[0-7]\>/
|
||||
syn keyword sdSyslogLevel contained nextgroup=sdErr emerg alert crit err warning notice info debug
|
||||
syn keyword sdIOSchedClass contained nextgroup=sdErr 0 1 2 3 none realtime best-effort idle
|
||||
syn keyword sdIOSchedPrio contained nextgroup=sdErr 0 1 2 3 4 5 6 7
|
||||
syn keyword sdCPUSchedPol contained nextgroup=sdErr other batch idle fifo rr
|
||||
syn keyword sdMountFlags contained nextgroup=sdErr shared slave private
|
||||
syn match sdRlimit contained nextgroup=sdErr /\<\%(\d\+\|infinity\)\>/
|
||||
syn keyword sdSecureBits contained nextgroup=sdErr keep-caps keep-caps-locked noroot noroot-locked no-setuid-fixup no-setuid-fixup-locked
|
||||
|
||||
" These are also shared by [Service|Socket|Mount|Swap], although they're not
|
||||
" listed in systemd.exec(5)
|
||||
syn match sdExecKey contained /^TimeoutSec=/ nextgroup=sdDuration,sdErr
|
||||
syn match sdExecKey contained /^KillSignal=/ nextgroup=sdSignal,sdOtherSignal,sdErr
|
||||
syn match sdExecKey contained /^SendSIGKill=/ nextgroup=sdBool,sdErr
|
||||
syn match sdExecKey contained /^KillMode=/ nextgroup=sdKillMode,sdErr
|
||||
syn keyword sdSignal contained nextgroup=sdErr SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM SIGUSR1 SIGUSR2
|
||||
syn match sdOtherSignal contained nextgroup=sdErr /\<\%(\d\+\|SIG[A-Z]\{2,6}\)\>/
|
||||
syn match sdKillMode contained nextgroup=sdErr /\%(control-group\|process\|none\)/
|
||||
|
||||
" [Service] {{{1
|
||||
syn region sdServiceBlock matchgroup=sdHeader start=/^\[Service\]/ end=/^\[/me=e-2 contains=sdServiceKey,sdExecKey
|
||||
syn match sdServiceKey contained /^BusName=/
|
||||
syn match sdServiceKey contained /^\%(RemainAfterExit\|GuessMainPID\|PermissionsStartOnly\|RootDirectoryStartOnly\|NonBlocking\|ControlGroupModify\)=/ nextgroup=sdBool,sdErr
|
||||
syn match sdServiceKey contained /^\%(SysVStartPriority\|FsckPassNo\)=/ nextgroup=sdUInt,sdErr
|
||||
syn match sdServiceKey contained /^\%(Restart\|Timeout\)Sec=/ nextgroup=sdDuration,sdErr
|
||||
syn match sdServiceKey contained /^Sockets=/ nextgroup=sdUnitList
|
||||
syn match sdServiceKey contained /^PIDFile=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdServiceKey contained /^Type=/ nextgroup=sdServiceType,sdErr
|
||||
syn match sdServiceKey contained /^Restart=/ nextgroup=sdRestartType,sdErr
|
||||
syn match sdServiceKey contained /^NotifyAccess=/ nextgroup=sdNotifyType,sdErr
|
||||
syn keyword sdServiceType contained nextgroup=sdErr simple forking dbus oneshot notify idle
|
||||
syn keyword sdRestartType contained nextgroup=sdErr no on-success on-failure on-abort always
|
||||
syn keyword sdNotifyType contained nextgroup=sdErr none main all
|
||||
|
||||
" [Socket] {{{1
|
||||
syn region sdSocketBlock matchgroup=sdHeader start=/^\[Socket\]/ end=/^\[/me=e-2 contains=sdSocketKey,sdExecKey
|
||||
syn match sdSocketKey contained /^Listen\%(Stream\|Datagram\|SequentialPacket\|FIFO\|Special\|Netlink\|MessageQueue\)=/
|
||||
syn match sdSocketKey contained /^Listen\%(FIFO\|Special\)=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdSocketKey contained /^\%(Socket\|Directory\)Mode=/ nextgroup=sdOctal,sdErr
|
||||
syn match sdSocketKey contained /^\%(Backlog\|MaxConnections\|Priority\|ReceiveBuffer\|SendBuffer\|IPTTL\|Mark\|PipeSize\|MessageQueueMaxMessages\|MessageQueueMessageSize\)=/ nextgroup=sdUInt,sdErr
|
||||
syn match sdSocketKey contained /^\%(Accept\|KeepAlive\|FreeBind\|Transparent\|Broadcast\)=/ nextgroup=sdBool,sdErr
|
||||
syn match sdSocketKey contained /^BindToDevice=/
|
||||
syn match sdSocketKey contained /^Service=/ nextgroup=sdUnitList
|
||||
syn match sdSocketKey contained /^BindIPv6Only=/ nextgroup=sdBindIPv6,sdErr
|
||||
syn match sdSocketKey contained /^IPTOS=/ nextgroup=sdIPTOS,sdUInt,sdErr
|
||||
syn match sdSocketKey contained /^TCPCongestion=/ nextgroup=sdTCPCongest
|
||||
syn keyword sdBindIPv6 contained nextgroup=sdErr default both ipv6-only
|
||||
syn keyword sdIPTOS contained nextgroup=sdErr low-delay throughput reliability low-cost
|
||||
syn keyword sdTCPCongest contained nextgroup=sdErr westwood veno cubic lp
|
||||
|
||||
" [Timer|Automount|Mount|Swap|Path] {{{1
|
||||
" [Timer]
|
||||
syn region sdTimerBlock matchgroup=sdHeader start=/^\[Timer\]/ end=/^\[/me=e-2 contains=sdTimerKey
|
||||
syn match sdTimerKey contained /^On\%(Active\|Boot\|Startup\|UnitActive\|UnitInactive\)Sec=/ nextgroup=sdDuration,sdErr
|
||||
syn match sdTimerKey contained /^Unit=/ nextgroup=sdUnitList
|
||||
|
||||
" [Automount]
|
||||
syn region sdAutoMountBlock matchgroup=sdHeader start=/^\[Automount\]/ end=/^\[/me=e-2 contains=sdAutomountKey
|
||||
syn match sdAutomountKey contained /^Where=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdAutomountKey contained /^DirectoryMode=/ nextgroup=sdOctal,sdErr
|
||||
|
||||
" [Mount]
|
||||
syn region sdMountBlock matchgroup=sdHeader start=/^\[Mount\]/ end=/^\[/me=e-2 contains=sdMountKey,sdAutomountKey,sdExecKey
|
||||
syn match sdMountKey contained /^\%(What\|Type\|Options\)=/
|
||||
|
||||
" [Swap]
|
||||
syn region sdSwapBlock matchgroup=sdHeader start=/^\[Swap\]/ end=/^\[/me=e-2 contains=sdSwapKey,sdExecKey
|
||||
syn match sdSwapKey contained /^What=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdSwapKey contained /^Priority=/ nextgroup=sdUInt,sdErr
|
||||
|
||||
" [Path]
|
||||
syn region sdPathBlock matchgroup=sdHeader start=/^\[Path\]/ end=/^\[/me=e-2 contains=sdPathKey
|
||||
syn match sdPathKey contained /^\%(PathExists\|PathExistsGlob\|PathChanged\|DirectoryNotEmpty\)=/ nextgroup=sdFilename,sdErr
|
||||
syn match sdPathKey contained /^MakeDirectory=/ nextgroup=sdBool,sdErr
|
||||
syn match sdPathKey contained /^DirectoryMode=/ nextgroup=sdOctal,sdErr
|
||||
syn match sdPathKey contained /^Unit=/ nextgroup=sdUnitList
|
||||
|
||||
" Coloring definitions {{{1
|
||||
hi def link sdComment Comment
|
||||
hi def link sdTodo Todo
|
||||
hi def link sdInclude PreProc
|
||||
hi def link sdHeader Type
|
||||
hi def link sdEnvArg PreProc
|
||||
hi def link sdFormatStr Special
|
||||
hi def link sdErr Error
|
||||
hi def link sdEnvDef Identifier
|
||||
hi def link sdUnitName PreProc
|
||||
hi def link sdKey Statement
|
||||
hi def link sdValue Constant
|
||||
hi def link sdSymbol Special
|
||||
|
||||
" Coloring links: keys {{{1
|
||||
|
||||
" It'd be nice if this worked..
|
||||
"hi def link sd.\+Key sdKey
|
||||
hi def link sdUnitKey sdKey
|
||||
hi def link sdInstallKey sdKey
|
||||
hi def link sdExecKey sdKey
|
||||
hi def link sdSocketKey sdKey
|
||||
hi def link sdServiceKey sdKey
|
||||
hi def link sdServiceCommonKey sdKey
|
||||
hi def link sdTimerKey sdKey
|
||||
hi def link sdMountKey sdKey
|
||||
hi def link sdAutomountKey sdKey
|
||||
hi def link sdSwapKey sdKey
|
||||
hi def link sdPathKey sdKey
|
||||
|
||||
" Coloring links: constant values {{{1
|
||||
hi def link sdInt sdValue
|
||||
hi def link sdUInt sdValue
|
||||
hi def link sdBool sdValue
|
||||
hi def link sdOctal sdValue
|
||||
hi def link sdDuration sdValue
|
||||
hi def link sdVirtType sdValue
|
||||
hi def link sdServiceType sdValue
|
||||
hi def link sdNotifyType sdValue
|
||||
hi def link sdSecurityType sdValue
|
||||
hi def link sdSecureBits sdValue
|
||||
hi def link sdMountFlags sdValue
|
||||
hi def link sdKillMode sdValue
|
||||
hi def link sdRestartType sdValue
|
||||
hi def link sdSignal sdValue
|
||||
hi def link sdStdin sdValue
|
||||
hi def link sdStdout sdValue
|
||||
hi def link sdSyslogFacil sdValue
|
||||
hi def link sdSyslogLevel sdValue
|
||||
hi def link sdIOSched sdValue
|
||||
hi def link sdCPUSched sdValue
|
||||
hi def link sdRlimit sdValue
|
||||
hi def link sdCapName sdValue
|
||||
hi def link sdDevAllowPerm sdValue
|
||||
hi def link sdDevAllowErr Error
|
||||
|
||||
" Coloring links: symbols/flags {{{1
|
||||
hi def link sdExecFlag sdSymbol
|
||||
hi def link sdConditionFlag sdSymbol
|
||||
hi def link sdEnvDashFlag sdSymbol
|
||||
hi def link sdCapOps sdSymbol
|
||||
hi def link sdCapFlags Identifier
|
||||
"}}}
|
||||
|
||||
let b:current_syntax = "systemd"
|
||||
" vim: fdm=marker
|
||||
37
syntax/toml.vim
Normal file
37
syntax/toml.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
" Language: TOML
|
||||
" Maintainer: Caleb Spare <cespare@gmail.com>
|
||||
" URL: http://github.com/cespare/vim-toml
|
||||
" LICENSE: MIT
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn match tomlEscape /\\[0tnr"\\]/ display
|
||||
hi def link tomlEscape SpecialChar
|
||||
|
||||
syn region tomlString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=tomlEscape
|
||||
hi def link tomlString String
|
||||
|
||||
syn match tomlInteger /\<-\?\d\+\>/ display
|
||||
hi def link tomlInteger Number
|
||||
|
||||
syn match tomlFloat /\<-\?\d\+\.\d\+\>/ display
|
||||
hi def link tomlFloat Float
|
||||
|
||||
syn match tomlBoolean /\<\%(true\|false\)\>/ display
|
||||
hi def link tomlBoolean Boolean
|
||||
|
||||
syn match tomlDate /\d\{4\}-\d\{2\}-\d\{2\}T\d\{2\}:\d\{2\}:\d\{2\}Z/ display
|
||||
hi def link tomlDate Constant
|
||||
|
||||
syn match tomlKeyGroup /^\s*\[.\+\]\s*\(#.*\)\?$/ contains=tomlComment
|
||||
hi def link tomlKeyGroup Identifier
|
||||
|
||||
syn keyword tomlTodo TODO FIXME XXX BUG contained
|
||||
hi def link tomlTodo Todo
|
||||
|
||||
syn match tomlComment /#.*/ contains=@Spell,tomlTodo
|
||||
hi def link tomlComment Comment
|
||||
|
||||
let b:current_syntax = "toml"
|
||||
Reference in New Issue
Block a user