diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-27 15:01:44 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-08-27 15:01:44 +0200 | 
| commit | 6ed481e46350cacc68db758e1082dd949b3c0480 (patch) | |
| tree | 49569f59a2212925690961dc5d64d0d41d9bcbba | |
| parent | c1e1870a3d87850684487ddf488896d862d4039e (diff) | |
| download | vim-polyglot-6ed481e46350cacc68db758e1082dd949b3c0480.tar.gz vim-polyglot-6ed481e46350cacc68db758e1082dd949b3c0480.zip | |
Make sure all extensions are covered
Diffstat (limited to '')
| -rw-r--r-- | ftdetect/polyglot.vim | 125 | ||||
| -rw-r--r-- | packages.yaml | 85 | ||||
| -rwxr-xr-x | scripts/build | 116 | 
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")) | 
