Compare commits

..

2 Commits

Author SHA1 Message Date
Adam Stankiewicz
7972e8eea1 Build 2020-08-27 15:02:54 +02:00
Adam Stankiewicz
6ed481e463 Make sure all extensions are covered 2020-08-27 15:01:44 +02:00
4 changed files with 242 additions and 76 deletions

View File

@@ -63,13 +63,13 @@ if index(g:polyglot_disabled, 'applescript') == -1
endif endif
if index(g:polyglot_disabled, 'arduino') == -1 if index(g:polyglot_disabled, 'arduino') == -1
au BufNewFile,BufRead *.ino set ft=arduino au BufNewFile,BufRead *.ino setf arduino
au BufNewFile,BufRead *.pde set ft=arduino au BufNewFile,BufRead *.pde set ft=arduino
endif endif
if index(g:polyglot_disabled, 'asciidoc') == -1 if index(g:polyglot_disabled, 'asciidoc') == -1
au BufNewFile,BufRead *.adoc set ft=asciidoc au BufNewFile,BufRead *.adoc set ft=asciidoc
au BufNewFile,BufRead *.asc setf asciidoc au BufNewFile,BufRead *.asc set ft=asciidoc
au BufNewFile,BufRead *.asciidoc set ft=asciidoc au BufNewFile,BufRead *.asciidoc set ft=asciidoc
endif endif
@@ -85,17 +85,17 @@ if index(g:polyglot_disabled, 'c/c++') == -1
au BufNewFile,BufRead *.idc set ft=c au BufNewFile,BufRead *.idc set ft=c
au BufNewFile,BufRead *.c++ set ft=cpp au BufNewFile,BufRead *.c++ set ft=cpp
au BufNewFile,BufRead *.cc set ft=cpp au BufNewFile,BufRead *.cc set ft=cpp
au BufNewFile,BufRead *.cp setf cpp au BufNewFile,BufRead *.cp set ft=cpp
au BufNewFile,BufRead *.cpp set ft=cpp au BufNewFile,BufRead *.cpp set ft=cpp
au BufNewFile,BufRead *.cxx set ft=cpp au BufNewFile,BufRead *.cxx set ft=cpp
au BufNewFile,BufRead *.h setf cpp au BufNewFile,BufRead *.h setf cpp
au BufNewFile,BufRead *.h++ set ft=cpp au BufNewFile,BufRead *.h++ set ft=cpp
au BufNewFile,BufRead *.hh setf cpp au BufNewFile,BufRead *.hh set ft=cpp
au BufNewFile,BufRead *.hpp set ft=cpp au BufNewFile,BufRead *.hpp set ft=cpp
au BufNewFile,BufRead *.hxx set ft=cpp au BufNewFile,BufRead *.hxx set ft=cpp
au BufNewFile,BufRead *.inc setf cpp au BufNewFile,BufRead *.inc setf cpp
au BufNewFile,BufRead *.inl set ft=cpp au BufNewFile,BufRead *.inl set ft=cpp
au BufNewFile,BufRead *.ino set ft=cpp au BufNewFile,BufRead *.ino setf cpp
au BufNewFile,BufRead *.ipp set ft=cpp au BufNewFile,BufRead *.ipp set ft=cpp
au BufNewFile,BufRead *.tcc set ft=cpp au BufNewFile,BufRead *.tcc set ft=cpp
au BufNewFile,BufRead *.tpp set ft=cpp au BufNewFile,BufRead *.tpp set ft=cpp
@@ -121,7 +121,10 @@ if index(g:polyglot_disabled, 'clojure') == -1
au BufNewFile,BufRead *.cljs.hl set ft=clojure au BufNewFile,BufRead *.cljs.hl set ft=clojure
au BufNewFile,BufRead *.cljscm set ft=clojure au BufNewFile,BufRead *.cljscm set ft=clojure
au BufNewFile,BufRead *.cljx set ft=clojure au BufNewFile,BufRead *.cljx set ft=clojure
au BufNewFile,BufRead *.edn set ft=clojure
au BufNewFile,BufRead *.hic set ft=clojure au BufNewFile,BufRead *.hic set ft=clojure
au BufNewFile,BufRead build.boot set ft=clojure
au BufNewFile,BufRead profile.boot set ft=clojure
au BufNewFile,BufRead riemann.config set ft=clojure au BufNewFile,BufRead riemann.config set ft=clojure
endif endif
@@ -133,7 +136,7 @@ endif
if index(g:polyglot_disabled, 'coffee-script') == -1 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 *.cake setf coffee au BufNewFile,BufRead *.cake set ft=coffee
au BufNewFile,BufRead *.cjsx set ft=coffee au BufNewFile,BufRead *.cjsx set ft=coffee
au BufNewFile,BufRead *.coffee set ft=coffee au BufNewFile,BufRead *.coffee set ft=coffee
au BufNewFile,BufRead *.coffeekup set ft=coffee au BufNewFile,BufRead *.coffeekup set ft=coffee
@@ -184,7 +187,7 @@ endif
if index(g:polyglot_disabled, 'dlang') == -1 if index(g:polyglot_disabled, 'dlang') == -1
au BufNewFile,BufRead *.d setf d au BufNewFile,BufRead *.d setf d
au BufNewFile,BufRead *.di set ft=d au BufNewFile,BufRead *.di setf d
au BufNewFile,BufRead *.lst set ft=dcov au BufNewFile,BufRead *.lst set ft=dcov
au BufNewFile,BufRead *.dd set ft=dd au BufNewFile,BufRead *.dd set ft=dd
au BufNewFile,BufRead *.ddoc set ft=ddoc au BufNewFile,BufRead *.ddoc set ft=ddoc
@@ -206,8 +209,8 @@ if index(g:polyglot_disabled, 'elixir') == -1
au BufNewFile,BufRead *.ex set ft=elixir au BufNewFile,BufRead *.ex set ft=elixir
au BufNewFile,BufRead *.exs set ft=elixir au BufNewFile,BufRead *.exs set ft=elixir
au BufNewFile,BufRead mix.lock set ft=elixir au BufNewFile,BufRead mix.lock set ft=elixir
au BufNewFile,BufRead *.eex set ft=elixir au BufNewFile,BufRead *.eex set ft=eelixir
au BufNewFile,BufRead *.leex set ft=elixir au BufNewFile,BufRead *.leex set ft=eelixir
endif endif
if index(g:polyglot_disabled, 'elm') == -1 if index(g:polyglot_disabled, 'elm') == -1
@@ -220,6 +223,7 @@ if index(g:polyglot_disabled, 'emberscript') == -1
endif endif
if index(g:polyglot_disabled, 'emblem') == -1 if index(g:polyglot_disabled, 'emblem') == -1
au BufNewFile,BufRead *.em set ft=emblem
au BufNewFile,BufRead *.emblem set ft=emblem au BufNewFile,BufRead *.emblem set ft=emblem
endif endif
@@ -263,7 +267,7 @@ if index(g:polyglot_disabled, 'fsharp') == -1
endif endif
if index(g:polyglot_disabled, 'gdscript') == -1 if index(g:polyglot_disabled, 'gdscript') == -1
au BufNewFile,BufRead *.gd setf gdscript3 au BufNewFile,BufRead *.gd set ft=gdscript3
endif endif
if index(g:polyglot_disabled, 'git') == -1 if index(g:polyglot_disabled, 'git') == -1
@@ -273,13 +277,9 @@ if index(g:polyglot_disabled, 'git') == -1
au BufNewFile,BufRead */.config/git/config set ft=gitconfig au BufNewFile,BufRead */.config/git/config set ft=gitconfig
au BufNewFile,BufRead {.,}gitconfig set ft=gitconfig au BufNewFile,BufRead {.,}gitconfig set ft=gitconfig
au BufNewFile,BufRead {.,}gitmodules set ft=gitconfig au BufNewFile,BufRead {.,}gitmodules set ft=gitconfig
au BufNewFile,BufRead gitconfig 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
au BufNewFile,BufRead COMMIT_EDIT_MSG set ft=gitcommit au BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
au BufNewFile,BufRead MERGE_MSG set ft=gitcommit
au BufNewFile,BufRead MSG set ft=gitcommit
au BufNewFile,BufRead TAG_EDIT_MSG set ft=gitcommit
endif endif
if index(g:polyglot_disabled, 'glsl') == -1 if index(g:polyglot_disabled, 'glsl') == -1
@@ -297,7 +297,7 @@ if index(g:polyglot_disabled, 'glsl') == -1
au BufNewFile,BufRead *.glslv set ft=glsl au BufNewFile,BufRead *.glslv set ft=glsl
au BufNewFile,BufRead *.gs setf glsl au BufNewFile,BufRead *.gs setf glsl
au BufNewFile,BufRead *.gshader set ft=glsl au BufNewFile,BufRead *.gshader set ft=glsl
au BufNewFile,BufRead *.shader setf glsl au BufNewFile,BufRead *.shader set ft=glsl
au BufNewFile,BufRead *.tesc set ft=glsl au BufNewFile,BufRead *.tesc set ft=glsl
au BufNewFile,BufRead *.tese set ft=glsl au BufNewFile,BufRead *.tese set ft=glsl
au BufNewFile,BufRead *.vert set ft=glsl au BufNewFile,BufRead *.vert set ft=glsl
@@ -344,15 +344,19 @@ endif
if index(g:polyglot_disabled, 'handlebars') == -1 if index(g:polyglot_disabled, 'handlebars') == -1
au BufNewFile,BufRead *.handlebars set ft=mustache au BufNewFile,BufRead *.handlebars set ft=mustache
au BufNewFile,BufRead *.hb set ft=mustache
au BufNewFile,BufRead *.hbs set ft=mustache au BufNewFile,BufRead *.hbs set ft=mustache
au BufNewFile,BufRead *.hdbs set ft=mustache
au BufNewFile,BufRead *.hjs set ft=mustache au BufNewFile,BufRead *.hjs set ft=mustache
au BufNewFile,BufRead *.hogan set ft=mustache
au BufNewFile,BufRead *.hulk set ft=mustache au BufNewFile,BufRead *.hulk set ft=mustache
au BufNewFile,BufRead *.mustache set ft=mustache au BufNewFile,BufRead *.mustache set ft=mustache
au BufNewFile,BufRead *.njk set ft=mustache au BufNewFile,BufRead *.njk set ft=mustache
endif endif
if index(g:polyglot_disabled, 'haproxy') == -1 if index(g:polyglot_disabled, 'haproxy') == -1
au BufNewFile,BufRead *.cfg setf haproxy au BufNewFile,BufRead *.cfg set ft=haproxy
au BufNewFile,BufRead haproxy*.c* set ft=haproxy
au BufNewFile,BufRead haproxy.cfg set ft=haproxy au BufNewFile,BufRead haproxy.cfg set ft=haproxy
endif endif
@@ -370,19 +374,16 @@ if index(g:polyglot_disabled, 'haxe') == -1
endif endif
if index(g:polyglot_disabled, 'hcl') == -1 if index(g:polyglot_disabled, 'hcl') == -1
au BufNewFile,BufRead *.hcl set ft=hcl au BufNewFile,BufRead *.hcl setf 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 *.tfvars set ft=hcl
au BufNewFile,BufRead *.workflow setf hcl au BufNewFile,BufRead *.workflow setf hcl
au BufNewFile,BufRead Appfile set ft=hcl au BufNewFile,BufRead Appfile set ft=hcl
endif endif
if index(g:polyglot_disabled, 'hive') == -1 if index(g:polyglot_disabled, 'hive') == -1
au BufNewFile,BufRead *.hql set ft=hive au BufNewFile,BufRead *.hql set ft=hive
au BufNewFile,BufRead *.q setf hive au BufNewFile,BufRead *.q set ft=hive
au BufNewFile,BufRead *.hql set ft=hive au BufNewFile,BufRead *.ql set ft=hive
au BufNewFile,BufRead *.q setf hive
endif endif
if index(g:polyglot_disabled, 'html5') == -1 if index(g:polyglot_disabled, 'html5') == -1
@@ -390,7 +391,7 @@ if index(g:polyglot_disabled, 'html5') == -1
au BufNewFile,BufRead *.html set ft=html au BufNewFile,BufRead *.html set ft=html
au BufNewFile,BufRead *.html.hl set ft=html au BufNewFile,BufRead *.html.hl set ft=html
au BufNewFile,BufRead *.inc setf html au BufNewFile,BufRead *.inc setf html
au BufNewFile,BufRead *.st setf html au BufNewFile,BufRead *.st set ft=html
au BufNewFile,BufRead *.xht set ft=html au BufNewFile,BufRead *.xht set ft=html
au BufNewFile,BufRead *.xhtml set ft=html au BufNewFile,BufRead *.xhtml set ft=html
endif endif
@@ -398,6 +399,8 @@ endif
if index(g:polyglot_disabled, 'i3') == -1 if index(g:polyglot_disabled, 'i3') == -1
au BufNewFile,BufRead *.i3.config set ft=i3config au BufNewFile,BufRead *.i3.config set ft=i3config
au BufNewFile,BufRead *.i3config set ft=i3config au BufNewFile,BufRead *.i3config set ft=i3config
au BufNewFile,BufRead {.,}i3.config set ft=i3config
au BufNewFile,BufRead {.,}i3config set ft=i3config
au BufNewFile,BufRead i3.config set ft=i3config au BufNewFile,BufRead i3.config set ft=i3config
au BufNewFile,BufRead i3config set ft=i3config au BufNewFile,BufRead i3config set ft=i3config
endif endif
@@ -446,6 +449,7 @@ endif
if index(g:polyglot_disabled, 'jenkins') == -1 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
endif endif
@@ -470,7 +474,7 @@ if index(g:polyglot_disabled, 'json') == -1
au BufNewFile,BufRead *.geojson set ft=json au BufNewFile,BufRead *.geojson set ft=json
au BufNewFile,BufRead *.gltf set ft=json au BufNewFile,BufRead *.gltf set ft=json
au BufNewFile,BufRead *.har set ft=json au BufNewFile,BufRead *.har set ft=json
au BufNewFile,BufRead *.ice setf json au BufNewFile,BufRead *.ice set ft=json
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
@@ -481,7 +485,7 @@ if index(g:polyglot_disabled, 'json') == -1
au BufNewFile,BufRead *.topojson set ft=json au BufNewFile,BufRead *.topojson set ft=json
au BufNewFile,BufRead *.webapp set ft=json au BufNewFile,BufRead *.webapp set ft=json
au BufNewFile,BufRead *.webmanifest set ft=json au BufNewFile,BufRead *.webmanifest set ft=json
au BufNewFile,BufRead *.yy setf json au BufNewFile,BufRead *.yy set ft=json
au BufNewFile,BufRead *.yyp set ft=json au BufNewFile,BufRead *.yyp set ft=json
au BufNewFile,BufRead {.,}arcconfig set ft=json au BufNewFile,BufRead {.,}arcconfig set ft=json
au BufNewFile,BufRead {.,}htmlhintrc set ft=json au BufNewFile,BufRead {.,}htmlhintrc set ft=json
@@ -534,7 +538,7 @@ endif
if index(g:polyglot_disabled, 'livescript') == -1 if index(g:polyglot_disabled, 'livescript') == -1
au BufNewFile,BufRead *._ls set ft=livescript au BufNewFile,BufRead *._ls set ft=livescript
au BufNewFile,BufRead *.ls setf livescript au BufNewFile,BufRead *.ls set ft=livescript
au BufNewFile,BufRead Slakefile set ft=livescript au BufNewFile,BufRead Slakefile set ft=livescript
endif endif
@@ -575,15 +579,16 @@ if index(g:polyglot_disabled, 'mathematica') == -1
au BufNewFile,BufRead *.ma set ft=mma au BufNewFile,BufRead *.ma set ft=mma
au BufNewFile,BufRead *.mathematica set ft=mma au BufNewFile,BufRead *.mathematica set ft=mma
au BufNewFile,BufRead *.mt set ft=mma au BufNewFile,BufRead *.mt set ft=mma
au BufNewFile,BufRead *.nb setf mma au BufNewFile,BufRead *.nb set ft=mma
au BufNewFile,BufRead *.nbp set ft=mma au BufNewFile,BufRead *.nbp set ft=mma
au BufNewFile,BufRead *.wl set ft=mma au BufNewFile,BufRead *.wl set ft=mma
au BufNewFile,BufRead *.wls set ft=mma
au BufNewFile,BufRead *.wlt set ft=mma au BufNewFile,BufRead *.wlt set ft=mma
endif endif
if index(g:polyglot_disabled, 'markdown') == -1 if index(g:polyglot_disabled, 'markdown') == -1
au BufNewFile,BufRead *.markdown set ft=markdown au BufNewFile,BufRead *.markdown set ft=markdown
au BufNewFile,BufRead *.md setf markdown au BufNewFile,BufRead *.md set ft=markdown
au BufNewFile,BufRead *.mdown set ft=markdown au BufNewFile,BufRead *.mdown set ft=markdown
au BufNewFile,BufRead *.mdwn set ft=markdown au BufNewFile,BufRead *.mdwn set ft=markdown
au BufNewFile,BufRead *.mkd set ft=markdown au BufNewFile,BufRead *.mkd set ft=markdown
@@ -611,7 +616,7 @@ endif
if index(g:polyglot_disabled, 'nginx') == -1 if index(g:polyglot_disabled, 'nginx') == -1
au BufNewFile,BufRead *.nginx set ft=nginx au BufNewFile,BufRead *.nginx set ft=nginx
au BufNewFile,BufRead *.nginxconf set ft=nginx au BufNewFile,BufRead *.nginxconf set ft=nginx
au BufNewFile,BufRead *.vhost setf nginx au BufNewFile,BufRead *.vhost set ft=nginx
au BufNewFile,BufRead */etc/nginx/* set ft=nginx au BufNewFile,BufRead */etc/nginx/* set ft=nginx
au BufNewFile,BufRead */nginx/*.conf set ft=nginx au BufNewFile,BufRead */nginx/*.conf set ft=nginx
au BufNewFile,BufRead */usr/local/nginx/conf/* set ft=nginx au BufNewFile,BufRead */usr/local/nginx/conf/* set ft=nginx
@@ -655,7 +660,7 @@ if index(g:polyglot_disabled, 'ocaml') == -1
au BufNewFile,BufRead *.om set ft=omake au BufNewFile,BufRead *.om set ft=omake
au BufNewFile,BufRead OMakefile set ft=omake au BufNewFile,BufRead OMakefile set ft=omake
au BufNewFile,BufRead OMakeroot set ft=omake au BufNewFile,BufRead OMakeroot set ft=omake
au BufNewFile,BufRead Omakeroot.in set ft=omake au BufNewFile,BufRead OMakeroot.in set ft=omake
au BufNewFile,BufRead *.opam set ft=opam au BufNewFile,BufRead *.opam set ft=opam
au BufNewFile,BufRead *.opam.template set ft=opam au BufNewFile,BufRead *.opam.template set ft=opam
au BufNewFile,BufRead opam set ft=opam au BufNewFile,BufRead opam set ft=opam
@@ -675,7 +680,7 @@ if index(g:polyglot_disabled, 'octave') == -1
endif endif
if index(g:polyglot_disabled, 'opencl') == -1 if index(g:polyglot_disabled, 'opencl') == -1
au BufNewFile,BufRead *.cl setf opencl au BufNewFile,BufRead *.cl set ft=opencl
au BufNewFile,BufRead *.opencl set ft=opencl au BufNewFile,BufRead *.opencl set ft=opencl
endif endif
@@ -698,7 +703,7 @@ endif
if index(g:polyglot_disabled, 'sql') == -1 if index(g:polyglot_disabled, 'sql') == -1
au BufNewFile,BufRead *.bdy set ft=sql au BufNewFile,BufRead *.bdy set ft=sql
au BufNewFile,BufRead *.ddl setf sql au BufNewFile,BufRead *.ddl set ft=sql
au BufNewFile,BufRead *.fnc set ft=sql au BufNewFile,BufRead *.fnc set ft=sql
au BufNewFile,BufRead *.pck set ft=sql au BufNewFile,BufRead *.pck set ft=sql
au BufNewFile,BufRead *.pkb set ft=sql au BufNewFile,BufRead *.pkb set ft=sql
@@ -706,9 +711,9 @@ if index(g:polyglot_disabled, 'sql') == -1
au BufNewFile,BufRead *.plb set ft=sql au BufNewFile,BufRead *.plb set ft=sql
au BufNewFile,BufRead *.pls set ft=sql au BufNewFile,BufRead *.pls set ft=sql
au BufNewFile,BufRead *.plsql set ft=sql au BufNewFile,BufRead *.plsql set ft=sql
au BufNewFile,BufRead *.prc setf sql au BufNewFile,BufRead *.prc set ft=sql
au BufNewFile,BufRead *.spc set ft=sql au BufNewFile,BufRead *.spc set ft=sql
au BufNewFile,BufRead *.sql setf sql au BufNewFile,BufRead *.sql set ft=sql
au BufNewFile,BufRead *.tpb set ft=sql au BufNewFile,BufRead *.tpb set ft=sql
au BufNewFile,BufRead *.tps set ft=sql au BufNewFile,BufRead *.tps set ft=sql
au BufNewFile,BufRead *.trg set ft=sql au BufNewFile,BufRead *.trg set ft=sql
@@ -728,7 +733,7 @@ if index(g:polyglot_disabled, 'php') == -1
au BufNewFile,BufRead *.ctp set ft=php au BufNewFile,BufRead *.ctp set ft=php
au BufNewFile,BufRead *.fcgi setf php au BufNewFile,BufRead *.fcgi setf php
au BufNewFile,BufRead *.inc setf php au BufNewFile,BufRead *.inc setf php
au BufNewFile,BufRead *.php setf php au BufNewFile,BufRead *.php set ft=php
au BufNewFile,BufRead *.php3 set ft=php au BufNewFile,BufRead *.php3 set ft=php
au BufNewFile,BufRead *.php4 set ft=php au BufNewFile,BufRead *.php4 set ft=php
au BufNewFile,BufRead *.php5 set ft=php au BufNewFile,BufRead *.php5 set ft=php
@@ -762,7 +767,7 @@ if index(g:polyglot_disabled, 'powershell') == -1
au BufNewFile,BufRead *.psd1 set ft=powershell au BufNewFile,BufRead *.psd1 set ft=powershell
au BufNewFile,BufRead *.psm1 set ft=powershell au BufNewFile,BufRead *.psm1 set ft=powershell
au BufNewFile,BufRead *.pssc set ft=powershell au BufNewFile,BufRead *.pssc set ft=powershell
au BufNewFile,BufRead *.ps1xml set ft=ps1xml au BufNewFile,BufRead *.ps1xml setf ps1xml
endif endif
if index(g:polyglot_disabled, 'protobuf') == -1 if index(g:polyglot_disabled, 'protobuf') == -1
@@ -775,7 +780,7 @@ if index(g:polyglot_disabled, 'pug') == -1
endif endif
if index(g:polyglot_disabled, 'puppet') == -1 if index(g:polyglot_disabled, 'puppet') == -1
au BufNewFile,BufRead *.pp setf puppet au BufNewFile,BufRead *.pp set ft=puppet
au BufNewFile,BufRead Modulefile set ft=puppet au BufNewFile,BufRead Modulefile set ft=puppet
au BufNewFile,BufRead *.epp set ft=embeddedpuppet au BufNewFile,BufRead *.epp set ft=embeddedpuppet
endif endif
@@ -797,7 +802,7 @@ if index(g:polyglot_disabled, 'python') == -1
au BufNewFile,BufRead *.pyp set ft=python au BufNewFile,BufRead *.pyp set ft=python
au BufNewFile,BufRead *.pyt set ft=python au BufNewFile,BufRead *.pyt set ft=python
au BufNewFile,BufRead *.pyw set ft=python au BufNewFile,BufRead *.pyw set ft=python
au BufNewFile,BufRead *.rpy setf python au BufNewFile,BufRead *.rpy set ft=python
au BufNewFile,BufRead *.smk set ft=python au BufNewFile,BufRead *.smk set ft=python
au BufNewFile,BufRead *.spec setf python au BufNewFile,BufRead *.spec setf python
au BufNewFile,BufRead *.tac set ft=python au BufNewFile,BufRead *.tac set ft=python
@@ -826,7 +831,7 @@ endif
if index(g:polyglot_disabled, 'qmake') == -1 if index(g:polyglot_disabled, 'qmake') == -1
au BufNewFile,BufRead *.pri set ft=qmake au BufNewFile,BufRead *.pri set ft=qmake
au BufNewFile,BufRead *.pro setf qmake au BufNewFile,BufRead *.pro set ft=qmake
endif endif
if index(g:polyglot_disabled, 'qml') == -1 if index(g:polyglot_disabled, 'qml') == -1
@@ -836,9 +841,9 @@ endif
if index(g:polyglot_disabled, 'r-lang') == -1 if index(g:polyglot_disabled, 'r-lang') == -1
au BufNewFile,BufRead *.S set ft=r au BufNewFile,BufRead *.S set ft=r
au BufNewFile,BufRead *.r setf r au BufNewFile,BufRead *.r set ft=r
au BufNewFile,BufRead *.rsx set ft=r au BufNewFile,BufRead *.rsx set ft=r
au BufNewFile,BufRead *.s setf r au BufNewFile,BufRead *.s set ft=r
au BufNewFile,BufRead {.,}Rprofile set ft=r au BufNewFile,BufRead {.,}Rprofile set ft=r
au BufNewFile,BufRead expr-dist set ft=r au BufNewFile,BufRead expr-dist set ft=r
au BufNewFile,BufRead *.rd set ft=rhelp au BufNewFile,BufRead *.rd set ft=rhelp
@@ -885,7 +890,7 @@ if index(g:polyglot_disabled, 'razor') == -1
endif endif
if index(g:polyglot_disabled, 'reason') == -1 if index(g:polyglot_disabled, 'reason') == -1
au BufNewFile,BufRead *.re setf reason au BufNewFile,BufRead *.re set ft=reason
au BufNewFile,BufRead *.rei set ft=reason au BufNewFile,BufRead *.rei set ft=reason
endif endif
@@ -924,9 +929,12 @@ if index(g:polyglot_disabled, 'ruby') == -1
au BufNewFile,BufRead *.spec setf ruby au BufNewFile,BufRead *.spec setf ruby
au BufNewFile,BufRead *.thor set ft=ruby au BufNewFile,BufRead *.thor set ft=ruby
au BufNewFile,BufRead *.watchr set ft=ruby au BufNewFile,BufRead *.watchr set ft=ruby
au BufNewFile,BufRead {.,}Brewfile set ft=ruby
au BufNewFile,BufRead {.,}Guardfile set ft=ruby
au BufNewFile,BufRead {.,}autotest set ft=ruby au BufNewFile,BufRead {.,}autotest set ft=ruby
au BufNewFile,BufRead {.,}irbrc set ft=ruby au BufNewFile,BufRead {.,}irbrc set ft=ruby
au BufNewFile,BufRead {.,}pryrc set ft=ruby au BufNewFile,BufRead {.,}pryrc set ft=ruby
au BufNewFile,BufRead {.,}simplecov set ft=ruby
au BufNewFile,BufRead Appraisals set ft=ruby au BufNewFile,BufRead Appraisals set ft=ruby
au BufNewFile,BufRead Berksfile set ft=ruby au BufNewFile,BufRead Berksfile set ft=ruby
au BufNewFile,BufRead Buildfile set ft=ruby au BufNewFile,BufRead Buildfile set ft=ruby
@@ -949,7 +957,9 @@ if index(g:polyglot_disabled, 'ruby') == -1
au BufNewFile,BufRead Snapfile set ft=ruby au BufNewFile,BufRead Snapfile set ft=ruby
au BufNewFile,BufRead Thorfile set ft=ruby au BufNewFile,BufRead Thorfile set ft=ruby
au BufNewFile,BufRead Vagrantfile set ft=ruby au BufNewFile,BufRead Vagrantfile set ft=ruby
au BufNewFile,BufRead [Rr]akefile* set ft=ruby
au BufNewFile,BufRead buildfile set ft=ruby au BufNewFile,BufRead buildfile set ft=ruby
au BufNewFile,BufRead vagrantfile set ft=ruby
au BufNewFile,BufRead *.erb set ft=eruby au BufNewFile,BufRead *.erb set ft=eruby
au BufNewFile,BufRead *.erb.deface set ft=eruby au BufNewFile,BufRead *.erb.deface set ft=eruby
au BufNewFile,BufRead *.rhtml set ft=eruby au BufNewFile,BufRead *.rhtml set ft=eruby
@@ -967,13 +977,13 @@ if index(g:polyglot_disabled, 'brewfile') == -1
endif endif
if index(g:polyglot_disabled, 'rust') == -1 if index(g:polyglot_disabled, 'rust') == -1
au BufNewFile,BufRead *.rs setf rust au BufNewFile,BufRead *.rs set ft=rust
au BufNewFile,BufRead *.rs.in set ft=rust au BufNewFile,BufRead *.rs.in set ft=rust
endif endif
if index(g:polyglot_disabled, 'scala') == -1 if index(g:polyglot_disabled, 'scala') == -1
au BufNewFile,BufRead *.kojo set ft=scala au BufNewFile,BufRead *.kojo set ft=scala
au BufNewFile,BufRead *.sc setf scala au BufNewFile,BufRead *.sc set ft=scala
au BufNewFile,BufRead *.scala set ft=scala au BufNewFile,BufRead *.scala set ft=scala
endif endif
@@ -1069,6 +1079,7 @@ endif
if index(g:polyglot_disabled, 'sxhkd') == -1 if index(g:polyglot_disabled, 'sxhkd') == -1
au BufNewFile,BufRead *.sxhkdrc set ft=sxhkdrc au BufNewFile,BufRead *.sxhkdrc set ft=sxhkdrc
au BufNewFile,BufRead sxhkdrc set ft=sxhkdrc
endif endif
if index(g:polyglot_disabled, 'systemd') == -1 if index(g:polyglot_disabled, 'systemd') == -1
@@ -1083,7 +1094,7 @@ if index(g:polyglot_disabled, 'systemd') == -1
endif endif
if index(g:polyglot_disabled, 'terraform') == -1 if index(g:polyglot_disabled, 'terraform') == -1
au BufNewFile,BufRead *.hcl set ft=terraform au BufNewFile,BufRead *.hcl setf terraform
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 *.workflow setf terraform au BufNewFile,BufRead *.workflow setf terraform
@@ -1123,8 +1134,8 @@ if index(g:polyglot_disabled, 'twig') == -1
endif endif
if index(g:polyglot_disabled, 'typescript') == -1 if index(g:polyglot_disabled, 'typescript') == -1
au BufNewFile,BufRead *.ts setf typescript au BufNewFile,BufRead *.ts set ft=typescript
au BufNewFile,BufRead *.tsx setf typescriptreact au BufNewFile,BufRead *.tsx set ft=typescriptreact
endif endif
if index(g:polyglot_disabled, 'unison') == -1 if index(g:polyglot_disabled, 'unison') == -1
@@ -1133,7 +1144,7 @@ if index(g:polyglot_disabled, 'unison') == -1
endif endif
if index(g:polyglot_disabled, 'v') == -1 if index(g:polyglot_disabled, 'v') == -1
au BufNewFile,BufRead *.v setf v au BufNewFile,BufRead *.v set ft=v
endif endif
if index(g:polyglot_disabled, 'vala') == -1 if index(g:polyglot_disabled, 'vala') == -1
@@ -1190,7 +1201,7 @@ if index(g:polyglot_disabled, 'xml') == -1
au BufNewFile,BufRead *.fsproj set ft=xml au BufNewFile,BufRead *.fsproj set ft=xml
au BufNewFile,BufRead *.fxml set ft=xml au BufNewFile,BufRead *.fxml set ft=xml
au BufNewFile,BufRead *.glade set ft=xml au BufNewFile,BufRead *.glade set ft=xml
au BufNewFile,BufRead *.gml setf xml au BufNewFile,BufRead *.gml set ft=xml
au BufNewFile,BufRead *.gmx set ft=xml au BufNewFile,BufRead *.gmx set ft=xml
au BufNewFile,BufRead *.grxml set ft=xml au BufNewFile,BufRead *.grxml set ft=xml
au BufNewFile,BufRead *.iml set ft=xml au BufNewFile,BufRead *.iml set ft=xml
@@ -1201,11 +1212,11 @@ if index(g:polyglot_disabled, 'xml') == -1
au BufNewFile,BufRead *.launch set ft=xml au BufNewFile,BufRead *.launch set ft=xml
au BufNewFile,BufRead *.mdpolicy set ft=xml au BufNewFile,BufRead *.mdpolicy set ft=xml
au BufNewFile,BufRead *.mjml set ft=xml au BufNewFile,BufRead *.mjml set ft=xml
au BufNewFile,BufRead *.mm setf xml au BufNewFile,BufRead *.mm set ft=xml
au BufNewFile,BufRead *.mod setf xml au BufNewFile,BufRead *.mod setf xml
au BufNewFile,BufRead *.mxml set ft=xml au BufNewFile,BufRead *.mxml set ft=xml
au BufNewFile,BufRead *.natvis set ft=xml au BufNewFile,BufRead *.natvis set ft=xml
au BufNewFile,BufRead *.ncl setf xml au BufNewFile,BufRead *.ncl set ft=xml
au BufNewFile,BufRead *.ndproj set ft=xml au BufNewFile,BufRead *.ndproj set ft=xml
au BufNewFile,BufRead *.nproj set ft=xml au BufNewFile,BufRead *.nproj set ft=xml
au BufNewFile,BufRead *.nuspec set ft=xml au BufNewFile,BufRead *.nuspec set ft=xml
@@ -1215,13 +1226,13 @@ if index(g:polyglot_disabled, 'xml') == -1
au BufNewFile,BufRead *.pluginspec setf xml au BufNewFile,BufRead *.pluginspec setf xml
au BufNewFile,BufRead *.proj set ft=xml au BufNewFile,BufRead *.proj set ft=xml
au BufNewFile,BufRead *.props set ft=xml au BufNewFile,BufRead *.props set ft=xml
au BufNewFile,BufRead *.ps1xml set ft=xml au BufNewFile,BufRead *.ps1xml setf xml
au BufNewFile,BufRead *.psc1 set ft=xml au BufNewFile,BufRead *.psc1 set ft=xml
au BufNewFile,BufRead *.pt set ft=xml au BufNewFile,BufRead *.pt set ft=xml
au BufNewFile,BufRead *.rdf set ft=xml au BufNewFile,BufRead *.rdf set ft=xml
au BufNewFile,BufRead *.resx set ft=xml au BufNewFile,BufRead *.resx set ft=xml
au BufNewFile,BufRead *.rss set ft=xml au BufNewFile,BufRead *.rss set ft=xml
au BufNewFile,BufRead *.sch setf xml au BufNewFile,BufRead *.sch set ft=xml
au BufNewFile,BufRead *.scxml set ft=xml au BufNewFile,BufRead *.scxml set ft=xml
au BufNewFile,BufRead *.sfproj set ft=xml au BufNewFile,BufRead *.sfproj set ft=xml
au BufNewFile,BufRead *.shproj set ft=xml au BufNewFile,BufRead *.shproj set ft=xml
@@ -1298,8 +1309,6 @@ if index(g:polyglot_disabled, 'yaml') == -1
endif endif
if index(g:polyglot_disabled, 'ansible') == -1 if index(g:polyglot_disabled, 'ansible') == -1
au BufNewFile,BufRead *.asl set ft=yaml.ansible
au BufNewFile,BufRead *.dsl set ft=yaml.ansible
au BufNewFile,BufRead group_vars/* set ft=yaml.ansible au BufNewFile,BufRead group_vars/* set ft=yaml.ansible
au BufNewFile,BufRead handlers.*.y{a,}ml set ft=yaml.ansible au BufNewFile,BufRead handlers.*.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead host_vars/* set ft=yaml.ansible au BufNewFile,BufRead host_vars/* set ft=yaml.ansible
@@ -1323,8 +1332,8 @@ endif
if index(g:polyglot_disabled, 'zig') == -1 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=zig au BufNewFile,BufRead *.zir setf zig
au BufNewFile,BufRead *.zir set ft=zir au BufNewFile,BufRead *.zir setf zir
endif endif
" restore Vi compatibility settings " restore Vi compatibility settings

View File

@@ -75,6 +75,11 @@ remote: guns/vim-clojure-static
filetypes: filetypes:
- name: clojure - name: clojure
linguist: Clojure linguist: Clojure
extra_extensions:
- edn
extra_filenames:
- build.boot
- profile.boot
--- ---
name: cmake name: cmake
remote: pboettch/vim-cmake-syntax remote: pboettch/vim-cmake-syntax
@@ -93,6 +98,14 @@ filetypes:
extra_extensions: extra_extensions:
# 17 results: https://github.com/search?q=extension%3Acoffeekup+html&type=Code # 17 results: https://github.com/search?q=extension%3Acoffeekup+html&type=Code
- coffeekup - coffeekup
ignored_extensions:
# Used by C#
- csx
# Used by Chuck
- ck
ignored_filenames:
# Probably mistake
- '*Cakefile'
- name: litcoffee - name: litcoffee
linguist: Literate CoffeeScript linguist: Literate CoffeeScript
extra_extensions: extra_extensions:
@@ -132,6 +145,9 @@ filetypes:
extra_extensions: extra_extensions:
- tsv - tsv
- tab - tab
ignored_extensions:
# This is definitely not csv-only, maybe re-enable when heuristics done
- dat
--- ---
name: cucumber name: cucumber
remote: tpope/vim-cucumber remote: tpope/vim-cucumber
@@ -198,13 +214,17 @@ filetypes:
filenames: filenames:
- 'docker-compose*.yaml' - 'docker-compose*.yaml'
- 'docker-compose*.yml' - 'docker-compose*.yml'
ignored_filenames:
# Probably mistakes?
- 'docker-compose*.yaml*'
- 'docker-compose*.yml*'
--- ---
name: elixir name: elixir
remote: elixir-lang/vim-elixir remote: elixir-lang/vim-elixir
filetypes: filetypes:
- name: elixir - name: elixir
linguist: Elixir linguist: Elixir
- name: elixir - name: eelixir
linguist: HTML+EEX linguist: HTML+EEX
extra_extensions: extra_extensions:
- leex - leex
@@ -227,6 +247,8 @@ filetypes:
- name: emblem - name: emblem
extensions: extensions:
- emblem - emblem
extra_extensions:
- em
--- ---
name: erlang name: erlang
remote: vim-erlang/vim-erlang-runtime remote: vim-erlang/vim-erlang-runtime
@@ -290,7 +312,7 @@ filetypes:
- "*.git/config" - "*.git/config"
- "*/.config/git/config" - "*/.config/git/config"
- "*.git/modules/**/config" - "*.git/modules/**/config"
- gitconfig - '.gitmodules'
- name: gitrebase - name: gitrebase
filenames: filenames:
- git-rebase-todo - git-rebase-todo
@@ -299,10 +321,7 @@ filetypes:
- ".gitsendemail.*" - ".gitsendemail.*"
- name: gitcommit - name: gitcommit
filenames: filenames:
- COMMIT_EDIT_MSG - '*.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG'
- TAG_EDIT_MSG
- MERGE_MSG
- MSG
--- ---
name: glsl name: glsl
remote: tikhomirov/vim-glsl remote: tikhomirov/vim-glsl
@@ -377,12 +396,17 @@ filetypes:
- hjs - hjs
- mustache - mustache
- njk - njk
- hogan
- hdbs
- hb
--- ---
name: haproxy name: haproxy
remote: CH-DanReif/haproxy.vim remote: CH-DanReif/haproxy.vim
filetypes: filetypes:
- name: haproxy - name: haproxy
linguist: HAProxy linguist: HAProxy
extra_filenames:
- 'haproxy*.c*'
--- ---
name: haskell name: haskell
remote: neovimhaskell/haskell-vim remote: neovimhaskell/haskell-vim
@@ -408,14 +432,18 @@ filetypes:
- nomad - nomad
extra_filenames: extra_filenames:
- Appfile - Appfile
ignored_extensions:
# handled by vim-terraform
- tf
- tfvars
--- ---
name: hive name: hive
remote: zebradil/hive.vim remote: zebradil/hive.vim
filetypes: filetypes:
- name: hive - name: hive
linguist: HiveQL linguist: HiveQL
- name: hive extra_extensions:
linguist: HiveQL - ql
--- ---
name: html5 name: html5
remote: othree/html5.vim remote: othree/html5.vim
@@ -430,6 +458,8 @@ filetypes:
filenames: filenames:
- i3.config - i3.config
- i3config - i3config
- .i3.config
- .i3config
extensions: extensions:
- i3.config - i3.config
- i3config - i3config
@@ -481,6 +511,7 @@ filetypes:
- jenkinsfile - jenkinsfile
- Jenkinsfile - Jenkinsfile
filenames: filenames:
- Jenkinsfile
- Jenkinsfile* - Jenkinsfile*
--- ---
name: jinja name: jinja
@@ -501,6 +532,8 @@ filetypes:
linguist: JSONiq linguist: JSONiq
extra_filenames: extra_filenames:
- ".jqrc" - ".jqrc"
ignored_filenames:
- ".jqrc*"
--- ---
name: json5 name: json5
remote: GutenYe/json5.vim remote: GutenYe/json5.vim
@@ -531,6 +564,10 @@ filetypes:
extra_extensions: extra_extensions:
- jst - jst
- ect - ect
ignored_extensions:
# I haven't found reference to them
- djs
- hamljs
--- ---
name: jsx name: jsx
remote: MaxMEllon/vim-jsx-pretty remote: MaxMEllon/vim-jsx-pretty
@@ -619,6 +656,8 @@ remote: voldikss/vim-mma
filetypes: filetypes:
- name: mma - name: mma
linguist: Mathematica linguist: Mathematica
extra_extensions:
- wls
--- ---
name: markdown name: markdown
remote: plasticboy/vim-markdown remote: plasticboy/vim-markdown
@@ -631,6 +670,7 @@ filetypes:
ignored_extensions: ignored_extensions:
# Handled by mdx extension # Handled by mdx extension
- mdx - mdx
- '{md,mdx,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx}'
--- ---
name: mdx name: mdx
remote: jxnblk/vim-mdx-js remote: jxnblk/vim-mdx-js
@@ -708,7 +748,7 @@ filetypes:
filenames: filenames:
- OMakefile - OMakefile
- OMakeroot - OMakeroot
- Omakeroot.in - OMakeroot.in
- name: opam - name: opam
extensions: extensions:
- opam - opam
@@ -764,6 +804,8 @@ filetypes:
ignored_extensions: ignored_extensions:
# Handled by cql plugin # Handled by cql plugin
- cql - cql
# Handled by pgsql plugin
- pgsql
--- ---
name: pgsql name: pgsql
remote: lifepillar/pgsql.vim remote: lifepillar/pgsql.vim
@@ -852,6 +894,8 @@ remote: vim-python/python-syntax
filetypes: filetypes:
- name: python - name: python
linguist: Python linguist: Python
ignored_filenames:
- 'lit.*cfg'
--- ---
name: python-indent name: python-indent
remote: Vimjas/vim-python-pep8-indent remote: Vimjas/vim-python-pep8-indent
@@ -873,6 +917,10 @@ filetypes:
- '*requirements.{txt,in}' - '*requirements.{txt,in}'
- '*require.{txt,in}' - '*require.{txt,in}'
- 'constraints.{txt,in}' - 'constraints.{txt,in}'
ignored_extensions:
# Probaly a bug in plugin
- txt
- in
--- ---
name: qmake name: qmake
remote: artoj/qmake-syntax-vim remote: artoj/qmake-syntax-vim
@@ -970,9 +1018,18 @@ filetypes:
- Cheffile - Cheffile
- KitchenSink - KitchenSink
- Routefile - Routefile
- .Guardfile
- .Brewfile
- vagrantfile
- .simplecov
- '[Rr]akefile*'
ignored_filenames: ignored_filenames:
# Handled by brewfile extension # Handled by brewfile extension
- Brewfile - Brewfile
- rakefile
- routefile
- thorfile
- rantfile
- name: eruby - name: eruby
linguist: HTML+ERB linguist: HTML+ERB
extra_extensions: extra_extensions:
@@ -1123,6 +1180,8 @@ filetypes:
- name: sxhkdrc - name: sxhkdrc
extensions: extensions:
- sxhkdrc - sxhkdrc
filenames:
- sxhkdrc
--- ---
name: systemd name: systemd
remote: wgwoods/vim-systemd-syntax remote: wgwoods/vim-systemd-syntax
@@ -1190,6 +1249,9 @@ filetypes:
linguist: Twig linguist: Twig
ignored_extensions: ignored_extensions:
- xml.twig - xml.twig
ignored_extensions:
# already covered by .twig
- html.twig
- name: xml.twig - name: xml.twig
extensions: extensions:
- xml.twig - xml.twig
@@ -1284,15 +1346,14 @@ filetypes:
extra_filenames: extra_filenames:
- fish_history - fish_history
- fish_read_history - fish_read_history
ignored_filenames:
- '~/.config/fish/fish_{read_,}history'
# Ansible needs to be after YAML # Ansible needs to be after YAML
--- ---
name: ansible name: ansible
remote: pearofducks/ansible-vim remote: pearofducks/ansible-vim
filetypes: filetypes:
- name: yaml.ansible - name: yaml.ansible
extensions:
- asl
- dsl
filenames: filenames:
- "playbook.y{a,}ml" - "playbook.y{a,}ml"
- "site.y{a,}ml" - "site.y{a,}ml"

View File

@@ -251,9 +251,15 @@ def generate_ftdetect
EOS EOS
ambiguous_extensions = languages.flat_map { |_, v| v["extensions"] || [] } ambiguous_extensions = PACKAGES.flat_map { |e| e["filetypes"] }.flat_map do |e|
.group_by(&:itself).transform_values(&:count) if e["linguist"]
.select { |a, b| b > 1 }.keys.map { |a| a[1..] }.to_set ((languages[e["linguist"]]["extensions"] || []).map { |e| e[1..-1] } | e.fetch("extra_extensions", [])) - e.fetch("ignored_extensions", [])
else
e.fetch("extensions", [])
end
end.group_by(&:itself).transform_values(&:count).select { |a, b| b > 1 }.keys.to_set
expected_filetypes = detect_filetypes
for package in PACKAGES for package in PACKAGES
name = package.fetch("name") name = package.fetch("name")
@@ -266,8 +272,9 @@ def generate_ftdetect
filetypes = package["filetypes"] or raise "Unknown filetype for: #{package["name"]}" filetypes = package["filetypes"] or raise "Unknown filetype for: #{package["name"]}"
for filetype in filetypes for filetype in filetypes
name = filetype.fetch("name")
syntax = filetype["syntax"] ? " syntax=#{filetype["syntax"]}" : "" syntax = filetype["syntax"] ? " syntax=#{filetype["syntax"]}" : ""
set_command = package.fetch("custom_set", "set ft=#{filetype.fetch("name")}#{syntax}") set_command = package.fetch("custom_set", "set ft=#{name}#{syntax}")
linguist = filetype["linguist"] ? languages.fetch(filetype["linguist"]) : {} linguist = filetype["linguist"] ? languages.fetch(filetype["linguist"]) : {}
extensions = filetype["extensions"] || linguist.fetch("extensions", []).map { |e| e[1..] } extensions = filetype["extensions"] || linguist.fetch("extensions", []).map { |e| e[1..] }
@@ -276,6 +283,16 @@ def generate_ftdetect
filenames = filetype["filenames"] || linguist.fetch("filenames", []) filenames = filetype["filenames"] || linguist.fetch("filenames", [])
filenames = (filenames | filetype.fetch("extra_filenames", [])) - filetype.fetch("ignored_filenames", []) filenames = (filenames | filetype.fetch("extra_filenames", [])) - filetype.fetch("ignored_filenames", [])
if expected_filetypes[name] && !filetype["syntax"]
for e in expected_filetypes.fetch(name)[:extensions] - extensions - expand_all(filetype.fetch("ignored_extensions", []))
puts "Probable missing extension for #{name}: #{e}"
end
for e in expand_all(expected_filetypes.fetch(name)[:filenames]) - expand_all(filenames).flat_map { |e| [e, e.gsub(/^\./, '')] } - expand_all(filetype.fetch("ignored_filenames", [])) - ['*']
puts "Probable missing filename for #{name}: #{e}"
end
end
for extension in extensions.sort for extension in extensions.sort
outer_filetype = filetype["outer_filetype"] outer_filetype = filetype["outer_filetype"]
if outer_filetype if outer_filetype
@@ -306,6 +323,12 @@ def generate_ftdetect
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
EOS EOS
# filetypes = detect_filetypes
#
# for filetype in filetypes
#
# end
File.write('ftdetect/polyglot.vim', output) File.write('ftdetect/polyglot.vim', output)
end end
@@ -333,6 +356,80 @@ def generate_tests
end end
File.write('scripts/test_filetypes.vim', output) File.write('scripts/test_filetypes.vim', output)
end
def brace_expansion(s)
r=1 # Dummy value to forward-declare the parse function `r`
t=->x{ # Function to parse a bracket block
x=x[0].gsub(/^{(.*)}$/){$1} # Remove outer brackets if both are present
# x[0] is required because of quirks in the `scan` function
x=x.scan(/(({(\g<1>|,)*}|[^,{}]|(?<=,|^)(?=,|$))+)/)
# Regex black magic: collect elements of outer bracket
x.map{|i|i=i[0];i[?{]?r[i]:i}.flatten # For each element with brackets, run parse function
}
r=->x{ # Function to parse bracket expansions a{b,c}{d,e}
i=x.scan(/({(\g<1>)*}|[^{} ]+)/) # Regex black magic: scan for adjacent sets of brackets
i=i.map(&t) # Map all elements against the bracket parser function `t`
i.shift.product(*i).map &:join # Combine the adjacent sets with cartesian product and join them together
}
s.split.map(&r).flatten
end
def square_expansion(s)
return [s] unless s.include?('[')
s.scan(/(\[[^\]]+\]|[^\[]+)/).map { |x| x[0] }
.map { |x| x[0] == "[" ? x[1..-2].split("") : [x] }
.reduce(&:product).map(&:flatten).map(&:join)
end
def comma_expanson(s)
s.scan(/{[^{]+}|[^{]+/).map { |a| a[0] == "{" ? a : a.split(",", -1) }.reduce([]) do |a, b|
a.size > 0 ?
(b.is_a?(String) ?
a[0..-2] + [a[-1] + b] :
a[0..-2] + [a[-1] + b[0]] + b[1..-1]) :
[b].flatten
end
end
def expand_all(pattern)
if pattern.is_a?(Array)
return pattern.flat_map { |p| expand_all(p) }
end
comma_expanson(pattern).flat_map do |e|
brace_expansion(e).flat_map do |e2|
square_expansion(e2)
end
end
end
def detect_filetypes
filetypes = Dir['tmp/*/ftdetect/*.vim'].flat_map do |file|
contents = File.read(file).gsub(/^\s*au(tocmd)?!?\s*$/, '')
results = contents.scan(/^\s*(?:au!|au|au[^g][^ ]*) +(?:\S+)\s+(\S+)[\s\\]+([^\n]+)/)
results = results.map do |a, b|
[
a,
b.gsub(/call (?:s:setf|s:StarSetf)\('([^']+)'\)/i, 'setf \1')
.gsub(/set(?:local)?\s+(?:ft|filetype)=(\S+)/, 'setf \1')
.gsub(/setf\S*/, 'setf')
.gsub(/.*setf\s+(\S+).*/, 'setf \1')
]
end.select { |a, b| b.match(/setf \S+/) }.map { |a, b| [a, b.split(" ")[1]] }
results
end
Hash[filetypes.flat_map do |ext, filetype|
expand_all(ext).map { |e| [filetype, e] }
end.group_by { |a, b| a }.map { |a, b| [a, b.map { |c, d| d }] }.map { |a, b|
[a, {
extensions: b.select { |x| x.match(/^\*\.[^\/]+$/) }.map { |a| a.strip[2..] },
filenames: b.select { |x| !x.match(/^\*\.[^\/]+$/) }
}]
}]
end end
download download

View File

@@ -40,7 +40,7 @@ call TestFiletype('dsdl')
call TestFiletype('Dockerfile') call TestFiletype('Dockerfile')
call TestFiletype('yaml.docker-compose') call TestFiletype('yaml.docker-compose')
call TestFiletype('elixir') call TestFiletype('elixir')
call TestFiletype('elixir') call TestFiletype('eelixir')
call TestFiletype('elm') call TestFiletype('elm')
call TestFiletype('ember-script') call TestFiletype('ember-script')
call TestFiletype('emblem') call TestFiletype('emblem')
@@ -70,7 +70,6 @@ call TestFiletype('haskell')
call TestFiletype('haxe') call TestFiletype('haxe')
call TestFiletype('hcl') call TestFiletype('hcl')
call TestFiletype('hive') call TestFiletype('hive')
call TestFiletype('hive')
call TestFiletype('html') call TestFiletype('html')
call TestFiletype('i3config') call TestFiletype('i3config')
call TestFiletype('icalendar') call TestFiletype('icalendar')