Migrate all ftdetect to linguist

This commit is contained in:
Adam Stankiewicz
2020-08-18 15:53:18 +02:00
parent d821de3142
commit 00015bd105
7 changed files with 1038 additions and 609 deletions

View File

@@ -90,7 +90,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [gradle](https://github.com/tfnico/vim-gradle) (compiler)
- [graphql](https://github.com/jparise/vim-graphql) (syntax, indent, autoload, ftplugin, after)
- [haml](https://github.com/sheerun/vim-haml) (syntax, indent, compiler, ftplugin)
- [handlebars](https://github.com/mustache/vim-mustache-handlebars) (syntax, indent, ftplugin)
- [handlebars](https://github.com/sheerun/vim-mustache-handlebars) (syntax, indent, ftplugin)
- [haproxy](https://github.com/CH-DanReif/haproxy.vim) (syntax)
- [haskell](https://github.com/neovimhaskell/haskell-vim) (syntax, indent, ftplugin)
- [haxe](https://github.com/yaymukund/vim-haxe) (syntax)

View File

@@ -0,0 +1,37 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1
" Copyright (c) 2016-2020 Jon Parise <jon@indelible.org>
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to
" deal in the Software without restriction, including without limitation the
" rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
" sell copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in
" all copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
" IN THE SOFTWARE.
"
" Language: GraphQL
" Maintainer: Jon Parise <jon@indelible.org>
if exists('b:current_syntax')
let s:current_syntax = b:current_syntax
unlet b:current_syntax
endif
syn include @GraphQLSyntax syntax/graphql.vim
if exists('s:current_syntax')
let b:current_syntax = s:current_syntax
endif
syntax region graphqlMultilineString matchgroup=reasonMultilineString start=+graphql\_s*\zs{|+ end=+|}+ contains=@GraphQLSyntax,reasonEscape,reasonEscapeUnicode,reasonEscapeError,reasonStringContinuation keepend
endif

152
build.py
View File

@@ -14,6 +14,9 @@ def language(name,
extensions=None,
filenames=None,
syntax=None,
outer_filetype=None,
custom_set=None,
compound=False,
extra_extensions=[],
extra_filenames=[],
ignored_extensions=[]
@@ -23,20 +26,78 @@ def language(name,
polyglot_name = polyglot or filetype_name
lines.append(f"if index(g:polyglot_disabled, '{polyglot_name}') == -1")
if syntax != None:
syntax = " syn=" + syntax
syntax = " syntax=" + syntax
else:
syntax = ""
if extensions == None:
extensions = language.get("extensions", [])
if filenames == None:
filenames = language.get("filenames", [])
if custom_set == None:
custom_set = f"set ft={filetype_name}{syntax}"
for ext in sorted(list(set(extensions + extra_extensions) - set(ignored_extensions))):
lines.append(f" au BufNewFile,BufRead *{ext} set ft={filetype_name}{syntax}")
for fn in filenames + extra_filenames:
lines.append(f" au BufNewFile,BufRead {fn} set ft={filetype_name}{syntax}")
if outer_filetype != None:
lines.append(f" au BufNewFile *.*{ext} execute \"do BufNewFile filetypedetect \" . expand(\"<afile>:r\") | {outer_filetype}")
lines.append(f" au BufReadPre *.*{ext} execute \"do BufRead filetypedetect \" . expand(\"<afile>:r\") | {outer_filetype}")
lines.append(f" au BufNewFile,BufRead *{ext} {custom_set}")
for fn in sorted(filenames + extra_filenames):
if fn[0] == ".":
fn = "{.,}" + fn[1:]
lines.append(f" au BufNewFile,BufRead {fn} {custom_set}")
lines.append("endif")
lines.append("")
lines.append("""" don't spam the user when Vim is started in Vi compatibility mode
let s:cpo_save = &cpo
set cpo&vim
if !exists('g:polyglot_disabled')
let g:polyglot_disabled = []
endif
function! s:SetDefault(name, value)
if !exists(a:name)
let {a:name} = a:value
endif
endfunction
call s:SetDefault('g:markdown_enable_spell_checking', 0)
call s:SetDefault('g:markdown_enable_input_abbreviations', 0)
call s:SetDefault('g:markdown_enable_mappings', 0)
" Enable jsx syntax by default
call s:SetDefault('g:jsx_ext_required', 0)
" Make csv loading faster
call s:SetDefault('g:csv_start', 1)
call s:SetDefault('g:csv_end', 2)
" Disable json concealing by default
call s:SetDefault('g:vim_json_syntax_conceal', 0)
call s:SetDefault('g:filetype_euphoria', 'elixir')
call s:SetDefault('g:python_highlight_builtins', 1)
call s:SetDefault('g:python_highlight_builtin_objs', 1)
call s:SetDefault('g:python_highlight_builtin_types', 1)
call s:SetDefault('g:python_highlight_builtin_funcs', 1)
call s:SetDefault('g:python_highlight_builtin_funcs_kwarg', 1)
call s:SetDefault('g:python_highlight_exceptions', 1)
call s:SetDefault('g:python_highlight_string_formatting', 1)
call s:SetDefault('g:python_highlight_string_format', 1)
call s:SetDefault('g:python_highlight_string_templates', 1)
call s:SetDefault('g:python_highlight_indent_errors', 1)
call s:SetDefault('g:python_highlight_space_errors', 1)
call s:SetDefault('g:python_highlight_doctests', 1)
call s:SetDefault('g:python_highlight_func_calls', 1)
call s:SetDefault('g:python_highlight_class_vars', 1)
call s:SetDefault('g:python_highlight_operators', 1)
call s:SetDefault('g:python_highlight_file_headers_as_comments', 1)
call s:SetDefault('g:python_slow_sync', 1)
""")
language("ASL", polyglot="acpiasl", extensions=[".asl", ".dsl"])
language("API Blueprint")
language("AppleScript")
@@ -90,7 +151,7 @@ language("GraphQL")
language("Gradle", filetype="groovy", polyglot="gradle")
language("Haml", extra_extensions=[".hamlc", ".hamlbars"])
language("Handlebars", filetype="mustache", polyglot="handlebars", extra_extensions=[".hulk", ".hjs", ".mustache", ".njk"])
language("HTML+Django", polyglot="jinja", filetype="jinja.html", ignored_extensions=[".mustache", ".njk"])
language("HTML+Django", polyglot="jinja", filetype="jinja.html", ignored_extensions=[".mustache", ".njk"], extra_extensions=[".j2"])
language("HAProxy")
language("Haskell", extra_extensions=[".bpk", ".hsig"])
language("Haxe")
@@ -117,7 +178,86 @@ language("LilyPond")
language("LiveScript")
language("LLVM")
language("Tablegen", polyglot="llvm", extensions=[".td"], filetype="tablegen")
language("Mako", outer_filetype="let b:mako_outer_lang = &filetype")
language("Log", extensions=[".log"], filenames=["*_log"])
language("Markdown", ignored_extensions=[".mdx"])
language("Mdx", extensions=[".mdx"], polyglot="mdx", filetype="markdown.mdx")
language("Mathematica", filetype="mma")
language("Meson")
language("Dosini", extensions=[".wrap"], filetype="dosini", polyglot="meson")
language("MoonScript", filetype="moon", polyglot="moon")
language("Nginx", extra_extensions=[".nginx"], extra_filenames=["*/etc/nginx/*", "*/usr/local/nginx/conf/*", "*/nginx/*.conf", "nginx*.conf", "*nginx.conf"])
language("Nim")
language("Nix")
language("OCaml", extra_extensions=[".mlt", ".mlp", ".mlip", ".mli.cppo", ".ml.cppo"])
language("OMake", extensions=[".om"], filenames=["OMakefile", "OMakeroot", "Omakeroot.in"], polyglot="ocaml", filetype="omake")
language("OPam", extensions=[".opam", ".opam.template"], filenames=["opam"], filetype="opam", polyglot="ocaml")
language("Oasis", filenames=["_oasis"], polyglot="ocaml", filetype="oasis")
language("OpenCL")
language("Perl")
language("PLpgSQL", filetype="sql", ignored_extensions=[".sql"], custom_set="let b:sql_type_override='pgsql' | set ft=sql", polyglot="pgsql")
language("PlantUML", extra_extensions=[".uml", ".pu"])
language("Pony")
language("PowerShell", extra_extensions=[".pssc"])
language("Ps1XML", extensions=[".ps1xml"], polyglot="powershell", filetype="ps1xml")
language("Protocol Buffer", polyglot="protobuf", filetype="proto")
language("Pug")
language("Puppet")
language("Embedded Puppet", polyglot="puppet", filetype="embeddedpuppet", extensions=[".epp"])
language("PureScript")
language("QMake")
language("QML")
language("Racket")
language("Raku", extra_extensions=[".rakudoc", ".rakutest", ".raku", ".rakumod", ".pod6", ".t6"])
language("RAML")
language("HTML+Razor", filetype="razor", polyglot="razor")
language("Reason")
language("Merlin", filetype="merlin", polyglot="razor", filenames=[".merlin"])
language("Ruby", extra_extensions=[".rxml", ".rjs", ".rant", ".axlsx", ".cap", ".opal"], extra_filenames=["Rantfile", ".autotest", "Cheffile", "KitchenSink", "Routefile"])
language("HTML+ERB", polyglot="ruby", filetype="eruby", extra_extensions=[".rhtml"])
# Needs to be after ruby
language("RSpec", filenames=["*_spec.rb"], polyglot="rspec", filetype="ruby", syntax="rspec")
language("Rust")
language("Scala", ignored_extensions=[".sbt"])
language("Scala SBT", filetype="sbt.scala", extensions=[".sbt"], polyglot="scala")
language("SCSS")
language("Slim")
language("Slime", extensions=[".slime"])
language("SMT", filetype="smt2")
language("Solidity", extra_extensions=[".sol"])
language("Stylus", extra_extensions=[".stylus"])
language("Svelte")
language("Swift")
language("Sxhkd", extensions=[".sxhkdrc"], filetype="sxhkdrc", polyglot="sxhkd")
language("Systemd", extensions=[".automount", ".mount", ".path", ".service", ".socket", ".swap", ".target", ".timer"])
language("HCL", filetype="terraform", polyglot="terraform")
language("Textile")
language("Thrift")
language("Tmux", filenames=[".tmux.conf"])
language("TOML", extra_filenames=["Pipfile", "*/.cargo/config", "*/.cargo/credentials"])
language("TPTP", extensions=[".p", ".tptp", ".ax"])
language("Twig", ignored_extensions=[".xml.twig"], filetype="html.twig", polyglot="twig")
language("Twig XML", extensions=[".xml.twig"], filetype="xml.twig", polyglot="twig")
language("TypeScript")
language("TSX", filetype="typescriptreact", polyglot="typescript")
language("XML", extra_extensions=[".cdxml"], ignored_extensions=[".ts", ".tsx"])
language("V")
language("Vala", extra_extensions=[".valadoc"])
language("Visual Basic .NET", filetype="vbnet", polyglot="vbnet")
language("VCL")
language("Vifm", extensions=[".vifm"], filenames=["vifmrc", "*vifm/colors/*"])
language("Vifm Rename", filetype="vifm-rename", filenames=["vifm.rename*"], polyglot="vifm")
language("Velocity", extensions=[".vm"], filetype="velocity")
language("Vue", extra_extensions=[".wpy"])
language("XDC", extensions=[".xdc"])
language("Zig", extra_extensions=[".zir"])
language("Zir", extensions=[".zir"], polyglot="zig", filetype="zir")
f = open("ftdetect/polyglot_auto.vim", "w")
lines.append('" restore Vi compatibility settings')
lines.append('let &cpo = s:cpo_save')
lines.append('unlet s:cpo_save')
f = open("ftdetect/polyglot.vim", "w")
f.write("\n".join(lines))
f.close()

File diff suppressed because it is too large Load Diff

View File

@@ -1,512 +0,0 @@
if index(g:polyglot_disabled, 'acpiasl') == -1
au BufNewFile,BufRead *.asl set ft=asl
au BufNewFile,BufRead *.dsl set ft=asl
endif
if index(g:polyglot_disabled, 'apiblueprint') == -1
au BufNewFile,BufRead *.apib set ft=apiblueprint
endif
if index(g:polyglot_disabled, 'applescript') == -1
au BufNewFile,BufRead *.applescript set ft=applescript
au BufNewFile,BufRead *.scpt set ft=applescript
endif
if index(g:polyglot_disabled, 'arduino') == -1
au BufNewFile,BufRead *.ino set ft=arduino
au BufNewFile,BufRead *.pde set ft=arduino
endif
if index(g:polyglot_disabled, 'asciidoc') == -1
au BufNewFile,BufRead *.adoc set ft=asciidoc
au BufNewFile,BufRead *.asc set ft=asciidoc
au BufNewFile,BufRead *.asciidoc set ft=asciidoc
endif
if index(g:polyglot_disabled, 'blade') == -1
au BufNewFile,BufRead *.blade set ft=blade
au BufNewFile,BufRead *.blade.php set ft=blade
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, 'coffee-script') == -1
au BufNewFile,BufRead *._coffee set ft=coffee
au BufNewFile,BufRead *.cake set ft=coffee
au BufNewFile,BufRead *.cjsx set ft=coffee
au BufNewFile,BufRead *.ck set ft=coffee
au BufNewFile,BufRead *.coffee set ft=coffee
au BufNewFile,BufRead *.coffeekup set ft=coffee
au BufNewFile,BufRead *.iced set ft=coffee
au BufNewFile,BufRead Cakefile set ft=coffee
endif
if index(g:polyglot_disabled, 'coffee-script') == -1
au BufNewFile,BufRead *.coffee.md set ft=litcoffee
au BufNewFile,BufRead *.litcoffee set ft=litcoffee
endif
if index(g:polyglot_disabled, 'clojure') == -1
au BufNewFile,BufRead *.boot set ft=clojure
au BufNewFile,BufRead *.cl2 set ft=clojure
au BufNewFile,BufRead *.clj set ft=clojure
au BufNewFile,BufRead *.cljc set ft=clojure
au BufNewFile,BufRead *.cljs set ft=clojure
au BufNewFile,BufRead *.cljs.hl set ft=clojure
au BufNewFile,BufRead *.cljscm set ft=clojure
au BufNewFile,BufRead *.cljx set ft=clojure
au BufNewFile,BufRead *.hic set ft=clojure
au BufNewFile,BufRead riemann.config set ft=clojure
endif
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
endif
if index(g:polyglot_disabled, 'crystal') == -1
au BufNewFile,BufRead *.ecr set ft=ecrystal
endif
if index(g:polyglot_disabled, 'csv') == -1
au BufNewFile,BufRead *.csv set ft=csv
au BufNewFile,BufRead *.dat set ft=csv
au BufNewFile,BufRead *.tab set ft=csv
au BufNewFile,BufRead *.tsv set ft=csv
endif
if index(g:polyglot_disabled, 'cucumber') == -1
au BufNewFile,BufRead *.feature set ft=cucumber
au BufNewFile,BufRead *.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 *.di set ft=d
endif
if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.lst set ft=dcov
endif
if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.dd set ft=dd
endif
if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.ddoc set ft=ddoc
endif
if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.sdl set ft=dsdl
endif
if index(g:polyglot_disabled, 'dockerfile') == -1
au BufNewFile,BufRead *.Dockerfile set ft=Dockerfile
au BufNewFile,BufRead *.dock set ft=Dockerfile
au BufNewFile,BufRead *.dockerfile set ft=Dockerfile
au BufNewFile,BufRead Dockerfile set ft=Dockerfile
au BufNewFile,BufRead dockerfile set ft=Dockerfile
au BufNewFile,BufRead Dockerfile* set ft=Dockerfile
endif
if index(g:polyglot_disabled, 'dockerfile') == -1
au BufNewFile,BufRead docker-compose*.yaml set ft=yaml.docker-compose
au BufNewFile,BufRead docker-compose*.yml set ft=yaml.docker-compose
endif
if index(g:polyglot_disabled, 'elixir') == -1
au BufNewFile,BufRead *.ex set ft=elixir
au BufNewFile,BufRead *.exs set ft=elixir
au BufNewFile,BufRead mix.lock set ft=elixir
endif
if index(g:polyglot_disabled, 'elixir') == -1
au BufNewFile,BufRead *.eex set ft=elixir
au BufNewFile,BufRead *.leex set ft=elixir
endif
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
au BufNewFile,BufRead *.emberscript 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 *.app set ft=erlang
au BufNewFile,BufRead *.app.src set ft=erlang
au BufNewFile,BufRead *.erl set ft=erlang
au BufNewFile,BufRead *.es set ft=erlang
au BufNewFile,BufRead *.escript set ft=erlang
au BufNewFile,BufRead *.hrl set ft=erlang
au BufNewFile,BufRead *.xrl set ft=erlang
au BufNewFile,BufRead *.yaws set ft=erlang
au BufNewFile,BufRead *.yrl set ft=erlang
au BufNewFile,BufRead Emakefile set ft=erlang
au BufNewFile,BufRead rebar.config set ft=erlang
au BufNewFile,BufRead rebar.config.lock set ft=erlang
au BufNewFile,BufRead rebar.lock set ft=erlang
endif
if index(g:polyglot_disabled, 'ferm') == -1
au BufNewFile,BufRead *.ferm set ft=ferm
au BufNewFile,BufRead ferm.conf set ft=ferm
endif
if index(g:polyglot_disabled, 'fish') == -1
au BufNewFile,BufRead *.fish set ft=fish
endif
if index(g:polyglot_disabled, 'yaml') == -1
au BufNewFile,BufRead *.mir set ft=yaml
au BufNewFile,BufRead *.reek set ft=yaml
au BufNewFile,BufRead *.rviz set ft=yaml
au BufNewFile,BufRead *.sublime-syntax set ft=yaml
au BufNewFile,BufRead *.syntax set ft=yaml
au BufNewFile,BufRead *.yaml set ft=yaml
au BufNewFile,BufRead *.yaml-tmlanguage set ft=yaml
au BufNewFile,BufRead *.yaml.sed set ft=yaml
au BufNewFile,BufRead *.yml set ft=yaml
au BufNewFile,BufRead *.yml.mysql set ft=yaml
au BufNewFile,BufRead .clang-format set ft=yaml
au BufNewFile,BufRead .clang-tidy set ft=yaml
au BufNewFile,BufRead .gemrc set ft=yaml
au BufNewFile,BufRead glide.lock set ft=yaml
au BufNewFile,BufRead yarn.lock set ft=yaml
au BufNewFile,BufRead fish_history set ft=yaml
au BufNewFile,BufRead fish_read_history set ft=yaml
endif
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 set ft=fsharp
au BufNewFile,BufRead *.fsi set ft=fsharp
au BufNewFile,BufRead *.fsx set ft=fsharp
endif
if index(g:polyglot_disabled, 'gdscript') == -1
au BufNewFile,BufRead *.gd set ft=gdscript3
endif
if index(g:polyglot_disabled, 'glsl') == -1
au BufNewFile,BufRead *.comp set ft=glsl
au BufNewFile,BufRead *.fp set ft=glsl
au BufNewFile,BufRead *.frag set ft=glsl
au BufNewFile,BufRead *.frg set ft=glsl
au BufNewFile,BufRead *.fs set ft=glsl
au BufNewFile,BufRead *.fsh set ft=glsl
au BufNewFile,BufRead *.fshader set ft=glsl
au BufNewFile,BufRead *.geo set ft=glsl
au BufNewFile,BufRead *.geom set ft=glsl
au BufNewFile,BufRead *.glsl set ft=glsl
au BufNewFile,BufRead *.glslf set ft=glsl
au BufNewFile,BufRead *.glslv set ft=glsl
au BufNewFile,BufRead *.gs set ft=glsl
au BufNewFile,BufRead *.gshader set ft=glsl
au BufNewFile,BufRead *.shader set ft=glsl
au BufNewFile,BufRead *.tesc set ft=glsl
au BufNewFile,BufRead *.tese set ft=glsl
au BufNewFile,BufRead *.vert set ft=glsl
au BufNewFile,BufRead *.vrx set ft=glsl
au BufNewFile,BufRead *.vsh set ft=glsl
au BufNewFile,BufRead *.vshader set ft=glsl
endif
if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead *.gitconfig set ft=gitconfig
au BufNewFile,BufRead .gitconfig set ft=gitconfig
au BufNewFile,BufRead .gitmodules set ft=gitconfig
au BufNewFile,BufRead *.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 gitconfig set ft=gitconfig
endif
if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead git-rebase-todo set ft=gitrebase
endif
if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail
endif
if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead COMMIT_EDIT_MSG set ft=gitcommit
au BufNewFile,BufRead TAG_EDIT_MSG set ft=gitcommit
au BufNewFile,BufRead MERGE_MSG set ft=gitcommit
au BufNewFile,BufRead MSG set ft=gitcommit
endif
if index(g:polyglot_disabled, 'gmpl') == -1
au BufNewFile,BufRead *.mod set ft=gmpl
endif
if index(g:polyglot_disabled, 'go') == -1
au BufNewFile,BufRead *.go set ft=go
endif
if index(g:polyglot_disabled, 'go') == -1
au BufNewFile,BufRead go.mod set ft=gomod
endif
if index(g:polyglot_disabled, 'go') == -1
au BufNewFile,BufRead *.tmpl set ft=gohtmltmpl
endif
if index(g:polyglot_disabled, 'assembly') == -1
au BufNewFile,BufRead *.a51 set ft=asm
au BufNewFile,BufRead *.asm set ft=asm
au BufNewFile,BufRead *.i set ft=asm
au BufNewFile,BufRead *.inc set ft=asm
au BufNewFile,BufRead *.nasm set ft=asm
endif
if index(g:polyglot_disabled, 'graphql') == -1
au BufNewFile,BufRead *.gql set ft=graphql
au BufNewFile,BufRead *.graphql set ft=graphql
au BufNewFile,BufRead *.graphqls set ft=graphql
endif
if index(g:polyglot_disabled, 'gradle') == -1
au BufNewFile,BufRead *.gradle set ft=groovy
endif
if index(g:polyglot_disabled, 'haml') == -1
au BufNewFile,BufRead *.haml set ft=haml
au BufNewFile,BufRead *.haml.deface set ft=haml
au BufNewFile,BufRead *.hamlbars set ft=haml
au BufNewFile,BufRead *.hamlc set ft=haml
endif
if index(g:polyglot_disabled, 'handlebars') == -1
au BufNewFile,BufRead *.handlebars set ft=mustache
au BufNewFile,BufRead *.hbs set ft=mustache
au BufNewFile,BufRead *.hjs set ft=mustache
au BufNewFile,BufRead *.hulk set ft=mustache
au BufNewFile,BufRead *.mustache set ft=mustache
au BufNewFile,BufRead *.njk set ft=mustache
endif
if index(g:polyglot_disabled, 'jinja') == -1
au BufNewFile,BufRead *.jinja set ft=jinja.html
au BufNewFile,BufRead *.jinja2 set ft=jinja.html
endif
if index(g:polyglot_disabled, 'haproxy') == -1
au BufNewFile,BufRead *.cfg set ft=haproxy
au BufNewFile,BufRead haproxy.cfg set ft=haproxy
endif
if index(g:polyglot_disabled, 'haskell') == -1
au BufNewFile,BufRead *.bpk set ft=haskell
au BufNewFile,BufRead *.hs set ft=haskell
au BufNewFile,BufRead *.hs-boot set ft=haskell
au BufNewFile,BufRead *.hsc set ft=haskell
au BufNewFile,BufRead *.hsig set ft=haskell
endif
if index(g:polyglot_disabled, 'haxe') == -1
au BufNewFile,BufRead *.hx set ft=haxe
au BufNewFile,BufRead *.hxsl set ft=haxe
endif
if index(g:polyglot_disabled, 'hcl') == -1
au BufNewFile,BufRead *.hcl set ft=hcl
au BufNewFile,BufRead *.nomad set ft=hcl
au BufNewFile,BufRead *.tf set ft=hcl
au BufNewFile,BufRead *.tfvars set ft=hcl
au BufNewFile,BufRead *.workflow set ft=hcl
au BufNewFile,BufRead Appfile set ft=hcl
endif
if index(g:polyglot_disabled, 'helm') == -1
au BufNewFile,BufRead */templates/*.yaml set ft=helm
au BufNewFile,BufRead */templates/*.tpl set ft=helm
endif
if index(g:polyglot_disabled, 'hive') == -1
au BufNewFile,BufRead *.hql set ft=hive
au BufNewFile,BufRead *.q set ft=hive
endif
if index(g:polyglot_disabled, 'i3') == -1
au BufNewFile,BufRead *.i3.config set ft=i3config
au BufNewFile,BufRead i3.config set ft=i3config
endif
if index(g:polyglot_disabled, 'hive') == -1
au BufNewFile,BufRead *.hql set ft=hive
au BufNewFile,BufRead *.q set ft=hive
endif
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 *.lidr set ft=idris
au BufNewFile,BufRead idris-response set ft=idris
endif
if index(g:polyglot_disabled, 'ion') == -1
au BufNewFile,BufRead *.ion set ft=ion
au BufNewFile,BufRead ~/.config/ion/initrc set ft=ion
endif
if index(g:polyglot_disabled, 'javascript') == -1
au BufNewFile,BufRead *._js set ft=javascript
au BufNewFile,BufRead *.bones set ft=javascript
au BufNewFile,BufRead *.cjs set ft=javascript
au BufNewFile,BufRead *.es set ft=javascript
au BufNewFile,BufRead *.es6 set ft=javascript
au BufNewFile,BufRead *.frag set ft=javascript
au BufNewFile,BufRead *.gs set ft=javascript
au BufNewFile,BufRead *.jake set ft=javascript
au BufNewFile,BufRead *.js set ft=javascript
au BufNewFile,BufRead *.jsb set ft=javascript
au BufNewFile,BufRead *.jscad set ft=javascript
au BufNewFile,BufRead *.jsfl set ft=javascript
au BufNewFile,BufRead *.jsm set ft=javascript
au BufNewFile,BufRead *.jss set ft=javascript
au BufNewFile,BufRead *.mjs set ft=javascript
au BufNewFile,BufRead *.njs set ft=javascript
au BufNewFile,BufRead *.pac set ft=javascript
au BufNewFile,BufRead *.sjs set ft=javascript
au BufNewFile,BufRead *.ssjs set ft=javascript
au BufNewFile,BufRead *.xsjs set ft=javascript
au BufNewFile,BufRead *.xsjslib set ft=javascript
au BufNewFile,BufRead Jakefile set ft=javascript
endif
if index(g:polyglot_disabled, 'javascript') == -1
au BufNewFile,BufRead *.flow set ft=flow
endif
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
endif
if index(g:polyglot_disabled, 'json5') == -1
au BufNewFile,BufRead *.json5 set ft=json5
endif
if index(g:polyglot_disabled, 'json') == -1
au BufNewFile,BufRead *.JSON-tmLanguage set ft=json
au BufNewFile,BufRead *.avsc set ft=json
au BufNewFile,BufRead *.geojson set ft=json
au BufNewFile,BufRead *.gltf set ft=json
au BufNewFile,BufRead *.har set ft=json
au BufNewFile,BufRead *.ice set ft=json
au BufNewFile,BufRead *.json set ft=json
au BufNewFile,BufRead *.jsonl set ft=json
au BufNewFile,BufRead *.jsonp set ft=json
au BufNewFile,BufRead *.mcmeta set ft=json
au BufNewFile,BufRead *.template set ft=json
au BufNewFile,BufRead *.tfstate set ft=json
au BufNewFile,BufRead *.tfstate.backup set ft=json
au BufNewFile,BufRead *.topojson set ft=json
au BufNewFile,BufRead *.webapp set ft=json
au BufNewFile,BufRead *.webmanifest set ft=json
au BufNewFile,BufRead *.yy set ft=json
au BufNewFile,BufRead *.yyp set ft=json
au BufNewFile,BufRead .arcconfig set ft=json
au BufNewFile,BufRead .htmlhintrc set ft=json
au BufNewFile,BufRead .tern-config set ft=json
au BufNewFile,BufRead .tern-project set ft=json
au BufNewFile,BufRead .watchmanconfig set ft=json
au BufNewFile,BufRead composer.lock set ft=json
au BufNewFile,BufRead mcmod.info set ft=json
endif
if index(g:polyglot_disabled, 'jst') == -1
au BufNewFile,BufRead *.djs set ft=jst
au BufNewFile,BufRead *.ect set ft=jst
au BufNewFile,BufRead *.ejs set ft=jst
au BufNewFile,BufRead *.hamljs set ft=jst
au BufNewFile,BufRead *.jst set ft=jst
endif
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 *.ktm set ft=kotlin
au BufNewFile,BufRead *.kts set ft=kotlin
endif
if index(g:polyglot_disabled, 'ledger') == -1
au BufNewFile,BufRead *.journal set ft=ledger
au BufNewFile,BufRead *.ldg set ft=ledger
au BufNewFile,BufRead *.ledger set ft=ledger
endif
if index(g:polyglot_disabled, 'less') == -1
au BufNewFile,BufRead *.less set ft=less
endif
if index(g:polyglot_disabled, 'lilypond') == -1
au BufNewFile,BufRead *.ily set ft=lilypond
au BufNewFile,BufRead *.ly set ft=lilypond
endif
if index(g:polyglot_disabled, 'livescript') == -1
au BufNewFile,BufRead *._ls set ft=livescript
au BufNewFile,BufRead *.ls set ft=livescript
au BufNewFile,BufRead Slakefile set ft=livescript
endif
if index(g:polyglot_disabled, 'llvm') == -1
au BufNewFile,BufRead *.ll set ft=llvm
endif
if index(g:polyglot_disabled, 'llvm') == -1
au BufNewFile,BufRead *.td set ft=tablegen
endif

View File

@@ -54,10 +54,10 @@ syntax match dartMetadata "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a
syntax match dartNumber "\<\d\+\(\.\d\+\)\=\>"
" User Types
syntax match dartUserType "\<_\?\u[[:alnum:]_\$]*\>"
syntax match dartUserType "\<[_$]*\u[a-zA-Z0-9_$]*\>"
" Function highlighting
syntax match dartFunction "\zs\<\(_\?\l[[:alnum:]_\$]*\)\>*\s*\ze("
syntax match dartFunction "\zs\<\([_$]*[a-z][a-zA-Z0-9_$]*\)\ze\(<\|(\|\s\+=>\)"
" SDK libraries
syntax keyword dartSdkClass BidirectionalIterator Comparable DateTime