mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-09 12:03:53 -05:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11f34624aa | ||
|
|
1422f7a75c | ||
|
|
b17b5d4d9f | ||
|
|
bd824d9407 | ||
|
|
c3233deb70 | ||
|
|
bf188c4a51 | ||
|
|
a5857b81c2 | ||
|
|
7a32eec6d1 |
20
README.md
20
README.md
@@ -42,8 +42,8 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
- [dockerfile](https://github.com/honza/dockerfile.vim) (syntax, ftdetect)
|
||||||
- [elixir](https://github.com/elixir-lang/vim-elixir) (syntax, indent, compiler, ftplugin, ftdetect)
|
- [elixir](https://github.com/elixir-lang/vim-elixir) (syntax, indent, compiler, ftplugin, ftdetect)
|
||||||
- [elm](https://github.com/lambdatoast/elm.vim) (syntax, indent, autoload, ftplugin, ftdetect)
|
- [elm](https://github.com/lambdatoast/elm.vim) (syntax, indent, autoload, ftplugin, ftdetect)
|
||||||
- [emberscript](https://github.com/heartsentwined/vim-ember-script) (syntax, indent, ftplugin, ftdetect)
|
- [emberscript](https://github.com/yalesov/vim-ember-script) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [emblem](https://github.com/heartsentwined/vim-emblem) (syntax, indent, ftplugin, ftdetect)
|
- [emblem](https://github.com/yalesov/vim-emblem) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [erlang](https://github.com/vim-erlang/vim-erlang-runtime) (syntax, indent, ftdetect)
|
- [erlang](https://github.com/vim-erlang/vim-erlang-runtime) (syntax, indent, ftdetect)
|
||||||
- [fish](https://github.com/dag/vim-fish) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
- [fish](https://github.com/dag/vim-fish) (syntax, indent, compiler, autoload, ftplugin, ftdetect)
|
||||||
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)
|
||||||
@@ -66,7 +66,7 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
- [less](https://github.com/groenewege/vim-less) (syntax, indent, ftplugin, ftdetect)
|
- [less](https://github.com/groenewege/vim-less) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [liquid](https://github.com/tpope/vim-liquid) (syntax, indent, ftplugin, ftdetect)
|
- [liquid](https://github.com/tpope/vim-liquid) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin, ftdetect)
|
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin, ftdetect)
|
||||||
- [markdown](https://github.com/tpope/vim-markdown) (syntax, ftplugin, ftdetect)
|
- [markdown](https://github.com/plasticboy/vim-markdown) (syntax, ftdetect)
|
||||||
- [nginx](https://github.com/othree/nginx-contrib-vim) (syntax, indent, ftdetect)
|
- [nginx](https://github.com/othree/nginx-contrib-vim) (syntax, indent, ftdetect)
|
||||||
- [nim](https://github.com/zah/nim.vim) (syntax, compiler, indent, ftdetect)
|
- [nim](https://github.com/zah/nim.vim) (syntax, compiler, indent, ftdetect)
|
||||||
- [nix](https://github.com/spwhitt/vim-nix) (syntax, ftplugin, ftdetect)
|
- [nix](https://github.com/spwhitt/vim-nix) (syntax, ftplugin, ftdetect)
|
||||||
@@ -112,9 +112,15 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo
|
|||||||
- [yaml](https://github.com/stephpy/vim-yaml) (syntax, ftplugin)
|
- [yaml](https://github.com/stephpy/vim-yaml) (syntax, ftplugin)
|
||||||
- [yard](https://github.com/sheerun/vim-yardoc) (syntax)
|
- [yard](https://github.com/sheerun/vim-yardoc) (syntax)
|
||||||
|
|
||||||
## Disabling a language pack
|
## Updating
|
||||||
|
|
||||||
Individual language packs can be disabled by setting `g:polyglot_disabled`.
|
You can either wait for new patch release with updates or run the `./build` script by yourself.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
Please make sure you have `syntax on` in your `.vimrc`, otherwise syntax files are not loaded at all.
|
||||||
|
|
||||||
|
Individual language packs can be disabled by setting `g:polyglot_disabled` as follows:
|
||||||
|
|
||||||
```viml
|
```viml
|
||||||
" ~/.vimrc
|
" ~/.vimrc
|
||||||
@@ -123,10 +129,6 @@ let g:polyglot_disabled = ['css']
|
|||||||
|
|
||||||
Note that disabiling languages won't make in general your vim startup any faster / slower (only for specific file type). Vim-polyglot is selection of language plugins that are loaded only on demand.
|
Note that disabiling languages won't make in general your vim startup any faster / slower (only for specific file type). Vim-polyglot is selection of language plugins that are loaded only on demand.
|
||||||
|
|
||||||
## Updating
|
|
||||||
|
|
||||||
You can either wait for new patch release with updates or run the `./build` script by yourself.
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Language packs are periodically updated using automated `build` script.
|
Language packs are periodically updated using automated `build` script.
|
||||||
|
|||||||
@@ -624,6 +624,7 @@ syntax keyword cppSTLtype const_mem_fun_ref_t
|
|||||||
syntax keyword cppSTLtype const_mem_fun_t
|
syntax keyword cppSTLtype const_mem_fun_t
|
||||||
syntax keyword cppSTLtype const_pointer
|
syntax keyword cppSTLtype const_pointer
|
||||||
syntax keyword cppSTLtype const_reference
|
syntax keyword cppSTLtype const_reference
|
||||||
|
syntax keyword cppSTLtype container_type
|
||||||
syntax keyword cppSTLtype deque
|
syntax keyword cppSTLtype deque
|
||||||
syntax keyword cppSTLtype difference_type
|
syntax keyword cppSTLtype difference_type
|
||||||
syntax keyword cppSTLtype div_t
|
syntax keyword cppSTLtype div_t
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
9
build
9
build
@@ -5,6 +5,7 @@ set -E
|
|||||||
DIRS="syntax indent compiler autoload ftplugin ftdetect after/syntax after/indent after/ftplugin after/ftdetect"
|
DIRS="syntax indent compiler autoload ftplugin ftdetect after/syntax after/indent after/ftplugin after/ftdetect"
|
||||||
DIRS_BASIC="syntax compiler indent ftdetect after/syntax after/indent after/ftdetect"
|
DIRS_BASIC="syntax compiler indent ftdetect after/syntax after/indent after/ftdetect"
|
||||||
DIRS_ALL="syntax indent compiler autoload ftplugin ftdetect after"
|
DIRS_ALL="syntax indent compiler autoload ftplugin ftdetect after"
|
||||||
|
DIRS_SYNTAX="syntax ftdetect after/syntax after/ftdetect"
|
||||||
|
|
||||||
OUTPUT=""
|
OUTPUT=""
|
||||||
|
|
||||||
@@ -74,7 +75,7 @@ copy_dir() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
concat_ftdetect() {
|
concat_ftdetect() {
|
||||||
cat ftdetect/* | grep -E '^[^"]' > tmp/polyglot.vim
|
for f in ftdetect/*; do (echo '" '"$f"; cat "${f}"; echo) >> tmp/polyglot.vim; done
|
||||||
rm -f ftdetect/*
|
rm -f ftdetect/*
|
||||||
mv tmp/polyglot.vim ftdetect/
|
mv tmp/polyglot.vim ftdetect/
|
||||||
}
|
}
|
||||||
@@ -113,8 +114,8 @@ PACKS="
|
|||||||
dockerfile:honza/dockerfile.vim
|
dockerfile:honza/dockerfile.vim
|
||||||
elixir:elixir-lang/vim-elixir
|
elixir:elixir-lang/vim-elixir
|
||||||
elm:lambdatoast/elm.vim
|
elm:lambdatoast/elm.vim
|
||||||
emberscript:heartsentwined/vim-ember-script
|
emberscript:yalesov/vim-ember-script
|
||||||
emblem:heartsentwined/vim-emblem
|
emblem:yalesov/vim-emblem
|
||||||
erlang:vim-erlang/vim-erlang-runtime
|
erlang:vim-erlang/vim-erlang-runtime
|
||||||
fish:dag/vim-fish
|
fish:dag/vim-fish
|
||||||
git:tpope/vim-git
|
git:tpope/vim-git
|
||||||
@@ -137,7 +138,7 @@ PACKS="
|
|||||||
less:groenewege/vim-less
|
less:groenewege/vim-less
|
||||||
liquid:tpope/vim-liquid
|
liquid:tpope/vim-liquid
|
||||||
mako:sophacles/vim-bundle-mako
|
mako:sophacles/vim-bundle-mako
|
||||||
markdown:tpope/vim-markdown
|
markdown:plasticboy/vim-markdown:_SYNTAX
|
||||||
nginx:othree/nginx-contrib-vim
|
nginx:othree/nginx-contrib-vim
|
||||||
nim:zah/nim.vim:_BASIC
|
nim:zah/nim.vim:_BASIC
|
||||||
nix:spwhitt/vim-nix
|
nix:spwhitt/vim-nix
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
" ftdetect/ansible.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ansible') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ansible') == -1
|
||||||
|
|
||||||
function! s:isAnsible()
|
function! s:isAnsible()
|
||||||
@@ -6,129 +7,238 @@ function! s:isAnsible()
|
|||||||
if filepath =~ '\v/(tasks|roles|handlers)/.*\.ya?ml$' | return 1 | en
|
if filepath =~ '\v/(tasks|roles|handlers)/.*\.ya?ml$' | return 1 | en
|
||||||
if filepath =~ '\v/(group|host)_vars/' | return 1 | en
|
if filepath =~ '\v/(group|host)_vars/' | return 1 | en
|
||||||
if filename =~ '\v(playbook|site|main|local)\.ya?ml$' | return 1 | en
|
if filename =~ '\v(playbook|site|main|local)\.ya?ml$' | return 1 | en
|
||||||
|
|
||||||
let shebang = getline(1)
|
let shebang = getline(1)
|
||||||
if shebang =~# '^#!.*/bin/env\s\+ansible-playbook\>' | return 1 | en
|
if shebang =~# '^#!.*/bin/env\s\+ansible-playbook\>' | return 1 | en
|
||||||
if shebang =~# '^#!.*/bin/ansible-playbook\>' | return 1 | en
|
if shebang =~# '^#!.*/bin/ansible-playbook\>' | return 1 | en
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
:au BufNewFile,BufRead * if s:isAnsible() | set ft=ansible | en
|
:au BufNewFile,BufRead * if s:isAnsible() | set ft=ansible | en
|
||||||
:au BufNewFile,BufRead *.j2 set ft=ansible_template
|
:au BufNewFile,BufRead *.j2 set ft=ansible_template
|
||||||
:au BufNewFile,BufRead hosts set ft=ansible_hosts
|
:au BufNewFile,BufRead hosts set ft=ansible_hosts
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/arduino.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'arduino') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'arduino') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.ino,*.pde set filetype=arduino
|
au BufRead,BufNewFile *.ino,*.pde set filetype=arduino
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/blade.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'blade') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'blade') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.blade.php set filetype=blade
|
autocmd BufNewFile,BufRead *.blade.php set filetype=blade
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/cjsx.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cjsx') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cjsx') == -1
|
||||||
|
|
||||||
augroup CJSX
|
augroup CJSX
|
||||||
au!
|
au!
|
||||||
autocmd BufNewFile,BufRead *.csx,*.cjsx set filetype=coffee
|
autocmd BufNewFile,BufRead *.csx,*.cjsx set filetype=coffee
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/clojure.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'clojure') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'clojure') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.clj,*.cljs,*.edn,*.cljx,*.cljc setlocal filetype=clojure
|
autocmd BufNewFile,BufRead *.clj,*.cljs,*.edn,*.cljx,*.cljc setlocal filetype=clojure
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/coffee.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'coffee-script') == -1
|
||||||
|
|
||||||
|
" Language: CoffeeScript
|
||||||
|
" Maintainer: Mick Koch <mick@kochm.co>
|
||||||
|
" URL: http://github.com/kchmck/vim-coffee-script
|
||||||
|
" License: WTFPL
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.coffee set filetype=coffee
|
autocmd BufNewFile,BufRead *.coffee set filetype=coffee
|
||||||
autocmd BufNewFile,BufRead *Cakefile set filetype=coffee
|
autocmd BufNewFile,BufRead *Cakefile set filetype=coffee
|
||||||
autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee
|
autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee
|
||||||
autocmd BufNewFile,BufRead *._coffee set filetype=coffee
|
autocmd BufNewFile,BufRead *._coffee set filetype=coffee
|
||||||
|
|
||||||
function! s:DetectCoffee()
|
function! s:DetectCoffee()
|
||||||
if getline(1) =~ '^#!.*\<coffee\>'
|
if getline(1) =~ '^#!.*\<coffee\>'
|
||||||
set filetype=coffee
|
set filetype=coffee
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead * call s:DetectCoffee()
|
autocmd BufNewFile,BufRead * call s:DetectCoffee()
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/cql.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cql') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cql') == -1
|
||||||
|
|
||||||
if has("autocmd")
|
if has("autocmd")
|
||||||
au BufNewFile,BufRead *.cql set filetype=cql
|
au BufNewFile,BufRead *.cql set filetype=cql
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/cryptol.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cryptol') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cryptol') == -1
|
||||||
|
|
||||||
|
" Copyright © 2013 Edward O'Callaghan. All Rights Reserved.
|
||||||
|
" Normal Cryptol Program;
|
||||||
au! BufRead,BufNewFile *.cry set filetype=cryptol
|
au! BufRead,BufNewFile *.cry set filetype=cryptol
|
||||||
au! BufRead,BufNewFile *.cyl set filetype=cryptol
|
au! BufRead,BufNewFile *.cyl set filetype=cryptol
|
||||||
|
" Literate Cryptol Program;
|
||||||
au! BufRead,BufNewFile *.lcry set filetype=cryptol
|
au! BufRead,BufNewFile *.lcry set filetype=cryptol
|
||||||
au! BufRead,BufNewFile *.lcyl set filetype=cryptol
|
au! BufRead,BufNewFile *.lcyl set filetype=cryptol
|
||||||
|
" Also in LaTeX *.tex which is outside our coverage scope.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/crystal.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crystal') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crystal') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufReadPost *.cr setlocal filetype=crystal
|
autocmd BufNewFile,BufReadPost *.cr setlocal filetype=crystal
|
||||||
autocmd BufNewFile,BufReadPost Projectfile setlocal filetype=crystal
|
autocmd BufNewFile,BufReadPost Projectfile setlocal filetype=crystal
|
||||||
autocmd BufNewFile,BufReadPost *.ecr setlocal filetype=eruby
|
autocmd BufNewFile,BufReadPost *.ecr setlocal filetype=eruby
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/cucumber.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -1
|
||||||
|
|
||||||
|
" Cucumber
|
||||||
autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
|
autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/dart.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
|
||||||
|
|
||||||
autocmd BufRead,BufNewFile *.dart set filetype=dart
|
autocmd BufRead,BufNewFile *.dart set filetype=dart
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/dockerfile.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead Dockerfile set filetype=dockerfile
|
au BufNewFile,BufRead Dockerfile set filetype=dockerfile
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/elixir.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elixir') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.ex,*.exs call s:setf('elixir')
|
au BufRead,BufNewFile *.ex,*.exs call s:setf('elixir')
|
||||||
au BufRead,BufNewFile *.eex call s:setf('eelixir')
|
au BufRead,BufNewFile *.eex call s:setf('eelixir')
|
||||||
au BufRead,BufNewFile * call s:DetectElixir()
|
au BufRead,BufNewFile * call s:DetectElixir()
|
||||||
|
|
||||||
au FileType elixir,eelixir setl sw=2 sts=2 et iskeyword+=!,?
|
au FileType elixir,eelixir setl sw=2 sts=2 et iskeyword+=!,?
|
||||||
|
|
||||||
function! s:setf(filetype) abort
|
function! s:setf(filetype) abort
|
||||||
let &filetype = a:filetype
|
let &filetype = a:filetype
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:DetectElixir()
|
function! s:DetectElixir()
|
||||||
if getline(1) =~ '^#!.*\<elixir\>'
|
if getline(1) =~ '^#!.*\<elixir\>'
|
||||||
call s:setf('elixir')
|
call s:setf('elixir')
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/elm.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elm') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elm') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.elm set filetype=elm
|
au BufNewFile,BufRead *.elm set filetype=elm
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/ember-script.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||||
|
|
||||||
|
" Language: ember-script
|
||||||
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>>
|
||||||
|
" URL: http://github.com/yalesov/vim-ember-script
|
||||||
|
" Version: 1.0.4
|
||||||
|
" Last Change: 2016 Jul 6
|
||||||
|
" License: ISC
|
||||||
|
|
||||||
|
if !exists('g:vim_ember_script')
|
||||||
|
let g:vim_ember_script = 1
|
||||||
|
endif
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.em set filetype=ember-script
|
autocmd BufNewFile,BufRead *.em set filetype=ember-script
|
||||||
autocmd FileType ember-script set tabstop=2|set shiftwidth=2|set expandtab
|
autocmd FileType ember-script set tabstop=2|set shiftwidth=2|set expandtab
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/emblem.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.emblem set filetype=emblem
|
" Language: emblem
|
||||||
autocmd FileType emblem set tabstop=2|set shiftwidth=2|set expandtab
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>
|
||||||
|
" URL: http://github.com/yalesov/vim-emblem
|
||||||
|
" Version: 2.0.1
|
||||||
|
" Last Change: 2016 Jul 6
|
||||||
|
" License: ISC
|
||||||
|
|
||||||
|
if !exists('g:vim_emblem')
|
||||||
|
let g:vim_emblem = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if exists('g:vim_ember_script')
|
||||||
|
autocmd BufNewFile,BufRead *.emblem set filetype=emblem
|
||||||
|
else
|
||||||
|
autocmd BufNewFile,BufRead *.em,*.emblem set filetype=emblem
|
||||||
|
endif
|
||||||
|
autocmd FileType emblem set tabstop=2|set shiftwidth=2|set expandtab
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ftdetect/erlang.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'erlang') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'erlang') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.erl,*.hrl,rebar.config,*.app,*.app.src,*.yaws,*.xrl set ft=erlang
|
au BufNewFile,BufRead *.erl,*.hrl,rebar.config,*.app,*.app.src,*.yaws,*.xrl set ft=erlang
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/fish.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1
|
||||||
|
|
||||||
autocmd BufRead,BufNewFile *.fish setfiletype fish
|
autocmd BufRead,BufNewFile *.fish setfiletype fish
|
||||||
|
|
||||||
|
" Detect fish scripts by the shebang line.
|
||||||
autocmd BufRead *
|
autocmd BufRead *
|
||||||
\ if getline(1) =~# '\v^#!%(\f*/|/usr/bin/env\s*<)fish>' |
|
\ if getline(1) =~# '\v^#!%(\f*/|/usr/bin/env\s*<)fish>' |
|
||||||
\ setlocal filetype=fish |
|
\ setlocal filetype=fish |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
|
" Move cursor to first empty line when using funced.
|
||||||
autocmd BufRead fish_funced_*_*.fish call search('^$')
|
autocmd BufRead fish_funced_*_*.fish call search('^$')
|
||||||
|
|
||||||
|
" Fish histories are YAML documents.
|
||||||
autocmd BufRead,BufNewFile ~/.config/fish/fish_{read_,}history setfiletype yaml
|
autocmd BufRead,BufNewFile ~/.config/fish/fish_{read_,}history setfiletype yaml
|
||||||
|
|
||||||
|
" Universal variable storages should not be hand edited.
|
||||||
autocmd BufRead,BufNewFile ~/.config/fish/fishd.* setlocal readonly
|
autocmd BufRead,BufNewFile ~/.config/fish/fishd.* setlocal readonly
|
||||||
|
|
||||||
|
" Mimic `funced` when manually creating functions.
|
||||||
autocmd BufNewFile ~/.config/fish/functions/*.fish
|
autocmd BufNewFile ~/.config/fish/functions/*.fish
|
||||||
\ call append(0, ['function '.expand('%:t:r'),
|
\ call append(0, ['function '.expand('%:t:r'),
|
||||||
\'',
|
\'',
|
||||||
\'end']) |
|
\'end']) |
|
||||||
\ 2
|
\ 2
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/git.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||||
|
|
||||||
|
" Git
|
||||||
autocmd BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
|
autocmd BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
|
||||||
autocmd BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig
|
autocmd BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig
|
||||||
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
|
||||||
@@ -139,6 +249,8 @@ autocmd BufNewFile,BufRead *.git/**
|
|||||||
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
|
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
|
||||||
\ set ft=git |
|
\ set ft=git |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
|
" This logic really belongs in scripts.vim
|
||||||
autocmd BufNewFile,BufRead,StdinReadPost *
|
autocmd BufNewFile,BufRead,StdinReadPost *
|
||||||
\ if getline(1) =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' |
|
\ if getline(1) =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' |
|
||||||
\ set ft=git |
|
\ set ft=git |
|
||||||
@@ -147,92 +259,153 @@ autocmd BufNewFile,BufRead *
|
|||||||
\ if getline(1) =~ '^From \x\{40\} Mon Sep 17 00:00:00 2001$' |
|
\ if getline(1) =~ '^From \x\{40\} Mon Sep 17 00:00:00 2001$' |
|
||||||
\ set filetype=gitsendemail |
|
\ set filetype=gitsendemail |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/glsl.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1
|
||||||
|
|
||||||
|
" Language: OpenGL Shading Language
|
||||||
|
" Maintainer: Sergey Tikhomirov <sergey@tikhomirov.io>
|
||||||
|
|
||||||
autocmd! BufNewFile,BufRead *.glsl,*.geom,*.vert,*.frag,*.gsh,*.vsh,*.fsh,*.vs,*.fs,*.gs,*.tcs,*.tes set filetype=glsl
|
autocmd! BufNewFile,BufRead *.glsl,*.geom,*.vert,*.frag,*.gsh,*.vsh,*.fsh,*.vs,*.fs,*.gs,*.tcs,*.tes set filetype=glsl
|
||||||
|
|
||||||
|
" vim:set sts=2 sw=2 :
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/gofiletype.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'go') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'go') == -1
|
||||||
|
|
||||||
|
" We take care to preserve the user's fileencodings and fileformats,
|
||||||
|
" because those settings are global (not buffer local), yet we want
|
||||||
|
" to override them for loading Go files, which are defined to be UTF-8.
|
||||||
let s:current_fileformats = ''
|
let s:current_fileformats = ''
|
||||||
let s:current_fileencodings = ''
|
let s:current_fileencodings = ''
|
||||||
|
|
||||||
|
" define fileencodings to open as utf-8 encoding even if it's ascii.
|
||||||
function! s:gofiletype_pre(type)
|
function! s:gofiletype_pre(type)
|
||||||
let s:current_fileformats = &g:fileformats
|
let s:current_fileformats = &g:fileformats
|
||||||
let s:current_fileencodings = &g:fileencodings
|
let s:current_fileencodings = &g:fileencodings
|
||||||
set fileencodings=utf-8 fileformats=unix
|
set fileencodings=utf-8 fileformats=unix
|
||||||
let &l:filetype = a:type
|
let &l:filetype = a:type
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" restore fileencodings as others
|
||||||
function! s:gofiletype_post()
|
function! s:gofiletype_post()
|
||||||
let &g:fileformats = s:current_fileformats
|
let &g:fileformats = s:current_fileformats
|
||||||
let &g:fileencodings = s:current_fileencodings
|
let &g:fileencodings = s:current_fileencodings
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
au BufNewFile *.go setfiletype go | setlocal fileencoding=utf-8 fileformat=unix
|
au BufNewFile *.go setfiletype go | setlocal fileencoding=utf-8 fileformat=unix
|
||||||
au BufRead *.go call s:gofiletype_pre("go")
|
au BufRead *.go call s:gofiletype_pre("go")
|
||||||
au BufReadPost *.go call s:gofiletype_post()
|
au BufReadPost *.go call s:gofiletype_post()
|
||||||
|
|
||||||
au BufNewFile *.s setfiletype asm | setlocal fileencoding=utf-8 fileformat=unix
|
au BufNewFile *.s setfiletype asm | setlocal fileencoding=utf-8 fileformat=unix
|
||||||
au BufRead *.s call s:gofiletype_pre("asm")
|
au BufRead *.s call s:gofiletype_pre("asm")
|
||||||
au BufReadPost *.s call s:gofiletype_post()
|
au BufReadPost *.s call s:gofiletype_post()
|
||||||
|
|
||||||
au BufRead,BufNewFile *.tmpl set filetype=gohtmltmpl
|
au BufRead,BufNewFile *.tmpl set filetype=gohtmltmpl
|
||||||
|
|
||||||
|
" vim: sw=2 ts=2 et
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/haml.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haml') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc setf haml
|
autocmd BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc setf haml
|
||||||
autocmd BufNewFile,BufRead *.sass setf sass
|
autocmd BufNewFile,BufRead *.sass setf sass
|
||||||
autocmd BufNewFile,BufRead *.scss setf scss
|
autocmd BufNewFile,BufRead *.scss setf scss
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/haskell.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haskell') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.hsc set filetype=haskell
|
au BufRead,BufNewFile *.hsc set filetype=haskell
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/haxe.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haxe') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'haxe') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.hx setf haxe
|
autocmd BufNewFile,BufRead *.hx setf haxe
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/jasmine.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jasmine') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jasmine') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript syntax=jasmine
|
autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript syntax=jasmine
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/javascript.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.js setf javascript
|
au BufNewFile,BufRead *.js setf javascript
|
||||||
au BufNewFile,BufRead *.jsm setf javascript
|
au BufNewFile,BufRead *.jsm setf javascript
|
||||||
au BufNewFile,BufRead Jakefile setf javascript
|
au BufNewFile,BufRead Jakefile setf javascript
|
||||||
|
|
||||||
fun! s:SelectJavascript()
|
fun! s:SelectJavascript()
|
||||||
if getline(1) =~# '^#!.*/bin/\%(env\s\+\)\?node\>'
|
if getline(1) =~# '^#!.*/bin/\%(env\s\+\)\?node\>'
|
||||||
set ft=javascript
|
set ft=javascript
|
||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
au BufNewFile,BufRead * call s:SelectJavascript()
|
au BufNewFile,BufRead * call s:SelectJavascript()
|
||||||
|
|
||||||
endif
|
endif
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jsx') == -1
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" Vim ftdetect file
|
||||||
|
"
|
||||||
|
" Language: JSX (JavaScript)
|
||||||
|
" Maintainer: Max Wang <mxawng@gmail.com>
|
||||||
|
"
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
" Whether the .jsx extension is required.
|
||||||
if !exists('g:jsx_ext_required')
|
if !exists('g:jsx_ext_required')
|
||||||
let g:jsx_ext_required = 1
|
let g:jsx_ext_required = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Whether the @jsx pragma is required.
|
||||||
if !exists('g:jsx_pragma_required')
|
if !exists('g:jsx_pragma_required')
|
||||||
let g:jsx_pragma_required = 0
|
let g:jsx_pragma_required = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if g:jsx_pragma_required
|
if g:jsx_pragma_required
|
||||||
" Look for the @jsx pragma. It must be included in a docblock comment before
|
" Look for the @jsx pragma. It must be included in a docblock comment before
|
||||||
" anything else in the file (except whitespace).
|
" anything else in the file (except whitespace).
|
||||||
let s:jsx_pragma_pattern = '\%^\_s*\/\*\*\%(\_.\%(\*\/\)\@!\)*@jsx\_.\{-}\*\/'
|
let s:jsx_pragma_pattern = '\%^\_s*\/\*\*\%(\_.\%(\*\/\)\@!\)*@jsx\_.\{-}\*\/'
|
||||||
let b:jsx_pragma_found = search(s:jsx_pragma_pattern, 'npw')
|
let b:jsx_pragma_found = search(s:jsx_pragma_pattern, 'npw')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Whether to set the JSX filetype on *.js files.
|
||||||
fu! <SID>EnableJSX()
|
fu! <SID>EnableJSX()
|
||||||
if g:jsx_pragma_required && !b:jsx_pragma_found | return 0 | endif
|
if g:jsx_pragma_required && !b:jsx_pragma_found | return 0 | endif
|
||||||
if g:jsx_ext_required && !exists('b:jsx_ext_found') | return 0 | endif
|
if g:jsx_ext_required && !exists('b:jsx_ext_found') | return 0 | endif
|
||||||
return 1
|
return 1
|
||||||
endfu
|
endfu
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.jsx let b:jsx_ext_found = 1
|
autocmd BufNewFile,BufRead *.jsx let b:jsx_ext_found = 1
|
||||||
autocmd BufNewFile,BufRead *.jsx set filetype=javascript.jsx
|
autocmd BufNewFile,BufRead *.jsx set filetype=javascript.jsx
|
||||||
autocmd BufNewFile,BufRead *.js
|
autocmd BufNewFile,BufRead *.js
|
||||||
\ if <SID>EnableJSX() | set filetype=javascript.jsx | endif
|
\ if <SID>EnableJSX() | set filetype=javascript.jsx | endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/json.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'json') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'json') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.json set filetype=json
|
autocmd BufNewFile,BufRead *.json set filetype=json
|
||||||
autocmd BufNewFile,BufRead *.jsonp set filetype=json
|
autocmd BufNewFile,BufRead *.jsonp set filetype=json
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/jst.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jst') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jst') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.ejs set filetype=jst
|
au BufNewFile,BufRead *.ejs set filetype=jst
|
||||||
@@ -240,24 +413,42 @@ au BufNewFile,BufRead *.jst set filetype=jst
|
|||||||
au BufNewFile,BufRead *.djs set filetype=jst
|
au BufNewFile,BufRead *.djs set filetype=jst
|
||||||
au BufNewFile,BufRead *.hamljs set filetype=jst
|
au BufNewFile,BufRead *.hamljs set filetype=jst
|
||||||
au BufNewFile,BufRead *.ect set filetype=jst
|
au BufNewFile,BufRead *.ect set filetype=jst
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/julia.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'julia') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'julia') == -1
|
||||||
|
|
||||||
|
" NOTE: this line fixes an issue with the default system-wide lisp ftplugin
|
||||||
|
" which doesn't define b:undo_ftplugin
|
||||||
|
" (*.jt files are recognized as lisp)
|
||||||
au BufRead,BufNewFile *.jl let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp<"
|
au BufRead,BufNewFile *.jl let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp<"
|
||||||
|
|
||||||
au BufRead,BufNewFile *.jl set filetype=julia
|
au BufRead,BufNewFile *.jl set filetype=julia
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/kotlin.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.kt setfiletype kotlin
|
autocmd BufNewFile,BufRead *.kt setfiletype kotlin
|
||||||
autocmd BufNewFile,BufRead *.kts setfiletype kotlin
|
autocmd BufNewFile,BufRead *.kts setfiletype kotlin
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/less.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'less') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.less setf less
|
autocmd BufNewFile,BufRead *.less setf less
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/liquid.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'liquid') == -1
|
||||||
|
|
||||||
|
" Liquid
|
||||||
au BufNewFile,BufRead *.liquid set ft=liquid
|
au BufNewFile,BufRead *.liquid set ft=liquid
|
||||||
|
|
||||||
au BufNewFile,BufRead */_layouts/*.html,*/_includes/*.html set ft=liquid
|
au BufNewFile,BufRead */_layouts/*.html,*/_includes/*.html set ft=liquid
|
||||||
au BufNewFile,BufRead *.html,*.xml,*.textile
|
au BufNewFile,BufRead *.html,*.xml,*.textile
|
||||||
\ if getline(1) == '---' | set ft=liquid | endif
|
\ if getline(1) == '---' | set ft=liquid | endif
|
||||||
@@ -266,188 +457,359 @@ au BufNewFile,BufRead *.markdown,*.mkd,*.mkdn,*.md
|
|||||||
\ let b:liquid_subtype = 'markdown' |
|
\ let b:liquid_subtype = 'markdown' |
|
||||||
\ set ft=liquid |
|
\ set ft=liquid |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
|
" Set subtype for Shopify alternate templates
|
||||||
au BufNewFile,BufRead */templates/**.liquid,*/layout/**.liquid,*/snippets/**.liquid
|
au BufNewFile,BufRead */templates/**.liquid,*/layout/**.liquid,*/snippets/**.liquid
|
||||||
\ let b:liquid_subtype = 'html' |
|
\ let b:liquid_subtype = 'html' |
|
||||||
\ set ft=liquid |
|
\ set ft=liquid |
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/mako.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mako') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mako') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.mako set filetype=mako
|
au BufRead,BufNewFile *.mako set filetype=mako
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/markdown.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mkd,*.mkdn
|
" markdown filetype file
|
||||||
\ if &ft =~# '^\%(conf\|modula2\)$' |
|
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=markdown
|
||||||
\ set ft=markdown |
|
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set filetype=markdown
|
||||||
\ else |
|
|
||||||
\ setf markdown |
|
|
||||||
\ endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/mason-in-html.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||||
|
|
||||||
|
" Highlight .html files as Mason if they start with Mason tags
|
||||||
autocmd BufRead *.html
|
autocmd BufRead *.html
|
||||||
\ if getline(1) =~ '^\(%\|<[%&].*>\)' |
|
\ if getline(1) =~ '^\(%\|<[%&].*>\)' |
|
||||||
\ set filetype=mason |
|
\ set filetype=mason |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/mustache.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') == -1
|
||||||
|
|
||||||
if has("autocmd")
|
if has("autocmd")
|
||||||
au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||||
au BufNewFile,BufRead *.handlebars,*.hbs set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
au BufNewFile,BufRead *.handlebars,*.hbs set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/nginx.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nginx') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.nginx set ft=nginx
|
au BufRead,BufNewFile *.nginx set ft=nginx
|
||||||
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
|
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
|
||||||
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
|
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
|
||||||
au BufRead,BufNewFile nginx.conf set ft=nginx
|
au BufRead,BufNewFile nginx.conf set ft=nginx
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/nim.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nim') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nim') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.nim,*.nims set filetype=nim
|
au BufNewFile,BufRead *.nim,*.nims set filetype=nim
|
||||||
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/nix.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nix') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'nix') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.nix setfiletype nix
|
autocmd BufNewFile,BufRead *.nix setfiletype nix
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/opencl.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'opencl') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'opencl') == -1
|
||||||
|
|
||||||
au! BufRead,BufNewFile *.cl set filetype=opencl
|
au! BufRead,BufNewFile *.cl set filetype=opencl
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/perl11.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'perl') == -1
|
||||||
|
|
||||||
function! s:DetectPerl6()
|
function! s:DetectPerl6()
|
||||||
let line_no = 1
|
let line_no = 1
|
||||||
let eof = line('$')
|
let eof = line('$')
|
||||||
let in_pod = 0
|
let in_pod = 0
|
||||||
|
|
||||||
while line_no <= eof
|
while line_no <= eof
|
||||||
let line = getline(line_no)
|
let line = getline(line_no)
|
||||||
let line_no = line_no + 1
|
let line_no = line_no + 1
|
||||||
|
|
||||||
if line =~ '^=\w'
|
if line =~ '^=\w'
|
||||||
let in_pod = 1
|
let in_pod = 1
|
||||||
elseif line =~ '^=\%(end\|cut\)'
|
elseif line =~ '^=\%(end\|cut\)'
|
||||||
let in_pod = 0
|
let in_pod = 0
|
||||||
elseif !in_pod
|
elseif !in_pod
|
||||||
let line = substitute(line, '#.*', '', '')
|
let line = substitute(line, '#.*', '', '')
|
||||||
|
|
||||||
if line =~ '^\s*$'
|
if line =~ '^\s*$'
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if line =~ '^\s*\%(use\s\+\)\=v6\%(\.\d\%(\.\d\)\=\)\=;'
|
if line =~ '^\s*\%(use\s\+\)\=v6\%(\.\d\%(\.\d\)\=\)\=;'
|
||||||
set filetype=perl6 " we matched a 'use v6' declaration
|
set filetype=perl6 " we matched a 'use v6' declaration
|
||||||
elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\%(unit\s\+\)\=\(module\|class\|role\|enum\|grammar\)'
|
elseif line =~ '^\s*\%(\%(my\|our\)\s\+\)\=\%(unit\s\+\)\=\(module\|class\|role\|enum\|grammar\)'
|
||||||
set filetype=perl6 " we found a class, role, module, enum, or grammar declaration
|
set filetype=perl6 " we found a class, role, module, enum, or grammar declaration
|
||||||
endif
|
endif
|
||||||
|
|
||||||
break " we either found what we needed, or we found a non-POD, non-comment,
|
break " we either found what we needed, or we found a non-POD, non-comment,
|
||||||
" non-Perl 6 indicating line, so bail out
|
" non-Perl 6 indicating line, so bail out
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
autocmd BufReadPost *.pl,*.pm,*.t call s:DetectPerl6()
|
autocmd BufReadPost *.pl,*.pm,*.t call s:DetectPerl6()
|
||||||
autocmd BufNew,BufNewFile,BufRead *.nqp setf perl6
|
autocmd BufNew,BufNewFile,BufRead *.nqp setf perl6
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/pgsql.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pgsql') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pgsql') == -1
|
||||||
|
|
||||||
|
" postgreSQL
|
||||||
au BufNewFile,BufRead *.pgsql setf pgsql
|
au BufNewFile,BufRead *.pgsql setf pgsql
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/plantuml.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == -1
|
||||||
|
|
||||||
|
" Vim ftdetect file
|
||||||
|
" Language: PlantUML
|
||||||
|
" Maintainer: Aaron C. Meadows < language name at shadowguarddev dot com>
|
||||||
|
" Last Change: 19-Jun-2012
|
||||||
|
" Version: 0.1
|
||||||
|
|
||||||
if did_filetype()
|
if did_filetype()
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
autocmd BufRead,BufNewFile * :if getline(1) =~ '^.*startuml.*$'| setfiletype plantuml | set filetype=plantuml | endif
|
autocmd BufRead,BufNewFile * :if getline(1) =~ '^.*startuml.*$'| setfiletype plantuml | set filetype=plantuml | endif
|
||||||
autocmd BufRead,BufNewFile *.pu,*.uml,*.plantuml setfiletype plantuml | set filetype=plantuml
|
autocmd BufRead,BufNewFile *.pu,*.uml,*.plantuml setfiletype plantuml | set filetype=plantuml
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/proto.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'protobuf') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'protobuf') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
autocmd BufNewFile,BufRead *.proto setfiletype proto
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/ps1.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||||
|
|
||||||
|
" Vim ftdetect plugin file
|
||||||
|
" Language: Windows PowerShell
|
||||||
|
" Maintainer: Peter Provost <peter@provost.org>
|
||||||
|
" Version: 2.10
|
||||||
|
" Project Repository: https://github.com/PProvost/vim-ps1
|
||||||
|
" Vim Script Page: http://www.vim.org/scripts/script.php?script_id=1327
|
||||||
|
"
|
||||||
au BufNewFile,BufRead *.ps1 set ft=ps1
|
au BufNewFile,BufRead *.ps1 set ft=ps1
|
||||||
au BufNewFile,BufRead *.psd1 set ft=ps1
|
au BufNewFile,BufRead *.psd1 set ft=ps1
|
||||||
au BufNewFile,BufRead *.psm1 set ft=ps1
|
au BufNewFile,BufRead *.psm1 set ft=ps1
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/ps1xml.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'powershell') == -1
|
||||||
|
|
||||||
|
" Vim ftdetect plugin file
|
||||||
|
" Language: Windows PowerShell
|
||||||
|
" Maintainer: Peter Provost <peter@provost.org>
|
||||||
|
" Version: 2.10
|
||||||
|
" Project Repository: https://github.com/PProvost/vim-ps1
|
||||||
|
" Vim Script Page: http://www.vim.org/scripts/script.php?script_id=1327
|
||||||
|
|
||||||
au BufNewFile,BufRead *.ps1xml set ft=ps1xml
|
au BufNewFile,BufRead *.ps1xml set ft=ps1xml
|
||||||
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/pug.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pug') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pug') == -1
|
||||||
|
|
||||||
|
" Pug
|
||||||
autocmd BufNewFile,BufReadPost *.pug set filetype=pug
|
autocmd BufNewFile,BufReadPost *.pug set filetype=pug
|
||||||
|
|
||||||
|
" Jade
|
||||||
autocmd BufNewFile,BufReadPost *.jade set filetype=pug
|
autocmd BufNewFile,BufReadPost *.jade set filetype=pug
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/puppet.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||||
|
|
||||||
au! BufRead,BufNewFile *.pp setfiletype puppet
|
au! BufRead,BufNewFile *.pp setfiletype puppet
|
||||||
au! BufRead,BufNewFile Puppetfile setfiletype ruby
|
au! BufRead,BufNewFile Puppetfile setfiletype ruby
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/purescript.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'purescript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'purescript') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.purs setf purescript
|
au BufNewFile,BufRead *.purs setf purescript
|
||||||
au FileType purescript let &l:commentstring='{--%s--}'
|
au FileType purescript let &l:commentstring='{--%s--}'
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/qml.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'qml') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'qml') == -1
|
||||||
|
|
||||||
autocmd BufRead,BufNewFile *.qml setfiletype qml
|
autocmd BufRead,BufNewFile *.qml setfiletype qml
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/ruby.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||||
|
|
||||||
|
" Officially distributed filetypes
|
||||||
|
|
||||||
|
" Support functions {{{
|
||||||
function! s:setf(filetype) abort
|
function! s:setf(filetype) abort
|
||||||
if &filetype !=# a:filetype
|
if &filetype !=# a:filetype
|
||||||
let &filetype = a:filetype
|
let &filetype = a:filetype
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
func! s:StarSetf(ft)
|
func! s:StarSetf(ft)
|
||||||
if expand("<amatch>") !~ g:ft_ignore_pat
|
if expand("<amatch>") !~ g:ft_ignore_pat
|
||||||
exe 'setf ' . a:ft
|
exe 'setf ' . a:ft
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" HTML with Ruby - eRuby
|
||||||
au BufNewFile,BufRead *.erb,*.rhtml call s:setf('eruby')
|
au BufNewFile,BufRead *.erb,*.rhtml call s:setf('eruby')
|
||||||
|
|
||||||
|
" Interactive Ruby shell
|
||||||
au BufNewFile,BufRead .irbrc,irbrc call s:setf('ruby')
|
au BufNewFile,BufRead .irbrc,irbrc call s:setf('ruby')
|
||||||
|
|
||||||
|
" Ruby
|
||||||
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec call s:setf('ruby')
|
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec call s:setf('ruby')
|
||||||
|
|
||||||
|
" Rackup
|
||||||
au BufNewFile,BufRead *.ru call s:setf('ruby')
|
au BufNewFile,BufRead *.ru call s:setf('ruby')
|
||||||
|
|
||||||
|
" Bundler
|
||||||
au BufNewFile,BufRead Gemfile call s:setf('ruby')
|
au BufNewFile,BufRead Gemfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" Ruby on Rails
|
||||||
au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby call s:setf('ruby')
|
au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby call s:setf('ruby')
|
||||||
|
|
||||||
|
" Rakefile
|
||||||
au BufNewFile,BufRead [rR]akefile,*.rake call s:setf('ruby')
|
au BufNewFile,BufRead [rR]akefile,*.rake call s:setf('ruby')
|
||||||
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
|
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
|
||||||
|
|
||||||
|
" TODO: does anyone still use Rantfiles? Remove for Vim 8?
|
||||||
|
" Rantfile
|
||||||
au BufNewFile,BufRead [rR]antfile,*.rant call s:setf('ruby')
|
au BufNewFile,BufRead [rR]antfile,*.rant call s:setf('ruby')
|
||||||
|
|
||||||
|
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/ruby_extra.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1
|
||||||
|
|
||||||
|
" All other filetypes
|
||||||
|
|
||||||
|
" Support functions {{{
|
||||||
function! s:setf(filetype) abort
|
function! s:setf(filetype) abort
|
||||||
if &filetype !=# a:filetype
|
if &filetype !=# a:filetype
|
||||||
let &filetype = a:filetype
|
let &filetype = a:filetype
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Appraisal
|
||||||
au BufNewFile,BufRead Appraisals call s:setf('ruby')
|
au BufNewFile,BufRead Appraisals call s:setf('ruby')
|
||||||
|
|
||||||
|
" Autotest
|
||||||
au BufNewFile,BufRead .autotest call s:setf('ruby')
|
au BufNewFile,BufRead .autotest call s:setf('ruby')
|
||||||
|
|
||||||
|
" Buildr Buildfile
|
||||||
au BufNewFile,BufRead [Bb]uildfile call s:setf('ruby')
|
au BufNewFile,BufRead [Bb]uildfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" Capistrano
|
||||||
au BufNewFile,BufRead Capfile,*.cap call s:setf('ruby')
|
au BufNewFile,BufRead Capfile,*.cap call s:setf('ruby')
|
||||||
|
|
||||||
|
" Chef
|
||||||
au BufNewFile,BufRead Cheffile call s:setf('ruby')
|
au BufNewFile,BufRead Cheffile call s:setf('ruby')
|
||||||
au BufNewFile,BufRead Berksfile call s:setf('ruby')
|
au BufNewFile,BufRead Berksfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" CocoaPods
|
||||||
au BufNewFile,BufRead Podfile,*.podspec call s:setf('ruby')
|
au BufNewFile,BufRead Podfile,*.podspec call s:setf('ruby')
|
||||||
|
|
||||||
|
" Guard
|
||||||
au BufNewFile,BufRead Guardfile,.Guardfile call s:setf('ruby')
|
au BufNewFile,BufRead Guardfile,.Guardfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" Jbuilder
|
||||||
au BufNewFile,BufRead *.jbuilder call s:setf('ruby')
|
au BufNewFile,BufRead *.jbuilder call s:setf('ruby')
|
||||||
|
|
||||||
|
" Kitchen Sink
|
||||||
au BufNewFile,BufRead KitchenSink call s:setf('ruby')
|
au BufNewFile,BufRead KitchenSink call s:setf('ruby')
|
||||||
|
|
||||||
|
" Opal
|
||||||
au BufNewFile,BufRead *.opal call s:setf('ruby')
|
au BufNewFile,BufRead *.opal call s:setf('ruby')
|
||||||
|
|
||||||
|
" Pry config
|
||||||
au BufNewFile,BufRead .pryrc call s:setf('ruby')
|
au BufNewFile,BufRead .pryrc call s:setf('ruby')
|
||||||
|
|
||||||
|
" Puppet librarian
|
||||||
au BufNewFile,BufRead Puppetfile call s:setf('ruby')
|
au BufNewFile,BufRead Puppetfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" Rabl
|
||||||
au BufNewFile,BufRead *.rabl call s:setf('ruby')
|
au BufNewFile,BufRead *.rabl call s:setf('ruby')
|
||||||
|
|
||||||
|
" Routefile
|
||||||
au BufNewFile,BufRead [rR]outefile call s:setf('ruby')
|
au BufNewFile,BufRead [rR]outefile call s:setf('ruby')
|
||||||
|
|
||||||
|
" SimpleCov
|
||||||
au BufNewFile,BufRead .simplecov call s:setf('ruby')
|
au BufNewFile,BufRead .simplecov call s:setf('ruby')
|
||||||
|
|
||||||
|
" Thor
|
||||||
au BufNewFile,BufRead [tT]horfile,*.thor call s:setf('ruby')
|
au BufNewFile,BufRead [tT]horfile,*.thor call s:setf('ruby')
|
||||||
|
|
||||||
|
" Vagrant
|
||||||
au BufNewFile,BufRead [vV]agrantfile call s:setf('ruby')
|
au BufNewFile,BufRead [vV]agrantfile call s:setf('ruby')
|
||||||
|
|
||||||
|
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/rust.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.rs set filetype=rust
|
au BufRead,BufNewFile *.rs set filetype=rust
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/sbt.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sbt') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sbt') == -1
|
||||||
|
|
||||||
|
" Vim detect file
|
||||||
|
" Language: sbt
|
||||||
|
" Maintainer: Derek Wyatt <derek@{myfirstname}{mylastname}.org>
|
||||||
|
" Last Change: 2012 Jan 19
|
||||||
|
|
||||||
au BufRead,BufNewFile *.sbt set filetype=sbt.scala
|
au BufRead,BufNewFile *.sbt set filetype=sbt.scala
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/scala.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1
|
||||||
|
|
||||||
fun! s:DetectScala()
|
fun! s:DetectScala()
|
||||||
@@ -455,23 +817,39 @@ fun! s:DetectScala()
|
|||||||
set filetype=scala
|
set filetype=scala
|
||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
au BufRead,BufNewFile *.scala set filetype=scala
|
au BufRead,BufNewFile *.scala set filetype=scala
|
||||||
au BufRead,BufNewFile * call s:DetectScala()
|
au BufRead,BufNewFile * call s:DetectScala()
|
||||||
|
|
||||||
|
" Install vim-sbt for additional syntax highlighting.
|
||||||
au BufRead,BufNewFile *.sbt setfiletype sbt.scala
|
au BufRead,BufNewFile *.sbt setfiletype sbt.scala
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/slim.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slim') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slim') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.slim setf slim
|
autocmd BufNewFile,BufRead *.slim setf slim
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/solidity.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'solidity') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'solidity') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.sol setf solidity
|
au BufNewFile,BufRead *.sol setf solidity
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/stylus.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'stylus') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'stylus') == -1
|
||||||
|
|
||||||
|
" Stylus
|
||||||
autocmd BufNewFile,BufReadPost *.styl set filetype=stylus
|
autocmd BufNewFile,BufReadPost *.styl set filetype=stylus
|
||||||
autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus
|
autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/swift.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'swift') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'swift') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.swift set filetype=swift
|
autocmd BufNewFile,BufRead *.swift set filetype=swift
|
||||||
@@ -480,12 +858,16 @@ function! s:Swift()
|
|||||||
if !empty(&filetype)
|
if !empty(&filetype)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let line = getline(1)
|
let line = getline(1)
|
||||||
if line =~ "^#!.*swift"
|
if line =~ "^#!.*swift"
|
||||||
setfiletype swift
|
setfiletype swift
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/systemd.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'systemd') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'systemd') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.automount set filetype=systemd
|
au BufNewFile,BufRead *.automount set filetype=systemd
|
||||||
@@ -496,38 +878,74 @@ au BufNewFile,BufRead *.socket set filetype=systemd
|
|||||||
au BufNewFile,BufRead *.swap set filetype=systemd
|
au BufNewFile,BufRead *.swap set filetype=systemd
|
||||||
au BufNewFile,BufRead *.target set filetype=systemd
|
au BufNewFile,BufRead *.target set filetype=systemd
|
||||||
au BufNewFile,BufRead *.timer set filetype=systemd
|
au BufNewFile,BufRead *.timer set filetype=systemd
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/textile.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'textile') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'textile') == -1
|
||||||
|
|
||||||
|
" textile.vim
|
||||||
|
"
|
||||||
|
" Tim Harper (tim.theenchanter.com)
|
||||||
|
|
||||||
|
" Force filetype to be textile even if already set
|
||||||
|
" This will override the system ftplugin/changelog
|
||||||
|
" set on some distros
|
||||||
au BufRead,BufNewFile *.textile set filetype=textile
|
au BufRead,BufNewFile *.textile set filetype=textile
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/thrift.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'thrift') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'thrift') == -1
|
||||||
|
|
||||||
au BufNewFile,BufRead *.thrift setlocal filetype=thrift
|
au BufNewFile,BufRead *.thrift setlocal filetype=thrift
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/tmux.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tmux') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tmux') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead {.,}tmux*.conf* setfiletype tmux
|
autocmd BufNewFile,BufRead {.,}tmux*.conf* setfiletype tmux
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/toml.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'toml') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'toml') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.toml set filetype=toml
|
autocmd BufNewFile,BufRead *.toml set filetype=toml
|
||||||
|
|
||||||
|
" Rust uses Cargo.toml and Cargo.lock (both are toml files).
|
||||||
autocmd BufNewFile,BufRead Cargo.lock set filetype=toml
|
autocmd BufNewFile,BufRead Cargo.lock set filetype=toml
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/typescript.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||||
|
|
||||||
autocmd BufNewFile,BufRead *.ts,*.tsx setlocal filetype=typescript
|
autocmd BufNewFile,BufRead *.ts,*.tsx setlocal filetype=typescript
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/vala.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
|
||||||
|
|
||||||
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
|
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
|
||||||
au BufRead,BufNewFile *.vala,*.vapi setfiletype vala
|
au BufRead,BufNewFile *.vala,*.vapi setfiletype vala
|
||||||
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/vcl.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vcl') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vcl') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.vcl set filetype=vcl
|
au BufRead,BufNewFile *.vcl set filetype=vcl
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ftdetect/velocity.vim
|
||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vm') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vm') == -1
|
||||||
|
|
||||||
au BufRead,BufNewFile *.vm set ft=velocity syntax=velocity
|
au BufRead,BufNewFile *.vm set ft=velocity syntax=velocity
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,26 @@ endif
|
|||||||
runtime! ftplugin/html.vim
|
runtime! ftplugin/html.vim
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
setlocal iskeyword+=@-@
|
setlocal suffixesadd=.blade.php,.php
|
||||||
|
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||||
|
setlocal path+=resources/views;
|
||||||
|
setlocal include=\\w\\@<!@\\%(include\\\|extends\\)
|
||||||
|
setlocal define=\\w\\@<!@\\%(yield\\\|stack\\)
|
||||||
|
|
||||||
|
setlocal commentstring={{--%s--}}
|
||||||
|
setlocal comments+=s:{{--,m:\ \ \ \ ,e:--}}
|
||||||
|
|
||||||
|
if exists('loaded_matchit') && exists('b:match_words')
|
||||||
|
" Append to html matchit words
|
||||||
|
let b:match_words .= ',' .
|
||||||
|
\ '@\%(section\|if\|unless\|foreach\|forelse\|for\|while\|push\|can\|cannot\|hasSection\|php\|verbatim\)\>' .
|
||||||
|
\ ':' .
|
||||||
|
\ '@\%(else\|elseif\|empty\|break\|continue\|elsecan\|elsecannot\)\>' .
|
||||||
|
\ ':' .
|
||||||
|
\ '@\%(end\w\+\|stop\|show\|append\|overwrite\)' .
|
||||||
|
\ ',{:},\[:\],(:)'
|
||||||
|
let b:match_skip = 'synIDattr(synID(line("."), col("."), 0), "name") !=# "bladeKeyword"'
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ call coffee#CoffeeSetUpVariables()
|
|||||||
setlocal formatoptions-=t formatoptions+=croql
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
setlocal comments=:# commentstring=#\ %s
|
setlocal comments=:# commentstring=#\ %s
|
||||||
setlocal omnifunc=javascriptcomplete#CompleteJS
|
setlocal omnifunc=javascriptcomplete#CompleteJS
|
||||||
setlocal suffixesadd+=coffee
|
setlocal suffixesadd+=.coffee
|
||||||
|
|
||||||
" Create custom augroups.
|
" Create custom augroups.
|
||||||
augroup CoffeeBufUpdate | augroup END
|
augroup CoffeeBufUpdate | augroup END
|
||||||
|
|||||||
@@ -56,6 +56,6 @@ let &l:path =
|
|||||||
setlocal includeexpr=GetElixirFilename(v:fname)
|
setlocal includeexpr=GetElixirFilename(v:fname)
|
||||||
setlocal suffixesadd=.ex,.exs,.eex,.erl,.yrl,.hrl
|
setlocal suffixesadd=.ex,.exs,.eex,.erl,.yrl,.hrl
|
||||||
|
|
||||||
setlocal formatoptions-=t formatoptions+=croqlj
|
silent! setlocal formatoptions-=t formatoptions+=croqlj
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||||
|
|
||||||
" Language: ember-script
|
" Language: ember-script
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>>
|
||||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
" URL: http://github.com/yalesov/vim-ember-script
|
||||||
" Version: 1.0.1
|
" Version: 1.0.4
|
||||||
" Last Change: 2013 Apr 17
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
setlocal tabstop=2
|
setlocal tabstop=2
|
||||||
setlocal softtabstop=2
|
setlocal softtabstop=2
|
||||||
@@ -14,7 +14,11 @@ setlocal smarttab
|
|||||||
setlocal expandtab
|
setlocal expandtab
|
||||||
setlocal smartindent
|
setlocal smartindent
|
||||||
|
|
||||||
|
if v:version < 703
|
||||||
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
else
|
||||||
setlocal formatoptions-=t formatoptions+=croqlj
|
setlocal formatoptions-=t formatoptions+=croqlj
|
||||||
|
endif
|
||||||
setlocal comments=:#
|
setlocal comments=:#
|
||||||
setlocal commentstring=#\ %s
|
setlocal commentstring=#\ %s
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||||
|
|
||||||
" Language: emblem
|
" Language: emblem
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>
|
||||||
" URL: http://github.com/heartsentwined/vim-emblem
|
" URL: http://github.com/yalesov/vim-emblem
|
||||||
" Version: 1.2.0
|
" Version: 2.0.1
|
||||||
" Last Change: 2013 Apr 22
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
setlocal tabstop=2
|
setlocal tabstop=2
|
||||||
setlocal softtabstop=2
|
setlocal softtabstop=2
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
|
||||||
|
|
||||||
" Vim filetype plugin
|
|
||||||
" Language: Markdown
|
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
|
||||||
" Last Change: 2013 May 30
|
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
|
|
||||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
|
||||||
|
|
||||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=<!--%s-->
|
|
||||||
setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:
|
|
||||||
|
|
||||||
if exists('b:undo_ftplugin')
|
|
||||||
let b:undo_ftplugin .= "|setl cms< com< fo< flp<"
|
|
||||||
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:
|
|
||||||
|
|
||||||
endif
|
|
||||||
@@ -77,20 +77,20 @@ function! s:query_path(root) abort
|
|||||||
let prefix = ''
|
let prefix = ''
|
||||||
endif
|
endif
|
||||||
if &shellxquote == "'"
|
if &shellxquote == "'"
|
||||||
let path_check = prefix.'ruby -e "' . code . '"'
|
let path_check = prefix.'ruby -e --disable-gems"' . code . '"'
|
||||||
else
|
else
|
||||||
let path_check = prefix."ruby -e '" . code . "'"
|
let path_check = prefix."ruby -e --disable-gems'" . code . "'"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let cd = haslocaldir() ? 'lcd' : 'cd'
|
let cd = haslocaldir() ? 'lcd' : 'cd'
|
||||||
let cwd = getcwd()
|
let cwd = fnameescape(getcwd())
|
||||||
try
|
try
|
||||||
exe cd fnameescape(a:root)
|
exe cd fnameescape(a:root)
|
||||||
let path = split(system(path_check),',')
|
let path = split(system(path_check),',')
|
||||||
exe cd fnameescape(cwd)
|
exe cd cwd
|
||||||
return path
|
return path
|
||||||
finally
|
finally
|
||||||
exe cd fnameescape(cwd)
|
exe cd cwd
|
||||||
endtry
|
endtry
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,18 @@ unlet! b:did_indent
|
|||||||
|
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
" Doesn't include 'foreach' and 'forelse' because these already get matched by 'for'.
|
||||||
|
let s:directives_start = 'if\|else\|unless\|for\|while\|empty\|push\|section\|can\|hasSection\|verbatim'
|
||||||
|
let s:directives_end = 'else\|end\|empty\|show\|stop\|append\|overwrite'
|
||||||
|
|
||||||
|
if exists('g:blade_custom_directives_pairs')
|
||||||
|
let s:directives_start .= '\|' . join(keys(g:blade_custom_directives_pairs), '\|')
|
||||||
|
let s:directives_end .= '\|' . join(values(g:blade_custom_directives_pairs), '\|')
|
||||||
|
endif
|
||||||
|
|
||||||
setlocal autoindent
|
setlocal autoindent
|
||||||
setlocal indentexpr=GetBladeIndent()
|
setlocal indentexpr=GetBladeIndent()
|
||||||
setlocal indentkeys=o,O,*<Return>,<>>,!^F,=@else,=@end,=@empty,=@show,=@stop
|
exe "setlocal indentkeys=o,O,<>>,!^F,0=}},0=!!},=@" . substitute(s:directives_end, '\\|', ',=@', 'g')
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists("*GetBladeIndent")
|
if exists("*GetBladeIndent")
|
||||||
@@ -36,17 +45,21 @@ function! GetBladeIndent()
|
|||||||
let line = substitute(substitute(getline(lnum), '\s\+$', '', ''), '^\s\+', '', '')
|
let line = substitute(substitute(getline(lnum), '\s\+$', '', ''), '^\s\+', '', '')
|
||||||
let cline = substitute(substitute(getline(v:lnum), '\s\+$', '', ''), '^\s\+', '', '')
|
let cline = substitute(substitute(getline(v:lnum), '\s\+$', '', ''), '^\s\+', '', '')
|
||||||
let indent = indent(lnum)
|
let indent = indent(lnum)
|
||||||
let cindent = indent(v:lnum)
|
if cline =~# '@\%(' . s:directives_end . '\)' ||
|
||||||
if cline =~# '@\%(else\|elseif\|empty\|end\|show\|stop\)' ||
|
|
||||||
\ cline =~# '\%(<?.*\)\@<!?>\|\%({{.*\)\@<!}}\|\%({!!.*\)\@<!!!}'
|
\ cline =~# '\%(<?.*\)\@<!?>\|\%({{.*\)\@<!}}\|\%({!!.*\)\@<!!!}'
|
||||||
let indent = indent - &sw
|
let indent = indent - &sw
|
||||||
|
elseif line =~# '<?\%(.*?>\)\@!\|@php\%(\s*(\)\@!'
|
||||||
|
let indent = indent + &sw
|
||||||
else
|
else
|
||||||
if exists("*GetBladeIndentCustom")
|
if exists("*GetBladeIndentCustom")
|
||||||
let hindent = GetBladeIndentCustom()
|
let hindent = GetBladeIndentCustom()
|
||||||
elseif searchpair('@include\s*(', '', ')', 'bWr') ||
|
" Don't use PHP indentation if line is a comment
|
||||||
|
elseif line !~# '^\s*\%(#\|//\)\|\*/\s*$' && (
|
||||||
|
\ searchpair('@include\%(If\)\?\s*(', '', ')', 'bWr') ||
|
||||||
\ searchpair('{!!', '', '!!}', 'bWr') ||
|
\ searchpair('{!!', '', '!!}', 'bWr') ||
|
||||||
\ searchpair('{{', '', '}}', 'bWr') ||
|
\ searchpair('{{', '', '}}', 'bWr') ||
|
||||||
\ searchpair('<?', '', '?>', 'bWr')
|
\ searchpair('<?', '', '?>', 'bWr') ||
|
||||||
|
\ searchpair('@php\%(\s*(\)\@!', '', '@endphp', 'bWr') )
|
||||||
execute 'let hindent = ' . s:phpindent
|
execute 'let hindent = ' . s:phpindent
|
||||||
else
|
else
|
||||||
execute 'let hindent = ' . s:htmlindent
|
execute 'let hindent = ' . s:htmlindent
|
||||||
@@ -56,17 +69,12 @@ function! GetBladeIndent()
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let increase = indent + &sw
|
let increase = indent + &sw
|
||||||
if indent = indent(lnum)
|
|
||||||
let indent = cindent <= indent ? -1 : increase
|
|
||||||
endif
|
|
||||||
|
|
||||||
if line =~# '@\%(section\)\%(.*@end\)\@!' && line !~# '@\%(section\)\s*([^,]*)'
|
if line =~# '@\%(section\)\%(.*@end\)\@!' && line !~# '@\%(section\)\s*([^,]*)'
|
||||||
return indent
|
return indent
|
||||||
elseif line =~# '@\%(if\|elseif\|else\|unless\|foreach\|forelse\|for\|while\|empty\|push\|section\|can\|hasSection\)\%(.*@end\|.*@stop\)\@!' ||
|
elseif line =~# '@\%(' . s:directives_start . '\)\%(.*@end\|.*@stop\)\@!' ||
|
||||||
\ line =~# '{{\%(.*}}\)\@!' || line =~# '{!!\%(.*!!}\)\@!'
|
\ line =~# '{{\%(.*}}\)\@!' || line =~# '{!!\%(.*!!}\)\@!'
|
||||||
return increase
|
return increase
|
||||||
elseif line =~# '<?\%(.*?>\)\@!'
|
|
||||||
return indent(lnum-1) == -1 ? increase : indent(lnum) + increase
|
|
||||||
else
|
else
|
||||||
return indent
|
return indent
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -189,6 +189,16 @@ if exists("*searchpairpos")
|
|||||||
return val
|
return val
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" Check if form is a reader conditional, that is, it is prefixed by #?
|
||||||
|
" or @#?
|
||||||
|
function! s:is_reader_conditional_special_case(position)
|
||||||
|
if getline(a:position[0])[a:position[1] - 3 : a:position[1] - 2] == "#?"
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
return 0
|
||||||
|
endfunction
|
||||||
|
|
||||||
" Returns 1 for opening brackets, -1 for _anything else_.
|
" Returns 1 for opening brackets, -1 for _anything else_.
|
||||||
function! s:bracket_type(char)
|
function! s:bracket_type(char)
|
||||||
return stridx('([{', a:char) > -1 ? 1 : -1
|
return stridx('([{', a:char) > -1 ? 1 : -1
|
||||||
@@ -256,6 +266,10 @@ if exists("*searchpairpos")
|
|||||||
return [paren[0], paren[1] + &shiftwidth - 1]
|
return [paren[0], paren[1] + &shiftwidth - 1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if s:is_reader_conditional_special_case(paren)
|
||||||
|
return paren
|
||||||
|
endif
|
||||||
|
|
||||||
" In case we are at the last character, we use the paren position.
|
" In case we are at the last character, we use the paren position.
|
||||||
if col("$") - 1 == paren[1]
|
if col("$") - 1 == paren[1]
|
||||||
return paren
|
return paren
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||||
|
|
||||||
" Language: ember-script
|
" Language: ember-script
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>>
|
||||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
" URL: http://github.com/yalesov/vim-ember-script
|
||||||
" Version: 1.0.1
|
" Version: 1.0.4
|
||||||
" Last Change: 2013 Apr 17
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
finish
|
finish
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||||
|
|
||||||
" Language: emblem
|
" Language: emblem
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>
|
||||||
" URL: http://github.com/heartsentwined/vim-emblem
|
" URL: http://github.com/yalesov/vim-emblem
|
||||||
" Version: 1.2.0
|
" Version: 2.0.1
|
||||||
" Last Change: 2013 Apr 22
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Rust
|
" Language: Rust
|
||||||
" Author: Chris Morgan <me@chrismorgan.info>
|
" Author: Chris Morgan <me@chrismorgan.info>
|
||||||
" Last Change: 2014 Sep 13
|
" Last Change: 2016 Jul 15
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@@ -134,6 +134,7 @@ function GetRustIndent(lnum)
|
|||||||
\ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]'
|
\ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]'
|
||||||
\ && prevline !~ '^\s*fn\s'
|
\ && prevline !~ '^\s*fn\s'
|
||||||
\ && prevline !~ '([^()]\+,$'
|
\ && prevline !~ '([^()]\+,$'
|
||||||
|
\ && s:get_line_trimmed(a:lnum) !~ '^\s*\S\+\s*=>'
|
||||||
" Oh ho! The previous line ended in a comma! I bet cindent will try to
|
" 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
|
" take this too far... For now, let's normally use the previous line's
|
||||||
" indent.
|
" indent.
|
||||||
@@ -158,6 +159,8 @@ function GetRustIndent(lnum)
|
|||||||
" if baz && (foo ||
|
" if baz && (foo ||
|
||||||
" bar) {
|
" bar) {
|
||||||
"
|
"
|
||||||
|
" Another case is when the current line is a new match arm.
|
||||||
|
"
|
||||||
" There are probably other cases where we don't want to do this as
|
" There are probably other cases where we don't want to do this as
|
||||||
" well. Add them as needed.
|
" well. Add them as needed.
|
||||||
return indent(prevlinenum)
|
return indent(prevlinenum)
|
||||||
|
|||||||
@@ -21,21 +21,39 @@ unlet! b:current_syntax
|
|||||||
syn case match
|
syn case match
|
||||||
syn clear htmlError
|
syn clear htmlError
|
||||||
|
|
||||||
|
if has('patch-7.4.1142')
|
||||||
|
syn iskeyword @,48-57,_,192-255,@-@,:
|
||||||
|
else
|
||||||
|
setlocal iskeyword+=@-@
|
||||||
|
endif
|
||||||
|
|
||||||
syn region bladeEcho matchgroup=bladeDelimiter start="@\@<!{{" end="}}" contains=@bladePhp,bladePhpParenBlock containedin=ALLBUT,@bladeExempt keepend
|
syn region bladeEcho matchgroup=bladeDelimiter start="@\@<!{{" end="}}" contains=@bladePhp,bladePhpParenBlock containedin=ALLBUT,@bladeExempt keepend
|
||||||
syn region bladeEcho matchgroup=bladeDelimiter start="{!!" end="!!}" contains=@bladePhp,bladePhpParenBlock containedin=ALLBUT,@bladeExempt keepend
|
syn region bladeEcho matchgroup=bladeDelimiter start="{!!" end="!!}" contains=@bladePhp,bladePhpParenBlock containedin=ALLBUT,@bladeExempt keepend
|
||||||
syn region bladeComment matchgroup=bladeDelimiter start="{{--" end="--}}" contains=bladeTodo containedin=ALLBUT,@bladeExempt keepend
|
syn region bladeComment matchgroup=bladeDelimiter start="{{--" end="--}}" contains=bladeTodo containedin=ALLBUT,@bladeExempt keepend
|
||||||
|
|
||||||
syn keyword bladeKeyword @if @elseif @foreach @forelse @for @while @can @include @each @inject @extends @section @stack @push @unless @yield @parent @hasSection nextgroup=bladePhpParenBlock skipwhite containedin=ALLBUT,@bladeExempt
|
syn keyword bladeKeyword @if @elseif @foreach @forelse @for @while @can @cannot @elsecan @elsecannot @include @includeIf @each @inject @extends @section @stack @push @unless @yield @parent @hasSection @break @continue @unset @lang @choice nextgroup=bladePhpParenBlock skipwhite containedin=ALLBUT,@bladeExempt
|
||||||
syn keyword bladeKeyword @else @endif @endunless @endfor @endforeach @empty @endforelse @endwhile @endcan @stop @append @endsection @endpush @show containedin=ALLBUT,@bladeExempt
|
syn keyword bladeKeyword @else @endif @endunless @endfor @endforeach @empty @endforelse @endwhile @endcan @endcannot @stop @append @endsection @endpush @show @overwrite @verbatim @endverbatim containedin=ALLBUT,@bladeExempt
|
||||||
|
|
||||||
|
if exists('g:blade_custom_directives')
|
||||||
|
exe "syn keyword bladeKeyword @" . join(g:blade_custom_directives, ' @') . " nextgroup=bladePhpParenBlock skipwhite containedin=ALLBUT,@bladeExempt"
|
||||||
|
endif
|
||||||
|
if exists('g:blade_custom_directives_pairs')
|
||||||
|
exe "syn keyword bladeKeyword @" . join(keys(g:blade_custom_directives_pairs), ' @') . " nextgroup=bladePhpParenBlock skipwhite containedin=ALLBUT,@bladeExempt"
|
||||||
|
exe "syn keyword bladeKeyword @" . join(values(g:blade_custom_directives_pairs), ' @') . " containedin=ALLBUT,@bladeExempt"
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn region bladePhpRegion matchgroup=bladeKeyword start="\<@php\>\%(\s*(\)\@!" end="\<@endphp\>" contains=@bladePhp containedin=ALLBUT,@bladeExempt keepend
|
||||||
|
syn match bladeKeyword "@php\ze\s*(" nextgroup=bladePhpParenBlock skipwhite containedin=ALLBUT,@bladeExempt
|
||||||
|
|
||||||
syn region bladePhpParenBlock matchgroup=bladeDelimiter start="\s*(" end=")" contains=@bladePhp,bladePhpParenBlock skipwhite contained
|
syn region bladePhpParenBlock matchgroup=bladeDelimiter start="\s*(" end=")" contains=@bladePhp,bladePhpParenBlock skipwhite contained
|
||||||
|
|
||||||
syn cluster bladePhp contains=@phpClTop
|
syn cluster bladePhp contains=@phpClTop
|
||||||
syn cluster bladeExempt contains=bladeComment,@htmlTop
|
syn cluster bladeExempt contains=bladeComment,bladePhpRegion,bladePhpParenBlock,@htmlTop
|
||||||
|
|
||||||
syn cluster htmlPreproc add=bladeEcho,bladeComment
|
syn cluster htmlPreproc add=bladeEcho,bladeComment,bladePhpRegion
|
||||||
|
|
||||||
syn keyword bladeTodo todo fixme xxx contained
|
syn case ignore
|
||||||
|
syn keyword bladeTodo todo fixme xxx note contained
|
||||||
|
|
||||||
hi def link bladeDelimiter PreProc
|
hi def link bladeDelimiter PreProc
|
||||||
hi def link bladeComment Comment
|
hi def link bladeComment Comment
|
||||||
|
|||||||
@@ -184,6 +184,11 @@ syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumbe
|
|||||||
syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
|
syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
"hex number
|
"hex number
|
||||||
syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
if s:ft ==# 'cpp' && !exists("cpp_no_cpp14")
|
||||||
|
syn match cNumber display contained "\d\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
syn match cNumber display contained "0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
syn match cNumber display contained "0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
endif
|
||||||
" Flag the first zero of an octal number as something special
|
" Flag the first zero of an octal number as something special
|
||||||
syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
|
syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
|
||||||
syn match cOctalZero display contained "\<0"
|
syn match cOctalZero display contained "\<0"
|
||||||
@@ -297,7 +302,7 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
|||||||
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
|
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
|
||||||
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
|
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
|
||||||
if !exists("c_no_c99")
|
if !exists("c_no_c99")
|
||||||
syn keyword cConstant __func__
|
syn keyword cConstant __func__ __VA_ARGS__
|
||||||
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
|
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
|
||||||
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
|
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
|
||||||
syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
|
syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -39,7 +39,7 @@ syn keyword cppConstant __cplusplus
|
|||||||
|
|
||||||
" C++ 11 extensions
|
" C++ 11 extensions
|
||||||
if !exists("cpp_no_cpp11")
|
if !exists("cpp_no_cpp11")
|
||||||
syn keyword cppModifier override final
|
syn keyword cppModifier override final auto
|
||||||
syn keyword cppType nullptr_t
|
syn keyword cppType nullptr_t
|
||||||
syn keyword cppExceptions noexcept
|
syn keyword cppExceptions noexcept
|
||||||
syn keyword cppStorageClass constexpr decltype thread_local
|
syn keyword cppStorageClass constexpr decltype thread_local
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emberscript') == -1
|
||||||
|
|
||||||
" Language: ember-script
|
" Language: ember-script
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>>
|
||||||
" URL: http://github.com/heartsentwined/vim-ember-script
|
" URL: http://github.com/yalesov/vim-ember-script
|
||||||
" Version: 1.0.1
|
" Version: 1.0.4
|
||||||
" Last Change: 2013 Apr 17
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
if exists('b:current_syntax') && b:current_syntax == 'ember-script'
|
if exists('b:current_syntax') && b:current_syntax == 'ember-script'
|
||||||
finish
|
finish
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'emblem') == -1
|
||||||
|
|
||||||
" Language: emblem
|
" Language: emblem
|
||||||
" Maintainer: heartsentwined <heartsentwined@cogito-lab.com>
|
" Maintainer: Yulij Andreevich Lesov <yalesov@gmail.com>
|
||||||
" URL: http://github.com/heartsentwined/vim-emblem
|
" URL: http://github.com/yalesov/vim-emblem
|
||||||
" Version: 1.2.0
|
" Version: 2.0.1
|
||||||
" Last Change: 2013 Apr 22
|
" Last Change: 2016 Jul 6
|
||||||
" License: GPL-3.0
|
" License: ISC
|
||||||
|
|
||||||
" Quit when a syntax file is already loaded.
|
" Quit when a syntax file is already loaded.
|
||||||
if exists('b:current_syntax') && b:current_syntax == 'emblem'
|
if exists('b:current_syntax') && b:current_syntax == 'emblem'
|
||||||
@@ -31,7 +31,7 @@ syn match eblClass '\v(\w|-)+' nextgroup=@eblComponent contained display
|
|||||||
hi def link eblIdOp eblId
|
hi def link eblIdOp eblId
|
||||||
hi def link eblClassOp eblClass
|
hi def link eblClassOp eblClass
|
||||||
|
|
||||||
syn region eblHbsAttrRegion matchgroup=eblHbsAttrRegionOp start='{' end='}' contains=@eblHbsHelpers nextgroup=@eblComponent keepend contained display
|
syn region eblHbsAttrRegion matchgroup=eblHbsAttrRegionOp start='{\|(\|\[' end='}\|)\|\]' contains=@eblHbsHelpers nextgroup=@eblComponent keepend contained display
|
||||||
hi def link eblHbsAttrRegionOp eblOperator
|
hi def link eblHbsAttrRegionOp eblOperator
|
||||||
|
|
||||||
syn match eblInlineText '\v\s+[^:]+.*$' contains=eblItpl contained display
|
syn match eblInlineText '\v\s+[^:]+.*$' contains=eblItpl contained display
|
||||||
@@ -40,7 +40,7 @@ hi def link eblInlineText eblRaw
|
|||||||
syn cluster eblHbsComponent contains=eblHbsArg,eblHbsAttr,eblHbsTextOp,eblLineOp
|
syn cluster eblHbsComponent contains=eblHbsArg,eblHbsAttr,eblHbsTextOp,eblLineOp
|
||||||
|
|
||||||
syn match eblHbsOp '\v\s*\=+' nextgroup=@eblHbsHelpers skipwhite contained display
|
syn match eblHbsOp '\v\s*\=+' nextgroup=@eblHbsHelpers skipwhite contained display
|
||||||
syn match eblHbsHelper '\v\w(\w|-|\.)*' nextgroup=@eblHbsComponent skipwhite contained display
|
syn match eblHbsHelper '\v\w(\w|-|\.|\/)*' nextgroup=@eblHbsComponent skipwhite contained display
|
||||||
syn match eblHbsTextOp '|' nextgroup=eblHbsText contained display
|
syn match eblHbsTextOp '|' nextgroup=eblHbsText contained display
|
||||||
syn match eblHbsText '.*' contained display
|
syn match eblHbsText '.*' contained display
|
||||||
hi def link eblHbsOp eblOperator
|
hi def link eblHbsOp eblOperator
|
||||||
@@ -48,24 +48,38 @@ hi def link eblHbsHelper eblFunction
|
|||||||
hi def link eblHbsTextOp eblOperator
|
hi def link eblHbsTextOp eblOperator
|
||||||
hi def link eblHbsText eblRaw
|
hi def link eblHbsText eblRaw
|
||||||
|
|
||||||
syn cluster eblHbsHelpers contains=eblHbsHelper,eblHbsCtrlFlowHelper,eblHbsEachHelper
|
syn cluster eblHbsHelpers contains=eblHbsHelper,eblHbsCtrlFlowHelper,eblHbsEachHelper,eblHbsWithHelper
|
||||||
|
|
||||||
syn match eblHbsCtrlFlowHelper '\v<(if|unless|else|with)>' nextgroup=@eblHbsComponent skipwhite contained display
|
syn match eblHbsCtrlFlowHelper '\v<(else if|if|unless|else)>' nextgroup=@eblHbsComponent skipwhite contained display
|
||||||
syn match eblHbsEachHelper '\v<each>' nextgroup=eblHbsEachArg skipwhite contained display
|
syn match eblHbsEachHelper '\v<each>' nextgroup=eblHbsEachArg skipwhite contained display
|
||||||
syn match eblHbsEachArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblHbsIn,eblLineOp skipwhite contained display
|
syn match eblHbsEachArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblHbsIn,eblLineOp skipwhite contained display
|
||||||
syn match eblHbsIn '\v<in>' nextgroup=eblHbsInArg skipwhite contained display
|
syn match eblHbsIn '\v<in>' nextgroup=eblHbsInArg skipwhite contained display
|
||||||
syn match eblHbsInArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblLineOp skipwhite contained display
|
syn match eblHbsInArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblLineOp skipwhite contained display
|
||||||
|
syn match eblHbsWithHelper '\v<with>' nextgroup=eblHbsWithArg skipwhite contained display
|
||||||
|
syn match eblHbsWithArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblHbsAs skipwhite contained display
|
||||||
|
syn match eblHbsAs '\v<as>' nextgroup=eblHbsAsBlockStartArg skipwhite contained display
|
||||||
|
syn match eblHbsAsBlockStartArg /\v\|/ nextgroup=eblHbsAsBlockFirstArg skipwhite contained display
|
||||||
|
syn match eblHbsAsBlockFirstArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblHbsAsBlockSecondArg,eblHbsAsBlockEndArg skipwhite contained display
|
||||||
|
syn match eblHbsAsBlockSecondArg /\v((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=eblHbsAsBlockEndArg skipwhite contained display
|
||||||
|
syn match eblHbsAsBlockEndArg /\v\|/ nextgroup=eblLineOp skipwhite contained display
|
||||||
hi def link eblHbsCtrlFlowHelper eblKeyword
|
hi def link eblHbsCtrlFlowHelper eblKeyword
|
||||||
hi def link eblHbsEachHelper eblKeyword
|
hi def link eblHbsEachHelper eblKeyword
|
||||||
hi def link eblHbsEachArg eblLiteral
|
hi def link eblHbsEachArg eblLiteral
|
||||||
hi def link eblHbsIn eblKeyword
|
hi def link eblHbsIn eblKeyword
|
||||||
hi def link eblHbsInArg eblLiteral
|
hi def link eblHbsInArg eblLiteral
|
||||||
|
hi def link eblHbsWithHelper eblKeyword
|
||||||
|
hi def link eblHbsWithArg eblLiteral
|
||||||
|
hi def link eblHbsAs eblKeyword
|
||||||
|
hi def link eblHbsAsBlockStartArg eblOperator
|
||||||
|
hi def link eblHbsAsBlockFirstArg eblLiteral
|
||||||
|
hi def link eblHbsAsBlockSecondArg eblLiteral
|
||||||
|
hi def link eblHbsAsBlockEndArg eblOperator
|
||||||
|
|
||||||
syn match eblHbsArg /\v\s*((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=@eblHbsComponent skipwhite contained display
|
syn match eblHbsArg /\v\s*((["'])[^\2]{-}\2|(\w|\.|-|\>)+)/ nextgroup=@eblHbsComponent skipwhite contained display
|
||||||
syn match eblHbsAttr '\v\s*(\w|-)+\=@=' contains=eblHbsAttrBind nextgroup=eblHbsAttrOp contained display
|
syn match eblHbsAttr '\v\s*(\w|-)+\=@=' contains=eblHbsAttrBind nextgroup=eblHbsAttrOp contained display
|
||||||
syn match eblHbsAttrBind /\v<(\w|-)+Bind>/ contained display
|
syn match eblHbsAttrBind /\v<(\w|-)+Bind>/ contained display
|
||||||
syn match eblHbsAttrOp '=' nextgroup=eblHbsAttrLit contained display
|
syn match eblHbsAttrOp '=' nextgroup=eblHbsAttrLit contained display
|
||||||
syn match eblHbsAttrLit /\v(["'])[^\1]{-}\1|[^: ]+/ contains=eblItpl nextgroup=@eblHbsComponent skipwhite contained display
|
syn match eblHbsAttrLit /\v(["'])[^\1]{-}\1|[^\.: ]+/ contains=eblItpl nextgroup=@eblHbsComponent skipwhite contained display
|
||||||
hi def link eblHbsArg eblLiteral
|
hi def link eblHbsArg eblLiteral
|
||||||
hi def link eblHbsAttr eblAttr
|
hi def link eblHbsAttr eblAttr
|
||||||
hi def link eblhbsAttrBind eblBind
|
hi def link eblhbsAttrBind eblBind
|
||||||
@@ -106,6 +120,7 @@ hi def link eblKnownEvent eblEvent
|
|||||||
|
|
||||||
syn region eblItpl matchgroup=eblItplOp start='#{' end='}' contains=@eblHbsHelpers,eblHbsPartialOp keepend contained display
|
syn region eblItpl matchgroup=eblItplOp start='#{' end='}' contains=@eblHbsHelpers,eblHbsPartialOp keepend contained display
|
||||||
syn region eblItpl matchgroup=eblItplOp start='{{' end='}}' contains=@eblHbsHelpers,eblHbsPartialOp keepend contained display
|
syn region eblItpl matchgroup=eblItplOp start='{{' end='}}' contains=@eblHbsHelpers,eblHbsPartialOp keepend contained display
|
||||||
|
syn region eblItpl matchgroup=eblItplOp start='(' end=')' contains=@eblHbsHelpers,eblHbsPartialOp keepend contained display
|
||||||
hi def link eblItplOp eblOperator
|
hi def link eblItplOp eblOperator
|
||||||
|
|
||||||
syn match eblHbsPartialOp '\s*>' nextgroup=@eblHbsHelpers skipwhite contained display
|
syn match eblHbsPartialOp '\s*>' nextgroup=@eblHbsHelpers skipwhite contained display
|
||||||
|
|||||||
@@ -73,12 +73,8 @@ if !exists("g:go_highlight_fields")
|
|||||||
let g:go_highlight_fields = 0
|
let g:go_highlight_fields = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists("g:go_highlight_structs")
|
if !exists("g:go_highlight_types")
|
||||||
let g:go_highlight_structs = 0
|
let g:go_highlight_types = 0
|
||||||
endif
|
|
||||||
|
|
||||||
if !exists("g:go_highlight_interfaces")
|
|
||||||
let g:go_highlight_interfaces = 0
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists("g:go_highlight_build_constraints")
|
if !exists("g:go_highlight_build_constraints")
|
||||||
@@ -100,12 +96,10 @@ endif
|
|||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
syn keyword goDirective package import
|
syn keyword goDirective package import
|
||||||
syn keyword goDeclaration var const type
|
syn keyword goDeclaration var const
|
||||||
syn keyword goDeclType struct interface
|
|
||||||
|
|
||||||
hi def link goDirective Statement
|
hi def link goDirective Statement
|
||||||
hi def link goDeclaration Keyword
|
hi def link goDeclaration Keyword
|
||||||
hi def link goDeclType Keyword
|
|
||||||
|
|
||||||
" Keywords within functions
|
" Keywords within functions
|
||||||
syn keyword goStatement defer go goto return break continue fallthrough
|
syn keyword goStatement defer go goto return break continue fallthrough
|
||||||
@@ -131,10 +125,6 @@ hi def link goUnsignedInts Type
|
|||||||
hi def link goFloats Type
|
hi def link goFloats Type
|
||||||
hi def link goComplexes Type
|
hi def link goComplexes Type
|
||||||
|
|
||||||
" Treat func specially: it's a declaration at the start of a line, but a type
|
|
||||||
" elsewhere. Order matters here.
|
|
||||||
syn match goDeclaration /\<func\>/
|
|
||||||
|
|
||||||
|
|
||||||
" Predefined functions and values
|
" Predefined functions and values
|
||||||
syn match goBuiltins /\<\v(append|cap|close|complex|copy|delete|imag|len)\ze\(/
|
syn match goBuiltins /\<\v(append|cap|close|complex|copy|delete|imag|len)\ze\(/
|
||||||
@@ -298,43 +288,52 @@ if g:go_highlight_operators != 0
|
|||||||
syn match goOperator /:=\|||\|<-\|++\|--/
|
syn match goOperator /:=\|||\|<-\|++\|--/
|
||||||
" match ...
|
" match ...
|
||||||
syn match goOperator /\.\.\./
|
syn match goOperator /\.\.\./
|
||||||
|
|
||||||
|
hi def link goPointerOperator Operator
|
||||||
endif
|
endif
|
||||||
hi def link goOperator Operator
|
hi def link goOperator Operator
|
||||||
|
|
||||||
" Functions;
|
" Functions;
|
||||||
if g:go_highlight_functions != 0
|
if g:go_highlight_functions != 0
|
||||||
syn match goFunction /\(func\s\+\)\@<=\w\+\((\)\@=/
|
syn match goDeclaration /\<func\>/ nextgroup=goReceiver,goFunction skipwhite skipnl
|
||||||
syn match goFunction /\()\s\+\)\@<=\w\+\((\)\@=/
|
syn match goReceiver /(\(\w\|[ *]\)\+)/ contained nextgroup=goFunction contains=goReceiverVar skipwhite skipnl
|
||||||
|
syn match goReceiverVar /\w\+/ nextgroup=goPointerOperator,goReceiverType skipwhite skipnl contained
|
||||||
|
syn match goPointerOperator /\*/ nextgroup=goReceiverType contained skipwhite skipnl
|
||||||
|
syn match goReceiverType /\w\+/ contained
|
||||||
|
syn match goFunction /\w\+/ contained
|
||||||
|
else
|
||||||
|
syn keyword goDeclaration func
|
||||||
endif
|
endif
|
||||||
hi def link goFunction Function
|
hi def link goFunction Function
|
||||||
|
|
||||||
" Methods;
|
" Methods;
|
||||||
if g:go_highlight_methods != 0
|
if g:go_highlight_methods != 0
|
||||||
syn match goMethod /\(\.\)\@<=\w\+\((\)\@=/
|
syn match goMethod /\.\w\+(/hs=s+1,he=e-1
|
||||||
endif
|
endif
|
||||||
hi def link goMethod Type
|
hi def link goMethod Type
|
||||||
|
|
||||||
" Fields;
|
" Fields;
|
||||||
if g:go_highlight_fields != 0
|
if g:go_highlight_fields != 0
|
||||||
syn match goField /\(\.\)\@<=\a\+\([\ \n\r\:\)]\)\@=/
|
syn match goVarArgs /\.\.\.\w\+\>/
|
||||||
|
syn match goField /\.\a\+\([\ \n\r\:\)\[]\)\@=/hs=s+1
|
||||||
endif
|
endif
|
||||||
hi def link goField Type
|
hi def link goField Identifier
|
||||||
|
|
||||||
" Structs;
|
" Structs & Interfaces;
|
||||||
if g:go_highlight_structs != 0
|
if g:go_highlight_types != 0
|
||||||
syn match goStruct /\(.\)\@<=\w\+\({\)\@=/
|
syn match goTypeConstructor /\<\w\+{/he=e-1
|
||||||
syn match goStructDef /\(type\s\+\)\@<=\w\+\(\s\+struct\s\+{\)\@=/
|
syn match goTypeDecl /\<type\>/ nextgroup=goTypeName skipwhite skipnl
|
||||||
|
syn match goTypeName /\w\+/ contained nextgroup=goDeclType skipwhite skipnl
|
||||||
|
syn match goDeclType /\<interface\|struct\>/ contained skipwhite skipnl
|
||||||
|
hi def link goReceiverType Type
|
||||||
|
else
|
||||||
|
syn keyword goDeclType struct interface
|
||||||
|
syn keyword goDeclaration type
|
||||||
endif
|
endif
|
||||||
hi def link goStruct Function
|
hi def link goTypeConstructor Type
|
||||||
hi def link goStructDef Function
|
hi def link goTypeName Type
|
||||||
|
hi def link goTypeDecl Keyword
|
||||||
" Interfaces;
|
hi def link goDeclType Keyword
|
||||||
if g:go_highlight_interfaces != 0
|
|
||||||
syn match goInterface /\(.\)\@<=\w\+\({\)\@=/
|
|
||||||
syn match goInterfaceDef /\(type\s\+\)\@<=\w\+\(\s\+interface\s\+{\)\@=/
|
|
||||||
endif
|
|
||||||
hi def link goInterface Function
|
|
||||||
hi def link goInterfaceDef Function
|
|
||||||
|
|
||||||
" Build Constraints
|
" Build Constraints
|
||||||
if g:go_highlight_build_constraints != 0
|
if g:go_highlight_build_constraints != 0
|
||||||
@@ -369,6 +368,7 @@ if g:go_highlight_build_constraints != 0
|
|||||||
hi def link goPackageComment Comment
|
hi def link goPackageComment Comment
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
hi def goSameId term=bold cterm=bold ctermbg=white ctermfg=black
|
||||||
|
|
||||||
" Search backwards for a global declaration to start processing the syntax.
|
" Search backwards for a global declaration to start processing the syntax.
|
||||||
"syn sync match goSync grouphere NONE /^\(const\|var\|type\|func\)\>/
|
"syn sync match goSync grouphere NONE /^\(const\|var\|type\|func\)\>/
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ elseif exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
syn spell notoplevel
|
||||||
syn match haskellRecordField contained containedin=haskellBlock
|
syn match haskellRecordField contained containedin=haskellBlock
|
||||||
\ "[_a-z][a-zA-Z0-9_']*\(,\s*[_a-z][a-zA-Z0-9_']*\)*\(\s*::\|\n\s\+::\)"
|
\ "[_a-z][a-zA-Z0-9_']*\(,\s*[_a-z][a-zA-Z0-9_']*\)*\(\s*::\|\n\s\+::\)"
|
||||||
\ contains=
|
\ contains=
|
||||||
@@ -60,9 +61,9 @@ syn keyword haskellConditional if then else
|
|||||||
syn match haskellNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>\|\<0[bB][10]\+\>"
|
syn match haskellNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>\|\<0[bB][10]\+\>"
|
||||||
syn match haskellFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
|
syn match haskellFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
|
||||||
syn match haskellSeparator "[,;]"
|
syn match haskellSeparator "[,;]"
|
||||||
syn region haskellParens matchgroup=haskellDelimiter start="(" end=")" contains=TOP,haskellTypeSig
|
syn region haskellParens matchgroup=haskellDelimiter start="(" end=")" contains=TOP,haskellTypeSig,@Spell
|
||||||
syn region haskellBrackets matchgroup=haskellDelimiter start="\[" end="]" contains=TOP,haskellTypeSig
|
syn region haskellBrackets matchgroup=haskellDelimiter start="\[" end="]" contains=TOP,haskellTypeSig,@Spell
|
||||||
syn region haskellBlock matchgroup=haskellDelimiter start="{" end="}" contains=TOP
|
syn region haskellBlock matchgroup=haskellDelimiter start="{" end="}" contains=TOP,@Spell
|
||||||
syn keyword haskellInfix infix infixl infixr
|
syn keyword haskellInfix infix infixl infixr
|
||||||
syn keyword haskellBottom undefined error
|
syn keyword haskellBottom undefined error
|
||||||
syn match haskellOperators "[-!#$%&\*\+/<=>\?@\\^|~:.]\+\|\<_\>"
|
syn match haskellOperators "[-!#$%&\*\+/<=>\?@\\^|~:.]\+\|\<_\>"
|
||||||
|
|||||||
@@ -12,27 +12,72 @@ syntax case match
|
|||||||
|
|
||||||
" keywords
|
" keywords
|
||||||
syntax keyword jasmineSuite describe it beforeEach afterEach
|
syntax keyword jasmineSuite describe it beforeEach afterEach
|
||||||
|
syntax keyword jasmine jasmine
|
||||||
|
|
||||||
|
" special
|
||||||
|
syntax match jasmineSpecial /\.Ajax/
|
||||||
|
syntax match jasmineSpecial /\.addMatcher/
|
||||||
|
syntax match jasmineSpecial /\.getEnv/
|
||||||
|
syntax match jasmineSpecial /\.loadConfigFile/
|
||||||
|
syntax match jasmineSpecial /\.onComplete/
|
||||||
|
syntax match jasmineSpecial /\.QueryString/
|
||||||
|
syntax match jasmineSpecial /\.HtmlSpecFilter/
|
||||||
|
syntax match jasmineSpecial /\.addCustomEqualityTester/
|
||||||
|
syntax match jasmineSpecial /\.configureDefaultReporter/
|
||||||
|
syntax match jasmineSpecial /\.execute/
|
||||||
|
|
||||||
|
" clock
|
||||||
|
syntax match jasmineClock /\.Timer/
|
||||||
|
syntax match jasmineClock /\.clock/
|
||||||
|
syntax match jasmineClock /\.tick/
|
||||||
|
syntax match jasmineClock /\.mockDate/
|
||||||
|
|
||||||
|
" disabled
|
||||||
syntax keyword jasmineDisabled xdescribe xit
|
syntax keyword jasmineDisabled xdescribe xit
|
||||||
|
|
||||||
|
" expectation
|
||||||
syntax keyword jasmineExpectation expect
|
syntax keyword jasmineExpectation expect
|
||||||
|
|
||||||
|
" not
|
||||||
syntax region jasmineNot start=/not/ end=/\.to/me=s-1
|
syntax region jasmineNot start=/not/ end=/\.to/me=s-1
|
||||||
|
|
||||||
|
" matchers
|
||||||
syntax match jasmineMatcher /\.to\h\+/
|
syntax match jasmineMatcher /\.to\h\+/
|
||||||
|
syntax match jasmineMatcher /\.objectContaining/
|
||||||
|
syntax match jasmineMatcher /\.arrayContaining/
|
||||||
|
syntax match jasmineMatcher /\.anything/
|
||||||
|
syntax match jasmineMatcher /\.any/
|
||||||
syntax keyword jasmineSpy spyOn
|
syntax keyword jasmineSpy spyOn
|
||||||
|
syntax match jasmineSpy /\.createSpy/
|
||||||
syntax match jasmineSpyMatcher /and\h\+/
|
syntax match jasmineSpyMatcher /and\h\+/
|
||||||
|
|
||||||
" jasmine is a subset of the javascript language, thus we need to activate
|
" jasmine is a subset of the javascript language, thus we need to activate
|
||||||
" javascript syntax highlighting and add new jasmin group names to the
|
" javascript syntax highlighting and add new jasmin group names to the
|
||||||
" JavaScriptAll cluster which is defined there
|
" JavaScriptAll cluster which is defined there
|
||||||
runtime! syntax/javascript.vim
|
runtime! syntax/javascript.vim
|
||||||
syntax cluster JavaScriptAll add=jasmineSuite,jasmineDisabled,jasmineExpectation,jasmineNot,jasmineMatcher,jasmineSpy,jasmineSpyMatcher
|
syntax cluster JavaScriptAll add=
|
||||||
|
\ jasmine,
|
||||||
|
\ jasmineClock,
|
||||||
|
\ jasmineDisabled,
|
||||||
|
\ jasmineExpectation,
|
||||||
|
\ jasmineMatcher,
|
||||||
|
\ jasmineNot,
|
||||||
|
\ jasmineSpecial,
|
||||||
|
\ jasmineSpy,
|
||||||
|
\ jasmineSpyMatcher,
|
||||||
|
\ jasmineSuite
|
||||||
|
|
||||||
let b:current_syntax = "jasmine"
|
let b:current_syntax = "jasmine"
|
||||||
|
|
||||||
hi def link jasmineSuite Statement
|
hi def link jasmine Special
|
||||||
|
hi def link jasmineClock Special
|
||||||
hi def link jasmineDisabled Error
|
hi def link jasmineDisabled Error
|
||||||
hi def link jasmineExpectation Statement
|
hi def link jasmineExpectation Statement
|
||||||
hi def link jasmineNot Special
|
|
||||||
hi def link jasmineMatcher Statement
|
hi def link jasmineMatcher Statement
|
||||||
|
hi def link jasmineNot Special
|
||||||
|
hi def link jasmineSpecial Special
|
||||||
hi def link jasmineSpy Special
|
hi def link jasmineSpy Special
|
||||||
hi def link jasmineSpyMatcher Statement
|
hi def link jasmineSpyMatcher Statement
|
||||||
|
hi def link jasmineSuite Statement
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Kotlin
|
" Language: Kotlin
|
||||||
" Maintainer: Alexander Udalov
|
" Maintainer: Alexander Udalov
|
||||||
" Latest Revision: 24 February 2016
|
" Latest Revision: 4 July 2016
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -22,14 +22,14 @@ syn keyword ktInclude import package
|
|||||||
|
|
||||||
syn keyword ktType Any Boolean Byte Char Double Float Int Long Nothing Short Unit
|
syn keyword ktType Any Boolean Byte Char Double Float Int Long Nothing Short Unit
|
||||||
syn keyword ktModifier annotation companion enum inner internal private protected public abstract final open override sealed vararg dynamic
|
syn keyword ktModifier annotation companion enum inner internal private protected public abstract final open override sealed vararg dynamic
|
||||||
syn keyword ktStructure class object interface fun val var constructor init
|
syn keyword ktStructure class object interface typealias fun val var constructor init
|
||||||
|
|
||||||
syn keyword ktReservedKeyword async typealias typeof yield
|
syn keyword ktReservedKeyword typeof
|
||||||
|
|
||||||
syn keyword ktBoolean true false
|
syn keyword ktBoolean true false
|
||||||
syn keyword ktConstant null
|
syn keyword ktConstant null
|
||||||
|
|
||||||
syn keyword ktModifier data tailrec lateinit reified external inline noinline crossinline const operator infix
|
syn keyword ktModifier data tailrec lateinit reified external inline noinline crossinline const operator infix coroutine suspend
|
||||||
|
|
||||||
syn keyword ktTodo TODO FIXME XXX contained
|
syn keyword ktTodo TODO FIXME XXX contained
|
||||||
syn match ktShebang "\v^#!.*$"
|
syn match ktShebang "\v^#!.*$"
|
||||||
|
|||||||
@@ -2,163 +2,175 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -
|
|||||||
|
|
||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Markdown
|
" Language: Markdown
|
||||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
" Maintainer: Ben Williams <benw@plasticboy.com>
|
||||||
" Filenames: *.markdown
|
" URL: http://plasticboy.com/markdown-vim-mode/
|
||||||
" Last Change: 2013 May 30
|
" Remark: Uses HTML syntax file
|
||||||
|
" TODO: Handle stuff contained within stuff (e.g. headings within blockquotes)
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
|
||||||
|
" Read the HTML syntax to start with
|
||||||
|
if version < 600
|
||||||
|
so <sfile>:p:h/html.vim
|
||||||
|
else
|
||||||
|
runtime! syntax/html.vim
|
||||||
|
|
||||||
|
if exists('b:current_syntax')
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists('main_syntax')
|
" don't use standard HiLink, it will not work with included syntax files
|
||||||
let main_syntax = 'markdown'
|
if version < 508
|
||||||
|
command! -nargs=+ HtmlHiLink hi link <args>
|
||||||
|
else
|
||||||
|
command! -nargs=+ HtmlHiLink hi def link <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
runtime! syntax/html.vim
|
syn spell toplevel
|
||||||
unlet! b:current_syntax
|
|
||||||
|
|
||||||
if !exists('g:markdown_fenced_languages')
|
|
||||||
let g:markdown_fenced_languages = []
|
|
||||||
endif
|
|
||||||
let s:done_include = {}
|
|
||||||
for s:type in map(copy(g:markdown_fenced_languages),'matchstr(v:val,"[^=]*$")')
|
|
||||||
if has_key(s:done_include, matchstr(s:type,'[^.]*'))
|
|
||||||
continue
|
|
||||||
endif
|
|
||||||
if s:type =~ '\.'
|
|
||||||
let b:{matchstr(s:type,'[^.]*')}_subtype = matchstr(s:type,'\.\zs.*')
|
|
||||||
endif
|
|
||||||
exe 'syn include @markdownHighlight'.substitute(s:type,'\.','','g').' syntax/'.matchstr(s:type,'[^.]*').'.vim'
|
|
||||||
unlet! b:current_syntax
|
|
||||||
let s:done_include[matchstr(s:type,'[^.]*')] = 1
|
|
||||||
endfor
|
|
||||||
unlet! s:type
|
|
||||||
unlet! s:done_include
|
|
||||||
|
|
||||||
syn sync minlines=10
|
|
||||||
syn case ignore
|
syn case ignore
|
||||||
|
syn sync linebreaks=1
|
||||||
|
|
||||||
syn match markdownValid '[<>]\c[a-z/$!]\@!'
|
let s:conceal = ''
|
||||||
syn match markdownValid '&\%(#\=\w*;\)\@!'
|
|
||||||
|
|
||||||
syn match markdownLineStart "^[<@]\@!" nextgroup=@markdownBlock,htmlSpecialChar
|
|
||||||
|
|
||||||
syn cluster markdownBlock contains=markdownH1,markdownH2,markdownH3,markdownH4,markdownH5,markdownH6,markdownBlockquote,markdownListMarker,markdownOrderedListMarker,markdownCodeBlock,markdownRule
|
|
||||||
syn cluster markdownInline contains=markdownLineBreak,markdownLinkText,markdownItalic,markdownBold,markdownCode,markdownEscape,@htmlTop,markdownError
|
|
||||||
|
|
||||||
syn match markdownH1 "^.\+\n=\+$" contained contains=@markdownInline,markdownHeadingRule,markdownAutomaticLink
|
|
||||||
syn match markdownH2 "^.\+\n-\+$" contained contains=@markdownInline,markdownHeadingRule,markdownAutomaticLink
|
|
||||||
|
|
||||||
syn match markdownHeadingRule "^[=-]\+$" contained
|
|
||||||
|
|
||||||
syn region markdownH1 matchgroup=markdownHeadingDelimiter start="##\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
syn region markdownH2 matchgroup=markdownHeadingDelimiter start="###\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
syn region markdownH3 matchgroup=markdownHeadingDelimiter start="####\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
syn region markdownH4 matchgroup=markdownHeadingDelimiter start="#####\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
syn region markdownH5 matchgroup=markdownHeadingDelimiter start="######\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
syn region markdownH6 matchgroup=markdownHeadingDelimiter start="#######\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
|
||||||
|
|
||||||
syn match markdownBlockquote ">\%(\s\|$\)" contained nextgroup=@markdownBlock
|
|
||||||
|
|
||||||
syn region markdownCodeBlock start=" \|\t" end="$" contained
|
|
||||||
|
|
||||||
" TODO: real nesting
|
|
||||||
syn match markdownListMarker "\%(\t\| \{0,4\}\)[-*+]\%(\s\+\S\)\@=" contained
|
|
||||||
syn match markdownOrderedListMarker "\%(\t\| \{0,4}\)\<\d\+\.\%(\s\+\S\)\@=" contained
|
|
||||||
|
|
||||||
syn match markdownRule "\* *\* *\*[ *]*$" contained
|
|
||||||
syn match markdownRule "- *- *-[ -]*$" contained
|
|
||||||
|
|
||||||
syn match markdownLineBreak " \{2,\}$"
|
|
||||||
|
|
||||||
syn region markdownIdDeclaration matchgroup=markdownLinkDelimiter start="^ \{0,3\}!\=\[" end="\]:" oneline keepend nextgroup=markdownUrl skipwhite
|
|
||||||
syn match markdownUrl "\S\+" nextgroup=markdownUrlTitle skipwhite contained
|
|
||||||
syn region markdownUrl matchgroup=markdownUrlDelimiter start="<" end=">" oneline keepend nextgroup=markdownUrlTitle skipwhite contained
|
|
||||||
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+"+ end=+"+ keepend contained
|
|
||||||
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+'+ end=+'+ keepend contained
|
|
||||||
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+(+ end=+)+ keepend contained
|
|
||||||
|
|
||||||
syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\_[^]]*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart
|
|
||||||
syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained
|
|
||||||
syn region markdownId matchgroup=markdownIdDelimiter start="\[" end="\]" keepend contained
|
|
||||||
syn region markdownAutomaticLink matchgroup=markdownUrlDelimiter start="<\%(\w\+:\|[[:alnum:]_+-]\+@\)\@=" end=">" keepend oneline
|
|
||||||
|
|
||||||
let s:concealends = ''
|
let s:concealends = ''
|
||||||
if has('conceal') && get(g:, 'markdown_syntax_conceal', 1) == 1
|
if has('conceal') && get(g:, 'vim_markdown_conceal', 1)
|
||||||
|
let s:conceal = ' conceal'
|
||||||
let s:concealends = ' concealends'
|
let s:concealends = ' concealends'
|
||||||
endif
|
endif
|
||||||
exe 'syn region markdownItalic matchgroup=markdownItalicDelimiter start="\S\@<=\*\|\*\S\@=" end="\S\@<=\*\|\*\S\@=" keepend contains=markdownLineStart' . s:concealends
|
|
||||||
exe 'syn region markdownItalic matchgroup=markdownItalicDelimiter start="\S\@<=_\|_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart' . s:concealends
|
|
||||||
exe 'syn region markdownBold matchgroup=markdownBoldDelimiter start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend contains=markdownLineStart,markdownItalic' . s:concealends
|
|
||||||
exe 'syn region markdownBold matchgroup=markdownBoldDelimiter start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend contains=markdownLineStart,markdownItalic' . s:concealends
|
|
||||||
exe 'syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\S\@<=\*\*\*\|\*\*\*\S\@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" keepend contains=markdownLineStart' . s:concealends
|
|
||||||
exe 'syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\S\@<=___\|___\S\@=" end="\S\@<=___\|___\S\@=" keepend contains=markdownLineStart' . s:concealends
|
|
||||||
|
|
||||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`" end="`" keepend contains=markdownLineStart
|
" additions to HTML groups
|
||||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart
|
if get(g:, 'vim_markdown_emphasis_multiline', 1)
|
||||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="^\s*```*.*$" end="^\s*```*\ze\s*$" keepend
|
let s:oneline = ''
|
||||||
|
else
|
||||||
syn match markdownFootnote "\[^[^\]]\+\]"
|
let s:oneline = ' oneline'
|
||||||
syn match markdownFootnoteDefinition "^\[^[^\]]\+\]:"
|
|
||||||
|
|
||||||
if main_syntax ==# 'markdown'
|
|
||||||
let s:done_include = {}
|
|
||||||
for s:type in g:markdown_fenced_languages
|
|
||||||
if has_key(s:done_include, matchstr(s:type,'[^.]*'))
|
|
||||||
continue
|
|
||||||
endif
|
endif
|
||||||
exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```*\s*'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```*\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
|
execute 'syn region htmlItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend' . s:oneline
|
||||||
let s:done_include[matchstr(s:type,'[^.]*')] = 1
|
execute 'syn region htmlItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend' . s:oneline
|
||||||
endfor
|
execute 'syn region htmlBold start="\%(^\|\s\)\*\*\ze\S" end="\S\zs\*\*" keepend' . s:oneline
|
||||||
unlet! s:type
|
execute 'syn region htmlBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend' . s:oneline
|
||||||
unlet! s:done_include
|
execute 'syn region htmlBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend' . s:oneline
|
||||||
|
execute 'syn region htmlBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend' . s:oneline
|
||||||
|
|
||||||
|
" [link](URL) | [link][id] | [link][] | 
|
||||||
|
syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]"
|
||||||
|
execute 'syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline' . s:conceal
|
||||||
|
execute 'syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline' . s:conceal
|
||||||
|
execute 'syn region mkdLink matchgroup=mkdDelimiter start="\\\@<!!\?\[" end="\n\{-,1}[^]]\{-}\zs\]\ze[[(]" contains=@mkdNonListItem,@Spell nextgroup=mkdURL,mkdID skipwhite oneline' . s:concealends
|
||||||
|
|
||||||
|
" Autolink without angle brackets.
|
||||||
|
" mkd inline links: protocol optional user:pass@ sub/domain .com, .co.uk, etc optional port path/querystring/hash fragment
|
||||||
|
" ------------ _____________________ ----------------------------- _________________________ ----------------- __
|
||||||
|
syn match mkdInlineURL /https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z0-9][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?\S*/
|
||||||
|
|
||||||
|
" Autolink with parenthesis.
|
||||||
|
syn region mkdInlineURL matchgroup=mkdDelimiter start="(\(https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z0-9][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?\S*)\)\@=" end=")"
|
||||||
|
|
||||||
|
" Autolink with angle brackets.
|
||||||
|
syn region mkdInlineURL matchgroup=mkdDelimiter start="\\\@<!<\ze[a-z][a-z0-9,.-]\{1,22}:\/\/[^> ]*>" end=">"
|
||||||
|
|
||||||
|
" Link definitions: [id]: URL (Optional Title)
|
||||||
|
syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite
|
||||||
|
syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline
|
||||||
|
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained
|
||||||
|
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained
|
||||||
|
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained
|
||||||
|
|
||||||
|
"HTML headings
|
||||||
|
syn region htmlH1 start="^\s*#" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn region htmlH2 start="^\s*##" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn region htmlH3 start="^\s*###" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn region htmlH4 start="^\s*####" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn region htmlH5 start="^\s*#####" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn region htmlH6 start="^\s*######" end="$" contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn match htmlH1 /^.\+\n=\+$/ contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
syn match htmlH2 /^.\+\n-\+$/ contains=mkdLink,mkdInlineURL,@Spell
|
||||||
|
|
||||||
|
"define Markdown groups
|
||||||
|
syn match mkdLineBreak / \+$/
|
||||||
|
syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLink,mkdInlineURL,mkdLineBreak,@Spell
|
||||||
|
syn region mkdCode start=/\(\([^\\]\|^\)\\\)\@<!`/ end=/\(\([^\\]\|^\)\\\)\@<!`/
|
||||||
|
syn region mkdCode start=/\s*``[^`]*/ end=/[^`]*``\s*/
|
||||||
|
syn region mkdCode start=/^\s*\z(`\{3,}\)[^`]*$/ end=/^\s*\z1`*\s*$/
|
||||||
|
syn region mkdCode start=/\s*\~\~[^\~]*/ end=/[^\~]*\~\~\s*/
|
||||||
|
syn region mkdCode start=/^\s*\z(\~\{3,}\)\s*[0-9A-Za-z_+-]*\s*$/ end=/^\s*\z1\~*\s*$/
|
||||||
|
syn region mkdCode start="<pre[^>]*\\\@<!>" end="</pre>"
|
||||||
|
syn region mkdCode start="<code[^>]*\\\@<!>" end="</code>"
|
||||||
|
syn region mkdFootnote start="\[^" end="\]"
|
||||||
|
syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/
|
||||||
|
syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/
|
||||||
|
syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained
|
||||||
|
syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\s\+/ contained
|
||||||
|
syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell
|
||||||
|
syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell
|
||||||
|
syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/
|
||||||
|
syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-$/
|
||||||
|
syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_$/
|
||||||
|
syn match mkdRule /^\s*-\{3,}$/
|
||||||
|
syn match mkdRule /^\s*\*\{3,5}$/
|
||||||
|
|
||||||
|
" YAML frontmatter
|
||||||
|
if get(g:, 'vim_markdown_frontmatter', 0)
|
||||||
|
syn include @yamlTop syntax/yaml.vim
|
||||||
|
syn region Comment matchgroup=mkdDelimiter start="\%^---$" end="^---$" contains=@yamlTop keepend
|
||||||
|
unlet! b:current_syntax
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn match markdownEscape "\\[][\\`*_{}()<>#+.!-]"
|
if get(g:, 'vim_markdown_toml_frontmatter', 0)
|
||||||
syn match markdownError "\w\@<=_\w\@="
|
try
|
||||||
|
syn include @tomlTop syntax/toml.vim
|
||||||
hi def link markdownH1 htmlH1
|
syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" transparent contains=@tomlTop keepend
|
||||||
hi def link markdownH2 htmlH2
|
unlet! b:current_syntax
|
||||||
hi def link markdownH3 htmlH3
|
catch /E484/
|
||||||
hi def link markdownH4 htmlH4
|
syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$"
|
||||||
hi def link markdownH5 htmlH5
|
endtry
|
||||||
hi def link markdownH6 htmlH6
|
|
||||||
hi def link markdownHeadingRule markdownRule
|
|
||||||
hi def link markdownHeadingDelimiter Delimiter
|
|
||||||
hi def link markdownOrderedListMarker markdownListMarker
|
|
||||||
hi def link markdownListMarker htmlTagName
|
|
||||||
hi def link markdownBlockquote Comment
|
|
||||||
hi def link markdownRule PreProc
|
|
||||||
|
|
||||||
hi def link markdownFootnote Typedef
|
|
||||||
hi def link markdownFootnoteDefinition Typedef
|
|
||||||
|
|
||||||
hi def link markdownLinkText htmlLink
|
|
||||||
hi def link markdownIdDeclaration Typedef
|
|
||||||
hi def link markdownId Type
|
|
||||||
hi def link markdownAutomaticLink markdownUrl
|
|
||||||
hi def link markdownUrl Float
|
|
||||||
hi def link markdownUrlTitle String
|
|
||||||
hi def link markdownIdDelimiter markdownLinkDelimiter
|
|
||||||
hi def link markdownUrlDelimiter htmlTag
|
|
||||||
hi def link markdownUrlTitleDelimiter Delimiter
|
|
||||||
|
|
||||||
hi def link markdownItalic htmlItalic
|
|
||||||
hi def link markdownItalicDelimiter markdownItalic
|
|
||||||
hi def link markdownBold htmlBold
|
|
||||||
hi def link markdownBoldDelimiter markdownBold
|
|
||||||
hi def link markdownBoldItalic htmlBoldItalic
|
|
||||||
hi def link markdownBoldItalicDelimiter markdownBoldItalic
|
|
||||||
hi def link markdownCodeDelimiter Delimiter
|
|
||||||
|
|
||||||
hi def link markdownEscape Special
|
|
||||||
hi def link markdownError Error
|
|
||||||
|
|
||||||
let b:current_syntax = "markdown"
|
|
||||||
if main_syntax ==# 'markdown'
|
|
||||||
unlet main_syntax
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" vim:set sw=2:
|
if get(g:, 'vim_markdown_json_frontmatter', 0)
|
||||||
|
try
|
||||||
|
syn include @jsonTop syntax/json.vim
|
||||||
|
syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop keepend
|
||||||
|
unlet! b:current_syntax
|
||||||
|
catch /E484/
|
||||||
|
syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$"
|
||||||
|
endtry
|
||||||
|
endif
|
||||||
|
|
||||||
|
if get(g:, 'vim_markdown_math', 0)
|
||||||
|
syn include @tex syntax/tex.vim
|
||||||
|
syn region mkdMath start="\\\@<!\$" end="\$" contains=@tex keepend
|
||||||
|
syn region mkdMath start="\\\@<!\$\$" end="\$\$" contains=@tex keepend
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath
|
||||||
|
|
||||||
|
"highlighting for Markdown groups
|
||||||
|
HtmlHiLink mkdString String
|
||||||
|
HtmlHiLink mkdCode String
|
||||||
|
HtmlHiLink mkdCodeStart String
|
||||||
|
HtmlHiLink mkdCodeEnd String
|
||||||
|
HtmlHiLink mkdFootnote Comment
|
||||||
|
HtmlHiLink mkdBlockquote Comment
|
||||||
|
HtmlHiLink mkdListItem Identifier
|
||||||
|
HtmlHiLink mkdRule Identifier
|
||||||
|
HtmlHiLink mkdLineBreak Visual
|
||||||
|
HtmlHiLink mkdFootnotes htmlLink
|
||||||
|
HtmlHiLink mkdLink htmlLink
|
||||||
|
HtmlHiLink mkdURL htmlString
|
||||||
|
HtmlHiLink mkdInlineURL htmlLink
|
||||||
|
HtmlHiLink mkdID Identifier
|
||||||
|
HtmlHiLink mkdLinkDef mkdID
|
||||||
|
HtmlHiLink mkdLinkDefTarget mkdURL
|
||||||
|
HtmlHiLink mkdLinkTitle htmlString
|
||||||
|
HtmlHiLink mkdDelimiter Delimiter
|
||||||
|
|
||||||
|
let b:current_syntax = "mkd"
|
||||||
|
|
||||||
|
delcommand HtmlHiLink
|
||||||
|
" vim: ts=8
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -127,6 +127,7 @@ syn match pgsqlKeyword "\<for\_s\+\(search\|order\_s\+by\)\>"
|
|||||||
syn match pgsqlKeyword "\<\(no\_s\+\)\?inherit\>"
|
syn match pgsqlKeyword "\<\(no\_s\+\)\?inherit\>"
|
||||||
syn match pgsqlKeyword "\<\(not\_s\+\)\?of\>"
|
syn match pgsqlKeyword "\<\(not\_s\+\)\?of\>"
|
||||||
syn match pgsqlKeyword "\<primary\_s\+key\>"
|
syn match pgsqlKeyword "\<primary\_s\+key\>"
|
||||||
|
syn match pgsqlKeyword "\<foreign\_s\+key\>"
|
||||||
syn match pgsqlKeyword "\<replica\_s\+identity\>"
|
syn match pgsqlKeyword "\<replica\_s\+identity\>"
|
||||||
syn match pgsqlKeyword "\<using\(\_s\+index\(\_s\+tablespace\)\?\)\?\>"
|
syn match pgsqlKeyword "\<using\(\_s\+index\(\_s\+tablespace\)\?\)\?\>"
|
||||||
syn match pgsqlKeyword "\<with\(out\)\?\_s\+function\>"
|
syn match pgsqlKeyword "\<with\(out\)\?\_s\+function\>"
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ syn cluster pugTop contains=pugBegin,pugComment,pugHtmlComment,pugJavascript
|
|||||||
syn match pugBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=pugTag,pugClassChar,pugIdChar,pugPlainChar,pugJavascript,pugScriptConditional,pugScriptStatement,pugPipedText
|
syn match pugBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=pugTag,pugClassChar,pugIdChar,pugPlainChar,pugJavascript,pugScriptConditional,pugScriptStatement,pugPipedText
|
||||||
syn match pugTag "+\?\w\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@pugComponent
|
syn match pugTag "+\?\w\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@pugComponent
|
||||||
syn cluster pugComponent contains=pugAttributes,pugIdChar,pugBlockExpansionChar,pugClassChar,pugPlainChar,pugJavascript,pugTagBlockChar,pugTagInlineText
|
syn cluster pugComponent contains=pugAttributes,pugIdChar,pugBlockExpansionChar,pugClassChar,pugPlainChar,pugJavascript,pugTagBlockChar,pugTagInlineText
|
||||||
syn match pugComment '\s*\/\/.*$'
|
syn match pugComment '\(\s\+\|^\)\/\/.*$'
|
||||||
syn region pugCommentBlock start="\z(\s*\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" keepend
|
syn region pugCommentBlock start="\z(\s\+\|^\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" keepend
|
||||||
syn region pugHtmlConditionalComment start="<!--\%(.*\)>" end="<!\%(.*\)-->"
|
syn region pugHtmlConditionalComment start="<!--\%(.*\)>" end="<!\%(.*\)-->"
|
||||||
syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent
|
syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent
|
||||||
syn match pugClassChar "\." contained nextgroup=pugClass
|
syn match pugClassChar "\." contained nextgroup=pugClass
|
||||||
|
|||||||
@@ -61,7 +61,11 @@ syntax case match
|
|||||||
syn match typescriptSpecial "\\\d\d\d\|\\."
|
syn match typescriptSpecial "\\\d\d\d\|\\."
|
||||||
syn region typescriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typescriptSpecial,@htmlPreproc extend
|
syn region typescriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typescriptSpecial,@htmlPreproc extend
|
||||||
syn region typescriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typescriptSpecial,@htmlPreproc extend
|
syn region typescriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typescriptSpecial,@htmlPreproc extend
|
||||||
syn region typescriptStringB start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=typescriptSpecial,@htmlPreproc extend
|
syn region typescriptStringB start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=typescriptInterpolation,typescriptSpecial,@htmlPreproc extend
|
||||||
|
|
||||||
|
syn region typescriptInterpolation matchgroup=typescriptInterpolationDelimiter
|
||||||
|
\ start=/${/ end=/}/ contained
|
||||||
|
\ contains=@typescriptExpression
|
||||||
|
|
||||||
syn match typescriptSpecialCharacter "'\\.'"
|
syn match typescriptSpecialCharacter "'\\.'"
|
||||||
syn match typescriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
|
syn match typescriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
|
||||||
@@ -114,7 +118,7 @@ syntax keyword typescriptDeprecated escape unescape all applets alinkColor bgCol
|
|||||||
syntax keyword typescriptConditional if else switch
|
syntax keyword typescriptConditional if else switch
|
||||||
syntax keyword typescriptRepeat do while for in of
|
syntax keyword typescriptRepeat do while for in of
|
||||||
syntax keyword typescriptBranch break continue yield await
|
syntax keyword typescriptBranch break continue yield await
|
||||||
syntax keyword typescriptLabel case default async
|
syntax keyword typescriptLabel case default async readonly
|
||||||
syntax keyword typescriptStatement return with
|
syntax keyword typescriptStatement return with
|
||||||
|
|
||||||
syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity Math Number NaN Object Packages RegExp String Symbol netscape
|
syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity Math Number NaN Object Packages RegExp String Symbol netscape
|
||||||
@@ -131,7 +135,7 @@ syntax keyword typescriptReserved constructor declare as interface module abstra
|
|||||||
syn match typescriptParameters "([a-zA-Z0-9_?.$][\w?.$]*)\s*:\s*([a-zA-Z0-9_?.$][\w?.$]*)" contained skipwhite
|
syn match typescriptParameters "([a-zA-Z0-9_?.$][\w?.$]*)\s*:\s*([a-zA-Z0-9_?.$][\w?.$]*)" contained skipwhite
|
||||||
"}}}
|
"}}}
|
||||||
" DOM2 Objects"{{{
|
" DOM2 Objects"{{{
|
||||||
syntax keyword typescriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string boolean number symbol
|
syntax keyword typescriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string boolean number symbol never
|
||||||
syntax keyword typescriptExceptions DOMException
|
syntax keyword typescriptExceptions DOMException
|
||||||
"}}}
|
"}}}
|
||||||
" DOM2 CONSTANT"{{{
|
" DOM2 CONSTANT"{{{
|
||||||
@@ -249,6 +253,7 @@ if version >= 508 || !exists("did_typescript_syn_inits")
|
|||||||
HiLink typescriptStringS String
|
HiLink typescriptStringS String
|
||||||
HiLink typescriptStringD String
|
HiLink typescriptStringD String
|
||||||
HiLink typescriptStringB String
|
HiLink typescriptStringB String
|
||||||
|
HiLink typescriptInterpolationDelimiter Delimiter
|
||||||
HiLink typescriptRegexpString String
|
HiLink typescriptRegexpString String
|
||||||
HiLink typescriptGlobal Constant
|
HiLink typescriptGlobal Constant
|
||||||
HiLink typescriptCharacter Character
|
HiLink typescriptCharacter Character
|
||||||
|
|||||||
Reference in New Issue
Block a user