summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-08-27 15:01:44 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-08-27 15:01:44 +0200
commit6ed481e46350cacc68db758e1082dd949b3c0480 (patch)
tree49569f59a2212925690961dc5d64d0d41d9bcbba
parentc1e1870a3d87850684487ddf488896d862d4039e (diff)
downloadvim-polyglot-6ed481e46350cacc68db758e1082dd949b3c0480.tar.gz
vim-polyglot-6ed481e46350cacc68db758e1082dd949b3c0480.zip
Make sure all extensions are covered
-rw-r--r--ftdetect/polyglot.vim125
-rw-r--r--packages.yaml85
-rwxr-xr-xscripts/build116
3 files changed, 247 insertions, 79 deletions
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index d981d0a4..8d6ac9f9 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -63,13 +63,13 @@ if index(g:polyglot_disabled, 'applescript') == -1
endif
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
endif
if index(g:polyglot_disabled, 'asciidoc') == -1
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
endif
@@ -85,17 +85,17 @@ if index(g:polyglot_disabled, 'c/c++') == -1
au BufNewFile,BufRead *.idc set ft=c
au BufNewFile,BufRead *.c++ 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 *.cxx set ft=cpp
au BufNewFile,BufRead *.h setf 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 *.hxx set ft=cpp
au BufNewFile,BufRead *.inc setf 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 *.tcc 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 *.cljscm 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 build.boot set ft=clojure
+ au BufNewFile,BufRead profile.boot set ft=clojure
au BufNewFile,BufRead riemann.config set ft=clojure
endif
@@ -133,7 +136,7 @@ endif
if index(g:polyglot_disabled, 'coffee-script') == -1
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 *.coffee set ft=coffee
au BufNewFile,BufRead *.coffeekup set ft=coffee
@@ -184,7 +187,7 @@ endif
if index(g:polyglot_disabled, 'dlang') == -1
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 *.dd set ft=dd
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 *.exs set ft=elixir
au BufNewFile,BufRead mix.lock set ft=elixir
- au BufNewFile,BufRead *.eex set ft=elixir
- au BufNewFile,BufRead *.leex set ft=elixir
+ au BufNewFile,BufRead *.eex set ft=eelixir
+ au BufNewFile,BufRead *.leex set ft=eelixir
endif
if index(g:polyglot_disabled, 'elm') == -1
@@ -220,6 +223,7 @@ if index(g:polyglot_disabled, 'emberscript') == -1
endif
if index(g:polyglot_disabled, 'emblem') == -1
+ au BufNewFile,BufRead *.em set ft=emblem
au BufNewFile,BufRead *.emblem set ft=emblem
endif
@@ -263,7 +267,7 @@ if index(g:polyglot_disabled, 'fsharp') == -1
endif
if index(g:polyglot_disabled, 'gdscript') == -1
- au BufNewFile,BufRead *.gd setf gdscript3
+ au BufNewFile,BufRead *.gd set ft=gdscript3
endif
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 {.,}gitconfig 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 {.,}gitsendemail.* set ft=gitsendemail
- au BufNewFile,BufRead COMMIT_EDIT_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
+ au BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit
endif
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 *.gs setf 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 *.tese set ft=glsl
au BufNewFile,BufRead *.vert set ft=glsl
@@ -344,15 +344,19 @@ endif
if index(g:polyglot_disabled, 'handlebars') == -1
au BufNewFile,BufRead *.handlebars set ft=mustache
+ au BufNewFile,BufRead *.hb 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 *.hogan 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, '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
endif
@@ -370,19 +374,16 @@ if index(g:polyglot_disabled, 'haxe') == -1
endif
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 *.tf set ft=hcl
- au BufNewFile,BufRead *.tfvars set ft=hcl
au BufNewFile,BufRead *.workflow setf hcl
au BufNewFile,BufRead Appfile set ft=hcl
endif
if index(g:polyglot_disabled, 'hive') == -1
au BufNewFile,BufRead *.hql set ft=hive
- au BufNewFile,BufRead *.q setf hive
- au BufNewFile,BufRead *.hql set ft=hive
- au BufNewFile,BufRead *.q setf hive
+ au BufNewFile,BufRead *.q set ft=hive
+ au BufNewFile,BufRead *.ql set ft=hive
endif
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.hl set ft=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 *.xhtml set ft=html
endif
@@ -398,6 +399,8 @@ endif
if index(g:polyglot_disabled, 'i3') == -1
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 {.,}i3config set ft=i3config
au BufNewFile,BufRead i3.config set ft=i3config
au BufNewFile,BufRead i3config set ft=i3config
endif
@@ -446,6 +449,7 @@ 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
endif
@@ -470,7 +474,7 @@ if index(g:polyglot_disabled, 'json') == -1
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 setf 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
@@ -481,7 +485,7 @@ if index(g:polyglot_disabled, 'json') == -1
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 setf 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
@@ -534,7 +538,7 @@ endif
if index(g:polyglot_disabled, 'livescript') == -1
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
endif
@@ -575,15 +579,16 @@ if index(g:polyglot_disabled, 'mathematica') == -1
au BufNewFile,BufRead *.ma set ft=mma
au BufNewFile,BufRead *.mathematica 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 *.wl set ft=mma
+ au BufNewFile,BufRead *.wls set ft=mma
au BufNewFile,BufRead *.wlt set ft=mma
endif
if index(g:polyglot_disabled, 'markdown') == -1
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 *.mdwn set ft=markdown
au BufNewFile,BufRead *.mkd set ft=markdown
@@ -611,7 +616,7 @@ endif
if index(g:polyglot_disabled, 'nginx') == -1
au BufNewFile,BufRead *.nginx 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 */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 OMakefile 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.template set ft=opam
au BufNewFile,BufRead opam set ft=opam
@@ -675,7 +680,7 @@ if index(g:polyglot_disabled, 'octave') == -1
endif
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
endif
@@ -698,7 +703,7 @@ endif
if index(g:polyglot_disabled, 'sql') == -1
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 *.pck 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 *.pls 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 *.sql setf sql
+ au BufNewFile,BufRead *.sql set ft=sql
au BufNewFile,BufRead *.tpb set ft=sql
au BufNewFile,BufRead *.tps 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 *.fcgi 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 *.php4 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 *.psm1 set ft=powershell
au BufNewFile,BufRead *.pssc set ft=powershell
- au BufNewFile,BufRead *.ps1xml set ft=ps1xml
+ au BufNewFile,BufRead *.ps1xml setf ps1xml
endif
if index(g:polyglot_disabled, 'protobuf') == -1
@@ -775,7 +780,7 @@ if index(g:polyglot_disabled, 'pug') == -1
endif
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 *.epp set ft=embeddedpuppet
endif
@@ -797,7 +802,7 @@ if index(g:polyglot_disabled, 'python') == -1
au BufNewFile,BufRead *.pyp set ft=python
au BufNewFile,BufRead *.pyt 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 *.spec setf python
au BufNewFile,BufRead *.tac set ft=python
@@ -826,7 +831,7 @@ endif
if index(g:polyglot_disabled, 'qmake') == -1
au BufNewFile,BufRead *.pri set ft=qmake
- au BufNewFile,BufRead *.pro setf qmake
+ au BufNewFile,BufRead *.pro set ft=qmake
endif
if index(g:polyglot_disabled, 'qml') == -1
@@ -836,9 +841,9 @@ endif
if index(g:polyglot_disabled, 'r-lang') == -1
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 *.s setf r
+ au BufNewFile,BufRead *.s set ft=r
au BufNewFile,BufRead {.,}Rprofile set ft=r
au BufNewFile,BufRead expr-dist set ft=r
au BufNewFile,BufRead *.rd set ft=rhelp
@@ -885,7 +890,7 @@ if index(g:polyglot_disabled, 'razor') == -1
endif
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
endif
@@ -924,9 +929,12 @@ if index(g:polyglot_disabled, 'ruby') == -1
au BufNewFile,BufRead *.spec setf ruby
au BufNewFile,BufRead *.thor 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 {.,}irbrc 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 Berksfile 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 Thorfile 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 vagrantfile set ft=ruby
au BufNewFile,BufRead *.erb set ft=eruby
au BufNewFile,BufRead *.erb.deface set ft=eruby
au BufNewFile,BufRead *.rhtml set ft=eruby
@@ -967,13 +977,13 @@ if index(g:polyglot_disabled, 'brewfile') == -1
endif
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
endif
if index(g:polyglot_disabled, 'scala') == -1
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
endif
@@ -1069,6 +1079,7 @@ endif
if index(g:polyglot_disabled, 'sxhkd') == -1
au BufNewFile,BufRead *.sxhkdrc set ft=sxhkdrc
+ au BufNewFile,BufRead sxhkdrc set ft=sxhkdrc
endif
if index(g:polyglot_disabled, 'systemd') == -1
@@ -1083,7 +1094,7 @@ if index(g:polyglot_disabled, 'systemd') == -1
endif
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 *.tfvars set ft=terraform
au BufNewFile,BufRead *.workflow setf terraform
@@ -1123,8 +1134,8 @@ if index(g:polyglot_disabled, 'twig') == -1
endif
if index(g:polyglot_disabled, 'typescript') == -1
- au BufNewFile,BufRead *.ts setf typescript
- au BufNewFile,BufRead *.tsx setf typescriptreact
+ au BufNewFile,BufRead *.ts set ft=typescript
+ au BufNewFile,BufRead *.tsx set ft=typescriptreact
endif
if index(g:polyglot_disabled, 'unison') == -1
@@ -1133,7 +1144,7 @@ if index(g:polyglot_disabled, 'unison') == -1
endif
if index(g:polyglot_disabled, 'v') == -1
- au BufNewFile,BufRead *.v setf v
+ au BufNewFile,BufRead *.v set ft=v
endif
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 *.fxml 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 *.grxml 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 *.mdpolicy 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 *.mxml 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 *.nproj 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 *.proj 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 *.pt set ft=xml
au BufNewFile,BufRead *.rdf set ft=xml
au BufNewFile,BufRead *.resx 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 *.sfproj set ft=xml
au BufNewFile,BufRead *.shproj set ft=xml
@@ -1298,8 +1309,6 @@ if index(g:polyglot_disabled, 'yaml') == -1
endif
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 handlers.*.y{a,}ml 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
au BufNewFile,BufRead *.zig set ft=zig
- au BufNewFile,BufRead *.zir set ft=zig
- au BufNewFile,BufRead *.zir set ft=zir
+ au BufNewFile,BufRead *.zir setf zig
+ au BufNewFile,BufRead *.zir setf zir
endif
" restore Vi compatibility settings
diff --git a/packages.yaml b/packages.yaml
index 6afdb681..3a3c5327 100644
--- a/packages.yaml
+++ b/packages.yaml
@@ -75,6 +75,11 @@ remote: guns/vim-clojure-static
filetypes:
- name: clojure
linguist: Clojure
+ extra_extensions:
+ - edn
+ extra_filenames:
+ - build.boot
+ - profile.boot
---
name: cmake
remote: pboettch/vim-cmake-syntax
@@ -93,6 +98,14 @@ filetypes:
extra_extensions:
# 17 results: https://github.com/search?q=extension%3Acoffeekup+html&type=Code
- coffeekup
+ ignored_extensions:
+ # Used by C#
+ - csx
+ # Used by Chuck
+ - ck
+ ignored_filenames:
+ # Probably mistake
+ - '*Cakefile'
- name: litcoffee
linguist: Literate CoffeeScript
extra_extensions:
@@ -132,6 +145,9 @@ filetypes:
extra_extensions:
- tsv
- tab
+ ignored_extensions:
+ # This is definitely not csv-only, maybe re-enable when heuristics done
+ - dat
---
name: cucumber
remote: tpope/vim-cucumber
@@ -198,13 +214,17 @@ filetypes:
filenames:
- 'docker-compose*.yaml'
- 'docker-compose*.yml'
+ ignored_filenames:
+ # Probably mistakes?
+ - 'docker-compose*.yaml*'
+ - 'docker-compose*.yml*'
---
name: elixir
remote: elixir-lang/vim-elixir
filetypes:
- name: elixir
linguist: Elixir
-- name: elixir
+- name: eelixir
linguist: HTML+EEX
extra_extensions:
- leex
@@ -227,6 +247,8 @@ filetypes:
- name: emblem
extensions:
- emblem
+ extra_extensions:
+ - em
---
name: erlang
remote: vim-erlang/vim-erlang-runtime
@@ -290,7 +312,7 @@ filetypes:
- "*.git/config"
- "*/.config/git/config"
- "*.git/modules/**/config"
- - gitconfig
+ - '.gitmodules'
- name: gitrebase
filenames:
- git-rebase-todo
@@ -299,10 +321,7 @@ filetypes:
- ".gitsendemail.*"
- name: gitcommit
filenames:
- - COMMIT_EDIT_MSG
- - TAG_EDIT_MSG
- - MERGE_MSG
- - MSG
+ - '*.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG'
---
name: glsl
remote: tikhomirov/vim-glsl
@@ -377,12 +396,17 @@ filetypes:
- hjs
- mustache
- njk
+ - hogan
+ - hdbs
+ - hb
---
name: haproxy
remote: CH-DanReif/haproxy.vim
filetypes:
- name: haproxy
linguist: HAProxy
+ extra_filenames:
+ - 'haproxy*.c*'
---
name: haskell
remote: neovimhaskell/haskell-vim
@@ -408,14 +432,18 @@ filetypes:
- nomad
extra_filenames:
- Appfile
+ ignored_extensions:
+ # handled by vim-terraform
+ - tf
+ - tfvars
---
name: hive
remote: zebradil/hive.vim
filetypes:
- name: hive
linguist: HiveQL
-- name: hive
- linguist: HiveQL
+ extra_extensions:
+ - ql
---
name: html5
remote: othree/html5.vim
@@ -430,6 +458,8 @@ filetypes:
filenames:
- i3.config
- i3config
+ - .i3.config
+ - .i3config
extensions:
- i3.config
- i3config
@@ -481,6 +511,7 @@ filetypes:
- jenkinsfile
- Jenkinsfile
filenames:
+ - Jenkinsfile
- Jenkinsfile*
---
name: jinja
@@ -501,6 +532,8 @@ filetypes:
linguist: JSONiq
extra_filenames:
- ".jqrc"
+ ignored_filenames:
+ - ".jqrc*"
---
name: json5
remote: GutenYe/json5.vim
@@ -531,6 +564,10 @@ filetypes:
extra_extensions:
- jst
- ect
+ ignored_extensions:
+ # I haven't found reference to them
+ - djs
+ - hamljs
---
name: jsx
remote: MaxMEllon/vim-jsx-pretty
@@ -619,6 +656,8 @@ remote: voldikss/vim-mma
filetypes:
- name: mma
linguist: Mathematica
+ extra_extensions:
+ - wls
---
name: markdown
remote: plasticboy/vim-markdown
@@ -631,6 +670,7 @@ filetypes:
ignored_extensions:
# Handled by mdx extension
- mdx
+ - '{md,mdx,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx}'
---
name: mdx
remote: jxnblk/vim-mdx-js
@@ -708,7 +748,7 @@ filetypes:
filenames:
- OMakefile
- OMakeroot
- - Omakeroot.in
+ - OMakeroot.in
- name: opam
extensions:
- opam
@@ -764,6 +804,8 @@ filetypes:
ignored_extensions:
# Handled by cql plugin
- cql
+ # Handled by pgsql plugin
+ - pgsql
---
name: pgsql
remote: lifepillar/pgsql.vim
@@ -852,6 +894,8 @@ remote: vim-python/python-syntax
filetypes:
- name: python
linguist: Python
+ ignored_filenames:
+ - 'lit.*cfg'
---
name: python-indent
remote: Vimjas/vim-python-pep8-indent
@@ -873,6 +917,10 @@ filetypes:
- '*requirements.{txt,in}'
- '*require.{txt,in}'
- 'constraints.{txt,in}'
+ ignored_extensions:
+ # Probaly a bug in plugin
+ - txt
+ - in
---
name: qmake
remote: artoj/qmake-syntax-vim
@@ -970,9 +1018,18 @@ filetypes:
- Cheffile
- KitchenSink
- Routefile
+ - .Guardfile
+ - .Brewfile
+ - vagrantfile
+ - .simplecov
+ - '[Rr]akefile*'
ignored_filenames:
# Handled by brewfile extension
- Brewfile
+ - rakefile
+ - routefile
+ - thorfile
+ - rantfile
- name: eruby
linguist: HTML+ERB
extra_extensions:
@@ -1123,6 +1180,8 @@ filetypes:
- name: sxhkdrc
extensions:
- sxhkdrc
+ filenames:
+ - sxhkdrc
---
name: systemd
remote: wgwoods/vim-systemd-syntax
@@ -1190,6 +1249,9 @@ filetypes:
linguist: Twig
ignored_extensions:
- xml.twig
+ ignored_extensions:
+ # already covered by .twig
+ - html.twig
- name: xml.twig
extensions:
- xml.twig
@@ -1284,15 +1346,14 @@ filetypes:
extra_filenames:
- fish_history
- fish_read_history
+ ignored_filenames:
+ - '~/.config/fish/fish_{read_,}history'
# Ansible needs to be after YAML
---
name: ansible
remote: pearofducks/ansible-vim
filetypes:
- name: yaml.ansible
- extensions:
- - asl
- - dsl
filenames:
- "playbook.y{a,}ml"
- "site.y{a,}ml"
diff --git a/scripts/build b/scripts/build
index 4d5b4ddc..780ca5b2 100755
--- a/scripts/build
+++ b/scripts/build
@@ -251,9 +251,15 @@ def generate_ftdetect
EOS
- ambiguous_extensions = languages.flat_map { |_, v| v["extensions"] || [] }
- .group_by(&:itself).transform_values(&:count)
- .select { |a, b| b > 1 }.keys.map { |a| a[1..] }.to_set
+ ambiguous_extensions = PACKAGES.flat_map { |e| e["filetypes"] }.flat_map do |e|
+ if e["linguist"]
+ ((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
name = package.fetch("name")
@@ -266,8 +272,9 @@ def generate_ftdetect
filetypes = package["filetypes"] or raise "Unknown filetype for: #{package["name"]}"
for filetype in filetypes
+ name = filetype.fetch("name")
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"]) : {}
extensions = filetype["extensions"] || linguist.fetch("extensions", []).map { |e| e[1..] }
@@ -276,6 +283,16 @@ def generate_ftdetect
filenames = filetype["filenames"] || linguist.fetch("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
outer_filetype = filetype["outer_filetype"]
if outer_filetype
@@ -306,6 +323,12 @@ def generate_ftdetect
let &cpo = s:cpo_save
unlet s:cpo_save
EOS
+
+ # filetypes = detect_filetypes
+ #
+ # for filetype in filetypes
+ #
+ # end
File.write('ftdetect/polyglot.vim', output)
end
@@ -333,11 +356,86 @@ def generate_tests
end
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
-download
-extract
+# download
+# extract
generate_ftdetect
-generate_tests
-puts(" Bye! Have a wonderful time!")
-FileUtils.rm_rf("tmp")
+# generate_tests
+# puts(" Bye! Have a wonderful time!")
+# FileUtils.rm_rf("tmp")
+#puts(comma_expanson("*.clj,*.cljs,*.edn,*.cljx,*.cljc,{build,profile}.boot"))