Compare commits

...

14 Commits

Author SHA1 Message Date
Adam Stankiewicz
5b38663027 Update README.md 2020-06-01 22:01:48 +02:00
Adam Stankiewicz
f0b38f2c1d Install vim 8 for tests 2020-05-31 23:53:41 +02:00
Adam Stankiewicz
6676d61f61 Fix 2020-05-31 23:51:46 +02:00
Adam Stankiewicz
f0da1a9f4d Update vim version 2020-05-31 23:48:07 +02:00
Adam Stankiewicz
298d6b6356 Fix tests 2020-05-31 23:44:10 +02:00
Adam Stankiewicz
62f004c3da Update travis script 2020-05-31 23:42:04 +02:00
Adam Stankiewicz
c73ea49ecb Improve bash and zsh highlighting 2020-05-31 20:57:37 +02:00
Adam Stankiewicz
b2be47befc Update 2020-05-31 20:52:04 +02:00
Adam Kwiatek
de38ccabbd Enable TypeScript in ftdetect (#496) 2020-05-29 21:10:18 +02:00
Adam Stankiewicz
f0f49cf0fa Add support for ics, closes #492 2020-05-28 11:12:25 +02:00
Adam Stankiewicz
224a6348f9 Update 2020-05-28 11:09:19 +02:00
Emerson MX
00c3f02945 Remove gdscript ftplugin (#494) 2020-05-28 11:05:53 +02:00
Adam Stankiewicz
df34b4b4fa Update 2020-05-21 22:45:59 +02:00
Adam Stankiewicz
f3804b0892 Restore support for polyglot_disabled for ftdetect, closes #491 2020-05-21 22:45:04 +02:00
29 changed files with 932 additions and 858 deletions

7
.gitattributes vendored
View File

@@ -1,7 +0,0 @@
.gitignore export-ignore
.gitattributes export-ignore
README.md export-ignore
/spec export-ignore
Gemfile export-ignore
Gemfile.lock export-ignore
.travis.yml export-ignore

View File

@@ -1,11 +1,7 @@
language: ruby language: vim
rvm:
- 2.6
sudo: false
addons:
apt:
packages:
- vim-gtk
before_script: before_script:
- "./build" - sudo add-apt-repository ppa:jonathonf/vim -y
script: xvfb-run bundle exec rspec --format=documentation - sudo apt-get update -q
- sudo apt-get install -y vim
- vim --version
script: ./test

View File

@@ -1,4 +0,0 @@
source 'https://rubygems.org'
gem 'vimrunner'
gem 'rspec'

View File

@@ -1,28 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
diff-lcs (1.3)
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-core (3.8.0)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-support (3.8.0)
vimrunner (0.3.4)
PLATFORMS
ruby
DEPENDENCIES
rspec
vimrunner
BUNDLED WITH
1.16.2

View File

@@ -10,13 +10,13 @@ A collection of language packs for Vim.
> One to rule them all, one to find them, one to bring them all and in the darkness bind them. > One to rule them all, one to find them, one to bring them all and in the darkness bind them.
- It **won't affect your startup time**, as scripts are loaded only on demand\*. - It **won't affect your startup time**, as scripts are loaded only on demand\*.
- It **installs and updates 120+ times faster** than the <!--Package Count-->149<!--/Package Count--> packages it consists of. - It **installs and updates 120+ times faster** than the <!--Package Count-->151<!--/Package Count--> packages it consists of.
- Solid syntax and indentation support (other features skipped). Only the best language packs. - Solid syntax and indentation support (other features skipped). Only the best language packs.
- All unnecessary files are ignored (like enormous documentation from php support). - All unnecessary files are ignored (like enormous documentation from php support).
- No support for esoteric languages, only most popular ones (modern too, like `slim`). - No support for esoteric languages, only most popular ones (modern too, like `slim`).
- Each build is tested by automated vimrunner script on CI. See `spec` directory. - Each build is tested by automated vimrunner script on CI. See `spec` directory.
\*To be completely honest, concatenated `ftdetect` script takes up to `17ms` to load. \*To be completely honest, optimized `ftdetect` script takes up to `19ms` to load.
## Installation ## Installation
@@ -81,7 +81,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [fish](https://github.com/georgewitteman/vim-fish) (syntax, indent, compiler, autoload, ftplugin) - [fish](https://github.com/georgewitteman/vim-fish) (syntax, indent, compiler, autoload, ftplugin)
- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (syntax) - [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (syntax)
- [fsharp](https://github.com/ionide/Ionide-vim) (syntax, indent) - [fsharp](https://github.com/ionide/Ionide-vim) (syntax, indent)
- [gdscript](https://github.com/calviken/vim-gdscript3) (syntax, indent, ftplugin) - [gdscript](https://github.com/calviken/vim-gdscript3) (syntax, indent)
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin) - [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin)
- [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent) - [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent)
- [gmpl](https://github.com/maelvalais/gmpl.vim) (syntax) - [gmpl](https://github.com/maelvalais/gmpl.vim) (syntax)
@@ -99,6 +99,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [hive](https://github.com/zebradil/hive.vim) (syntax, ftplugin) - [hive](https://github.com/zebradil/hive.vim) (syntax, ftplugin)
- [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload, ftplugin) - [html5](https://github.com/othree/html5.vim) (syntax, indent, autoload, ftplugin)
- [i3](https://github.com/mboughaba/i3config.vim) (syntax, ftplugin) - [i3](https://github.com/mboughaba/i3config.vim) (syntax, ftplugin)
- [icalenadr](https://github.com/chutzpah/icalendar.vim) (syntax)
- [idris](https://github.com/idris-hackers/idris-vim) (syntax, indent, ftplugin) - [idris](https://github.com/idris-hackers/idris-vim) (syntax, indent, ftplugin)
- [ion](https://github.com/vmchale/ion-vim) (syntax, ftplugin) - [ion](https://github.com/vmchale/ion-vim) (syntax, ftplugin)
- [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, compiler, ftplugin, extras) - [javascript](https://github.com/pangloss/vim-javascript) (syntax, indent, compiler, ftplugin, extras)
@@ -159,6 +160,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [sbt](https://github.com/derekwyatt/vim-sbt) (syntax) - [sbt](https://github.com/derekwyatt/vim-sbt) (syntax)
- [scala](https://github.com/derekwyatt/vim-scala) (syntax, indent, compiler, ftplugin, ctags) - [scala](https://github.com/derekwyatt/vim-scala) (syntax, indent, compiler, ftplugin, ctags)
- [scss](https://github.com/cakebaker/scss-syntax.vim) (syntax, indent, ftplugin) - [scss](https://github.com/cakebaker/scss-syntax.vim) (syntax, indent, ftplugin)
- [sh](https://github.com/arzg/vim-sh) (syntax)
- [slim](https://github.com/slim-template/vim-slim) (syntax, indent, ftplugin) - [slim](https://github.com/slim-template/vim-slim) (syntax, indent, ftplugin)
- [slime](https://github.com/slime-lang/vim-slime-syntax) (syntax, indent) - [slime](https://github.com/slime-lang/vim-slime-syntax) (syntax, indent)
- [smt2](https://github.com/bohlender/vim-smt2) (syntax, autoload, ftplugin) - [smt2](https://github.com/bohlender/vim-smt2) (syntax, autoload, ftplugin)

View File

@@ -267,7 +267,7 @@ fu! csv#GetPat(colnr, maxcolnr, pat, allowmore) "{{{3
" Allow space in front of the pattern, so that it works correctly " Allow space in front of the pattern, so that it works correctly
" even if :Arrange Col has been used #100 " even if :Arrange Col has been used #100
return '^' . csv#GetColPat(a:colnr - 1,0) . return '^' . csv#GetColPat(a:colnr - 1,0) .
\ '\s*\zs' . a:pat . '\ze' . (a:allowmore ? '' : '$') \ '.*\zs' . a:pat . '\ze' . (a:allowmore ? '' : '$')
else else
return '\%' . b:csv_fixed_width_cols[-1] . return '\%' . b:csv_fixed_width_cols[-1] .
\ 'c\zs' . a:pat . '\ze' . (a:allowmore ? '' : '$') \ 'c\zs' . a:pat . '\ze' . (a:allowmore ? '' : '$')
@@ -504,7 +504,7 @@ fu! csv#WColumn(...) "{{{3
" Return on which column the cursor is " Return on which column the cursor is
let _cur = getpos('.') let _cur = getpos('.')
if !exists("b:csv_fixed_width_cols") if !exists("b:csv_fixed_width_cols")
if line('.') > 1 && mode('') != 'n' if line('.') > 1 && mode('') != 'n' && empty(getline('.')[0:col('.')-1])
" in insert mode, get line from above, just in case the current " in insert mode, get line from above, just in case the current
" line is empty " line is empty
let line = getline(line('.')-1) let line = getline(line('.')-1)

View File

@@ -170,8 +170,8 @@ function! go#config#EchoCommandInfo() abort
endfunction endfunction
function! go#config#DocUrl() abort function! go#config#DocUrl() abort
let godoc_url = get(g:, 'go_doc_url', 'https://godoc.org') let godoc_url = get(g:, 'go_doc_url', 'https://pkg.go.dev')
if godoc_url isnot 'https://godoc.org' if godoc_url isnot 'https://pkg.go.dev'
" strip last '/' character if available " strip last '/' character if available
let last_char = strlen(godoc_url) - 1 let last_char = strlen(godoc_url) - 1
if godoc_url[last_char] == '/' if godoc_url[last_char] == '/'
@@ -266,23 +266,11 @@ function! go#config#MetalinterCommand() abort
endfunction endfunction
function! go#config#MetalinterAutosaveEnabled() abort function! go#config#MetalinterAutosaveEnabled() abort
let l:default_enabled = ["vet", "golint"] return get(g:, "go_metalinter_autosave_enabled", ["govet", "golint"])
if go#config#MetalinterCommand() == "golangci-lint"
let l:default_enabled = ["govet", "golint"]
endif
return get(g:, "go_metalinter_autosave_enabled", default_enabled)
endfunction endfunction
function! go#config#MetalinterEnabled() abort function! go#config#MetalinterEnabled() abort
let l:default_enabled = ["vet", "golint", "errcheck"] return get(g:, "go_metalinter_enabled", ["vet", "golint", "errcheck"])
if go#config#MetalinterCommand() == "golangci-lint"
let l:default_enabled = ["govet", "golint"]
endif
return get(g:, "go_metalinter_enabled", default_enabled)
endfunction endfunction
function! go#config#GolintBin() abort function! go#config#GolintBin() abort

4
build
View File

@@ -173,7 +173,7 @@ PACKS="
fish:georgewitteman/vim-fish fish:georgewitteman/vim-fish
flatbuffers:dcharbon/vim-flatbuffers flatbuffers:dcharbon/vim-flatbuffers
fsharp:ionide/Ionide-vim:_BASIC fsharp:ionide/Ionide-vim:_BASIC
gdscript:calviken/vim-gdscript3 gdscript:calviken/vim-gdscript3:_SYNTAX
git:tpope/vim-git git:tpope/vim-git
glsl:tikhomirov/vim-glsl:_NOAFTER glsl:tikhomirov/vim-glsl:_NOAFTER
gmpl:maelvalais/gmpl.vim gmpl:maelvalais/gmpl.vim
@@ -191,6 +191,7 @@ PACKS="
hive:zebradil/hive.vim hive:zebradil/hive.vim
html5:othree/html5.vim html5:othree/html5.vim
i3:mboughaba/i3config.vim i3:mboughaba/i3config.vim
icalenadr:chutzpah/icalendar.vim
idris:idris-hackers/idris-vim idris:idris-hackers/idris-vim
ion:vmchale/ion-vim ion:vmchale/ion-vim
javascript:pangloss/vim-javascript:_JAVASCRIPT javascript:pangloss/vim-javascript:_JAVASCRIPT
@@ -251,6 +252,7 @@ PACKS="
sbt:derekwyatt/vim-sbt sbt:derekwyatt/vim-sbt
scala:derekwyatt/vim-scala scala:derekwyatt/vim-scala
scss:cakebaker/scss-syntax.vim scss:cakebaker/scss-syntax.vim
sh:arzg/vim-sh
slim:slim-template/vim-slim slim:slim-template/vim-slim
slime:slime-lang/vim-slime-syntax slime:slime-lang/vim-slime-syntax
smt2:bohlender/vim-smt2 smt2:bohlender/vim-smt2

View File

@@ -17,6 +17,10 @@ if exists(':CompilerSet') != 2
command -nargs=* CompilerSet setlocal <args> command -nargs=* CompilerSet setlocal <args>
endif endif
if !exists('g:ledger_main')
let g:ledger_main = '%'
endif
if !g:ledger_is_hledger if !g:ledger_is_hledger
" Capture Ledger errors (%-C ignores all lines between "While parsing..." and "Error:..."): " Capture Ledger errors (%-C ignores all lines between "While parsing..." and "Error:..."):
CompilerSet errorformat=%EWhile\ parsing\ file\ \"%f\"\\,\ line\ %l:,%ZError:\ %m,%-C%.%# CompilerSet errorformat=%EWhile\ parsing\ file\ \"%f\"\\,\ line\ %l:,%ZError:\ %m,%-C%.%#
@@ -24,9 +28,9 @@ if !g:ledger_is_hledger
CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m
" Skip all other lines: " Skip all other lines:
CompilerSet errorformat+=%-G%.%# CompilerSet errorformat+=%-G%.%#
exe 'CompilerSet makeprg='.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ %\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ source\ %' exe 'CompilerSet makeprg='.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . shellescape(expand(g:ledger_main)) . '\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ source\ ' . shellescape(expand(g:ledger_main))
else else
exe 'CompilerSet makeprg=('.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ %\ print\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ >\ /dev/null)' exe 'CompilerSet makeprg=('.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ -f\ ' . shellescape(expand(g:ledger_main)) . '\ print\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ >\ /dev/null)'
endif endif
endif endif

View File

@@ -2,6 +2,10 @@
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo&vim set cpo&vim
if !exists('g:polyglot_disabled')
let g:polyglot_disabled = []
endif
function! s:SetDefault(name, value) function! s:SetDefault(name, value)
if !exists(a:name) if !exists(a:name)
let {a:name} = a:value let {a:name} = a:value
@@ -42,378 +46,413 @@ call s:SetDefault('g:python_highlight_operators', 1)
call s:SetDefault('g:python_highlight_file_headers_as_comments', 1) call s:SetDefault('g:python_highlight_file_headers_as_comments', 1)
call s:SetDefault('g:python_slow_sync', 1) call s:SetDefault('g:python_slow_sync', 1)
" visualbasic if index(g:polyglot_disabled, 'acpiasl') == -1
au BufNewFile,BufRead *.vb set ft=vbnet au BufNewFile,BufRead *.asl set ft=asl
au BufNewFile,BufRead *.dsl set ft=asl
endif
" julia if index(g:polyglot_disabled, 'apiblueprint') == -1
au BufNewFile,BufRead *.jl set ft=julia au BufNewFile,BufRead *.apib set ft=apiblueprint
endif
" coffeescript if index(g:polyglot_disabled, 'applescript') == -1
au BufNewFile,BufRead *.scpt set ft=applescript
au BufNewFile,BufRead *.applescript set ft=applescript
endif
if index(g:polyglot_disabled, 'arduino') == -1
au BufNewFile,BufRead *.ino,*.pde set ft=arduino
endif
if index(g:polyglot_disabled, 'asciidoc') == -1
au BufNewFile,BufRead *.asciidoc,*.adoc set ft=asciidoc
endif
if index(g:polyglot_disabled, 'blade') == -1
au BufNewFile,BufRead *.blade.php set ft=blade
endif
if index(g:polyglot_disabled, 'brewfile') == -1
au BufNewFile,BufRead Brewfile,.Brewfile set ft=ruby syn=brewfile
endif
if index(g:polyglot_disabled, 'caddyfile') == -1
au BufNewFile,BufRead Caddyfile set ft=caddyfile
endif
if index(g:polyglot_disabled, 'carp') == -1
au BufNewFile,BufRead *.carp set ft=carp
endif
if index(g:polyglot_disabled, 'cjsx') == -1
au BufNewFile,BufRead *.csx,*.cjsx set ft=coffee
endif
if index(g:polyglot_disabled, 'clojure') == -1
au BufNewFile,BufRead *.clj,*.cljs,*.edn,*.cljx,*.cljc,{build,profile}.boot set ft=clojure
endif
if index(g:polyglot_disabled, 'coffee-script') == -1
au BufNewFile,BufRead *.coffee set ft=coffee au BufNewFile,BufRead *.coffee set ft=coffee
au BufNewFile,BufRead *Cakefile set ft=coffee au BufNewFile,BufRead *Cakefile set ft=coffee
au BufNewFile,BufRead *.coffeekup,*.ck set ft=coffee au BufNewFile,BufRead *.coffeekup,*.ck set ft=coffee
au BufNewFile,BufRead *._coffee set ft=coffee au BufNewFile,BufRead *._coffee set ft=coffee
au BufNewFile,BufRead *.litcoffee set ft=litcoffee au BufNewFile,BufRead *.litcoffee set ft=litcoffee
au BufNewFile,BufRead *.coffee.md set ft=litcoffee au BufNewFile,BufRead *.coffee.md set ft=litcoffee
endif
" elixir if index(g:polyglot_disabled, 'cql') == -1
au BufNewFile,BufRead *.cql set ft=cql
endif
if index(g:polyglot_disabled, 'cryptol') == -1
au BufNewFile,BufRead *.cry set ft=cryptol
au BufNewFile,BufRead *.cyl set ft=cryptol
au BufNewFile,BufRead *.lcry set ft=cryptol
au BufNewFile,BufRead *.lcyl set ft=cryptol
endif
if index(g:polyglot_disabled, 'crystal') == -1
au BufNewFile,BufRead *.cr set ft=crystal
au BufNewFile,BufRead Projectfile set ft=crystal
au BufNewFile,BufRead *.ecr set ft=ecrystal
endif
if index(g:polyglot_disabled, 'csv') == -1
au BufNewFile,BufRead *.csv,*.dat,*.tsv,*.tab set ft=csv
endif
if index(g:polyglot_disabled, 'cucumber') == -1
au BufNewFile,BufRead *.feature,*.story set ft=cucumber
endif
if index(g:polyglot_disabled, 'cue') == -1
au BufNewFile,BufRead *.cue set ft=cuesheet
endif
if index(g:polyglot_disabled, 'dart') == -1
au BufNewFile,BufRead *.dart set ft=dart
endif
if index(g:polyglot_disabled, 'dhall') == -1
au BufNewFile,BufRead *.dhall set ft=dhall
endif
if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.d set ft=d
au BufNewFile,BufRead *.lst set ft=dcov
au BufNewFile,BufRead *.dd set ft=dd
au BufNewFile,BufRead *.ddoc set ft=ddoc
au BufNewFile,BufRead *.sdl set ft=dsdl
endif
if index(g:polyglot_disabled, 'dockerfile') == -1
au BufNewFile,BufRead [Dd]ockerfile set ft=Dockerfile
au BufNewFile,BufRead Dockerfile* set ft=Dockerfile
au BufNewFile,BufRead [Dd]ockerfile.vim set ft=vim
au BufNewFile,BufRead *.dock set ft=Dockerfile
au BufNewFile,BufRead *.[Dd]ockerfile set ft=Dockerfile
au BufNewFile,BufRead docker-compose*.{yaml,yml}* set ft=yaml.docker-compose
endif
if index(g:polyglot_disabled, 'elixir') == -1
au BufNewFile,BufRead *.ex,*.exs set ft=elixir au BufNewFile,BufRead *.ex,*.exs set ft=elixir
au BufNewFile,BufRead *.eex,*.leex set ft=eelixir au BufNewFile,BufRead *.eex,*.leex set ft=eelixir
au BufNewFile,BufRead mix.lock set ft=elixir au BufNewFile,BufRead mix.lock set ft=elixir
endif
" fish if index(g:polyglot_disabled, 'elm') == -1
au BufNewFile,BufRead *.elm set ft=elm
endif
if index(g:polyglot_disabled, 'emberscript') == -1
au BufNewFile,BufRead *.em set ft=ember-script
endif
if index(g:polyglot_disabled, 'emblem') == -1
au BufNewFile,BufRead *.emblem set ft=emblem
endif
if index(g:polyglot_disabled, 'erlang') == -1
au BufNewFile,BufRead *.erl,*.hrl,rebar.config,*.app,*.app.src,*.yaws,*.xrl,*.escript set ft=erlang
endif
if index(g:polyglot_disabled, 'ferm') == -1
au BufNewFile,BufRead ferm.conf set ft=ferm
au BufNewFile,BufRead *.ferm set ft=ferm
endif
if index(g:polyglot_disabled, 'fish') == -1
au BufNewFile,BufRead *.fish set ft=fish au BufNewFile,BufRead *.fish set ft=fish
au BufNewFile,BufRead ~/.config/fish/fish_{read_,}history set ft=yaml au BufNewFile,BufRead ~/.config/fish/fish_{read_,}history set ft=yaml
endif
" git if index(g:polyglot_disabled, 'flatbuffers') == -1
au BufNewFile,BufRead *.fbs set ft=fbs
endif
if index(g:polyglot_disabled, 'fsharp') == -1
au BufNewFile,BufRead *.fs,*.fsi,*.fsx set ft=fsharp
endif
if index(g:polyglot_disabled, 'gdscript') == -1
au BufNewFile,BufRead *.gd set ft=gdscript3
au BufNewFile,BufRead *.shader set ft=gsl
endif
if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit au BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig au BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig
au BufNewFile,BufRead */.config/git/config set ft=gitconfig au BufNewFile,BufRead */.config/git/config set ft=gitconfig
au BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig au BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
au BufNewFile,BufRead git-rebase-todo set ft=gitrebase au BufNewFile,BufRead git-rebase-todo set ft=gitrebase
au BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail au BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail
endif
" plantuml if index(g:polyglot_disabled, 'glsl') == -1
au BufNewFile,BufRead *.pu,*.uml,*.plantuml,*.puml set ft=plantuml
" scala
au BufNewFile,BufRead *.scala,*.sc set ft=scala
au BufNewFile,BufRead *.sbt set ft=sbt.scala
" swift
au BufNewFile,BufRead *.swift set ft=swift
"jinja
au BufNewFile,BufRead *.jinja2,*.j2,*.jinja,*.nunjucks,*.nunjs,*.njk set ft=jinja
au BufNewFile,BufRead *.html.jinja2,*.html.j2,*.html.jinja,*.htm.jinja2,*.htm.j2,*.htm.jinja set ft=jinja.html
"jsx
au BufNewFile,BufRead *.jsx set ft=javascriptreact
"fsharp
au BufNewFile,BufRead *.fs,*.fsi,*.fsx set ft=fsharp
" acpiasl, from asl.vim in martinlroth/vim-acpi-asl
au BufNewFile,BufRead *.asl set ft=asl
au BufNewFile,BufRead *.dsl set ft=asl
" apiblueprint, from apiblueprint.vim in sheerun/apiblueprint.vim
au BufNewFile,BufRead *.apib set ft=apiblueprint
" applescript, from applescript.vim in mityu/vim-applescript:_SYNTAX
au BufNewFile,BufRead *.scpt set ft=applescript
au BufNewFile,BufRead *.applescript set ft=applescript
" vim: foldmethod=marker
" arduino, from arduino.vim in sudar/vim-arduino-syntax
au BufNewFile,BufRead *.ino,*.pde set ft=arduino
" asciidoc, from asciidoc.vim in asciidoc/vim-asciidoc
au BufNewFile,BufRead *.asciidoc,*.adoc
\ set ft=asciidoc
" blade, from blade.vim in jwalton512/vim-blade
au BufNewFile,BufRead *.blade.php set ft=blade
" brewfile, from brewfile.vim in bfontaine/Brewfile.vim
au BufNewFile,BufRead Brewfile,.Brewfile set ft=ruby syntax=brewfile
" caddyfile, from caddyfile.vim in isobit/vim-caddyfile
au BufNewFile,BufRead Caddyfile set ft=caddyfile
" carp, from carp.vim in hellerve/carp-vim
au BufNewFile,BufRead *.carp set ft=carp
" cjsx, from cjsx.vim in mtscout6/vim-cjsx
au BufNewFile,BufRead *.csx,*.cjsx set ft=coffee
" clojure, from clojure.vim in guns/vim-clojure-static
au BufNewFile,BufRead *.clj,*.cljs,*.edn,*.cljx,*.cljc,{build,profile}.boot set ft=clojure
" cql, from cql.vim in elubow/cql-vim
au BufNewFile,BufRead *.cql set ft=cql
" cryptol, from cryptol.vim in victoredwardocallaghan/cryptol.vim
au BufNewFile,BufRead *.cry set ft=cryptol
au BufNewFile,BufRead *.cyl set ft=cryptol
au BufNewFile,BufRead *.lcry set ft=cryptol
au BufNewFile,BufRead *.lcyl set ft=cryptol
" crystal, from crystal.vim in rhysd/vim-crystal
au BufNewFile,BufRead *.cr set ft=crystal
au BufNewFile,BufRead Projectfile set ft=crystal
" crystal, from ecrystal.vim in rhysd/vim-crystal
au BufNewFile,BufRead *.ecr set ft=ecrystal
" csv, from csv.vim in chrisbra/csv.vim
au BufNewFile,BufRead *.csv,*.dat,*.tsv,*.tab set ft=csv
" cucumber, from cucumber.vim in tpope/vim-cucumber
au BufNewFile,BufRead *.feature,*.story set ft=cucumber
" cue, from cuesheet.vim in mgrabovsky/vim-cuesheet
au BufNewFile,BufRead *.cue set ft=cuesheet
" dart, from dart.vim in dart-lang/dart-vim-plugin
au BufNewFile,BufRead *.dart set ft=dart
" dhall, from dhall.vim in vmchale/dhall-vim
au BufNewFile,BufRead *.dhall set ft=dhall
" dlang, from d.vim in JesseKPhillips/d.vim
au BufNewFile,BufRead *.d set ft=d
" dlang, from dcov.vim in JesseKPhillips/d.vim
au BufNewFile,BufRead *.lst set ft=dcov
" dlang, from dd.vim in JesseKPhillips/d.vim
au BufNewFile,BufRead *.dd set ft=dd
" dlang, from ddoc.vim in JesseKPhillips/d.vim
au BufNewFile,BufRead *.ddoc set ft=ddoc
" dlang, from dsdl.vim in JesseKPhillips/d.vim
au BufNewFile,BufRead *.sdl set ft=dsdl
" dockerfile, from Dockerfile.vim in ekalinin/Dockerfile.vim
" vint: -ProhibitAutocmdWithNoGroup
" Dockerfile
au BufNewFile,BufRead [Dd]ockerfile set ft=Dockerfile
au BufNewFile,BufRead Dockerfile* set ft=Dockerfile
au BufNewFile,BufRead [Dd]ockerfile.vim set ft=vim
au BufNewFile,BufRead *.dock set ft=Dockerfile
au BufNewFile,BufRead *.[Dd]ockerfile set ft=Dockerfile
" dockerfile, from docker-compose.vim in ekalinin/Dockerfile.vim
au BufNewFile,BufRead docker-compose*.{yaml,yml}* set ft=yaml.docker-compose
" elm, from elm.vim in andys8/vim-elm-syntax
" detection for Elm (https://elm-lang.org)
au BufNewFile,BufRead *.elm set ft=elm
" emberscript, from ember-script.vim in yalesov/vim-ember-script
au BufNewFile,BufRead *.em set ft=ember-script
" emblem, from emblem.vim in yalesov/vim-emblem
au BufNewFile,BufRead *.emblem set ft=emblem
" erlang, from erlang.vim in vim-erlang/vim-erlang-runtime
au BufNewFile,BufRead *.erl,*.hrl,rebar.config,*.app,*.app.src,*.yaws,*.xrl,*.escript set ft=erlang
" ferm, from ferm.vim in vim-scripts/ferm.vim
au BufNewFile,BufRead ferm.conf set ft=ferm
au BufNewFile,BufRead *.ferm set ft=ferm
" flatbuffers, from fbs.vim in dcharbon/vim-flatbuffers
au BufNewFile,BufRead *.fbs set ft=fbs
" gdscript, from gdscript3.vim in calviken/vim-gdscript3
au BufNewFile,BufRead *.gd set ft=gdscript3
" gdscript, from gsl.vim in calviken/vim-gdscript3
au BufNewFile,BufRead *.shader set ft=gsl
" glsl, from glsl.vim in tikhomirov/vim-glsl:_NOAFTER
au BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp set ft=glsl au BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp set ft=glsl
endif
" gmpl, from gmpl.vim in maelvalais/gmpl.vim if index(g:polyglot_disabled, 'gmpl') == -1
au BufNewFile,BufRead *.mod set ft=gmpl au BufNewFile,BufRead *.mod set ft=gmpl
endif
" go, from gofiletype.vim in fatih/vim-go:_BASIC if index(g:polyglot_disabled, 'go') == -1
au BufNewFile,BufRead *.go set ft=go au BufNewFile,BufRead *.go set ft=go
au BufNewFile,BufRead *.s set ft=asm au BufNewFile,BufRead *.s set ft=asm
au BufNewFile,BufRead *.tmpl set ft=gohtmltmpl au BufNewFile,BufRead *.tmpl set ft=gohtmltmpl
" go.mod
au BufNewFile,BufRead go.mod set ft=gomod au BufNewFile,BufRead go.mod set ft=gomod
endif
" graphql if index(g:polyglot_disabled, 'graphql') == -1
au BufNewFile,BufRead *.graphql,*.graphqls,*.gql set ft=graphql au BufNewFile,BufRead *.graphql,*.graphqls,*.gql set ft=graphql
endif
" gradle, from gradle.vim in tfnico/vim-gradle if index(g:polyglot_disabled, 'gradle') == -1
au BufNewFile,BufRead *.gradle set ft=groovy au BufNewFile,BufRead *.gradle set ft=groovy
endif
" haml, from haml.vim in sheerun/vim-haml if index(g:polyglot_disabled, 'haml') == -1
au BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc set ft=haml au BufNewFile,BufRead *.haml,*.hamlbars,*.hamlc set ft=haml
endif
" handlebars, from mustache.vim in mustache/vim-mustache-handlebars if index(g:polyglot_disabled, 'handlebars') == -1
au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set ft=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim indent/handlebars.vim au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set ft=html.mustache syn=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim indent/handlebars.vim
au BufNewFile,BufRead *.handlebars,*.hdbs,*.hbs,*.hb set ft=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim au BufNewFile,BufRead *.handlebars,*.hdbs,*.hbs,*.hb set ft=html.handlebars syn=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
endif
" haproxy, from haproxy.vim in CH-DanReif/haproxy.vim if index(g:polyglot_disabled, 'haproxy') == -1
au BufNewFile,BufRead haproxy*.c* set ft=haproxy au BufNewFile,BufRead haproxy*.c* set ft=haproxy
endif
" haskell, from haskell.vim in neovimhaskell/haskell-vim if index(g:polyglot_disabled, 'haskell') == -1
au BufNewFile,BufRead *.hsc set ft=haskell au BufNewFile,BufRead *.hsc set ft=haskell
au BufNewFile,BufRead *.bpk set ft=haskell au BufNewFile,BufRead *.bpk set ft=haskell
au BufNewFile,BufRead *.hsig set ft=haskell au BufNewFile,BufRead *.hsig set ft=haskell
endif
" haxe, from haxe.vim in yaymukund/vim-haxe if index(g:polyglot_disabled, 'haxe') == -1
au BufNewFile,BufRead *.hx set ft=haxe au BufNewFile,BufRead *.hx set ft=haxe
endif
" hcl, from hcl.vim in b4b4r07/vim-hcl if index(g:polyglot_disabled, 'hcl') == -1
au BufNewFile,BufRead *.hcl set ft=hcl au BufNewFile,BufRead *.hcl set ft=hcl
au BufNewFile,BufRead *.nomad set ft=hcl au BufNewFile,BufRead *.nomad set ft=hcl
au BufNewFile,BufRead *.tf set ft=hcl au BufNewFile,BufRead *.tf set ft=hcl
au BufNewFile,BufRead Appfile set ft=hcl au BufNewFile,BufRead Appfile set ft=hcl
endif
" helm, from helm.vim in towolf/vim-helm if index(g:polyglot_disabled, 'helm') == -1
au BufNewFile,BufRead */templates/*.yaml,*/templates/*.tpl set ft=helm au BufNewFile,BufRead */templates/*.yaml,*/templates/*.tpl set ft=helm
endif
" hive, from hive.vim in zebradil/hive.vim if index(g:polyglot_disabled, 'hive') == -1
au BufNewFile,BufRead *.hql set ft=hive au BufNewFile,BufRead *.hql set ft=hive
au BufNewFile,BufRead *.ql set ft=hive au BufNewFile,BufRead *.ql set ft=hive
au BufNewFile,BufRead *.q set ft=hive au BufNewFile,BufRead *.q set ft=hive
endif
" i3, from i3config.vim in mboughaba/i3config.vim if index(g:polyglot_disabled, 'i3') == -1
au BufNewFile,BufRead .i3.config,i3.config,*.i3config,*.i3.config set ft=i3config au BufNewFile,BufRead .i3.config,i3.config,*.i3config,*.i3.config set ft=i3config
endif
" idris, from idris.vim in idris-hackers/idris-vim if index(g:polyglot_disabled, 'icalendar') == -1
au BufNewFile,BufRead *.ics set ft=icalendar
endif
if index(g:polyglot_disabled, 'idris') == -1
au BufNewFile,BufRead *.idr set ft=idris au BufNewFile,BufRead *.idr set ft=idris
au BufNewFile,BufRead idris-response set ft=idris au BufNewFile,BufRead idris-response set ft=idris
" idris, from lidris.vim in idris-hackers/idris-vim
au BufNewFile,BufRead *.lidr set ft=lidris au BufNewFile,BufRead *.lidr set ft=lidris
endif
" ion, from ion.vim in vmchale/ion-vim if index(g:polyglot_disabled, 'ion') == -1
au BufNewFile,BufRead ~/.config/ion/initrc set ft=ion au BufNewFile,BufRead ~/.config/ion/initrc set ft=ion
au BufNewFile,BufRead *.ion set ft=ion au BufNewFile,BufRead *.ion set ft=ion
endif
" javascript, from flow.vim in pangloss/vim-javascript:_JAVASCRIPT if index(g:polyglot_disabled, 'javascript') == -1
au BufNewFile,BufRead *.flow set ft=flow au BufNewFile,BufRead *.flow set ft=flow
" javascript, from javascript.vim in pangloss/vim-javascript:_JAVASCRIPT
au BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile set ft=javascript au BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile set ft=javascript
endif
" jenkins, from Jenkinsfile.vim in martinda/Jenkinsfile-vim-syntax if index(g:polyglot_disabled, 'jenkins') == -1
au BufNewFile,BufRead Jenkinsfile set ft=Jenkinsfile au BufNewFile,BufRead Jenkinsfile set ft=Jenkinsfile
au BufNewFile,BufRead Jenkinsfile* set ft=Jenkinsfile au BufNewFile,BufRead Jenkinsfile* set ft=Jenkinsfile
au BufNewFile,BufRead *.jenkinsfile set ft=Jenkinsfile au BufNewFile,BufRead *.jenkinsfile set ft=Jenkinsfile
au BufNewFile,BufRead *.jenkinsfile set ft=Jenkinsfile au BufNewFile,BufRead *.jenkinsfile set ft=Jenkinsfile
au BufNewFile,BufRead *.Jenkinsfile set ft=Jenkinsfile au BufNewFile,BufRead *.Jenkinsfile set ft=Jenkinsfile
endif
" json5, from json5.vim in GutenYe/json5.vim if index(g:polyglot_disabled, 'jinja') == -1
au BufNewFile,BufRead *.jinja2,*.j2,*.jinja,*.nunjucks,*.nunjs,*.njk set ft=jinja
au BufNewFile,BufRead *.html.jinja2,*.html.j2,*.html.jinja,*.htm.jinja2,*.htm.j2,*.htm.jinja set ft=jinja.html
endif
if index(g:polyglot_disabled, 'json5') == -1
au BufNewFile,BufRead *.json5 set ft=json5 au BufNewFile,BufRead *.json5 set ft=json5
endif
" json, from json.vim in elzr/vim-json if index(g:polyglot_disabled, 'json') == -1
au BufNewFile,BufRead *.json set ft=json au BufNewFile,BufRead *.json set ft=json
au BufNewFile,BufRead *.jsonl set ft=json au BufNewFile,BufRead *.jsonl set ft=json
au BufNewFile,BufRead *.jsonp set ft=json au BufNewFile,BufRead *.jsonp set ft=json
au BufNewFile,BufRead *.geojson set ft=json au BufNewFile,BufRead *.geojson set ft=json
au BufNewFile,BufRead *.template set ft=json au BufNewFile,BufRead *.template set ft=json
endif
" jst, from jst.vim in briancollins/vim-jst if index(g:polyglot_disabled, 'jst') == -1
au BufNewFile,BufRead *.ejs set ft=jst au BufNewFile,BufRead *.ejs set ft=jst
au BufNewFile,BufRead *.jst set ft=jst au BufNewFile,BufRead *.jst set ft=jst
au BufNewFile,BufRead *.djs set ft=jst au BufNewFile,BufRead *.djs set ft=jst
au BufNewFile,BufRead *.hamljs set ft=jst au BufNewFile,BufRead *.hamljs set ft=jst
au BufNewFile,BufRead *.ect set ft=jst au BufNewFile,BufRead *.ect set ft=jst
endif
" kotlin, from kotlin.vim in udalov/kotlin-vim if index(g:polyglot_disabled, 'jsx') == -1
au BufNewFile,BufRead *.jsx set ft=javascriptreact
endif
if index(g:polyglot_disabled, 'julia') == -1
au BufNewFile,BufRead *.jl set ft=julia
endif
if index(g:polyglot_disabled, 'kotlin') == -1
au BufNewFile,BufRead *.kt set ft=kotlin au BufNewFile,BufRead *.kt set ft=kotlin
au BufNewFile,BufRead *.kts set ft=kotlin au BufNewFile,BufRead *.kts set ft=kotlin
endif
" less, from less.vim in groenewege/vim-less:_NOAFTER if index(g:polyglot_disabled, 'ledger') == -1
au BufNewFile,BufRead *.ldg,*.ledger,*.journal set ft=ledger
endif
if index(g:polyglot_disabled, 'less') == -1
au BufNewFile,BufRead *.less set ft=less au BufNewFile,BufRead *.less set ft=less
endif
" lilypond, from lilypond.vim in anowlcalledjosh/vim-lilypond if index(g:polyglot_disabled, 'lilypond') == -1
au BufNewFile,BufRead *.ly,*.ily set ft=lilypond au BufNewFile,BufRead *.ly,*.ily set ft=lilypond
endif
" livescript, from ls.vim in gkz/vim-ls if index(g:polyglot_disabled, 'livescript') == -1
au BufNewFile,BufRead *.ls set ft=ls au BufNewFile,BufRead *.ls set ft=ls
au BufNewFile,BufRead *Slakefile set ft=ls au BufNewFile,BufRead *Slakefile set ft=ls
endif
" llvm, from llvm.vim in rhysd/vim-llvm if index(g:polyglot_disabled, 'llvm') == -1
au BufNewFile,BufRead *.ll set ft=llvm au BufNewFile,BufRead *.ll set ft=llvm
endif
" llvm, from llvm-lit.vim in rhysd/vim-llvm if index(g:polyglot_disabled, 'llvm') == -1
au BufNewFile,BufRead lit.*cfg set ft=python au BufNewFile,BufRead lit.*cfg set ft=python
" llvm, from tablegen.vim in rhysd/vim-llvm
au BufNewFile,BufRead *.td set ft=tablegen au BufNewFile,BufRead *.td set ft=tablegen
endif
" log, from log.vim in MTDL9/vim-log-highlighting if index(g:polyglot_disabled, 'log') == -1
au BufNewFile,BufRead *.log set ft=log au BufNewFile,BufRead *.log set ft=log
au BufNewFile,BufRead *_log set ft=log au BufNewFile,BufRead *_log set ft=log
endif
" mako, from mako.vim in sophacles/vim-bundle-mako if index(g:polyglot_disabled, 'mako') == -1
au BufNewFile *.*.mako execute "do BufNewFile filetypedetect " . expand("<afile>:r") | let b:mako_outer_lang = &filetype au BufNewFile *.*.mako execute "do BufNewFile filetypedetect " . expand("<afile>:r") | let b:mako_outer_lang = &filetype
au BufReadPre *.*.mako execute "do BufRead filetypedetect " . expand("<afile>:r") | let b:mako_outer_lang = &filetype au BufReadPre *.*.mako execute "do BufRead filetypedetect " . expand("<afile>:r") | let b:mako_outer_lang = &filetype
au BufNewFile,BufRead *.mako set ft=mako au BufNewFile,BufRead *.mako set ft=mako
endif
" markdown, from markdown.vim in plasticboy/vim-markdown:_NOAFTER if index(g:polyglot_disabled, 'markdown') == -1
au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn} set ft=markdown au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn} set ft=markdown
au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set ft=markdown au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set ft=markdown
endif
" mathematica, from mma.vim in voldikss/vim-mma if index(g:polyglot_disabled, 'mathematica') == -1
au BufNewFile,BufRead *.wl set ft=mma au BufNewFile,BufRead *.wl set ft=mma
au BufNewFile,BufRead *.wls set ft=mma au BufNewFile,BufRead *.wls set ft=mma
au BufNewFile,BufRead *.nb set ft=mma au BufNewFile,BufRead *.nb set ft=mma
au BufNewFile,BufRead *.m set ft=mma au BufNewFile,BufRead *.m set ft=mma
endif
" mdx, from mdx.vim in jxnblk/vim-mdx-js if index(g:polyglot_disabled, 'mdx') == -1
au BufNewFile,BufRead *.mdx set ft=markdown.mdx au BufNewFile,BufRead *.mdx set ft=markdown.mdx
endif
" meson, from meson.vim in mesonbuild/meson:_ALL:/data/syntax-highlighting/vim/ if index(g:polyglot_disabled, 'meson') == -1
au BufNewFile,BufRead meson.build set ft=meson au BufNewFile,BufRead meson.build set ft=meson
au BufNewFile,BufRead meson_options.txt set ft=meson au BufNewFile,BufRead meson_options.txt set ft=meson
au BufNewFile,BufRead *.wrap set ft=dosini au BufNewFile,BufRead *.wrap set ft=dosini
endif
" moonscript, from moon.vim in leafo/moonscript-vim if index(g:polyglot_disabled, 'moonscript') == -1
au BufNewFile,BufRead *.moon set ft=moon au BufNewFile,BufRead *.moon set ft=moon
endif
" nginx, from nginx.vim in chr4/nginx.vim if index(g:polyglot_disabled, 'nginx') == -1
au BufNewFile,BufRead *.nginx set ft=nginx au BufNewFile,BufRead *.nginx set ft=nginx
au BufNewFile,BufRead nginx*.conf set ft=nginx au BufNewFile,BufRead nginx*.conf set ft=nginx
au BufNewFile,BufRead *nginx.conf set ft=nginx au BufNewFile,BufRead *nginx.conf set ft=nginx
au BufNewFile,BufRead */etc/nginx/* set ft=nginx au BufNewFile,BufRead */etc/nginx/* set ft=nginx
au BufNewFile,BufRead */usr/local/nginx/conf/* set ft=nginx au BufNewFile,BufRead */usr/local/nginx/conf/* set ft=nginx
au BufNewFile,BufRead */nginx/*.conf set ft=nginx au BufNewFile,BufRead */nginx/*.conf set ft=nginx
endif
" nim, from nim.vim in zah/nim.vim:_BASIC if index(g:polyglot_disabled, 'nim') == -1
au BufNewFile,BufRead *.nim,*.nims,*.nimble set ft=nim au BufNewFile,BufRead *.nim,*.nims,*.nimble set ft=nim
endif
" nix, from nix.vim in LnL7/vim-nix if index(g:polyglot_disabled, 'nix') == -1
au BufNewFile,BufRead *.nix set ft=nix au BufNewFile,BufRead *.nix set ft=nix
endif
" ocaml, from dune.vim in rgrinberg/vim-ocaml if index(g:polyglot_disabled, 'ocaml') == -1
au BufNewFile,BufRead jbuild,dune,dune-project,dune-workspace set ft=dune au BufNewFile,BufRead jbuild,dune,dune-project,dune-workspace set ft=dune
" ocaml, from oasis.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead _oasis set ft=oasis au BufNewFile,BufRead _oasis set ft=oasis
" ocaml, from ocaml.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo set ft=ocaml au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo set ft=ocaml
" ocaml, from ocamlbuild_tags.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead _tags set ft=ocamlbuild_tags au BufNewFile,BufRead _tags set ft=ocamlbuild_tags
" ocaml, from omake.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead OMakefile,OMakeroot,*.om,OMakeroot.in set ft=omake au BufNewFile,BufRead OMakefile,OMakeroot,*.om,OMakeroot.in set ft=omake
" ocaml, from opam.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead opam,*.opam,*.opam.template set ft=opam au BufNewFile,BufRead opam,*.opam,*.opam.template set ft=opam
" ocaml, from sexplib.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead *.sexp set ft=sexplib au BufNewFile,BufRead *.sexp set ft=sexplib
endif
" opencl, from opencl.vim in petRUShka/vim-opencl if index(g:polyglot_disabled, 'opencl') == -1
au BufNewFile,BufRead *.cl set ft=opencl au BufNewFile,BufRead *.cl set ft=opencl
endif
" perl, from perl11.vim in vim-perl/vim-perl if index(g:polyglot_disabled, 'perl') == -1
au BufNew,BufNewFile,BufRead *.nqp set ft=perl6 au BufNew,BufNewFile,BufRead *.nqp set ft=perl6
endif
" pgsql, from pgsql.vim in lifepillar/pgsql.vim if index(g:polyglot_disabled, 'pgsql') == -1
au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql
endif
" pony, from pony.vim in jakwings/vim-pony if index(g:polyglot_disabled, 'plantuml') == -1
au BufNewFile,BufRead *.pu,*.uml,*.plantuml,*.puml set ft=plantuml
endif
if index(g:polyglot_disabled, 'pony') == -1
au BufNewFile,BufRead *.pony set ft=pony au BufNewFile,BufRead *.pony set ft=pony
endif
" powershell, from ps1.vim in PProvost/vim-ps1 if index(g:polyglot_disabled, 'powershell') == -1
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
@@ -421,51 +460,62 @@ au BufNewFile,BufRead *.pssc set ft=ps1
au BufNewFile,BufRead *.ps1xml set ft=ps1xml au BufNewFile,BufRead *.ps1xml set ft=ps1xml
au BufNewFile,BufRead *.cdxml set ft=xml au BufNewFile,BufRead *.cdxml set ft=xml
au BufNewFile,BufRead *.psc1 set ft=xml au BufNewFile,BufRead *.psc1 set ft=xml
endif
" protobuf, from proto.vim in uarun/vim-protobuf if index(g:polyglot_disabled, 'protobuf') == -1
au BufNewFile,BufRead *.proto set ft=proto au BufNewFile,BufRead *.proto set ft=proto
endif
" pug, from pug.vim in digitaltoad/vim-pug if index(g:polyglot_disabled, 'pug') == -1
au BufNewFile,BufRead *.pug set ft=pug au BufNewFile,BufRead *.pug set ft=pug
" Jade
au BufNewFile,BufRead *.jade set ft=pug au BufNewFile,BufRead *.jade set ft=pug
endif
" puppet, from puppet.vim in rodjek/vim-puppet if index(g:polyglot_disabled, 'puppet') == -1
au BufNewFile,BufRead *.pp set ft=puppet au BufNewFile,BufRead *.pp set ft=puppet
au BufNewFile,BufRead *.epp set ft=embeddedpuppet au BufNewFile,BufRead *.epp set ft=embeddedpuppet
au BufNewFile,BufRead Puppetfile set ft=ruby au BufNewFile,BufRead Puppetfile set ft=ruby
endif
" purescript, from purescript.vim in purescript-contrib/purescript-vim if index(g:polyglot_disabled, 'purescript') == -1
au BufNewFile,BufRead *.purs set ft=purescript au BufNewFile,BufRead *.purs set ft=purescript
endif
" qmake, from pri.vim in artoj/qmake-syntax-vim if index(g:polyglot_disabled, 'qmake') == -1
au BufNewFile,BufRead *.pri set ft=qmake au BufNewFile,BufRead *.pri set ft=qmake
endif
" qmake, from pro.vim in artoj/qmake-syntax-vim if index(g:polyglot_disabled, 'qmake') == -1
au BufNewFile,BufRead *.pro set ft=qmake au BufNewFile,BufRead *.pro set ft=qmake
endif
" qml, from qml.vim in peterhoeg/vim-qml if index(g:polyglot_disabled, 'qml') == -1
au BufNewFile,BufRead *.qml set ft=qml au BufNewFile,BufRead *.qml set ft=qml
endif
" racket, from racket.vim in wlangstroth/vim-racket if index(g:polyglot_disabled, 'racket') == -1
au BufNewFile,BufRead *.rkt,*.rktl set ft=racket au BufNewFile,BufRead *.rkt,*.rktl set ft=racket
endif
" raku, from raku.vim in Raku/vim-raku if index(g:polyglot_disabled, 'raku') == -1
au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest set ft=raku au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest set ft=raku
endif
" raml, from raml.vim in IN3D/vim-raml if index(g:polyglot_disabled, 'raml') == -1
au BufNewFile,BufRead *.raml set ft=raml au BufNewFile,BufRead *.raml set ft=raml
endif
" razor, from razor.vim in adamclerk/vim-razor if index(g:polyglot_disabled, 'razor') == -1
au BufNewFile,BufRead *.cshtml set ft=razor au BufNewFile,BufRead *.cshtml set ft=razor
endif
" reason, from reason.vim in reasonml-editor/vim-reason-plus if index(g:polyglot_disabled, 'reason') == -1
au BufNewFile,BufRead *.re set ft=reason au BufNewFile,BufRead *.re set ft=reason
au BufNewFile,BufRead *.rei set ft=reason au BufNewFile,BufRead *.rei set ft=reason
au BufNewFile,BufRead .merlin set ft=merlin au BufNewFile,BufRead .merlin set ft=merlin
endif
" ruby, from ruby.vim in vim-ruby/vim-ruby if index(g:polyglot_disabled, 'ruby') == -1
au BufNewFile,BufRead *.erb,*.rhtml set ft=eruby au BufNewFile,BufRead *.erb,*.rhtml set ft=eruby
au BufNewFile,BufRead .irbrc,irbrc set ft=ruby au BufNewFile,BufRead .irbrc,irbrc set ft=ruby
au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set ft=ruby au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set ft=ruby
@@ -494,39 +544,56 @@ au BufNewFile,BufRead .simplecov set ft=ruby
au BufNewFile,BufRead *.rbi set ft=ruby au BufNewFile,BufRead *.rbi set ft=ruby
au BufNewFile,BufRead [tT]horfile,*.thor set ft=ruby au BufNewFile,BufRead [tT]horfile,*.thor set ft=ruby
au BufNewFile,BufRead [vV]agrantfile set ft=ruby au BufNewFile,BufRead [vV]agrantfile set ft=ruby
endif
" rust, from rust.vim in rust-lang/rust.vim if index(g:polyglot_disabled, 'rust') == -1
au BufNewFile,BufRead *.rs set ft=rust au BufNewFile,BufRead *.rs set ft=rust
endif
" sbt, from sbt.vim in derekwyatt/vim-sbt if index(g:polyglot_disabled, 'scala') == -1
au BufNewFile,BufRead *.scala,*.sc set ft=scala
au BufNewFile,BufRead *.sbt set ft=sbt.scala au BufNewFile,BufRead *.sbt set ft=sbt.scala
au BufNewFile,BufRead *.sbt set ft=sbt.scala
endif
" scss, from scss.vim in cakebaker/scss-syntax.vim if index(g:polyglot_disabled, 'scss') == -1
au BufNewFile,BufRead *.scss set ft=scss au BufNewFile,BufRead *.scss set ft=scss
endif
" slim, from slim.vim in slim-template/vim-slim if index(g:polyglot_disabled, 'slim') == -1
au BufNewFile,BufRead *.slim set ft=slim au BufNewFile,BufRead *.slim set ft=slim
endif
" slime, from slime.vim in slime-lang/vim-slime-syntax if index(g:polyglot_disabled, 'slime') == -1
au BufNewFile,BufRead *.slime set ft=slime au BufNewFile,BufRead *.slime set ft=slime
endif
" smt2, from smt2.vim in bohlender/vim-smt2 if index(g:polyglot_disabled, 'smt2') == -1
au BufNewFile,BufRead *.smt,*.smt2 set ft=smt2 au BufNewFile,BufRead *.smt,*.smt2 set ft=smt2
endif
" solidity, from solidity.vim in tomlion/vim-solidity if index(g:polyglot_disabled, 'solidity') == -1
au BufNewFile,BufRead *.sol setf solidity au BufNewFile,BufRead *.sol set ft=solidity
endif
" stylus, from stylus.vim in wavded/vim-stylus if index(g:polyglot_disabled, 'stylus') == -1
" Stylus
au BufNewFile,BufRead *.styl set ft=stylus au BufNewFile,BufRead *.styl set ft=stylus
au BufNewFile,BufRead *.stylus set ft=stylus au BufNewFile,BufRead *.stylus set ft=stylus
endif
" svelte, from svelte.vim in evanleck/vim-svelte if index(g:polyglot_disabled, 'svelte') == -1
au BufNewFile,BufRead *.svelte set ft=svelte au BufNewFile,BufRead *.svelte set ft=svelte
endif
if index(g:polyglot_disabled, 'swift') == -1
au BufNewFile,BufRead *.swift set ft=swift
endif
if index(g:polyglot_disabled, 'sxhkd') == -1
au BufNewFile,BufRead sxhkdrc,*.sxhkdrc set ft=sxhkdrc au BufNewFile,BufRead sxhkdrc,*.sxhkdrc set ft=sxhkdrc
endif
" systemd, from systemd.vim in wgwoods/vim-systemd-syntax if index(g:polyglot_disabled, 'systemd') == -1
au BufNewFile,BufRead *.automount set ft=systemd au BufNewFile,BufRead *.automount set ft=systemd
au BufNewFile,BufRead *.mount set ft=systemd au BufNewFile,BufRead *.mount set ft=systemd
au BufNewFile,BufRead *.path set ft=systemd au BufNewFile,BufRead *.path set ft=systemd
@@ -535,80 +602,91 @@ au BufNewFile,BufRead *.socket set ft=systemd
au BufNewFile,BufRead *.swap set ft=systemd au BufNewFile,BufRead *.swap set ft=systemd
au BufNewFile,BufRead *.target set ft=systemd au BufNewFile,BufRead *.target set ft=systemd
au BufNewFile,BufRead *.timer set ft=systemd au BufNewFile,BufRead *.timer set ft=systemd
endif
" terraform, from terraform.vim in hashivim/vim-terraform if index(g:polyglot_disabled, 'terraform') == -1
au BufNewFile,BufRead *.tf set ft=terraform au BufNewFile,BufRead *.tf set ft=terraform
au BufNewFile,BufRead *.tfvars set ft=terraform au BufNewFile,BufRead *.tfvars set ft=terraform
au BufNewFile,BufRead *.tfstate set ft=json au BufNewFile,BufRead *.tfstate set ft=json
au BufNewFile,BufRead *.tfstate.backup set ft=json au BufNewFile,BufRead *.tfstate.backup set ft=json
endif
" textile, from textile.vim in timcharper/textile.vim if index(g:polyglot_disabled, 'textile') == -1
au BufNewFile,BufRead *.textile set ft=textile au BufNewFile,BufRead *.textile set ft=textile
endif
" thrift, from thrift.vim in solarnz/thrift.vim if index(g:polyglot_disabled, 'thrift') == -1
au BufNewFile,BufRead *.thrift set ft=thrift au BufNewFile,BufRead *.thrift set ft=thrift
endif
" tmux, from tmux.vim in ericpruitt/tmux.vim:_ALL:/vim/ if index(g:polyglot_disabled, 'tmux') == -1
au BufNewFile,BufRead {.,}tmux.conf set ft=tmux au BufNewFile,BufRead {.,}tmux.conf set ft=tmux
endif
" toml, from toml.vim in cespare/vim-toml if index(g:polyglot_disabled, 'toml') == -1
au BufNewFile,BufRead *.toml,Gopkg.lock,Cargo.lock,*/.cargo/config,*/.cargo/credentials,Pipfile setf toml au BufNewFile,BufRead *.toml,Gopkg.lock,Cargo.lock,*/.cargo/config,*/.cargo/credentials,Pipfile set ft=toml
endif
" tptp, from tptp.vim in c-cube/vim-tptp if index(g:polyglot_disabled, 'tptp') == -1
au BufNewFile,BufRead *.p set ft=tptp au BufNewFile,BufRead *.p set ft=tptp
au BufNewFile,BufRead *.p set syntax=tptp
au BufNewFile,BufRead *.tptp set ft=tptp au BufNewFile,BufRead *.tptp set ft=tptp
au BufNewFile,BufRead *.tptp set syntax=tptp
au BufNewFile,BufRead *.ax set ft=tptp au BufNewFile,BufRead *.ax set ft=tptp
au BufNewFile,BufRead *.ax set syntax=tptp endif
" twig, from twig.vim in lumiliet/vim-twig if index(g:polyglot_disabled, 'twig') == -1
au BufNewFile,BufRead *.twig set ft=html.twig au BufNewFile,BufRead *.twig set ft=html.twig
au BufNewFile,BufRead *.html.twig set ft=html.twig au BufNewFile,BufRead *.html.twig set ft=html.twig
au BufNewFile,BufRead *.xml.twig set ft=xml.twig au BufNewFile,BufRead *.xml.twig set ft=xml.twig
endif
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim if index(g:polyglot_disabled, 'typescript') == -1
au BufNewFile,BufRead *.ts set ft=typescript au BufNewFile,BufRead *.ts set ft=typescript
" typescript, from typescriptreact.vim in HerringtonDarkholme/yats.vim
au BufNewFile,BufRead *.tsx set ft=typescriptreact au BufNewFile,BufRead *.tsx set ft=typescriptreact
endif
" v, from vlang.vim in ollykel/v-vim if index(g:polyglot_disabled, 'v') == -1
au BufNewFile,BufRead *.v set ft=vlang au BufNewFile,BufRead *.v set ft=vlang
au BufNewFile,BufRead *.v set syntax=vlang endif
" vala, from vala.vim in arrufat/vala.vim if index(g:polyglot_disabled, 'vala') == -1
au BufNewFile,BufRead *.vala,*.vapi,*.valadoc set ft=vala au BufNewFile,BufRead *.vala,*.vapi,*.valadoc set ft=vala
endif
" vcl, from vcl.vim in smerrill/vcl-vim-plugin if index(g:polyglot_disabled, 'vbnet') == -1
au BufNewFile,BufRead *.vb set ft=vbnet
endif
if index(g:polyglot_disabled, 'vcl') == -1
au BufNewFile,BufRead *.vcl set ft=vcl au BufNewFile,BufRead *.vcl set ft=vcl
endif
" vifm, from vifm.vim in vifm/vifm.vim if index(g:polyglot_disabled, 'vifm') == -1
au BufNewFile,BufRead vifmrc set ft=vifm au BufNewFile,BufRead vifmrc set ft=vifm
au BufNewFile,BufRead *vifm/colors/* set ft=vifm au BufNewFile,BufRead *vifm/colors/* set ft=vifm
au BufNewFile,BufRead *.vifm set ft=vifm au BufNewFile,BufRead *.vifm set ft=vifm
" vifm, from vifm-rename.vim in vifm/vifm.vim
au BufNewFile,BufRead vifm.rename* set ft=vifm-rename au BufNewFile,BufRead vifm.rename* set ft=vifm-rename
endif
" vm, from velocity.vim in lepture/vim-velocity if index(g:polyglot_disabled, 'vm') == -1
au BufNewFile,BufRead *.vm set ft=velocity syntax=velocity au BufNewFile,BufRead *.vm set ft=velocity
endif
" vue, from vue.vim in posva/vim-vue if index(g:polyglot_disabled, 'vue') == -1
au BufNewFile,BufRead *.vue,*.wpy setf vue au BufNewFile,BufRead *.vue,*.wpy set ft=vue
endif
" xdc, from xdc.vim in amal-khailtash/vim-xdc-syntax if index(g:polyglot_disabled, 'xdc') == -1
au BufNewFile,BufRead *.xdc set ft=xdc au BufNewFile,BufRead *.xdc set ft=xdc
endif
" zephir, from zephir.vim in xwsoul/vim-zephir if index(g:polyglot_disabled, 'zephir') == -1
au BufNewFile,BufRead *.zep set ft=zephir au BufNewFile,BufRead *.zep set ft=zephir
endif
" zig, from zig.vim in ziglang/zig.vim if index(g:polyglot_disabled, 'zig') == -1
au BufNewFile,BufRead *.zig set ft=zig au BufNewFile,BufRead *.zig set ft=zig
au BufNewFile,BufRead *.zir set ft=zir au BufNewFile,BufRead *.zir set ft=zir
endif
" ledger
au BufNewFile,BufRead *.ldg,*.ledger,*.journal set ft=ledger
" restore Vi compatibility settings " restore Vi compatibility settings
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@@ -1,107 +0,0 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gdscript') == -1
setlocal commentstring=#\ %s
if exists("g:gdscript3_loaded")
finish
endif
let g:gdscript3_loaded=1
if !has("python3") && !has("python")
finish
endif
if has("python3")
let s:pyfile_cmd = "py3file"
let s:py_cmd = "py3"
else
let s:pyfile_cmd = "pyfile"
let s:py_cmd = "py"
endif
execute s:pyfile_cmd . " " . expand('<sfile>:p:h') . "/../python/init.py"
fun! GDScriptComplete(findstart, base)
if a:findstart == 1
let line = getline('.')
let start = col('.') - 1
" Treat '-' as part of the word when completing in a string.
if synIDattr(synID(line('.'), col('.')-1, 1), 'name') ==# "gdString"
let pattern = '[-a-zA-Z0-9_]'
else
let pattern = '[a-zA-Z0-9_]'
endif
while start > 0 && line[start - 1] =~ pattern
let start -= 1
endwhile
return start
else
execute s:py_cmd . " gdscript_complete()"
if exists("gdscript_completions")
return gdscript_completions
else
return []
endif
endif
endfun
set omnifunc=GDScriptComplete
" Configure for common completion frameworks.
" Deoplete
if &rtp =~ 'deoplete.nvim'
call deoplete#custom#option('sources', {
\ 'gdscript3': ['omni'],
\ })
call deoplete#custom#var('omni', 'input_patterns', {
\ 'gdscript3': [
\ '\.|\w+',
\ '\bextends\s+',
\ '\bexport\(',
\ '\bfunc\s+',
\ '"res://[^"]*'
\ ]
\ })
endif
" SuperTab
let g:SuperTabDefaultCompletionType = "<c-x><c-o>"
" YouCompleteMe
if !exists('g:ycm_semantic_triggers')
let g:ycm_semantic_triggers = {}
endif
let g:ycm_semantic_triggers.gdscript3 = [
\'re!\w+',
\'.',
\'re!\bextends\s+',
\'re!\bexport\(',
\'re!\bfunc\s+',
\'re!"res://[^"]*'
\]
" Configure echodoc
if &rtp =~ 'echodoc'
let s:echodoc_dict = { "name": "gdscript3", "rank": 9 }
fun! s:echodoc_dict.search(text)
execute s:py_cmd . " echodoc_search()"
if exists("echodoc_search_result")
return echodoc_search_result
else
return []
endif
endfun
call echodoc#register('gdscript3', s:echodoc_dict)
" Reset echodoc cache when exiting insert mode.
" This fixes an issue where the function signature wouldn't re-appear
" after exiting and re-entering insert mode.
au InsertLeave * let b:prev_echodoc = []
endif
" Configure Syntastic checker
let g:syntastic_gdscript3_checkers = ['godot_server']
endif

View File

@@ -1,5 +0,0 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gdscript') == -1
setlocal commentstring=//\ %s
endif

View File

@@ -40,7 +40,8 @@ let s:cposet=&cpoptions
set cpo&vim set cpo&vim
" Comment string " Comment string
setlocal comments= setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal commentstring=(*%s*) setlocal commentstring=(*%s*)
" Add mappings, unless the user didn't want this. " Add mappings, unless the user didn't want this.

View File

@@ -835,7 +835,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
endif endif
elseif stack == ['prev_term_plus'] elseif stack == ['prev_term_plus']
if token =~# '[a-zA-Z_@]' || if token =~# '[a-zA-Z_@#]' ||
\ token ==# '<string>' || token ==# '<string_start>' || \ token ==# '<string>' || token ==# '<string_start>' ||
\ token ==# '<quoted_atom>' || token ==# '<quoted_atom_start>' \ token ==# '<quoted_atom>' || token ==# '<quoted_atom_start>'
call s:Log(' previous token found: curr_vcol + plus = ' . call s:Log(' previous token found: curr_vcol + plus = ' .

View File

@@ -32,7 +32,8 @@ setlocal nosmartindent
" Comment formatting " Comment formatting
if !exists("no_ocaml_comments") if !exists("no_ocaml_comments")
if (has("comments")) if (has("comments"))
setlocal comments=sr:(*,mb:*,ex:*) setlocal comments=sr:(*\ ,mb:\ ,ex:*)
setlocal comments^=sr:(**,mb:\ \ ,ex:*)
setlocal fo=cqort setlocal fo=cqort
endif endif
endif endif

View File

@@ -1,28 +0,0 @@
require 'spec_helper'
require 'timeout'
describe "My Vim plugin" do
extensions = `cat ftdetect/polyglot.vim | grep '^au' | tr "\t" ' ' | cut -d ' ' -f 3 | grep -v / | grep -v '^\*$' | grep -v '^$'`.strip
extensions.gsub!(/\[(.).+\]/) { $1 }.gsub!('*', 'test')
extensions = extensions.split(/[\n,]/)
extensions.sort!.uniq!.each do |ext|
if ext.match?(/^[a-z\.]+$/i)
it "should parse #{ext} file" do
Timeout::timeout(20) do
write_file "#{ext}", ""
vim.edit "#{ext}"
vim.insert "sample"
vim.write
end
end
end
end
after(:all) do
vim.kill
end
end

View File

@@ -1,20 +0,0 @@
require 'vimrunner'
require 'vimrunner/rspec'
$plugin_path = File.expand_path('../..', __FILE__)
Vimrunner::RSpec.configure do |config|
config.reuse_server = false
# Decide how to start a Vim instance. In this block, an instance should be
# spawned and set up with anything project-specific.
config.start_vim do
vim = Vimrunner.start
# Setup your plugin in the Vim instance
vim.add_plugin($plugin_path)
# The returned value is the Client available in the tests.
vim
end
end

View File

@@ -1,7 +1,9 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crystal') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'crystal') == -1
" Language: Crystal " Language: Crystal
" Maintainer: rhysd <https://rhysd.github.io> " Maintainer:
" rhysd <https://rhysd.github.io>
" Jeffrey Crochet <jlcrochet@pm.me>
" "
" Based on Ruby syntax highlight " Based on Ruby syntax highlight
" which was made by Mirko Nasato and Doug Kearns " which was made by Mirko Nasato and Doug Kearns

View File

@@ -30,13 +30,13 @@ syntax keyword dartOperator new is as in
syntax match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~\|?\|:" syntax match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~\|?\|:"
syntax keyword dartCoreType void var dynamic syntax keyword dartCoreType void var dynamic
syntax keyword dartStatement return syntax keyword dartStatement return
syntax keyword dartStorageClass static abstract final const factory syntax keyword dartStorageClass static abstract final const factory late
syntax keyword dartExceptions throw rethrow try on catch finally syntax keyword dartExceptions throw rethrow try on catch finally
syntax keyword dartAssert assert syntax keyword dartAssert assert
syntax keyword dartClassDecl extends with implements syntax keyword dartClassDecl extends with implements
syntax keyword dartBranch break continue nextgroup=dartUserLabelRef skipwhite syntax keyword dartBranch break continue nextgroup=dartUserLabelRef skipwhite
syntax keyword dartKeyword get set operator call external async await syntax keyword dartKeyword get set operator call external async await
\ yield sync native covariant \ yield sync native covariant required
syntax match dartUserLabelRef "\k\+" contained syntax match dartUserLabelRef "\k\+" contained
syntax region dartLabelRegion transparent matchgroup=dartLabel start="\<case\>" matchgroup=NONE end=":" syntax region dartLabelRegion transparent matchgroup=dartLabel start="\<case\>" matchgroup=NONE end=":"

59
syntax/icalendar.vim Normal file
View File

@@ -0,0 +1,59 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'icalenadr') == -1
" Vim syntax file
" Language: icalendar <http://www.ietf.org/rfc/rfc2445.txt>
" Maintainer: Steven N. Severinghaus <sns@severinghaus.org>
" Last Modified: 2006-04-17
" Version: 0.3
" Quit if syntax file is already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
command! -nargs=+ IcalHiLink hi def link <args>
syntax case ignore
setlocal iskeyword+=-
syn match icalObject "^\(BEGIN\|END\)"
syn match icalObjectType ":\(VCALENDAR\|VEVENT\|VTODO\|VJOURNAL\|VFREEBUSY\|VTIMEZONE\|VALARM\)$"
syn match icalObjectType ":\(DAYLIGHT\|STANDARD\)$"
syn match icalProperty "^\(DTSTART\|PRODID\|VERSION\|CALSCALE\|METHOD\)"
syn match icalProperty "^\(DTEND\|DTSTAMP\|ORGANIZER\|UID\|CLASS\|CREATED\)"
syn match icalProperty "^\(LOCATION\|SEQUENCE\|STATUS\|SUMMARY\|COMMENT\)"
syn match icalProperty "^\(TRANSP\|ATTENDEE\|ATTACH\|FREEBUSY\|METHOD\|CONTACT\)"
syn match icalProperty "^\(DURATION\|RRULE\|EXDATE\|EXRULE\|URL\|DESCRIPTION\|ACTION\)"
syn match icalProperty "^\(LAST-MODIFIED\|RECURRENCE-ID\|TRIGGER\|RELATED-TO\|RDATE\)"
syn match icalProperty "^\(TZID\|TZOFFSETFROM\|TZOFFSETTO\|TZNAME\|TZURL\)"
syn match icalProperty "^\(PRIORITY\|DUE\|COMPLETED\|PERCENT-COMPLETE\|CATEGORIES\)"
syn match icalProperty "^\(RESOURCES\|REPEAT\|REQUEST-STATUS\)"
syn match icalCustom /^X-[A-Z-]\+/
syn match icalDate "\<\d\{8}\>"
syn match icalDate "[0-9]\{8}T[0-9]\{6}Z\="
syn match icalParameter "[A-Z0-9-]\+=[^;:]\+"
syn keyword icalSetValue CONFIRMED TENTATIVE CANCELLED DELEGATED OPAQUE
syn keyword icalSetValue NEEDS-ACTION ACCEPTED DECLINED IN-PROGRESS
syn keyword icalSetValue PRIVATE PUBLIC PUBLISH GREGORIAN DISPLAY
syn match icalSetValue /:COMPLETED$/
" Types: PreProc Keyword Type String Comment Special
IcalHiLink icalProperty PreProc
IcalHiLink icalObject Label
IcalHiLink icalObjectType Type
IcalHiLink icalDate String
IcalHiLink icalParameter Comment
IcalHiLink icalSetValue Special
IcalHiLink icalCustom Error
delcommand IcalHiLink
let b:current_syntax = "icalendar"
"EOF vim: tw=78:ft=vim:ts=8
endif

View File

@@ -124,7 +124,7 @@ syntax region juliaCurBraBlock matchgroup=juliaParDelim start="{" end="}" cont
" This is really ugly. It would be better to mask most keywords when a dot is " This is really ugly. It would be better to mask most keywords when a dot is
" found, introducing some kind of dot-environment " found, introducing some kind of dot-environment
let s:nodot = '\%(\.\)\@'.s:d(1).'1<!' let s:nodot = '\%(\.\)\@'.s:d(1).'<!'
exec 'syntax match juliaKeyword display "'.s:nodot.'\<\%(return\|local\|global\|import\%(all\)\?\|export\|using\|const\|where\)\>"' exec 'syntax match juliaKeyword display "'.s:nodot.'\<\%(return\|local\|global\|import\%(all\)\?\|export\|using\|const\|where\)\>"'
syntax match juliaInfixKeyword display "\%(=\s*\)\@<!\<\%(in\|isa\)\>\S\@!\%(\s*=\)\@!" syntax match juliaInfixKeyword display "\%(=\s*\)\@<!\<\%(in\|isa\)\>\S\@!\%(\s*=\)\@!"

View File

@@ -684,68 +684,68 @@ syn case match
if version >= 704 if version >= 704
if b:php_version_id >= 70300 if b:php_version_id >= 70300
" @begin phpHereDoc " @begin phpHereDoc
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@3<="\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*"\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpHereDoc " @end phpHereDoc
else else
" @begin phpHereDoc " @begin phpHereDoc
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@3<="\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*"\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpHereDoc " @end phpHereDoc
endif endif
else else
if b:php_version_id >= 70300 if b:php_version_id >= 70300
" @copy phpHereDoc strip_maximum_size " @copy phpHereDoc strip_maximum_size
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<="\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<=\s*"\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpHereDoc " @end phpHereDoc
else else
" @copy phpHereDoc strip_maximum_size " @copy phpHereDoc strip_maximum_size
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<="\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<=\s*"\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpHereDoc " @end phpHereDoc
endif endif
@@ -755,66 +755,66 @@ endif
if version >= 704 if version >= 704
if b:php_version_id >= 70300 if b:php_version_id >= 70300
" @begin phpNowDoc " @begin phpNowDoc
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\I\i*\)'$+ end="^\s*\z1\>" contained keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\I\i*\)'$+ end="^\s*\z1\>" contained keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_nowdoc") && php_html_in_nowdoc) if (exists("php_html_in_nowdoc") && php_html_in_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_nowdoc") && php_sql_nowdoc) if (exists("php_sql_nowdoc") && php_sql_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_nowdoc") && php_xml_nowdoc) if (exists("php_xml_nowdoc") && php_xml_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)'$+ end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpNowDoc " @end phpNowDoc
else else
" @begin phpNowDoc " @begin phpNowDoc
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\I\i*\)'$+ end="^\z1\(;\=$\)\@=" contained keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\I\i*\)'$+ end="^\z1\(;\=$\)\@=" contained keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_nowdoc") && php_html_in_nowdoc) if (exists("php_html_in_nowdoc") && php_html_in_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_nowdoc") && php_sql_nowdoc) if (exists("php_sql_nowdoc") && php_sql_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_nowdoc") && php_xml_nowdoc) if (exists("php_xml_nowdoc") && php_xml_nowdoc)
SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<=\s*'\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpNowDoc " @end phpNowDoc
endif endif
else else
if b:php_version_id >= 70300 if b:php_version_id >= 70300
" @copy phpHereDoc strip_maximum_size " @copy phpHereDoc strip_maximum_size
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\I\i*\)$" end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<="\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<=\s*"\z(\I\i*\)"$+ end="^\s*\z1\>" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\s*\z1\>" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpNowDoc " @end phpNowDoc
else else
" @copy phpHereDoc strip_maximum_size " @copy phpHereDoc strip_maximum_size
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<="\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<=\s*"\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options " including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc) if (exists("php_html_in_heredoc") && php_html_in_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_sql_heredoc") && php_sql_heredoc) if (exists("php_sql_heredoc") && php_sql_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
if (exists("php_xml_heredoc") && php_xml_heredoc) if (exists("php_xml_heredoc") && php_xml_heredoc)
SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\s*\z(\(\I\i*\)\=\(xml\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@xmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif endif
" @end phpNowDoc " @end phpNowDoc
endif endif

60
syntax/sh.vim Normal file
View File

@@ -0,0 +1,60 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sh') == -1
" Shebang
syn match shShebang "^#!.*$" containedin=shComment
" Operators
syn match shOperator '||'
syn match shOperator '&&'
" Match semicolons as Delimiter rather than Operator
syn match shSemicolon ';' containedin=shOperator,zshOperator
" Highlight braces, brackets and parens as Delimiters in zsh
syn match zshDelim '\v(\(|\))' containedin=zshParentheses
syn match zshDelim '\v(\{|\})' containedin=zshBraces
syn match zshDelim '\v(\[|\])' containedin=zshParentheses
" Match command flags in zsh
syn match zshFlag "\v<-\w+" containedin=zshBrackets,zshParentheses
" Special files as Constants
syn match Constant "\v/dev/\w+"
\ containedin=shFunctionOne,shIf,shCmdParenRegion,shCommandSub
" Common commands
let commands = [ 'arch', 'awk', 'b2sum', 'base32', 'base64', 'basename', 'basenc', 'bash', 'brew', 'cat', 'chcon', 'chgrp', 'chown', 'chroot', 'cksum', 'comm', 'cp', 'csplit', 'curl', 'cut', 'date', 'dd', 'defaults', 'df', 'dir', 'dircolors', 'dirname', 'ed', 'env', 'expand', 'factor', 'fmt', 'fold', 'git', 'grep', 'groups', 'head', 'hexdump', 'hostid', 'hostname', 'hugo', 'id', 'install', 'join', 'killall', 'link', 'ln', 'logname', 'md5sum', 'mkdir', 'mkfifo', 'mknod', 'mktemp', 'nice', 'nl', 'nohup', 'npm', 'nproc', 'numfmt', 'od', 'open', 'paste', 'pathchk', 'pr', 'printenv', 'printf', 'ptx', 'readlink', 'realpath', 'rg', 'runcon', 'scutil', 'sed', 'seq', 'sha1sum', 'sha2', 'shred', 'shuf', 'split', 'stat', 'stdbuf', 'stty', 'sudo', 'sum', 'sync', 'tac', 'tee', 'terminfo', 'timeout', 'tmux', 'top', 'touch', 'tput', 'tr', 'truncate', 'tsort', 'tty', 'uname', 'unexpand', 'uniq', 'unlink', 'uptime', 'users', 'vdir', 'vim', 'wc', 'who', 'whoami', 'yabai', 'yes' ]
for i in commands
execute 'syn match shStatement "\v(\w|-)@<!'
\ . i
\ . '(\w|-)@!" containedin=shFunctionOne,shIf,shCmdParenRegion,shCommandSub,zshBrackets'
endfor
" Fix default highlighting groups
hi def link bashSpecialVariables Identifier
hi def link shCmdSubRegion Delimiter
hi def link shDerefSimple Identifier
hi def link shFor Identifier
hi def link shFunctionKey Statement
hi def link shQuote StringDelimiter
hi def link shRange Delimiter
hi def link shSnglCase Delimiter
hi def link shStatement Statement
hi def link shTestOpr Operator
hi def link shVarAssign Operator
hi def link zshDeref Identifier
hi def link zshFunction Function
hi def link zshOperator Operator
hi def link zshStringDelimiter StringDelimiter
hi def link zshSubst Identifier
hi def link zshSubstDelim Delimiter
hi def link zshVariableDef Identifier
" Link custom groups
hi def link shSemicolon Delimiter
hi def link shShebang PreProc
hi def link zshDelim Delimiter
hi def link zshFlag Special
endif

View File

@@ -73,6 +73,7 @@ syn region slimJavascriptFilter matchgroup=slimFilter start="^\z(\s*\)javascript
syn region slimCoffeeFilter matchgroup=slimFilter start="^\z(\s*\)coffee:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@coffeeAll,slimInterpolation keepend syn region slimCoffeeFilter matchgroup=slimFilter start="^\z(\s*\)coffee:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@coffeeAll,slimInterpolation keepend
syn region slimCSSFilter matchgroup=slimFilter start="^\z(\s*\)css:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlCss,slimInterpolation keepend syn region slimCSSFilter matchgroup=slimFilter start="^\z(\s*\)css:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlCss,slimInterpolation keepend
syn region slimSassFilter matchgroup=slimFilter start="^\z(\s*\)sass:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@hamlSassTop syn region slimSassFilter matchgroup=slimFilter start="^\z(\s*\)sass:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@hamlSassTop
syn region slimRubyFilter matchgroup=slimFilter start="^\z(\s*\)ruby:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@slimRubyTop keepend
syn region slimRuby matchgroup=slimRubyOutputChar start="\s*[=]\==[']\=" skip="\%\(,\s*\|\\\)$" end="$" contained contains=@slimRubyTop keepend syn region slimRuby matchgroup=slimRubyOutputChar start="\s*[=]\==[']\=" skip="\%\(,\s*\|\\\)$" end="$" contained contains=@slimRubyTop keepend
syn region slimRuby matchgroup=slimRubyChar start="\s*-" skip="\%\(,\s*\|\\\)$" end="$" contained contains=@slimRubyTop keepend syn region slimRuby matchgroup=slimRubyChar start="\s*-" skip="\%\(,\s*\|\\\)$" end="$" contained contains=@slimRubyTop keepend

View File

@@ -2,7 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vifm') == -1
" vifm syntax file " vifm syntax file
" Maintainer: xaizek <xaizek@posteo.net> " Maintainer: xaizek <xaizek@posteo.net>
" Last Change: May 17, 2020 " Last Change: May 26, 2020
" Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr. " Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr.
if exists('b:current_syntax') if exists('b:current_syntax')
@@ -89,7 +89,7 @@ syntax case ignore
syntax keyword vifmHiGroups contained WildMenu Border Win CmdLine CurrLine syntax keyword vifmHiGroups contained WildMenu Border Win CmdLine CurrLine
\ OtherLine Directory Link Socket Device Executable Selected BrokenLink \ OtherLine Directory Link Socket Device Executable Selected BrokenLink
\ TopLine TopLineSel StatusLine JobLine SuggestBox Fifo ErrorMsg CmpMismatch \ TopLine TopLineSel StatusLine JobLine SuggestBox Fifo ErrorMsg CmpMismatch
\ AuxWin OtherWin TabLine TabLineSel \ AuxWin OtherWin TabLine TabLineSel HardLink
\ User1 User2 User3 User4 User5 User6 User7 User8 User9 \ User1 User2 User3 User4 User5 User6 User7 User8 User9
syntax keyword vifmHiStyles contained syntax keyword vifmHiStyles contained
\ bold underline reverse inverse standout italic none \ bold underline reverse inverse standout italic none

View File

@@ -12,7 +12,7 @@ let b:current_syntax = "zig"
syn keyword zigStorage const var extern packed export pub noalias inline noinline comptime callconv volatile allowzero align linksection threadlocal syn keyword zigStorage const var extern packed export pub noalias inline noinline comptime callconv volatile allowzero align linksection threadlocal
syn keyword zigStructure struct enum union error syn keyword zigStructure struct enum union error
syn keyword zigStatement break return continue asm defer errdefer unreachable try catch async noasync await suspend resume syn keyword zigStatement break return continue asm defer errdefer unreachable try catch async nosuspend await suspend resume
syn keyword zigConditional if else switch and or orelse syn keyword zigConditional if else switch and or orelse
syn keyword zigRepeat while for syn keyword zigRepeat while for

View File

@@ -14,7 +14,7 @@ syn region zirCommentLine start=";" end="$" contains=zirTodo,@Spell
syn region zirBlock start="{" end="}" transparent fold syn region zirBlock start="{" end="}" transparent fold
syn keyword zirKeyword primitive fntype int str as ptrtoint fieldptr deref asm unreachable export ref syn keyword zirKeyword primitive fntype int str as ptrtoint fieldptr deref asm unreachable export ref fn
syn keyword zirTodo contained TODO syn keyword zirTodo contained TODO

60
syntax/zsh.vim Normal file
View File

@@ -0,0 +1,60 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sh') == -1
" Shebang
syn match shShebang "^#!.*$" containedin=shComment
" Operators
syn match shOperator '||'
syn match shOperator '&&'
" Match semicolons as Delimiter rather than Operator
syn match shSemicolon ';' containedin=shOperator,zshOperator
" Highlight braces, brackets and parens as Delimiters in zsh
syn match zshDelim '\v(\(|\))' containedin=zshParentheses
syn match zshDelim '\v(\{|\})' containedin=zshBraces
syn match zshDelim '\v(\[|\])' containedin=zshParentheses
" Match command flags in zsh
syn match zshFlag "\v<-\w+" containedin=zshBrackets,zshParentheses
" Special files as Constants
syn match Constant "\v/dev/\w+"
\ containedin=shFunctionOne,shIf,shCmdParenRegion,shCommandSub
" Common commands
let commands = [ 'arch', 'awk', 'b2sum', 'base32', 'base64', 'basename', 'basenc', 'bash', 'brew', 'cat', 'chcon', 'chgrp', 'chown', 'chroot', 'cksum', 'comm', 'cp', 'csplit', 'curl', 'cut', 'date', 'dd', 'defaults', 'df', 'dir', 'dircolors', 'dirname', 'ed', 'env', 'expand', 'factor', 'fmt', 'fold', 'git', 'grep', 'groups', 'head', 'hexdump', 'hostid', 'hostname', 'hugo', 'id', 'install', 'join', 'killall', 'link', 'ln', 'logname', 'md5sum', 'mkdir', 'mkfifo', 'mknod', 'mktemp', 'nice', 'nl', 'nohup', 'npm', 'nproc', 'numfmt', 'od', 'open', 'paste', 'pathchk', 'pr', 'printenv', 'printf', 'ptx', 'readlink', 'realpath', 'rg', 'runcon', 'scutil', 'sed', 'seq', 'sha1sum', 'sha2', 'shred', 'shuf', 'split', 'stat', 'stdbuf', 'stty', 'sudo', 'sum', 'sync', 'tac', 'tee', 'terminfo', 'timeout', 'tmux', 'top', 'touch', 'tput', 'tr', 'truncate', 'tsort', 'tty', 'uname', 'unexpand', 'uniq', 'unlink', 'uptime', 'users', 'vdir', 'vim', 'wc', 'who', 'whoami', 'yabai', 'yes' ]
for i in commands
execute 'syn match shStatement "\v(\w|-)@<!'
\ . i
\ . '(\w|-)@!" containedin=shFunctionOne,shIf,shCmdParenRegion,shCommandSub,zshBrackets'
endfor
" Fix default highlighting groups
hi def link bashSpecialVariables Identifier
hi def link shCmdSubRegion Delimiter
hi def link shDerefSimple Identifier
hi def link shFor Identifier
hi def link shFunctionKey Statement
hi def link shQuote StringDelimiter
hi def link shRange Delimiter
hi def link shSnglCase Delimiter
hi def link shStatement Statement
hi def link shTestOpr Operator
hi def link shVarAssign Operator
hi def link zshDeref Identifier
hi def link zshFunction Function
hi def link zshOperator Operator
hi def link zshStringDelimiter StringDelimiter
hi def link zshSubst Identifier
hi def link zshSubstDelim Delimiter
hi def link zshVariableDef Identifier
" Link custom groups
hi def link shSemicolon Delimiter
hi def link shShebang PreProc
hi def link zshDelim Delimiter
hi def link zshFlag Special
endif

19
test Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/bash
set -e
vim -N --startuptime /dev/stdout -u <(
echo "filetype plugin indent on"
echo "syntax enable"
echo "let &rtp='$PWD,'.&rtp"
cat ftdetect/polyglot.vim | grep -E 'set ft=[a-z-]+' -o | sort | uniq | awk -F '=' '{ print $2 }' | while read ft; do
echo "try"
echo " enew"
echo " set ft=$ft"
echo "catch"
echo " echo v:exception"
echo " exec ':cq!'"
echo "endtry"
done
echo "exec ':q!'"
)