diff options
-rwxr-xr-x | build | 2 | ||||
-rwxr-xr-x | build.py | 92 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 275 | ||||
-rw-r--r-- | ftdetect/polyglot_auto.vim | 463 |
4 files changed, 545 insertions, 287 deletions
@@ -182,7 +182,7 @@ PACKS=" graphql:jparise/vim-graphql:_ALL gradle:tfnico/vim-gradle haml:sheerun/vim-haml - handlebars:mustache/vim-mustache-handlebars + handlebars:sheerun/vim-mustache-handlebars haproxy:CH-DanReif/haproxy.vim haskell:neovimhaskell/haskell-vim haxe:yaymukund/vim-haxe @@ -13,17 +13,27 @@ def language(name, polyglot=None, extensions=None, filenames=None, + syntax=None, extra_extensions=[], - extra_filenames=[] + extra_filenames=[], + ignored_extensions=[] ): language = data.get(name, {}) filetype_name = filetype or name.lower().replace(" ", "") polyglot_name = polyglot or filetype_name lines.append(f"if index(g:polyglot_disabled, '{polyglot_name}') == -1") - for ext in (extensions or language.get("extensions", [])) + extra_extensions: - lines.append(f" au BufNewFile,BufRead *{ext} set ft={filetype_name}") - for fn in (filenames or language.get("filenames", [])) + extra_filenames: - lines.append(f" au BufNewFile,BufRead {fn} set ft={filetype_name}") + if syntax != None: + syntax = " syn=" + syntax + else: + syntax = "" + if extensions == None: + extensions = language.get("extensions", []) + if filenames == None: + filenames = language.get("filenames", []) + 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}") lines.append("endif") lines.append("") @@ -35,8 +45,78 @@ language("AsciiDoc") language("Blade") language("Caddyfile", extensions=["Caddyfile"]) language("Carp", extensions=[".carp"]) -language("CoffeeScript", filetype="coffee") +language("CoffeeScript", polyglot="coffee-script", filetype="coffee", extra_extensions=[".coffeekup", '.ck']) +language("Literate CoffeeScript", polyglot="coffee-script", filetype="litcoffee", extra_extensions=[".coffee.md"]) language("Clojure") +language("CQL", extensions=[".cql"]) +language("Cryptol", extensions=[".cry", ".cyl", ".lcry", ".lcyl"]) +language("Crystal", extra_filenames=["Projectfile"]) +language("HTML+ECR", polyglot="crystal", filetype="ecrystal") +language("CSV", extra_extensions=[".tsv", ".dat", ".tab"]) +language("Gherkin", filetype="cucumber", extra_extensions=[".story"]) +language("Cue", filetype="cuesheet", extensions=[".cue"], polyglot="cue") +language("Dart") +language("Dhall") +language("D", polyglot="dlang") +language("D", polyglot="dlang", filetype="dcov", extensions=[".lst"]) +language("D", polyglot="dlang", filetype="dd", extensions=[".dd"]) +language("D", polyglot="dlang", filetype="ddoc", extensions=[".ddoc"]) +language("D", polyglot="dlang", filetype="dsdl", extensions=[".sdl"]) +language("Dockerfile", extra_extensions=[".dock", ".Dockerfile"], extra_filenames=["dockerfile", "Dockerfile*"], filetype="Dockerfile", polyglot="dockerfile") +language("Dockerfile", extensions=[], filenames=["docker-compose*.yaml", "docker-compose*.yml"], filetype="yaml.docker-compose", polyglot="dockerfile") +language("Elixir") +language("HTML+EEX", polyglot="elixir", filetype="elixir", extra_extensions=[".leex"]) +language("Elm") +language("EmberScript", filetype="ember-script", polyglot="emberscript") +language("Emblem", extensions=[".emblem"], filetype="emblem") +language("Erlang", extra_extensions=[".app", ".yaws"]) +language("Ferm", extensions=[".ferm"], filenames=["ferm.conf"], filetype="ferm") +language("fish") +language("YAML", extra_filenames=["fish_history", "fish_read_history"]) +language("Flatbuffers", extensions=[".fbs"], filetype="fbs", polyglot="flatbuffers") +language("F#", polyglot="fsharp", filetype="fsharp") +language("GDScript", filetype="gdscript3", polyglot="gdscript") +language("GLSL", extra_extensions=[".comp"]) +language("Git Config", polyglot="git", filetype="gitconfig", extra_filenames=["*.git/config", "*/.config/git/config", "*.git/modules/**/config", "gitconfig"]) +language("Git Rebase", polyglot="git", filetype="gitrebase", filenames=["git-rebase-todo"]) +language("Git Send Email", polyglot="git", filetype="gitsendemail", filenames=[".gitsendemail.*"]) +language("Git Commit", polyglot="git", filetype="gitcommit", filenames=["COMMIT_EDIT_MSG", "TAG_EDIT_MSG", "MERGE_MSG", "MSG"]) +language("Gnu MathProg", polyglot="gmpl", filetype="gmpl", extensions=[".mod"]) +language("Go") +language("Go Mod", filetype="gomod", filenames=["go.mod"], polyglot="go") +language("Go Template", filetype="gohtmltmpl", extensions=[".tmpl"], polyglot="go") +language("Assembly", filetype="asm", polyglot="assembly") +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("HAProxy") +language("Haskell", extra_extensions=[".bpk", ".hsig"]) +language("Haxe") +language("HCL", extra_extensions=[".nomad"], extra_filenames=["Appfile"]) +language("Helm", extra_filenames=["*/templates/*.yaml", "*/templates/*.tpl"]) +language("HiveQL", polyglot="hive", filetype="hive") +language("I3", extensions=[".i3.config"], filenames=["i3.config"], filetype="i3config", polyglot="i3") +language("HiveQL", polyglot="hive", filetype="hive") +language("iCalendar", polyglot="icalendar", filetype="icalendar", extensions=[".ics"]) +language("Idris", extra_filenames=["idris-response"]) +language("Ion", extensions=[".ion"], filenames=["~/.config/ion/initrc"]) +language("JavaScript") +language("Flow", polyglot="javascript", filetype="flow", extensions=[".flow"]) +language("Jenkinsfile", polyglot="jenkins", extensions=[".jenkinsfile", ".Jenkinsfile"], filenames=["Jenkinsfile*"], filetype="Jenkinsfile") +language("JSON5") +language("JSON", extra_extensions=[".jsonp", ".template"]) +language("EJS", filetype="jst", extra_extensions=[".jst", ".djs", ".hamljs", ".ect"]) +language("JSX", filetype="javascriptreact", polyglot="jsx") +language("Julia") +language("Kotlin") +language("Ledger", extensions=[".ldg", ".ledger", ".journal"]) +language("Less") +language("LilyPond") +language("LiveScript") +language("LLVM") +language("Tablegen", polyglot="llvm", extensions=[".td"], filetype="tablegen") f = open("ftdetect/polyglot_auto.vim", "w") f.write("\n".join(lines)) diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index b6b51ac1..c8ce5994 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -46,286 +46,11 @@ 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) -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 *Cakefile set ft=coffee - au BufNewFile,BufRead *.coffeekup,*.ck set ft=coffee - au BufNewFile,BufRead *._coffee set ft=coffee - au BufNewFile,BufRead *.litcoffee set ft=litcoffee - au BufNewFile,BufRead *.coffee.md set ft=litcoffee -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 - 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 *.eex,*.leex set ft=eelixir - au BufNewFile,BufRead mix.lock 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 -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 ~/.config/fish/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,*.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/config,.gitconfig,gitconfig,.gitmodules 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-rebase-todo set ft=gitrebase - au BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail -endif - -if index(g:polyglot_disabled, 'glsl') == -1 - au BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp set ft=glsl -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 - au BufNewFile,BufRead *.s set ft=asm - au BufNewFile,BufRead *.tmpl set ft=gohtmltmpl - au BufNewFile,BufRead go.mod set ft=gomod -endif - -if index(g:polyglot_disabled, 'graphql') == -1 - au BufNewFile,BufRead *.graphql,*.graphqls,*.gql 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,*.hamlbars,*.hamlc set ft=haml -endif - -if index(g:polyglot_disabled, 'handlebars') == -1 - 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 syn=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim -endif - -if index(g:polyglot_disabled, 'haproxy') == -1 - au BufNewFile,BufRead haproxy*.c* set ft=haproxy -endif - -if index(g:polyglot_disabled, 'haskell') == -1 - au BufNewFile,BufRead *.hsc set ft=haskell - au BufNewFile,BufRead *.bpk 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 -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 Appfile set ft=hcl -endif - -if index(g:polyglot_disabled, 'helm') == -1 - au BufNewFile,BufRead */templates/*.yaml,*/templates/*.tpl set ft=helm -endif - -if index(g:polyglot_disabled, 'hive') == -1 - au BufNewFile,BufRead *.hql set ft=hive - au BufNewFile,BufRead *.ql set ft=hive - au BufNewFile,BufRead *.q set ft=hive -endif - -if index(g:polyglot_disabled, 'i3') == -1 - au BufNewFile,BufRead .i3.config,i3.config,*.i3config,*.i3.config set ft=i3config -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 idris-response set ft=idris - au BufNewFile,BufRead *.lidr set ft=lidris -endif - -if index(g:polyglot_disabled, 'ion') == -1 - au BufNewFile,BufRead ~/.config/ion/initrc set ft=ion - au BufNewFile,BufRead *.ion set ft=ion -endif - -if index(g:polyglot_disabled, 'javascript') == -1 - au BufNewFile,BufRead *.flow set ft=flow - au BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile set ft=javascript -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 - au BufNewFile,BufRead *.jenkinsfile set ft=Jenkinsfile - au BufNewFile,BufRead *.Jenkinsfile set ft=Jenkinsfile -endif - 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 -endif - -if index(g:polyglot_disabled, 'json') == -1 - au BufNewFile,BufRead *.json set ft=json - au BufNewFile,BufRead *.jsonl set ft=json - au BufNewFile,BufRead *.jsonp set ft=json - au BufNewFile,BufRead *.geojson set ft=json - au BufNewFile,BufRead *.template set ft=json -endif - -if index(g:polyglot_disabled, 'jst') == -1 - au BufNewFile,BufRead *.ejs set ft=jst - au BufNewFile,BufRead *.jst set ft=jst - au BufNewFile,BufRead *.djs set ft=jst - au BufNewFile,BufRead *.hamljs set ft=jst - au BufNewFile,BufRead *.ect 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 *.kts set ft=kotlin -endif - -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 -endif - -if index(g:polyglot_disabled, 'lilypond') == -1 - au BufNewFile,BufRead *.ly,*.ily set ft=lilypond -endif - -if index(g:polyglot_disabled, 'livescript') == -1 - au BufNewFile,BufRead *.ls set ft=ls - au BufNewFile,BufRead *Slakefile set ft=ls -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 lit.*cfg set ft=python - au BufNewFile,BufRead *.td set ft=tablegen -endif - if index(g:polyglot_disabled, 'log') == -1 au BufNewFile,BufRead *.log set ft=log au BufNewFile,BufRead *_log set ft=log diff --git a/ftdetect/polyglot_auto.vim b/ftdetect/polyglot_auto.vim index 75dd91fd..0fa94bbb 100644 --- a/ftdetect/polyglot_auto.vim +++ b/ftdetect/polyglot_auto.vim @@ -13,14 +13,14 @@ if index(g:polyglot_disabled, 'applescript') == -1 endif if index(g:polyglot_disabled, 'arduino') == -1 - au BufNewFile,BufRead *.pde set ft=arduino 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 *.asciidoc set ft=asciidoc 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 @@ -36,19 +36,26 @@ if index(g:polyglot_disabled, 'carp') == -1 au BufNewFile,BufRead *.carp set ft=carp endif -if index(g:polyglot_disabled, 'coffee') == -1 - au BufNewFile,BufRead *.coffee set ft=coffee +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 *.clj set ft=clojure 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 @@ -57,3 +64,449 @@ if index(g:polyglot_disabled, 'clojure') == -1 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 |