summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--autoload/sleuth.vim20
-rw-r--r--ftdetect/polyglot.vim247
-rw-r--r--packages.yaml2
-rwxr-xr-xscripts/build51
4 files changed, 274 insertions, 46 deletions
diff --git a/autoload/sleuth.vim b/autoload/sleuth.vim
index 1c9fbefb..92b53172 100644
--- a/autoload/sleuth.vim
+++ b/autoload/sleuth.vim
@@ -43,7 +43,7 @@ let s:globs = {
\ 'clojure': '{*.clj,*.boot,*.cl2,*.cljc,*.cljs,*.cljs.hl,*.cljscm,*.cljx,*.hic,*.edn,riemann.config,build.boot,profile.boot,}',
\ 'cmake': '{*.cmake,*.cmake.in,CMakeLists.txt,}',
\ 'coffee': '{*.coffee,*._coffee,*.cake,*.cjsx,*.iced,*.coffeekup,Cakefile,}',
- \ 'cpp': '{*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ino,*.ipp,*.re,*.tcc,*.tpp,}',
+ \ 'cpp': '{*.cpp,*.c++,*.cc,*.cp,*.cxx,*.h,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.tcc,*.tpp,}',
\ 'cql': '{*.cql,}',
\ 'cryptol': '{*.cry,*.cyl,*.lcry,*.lcyl,}',
\ 'crystal': '{*.cr,Projectfile,}',
@@ -94,7 +94,7 @@ let s:globs = {
\ 'haproxy': '{*.cfg,haproxy.cfg,haproxy*.c*,}',
\ 'haskell': '{*.hs,*.hs-boot,*.hsc,*.bpk,*.hsig,}',
\ 'haxe': '{*.hx,*.hxsl,}',
- \ 'hcl': '{*.hcl,*.nomad,*.tf,*.tfvars,*.workflow,Appfile,}',
+ \ 'hcl': '{*.hcl,*.nomad,*.workflow,Appfile,}',
\ 'helm': '{,}',
\ 'help': '{,}',
\ 'hive': '{*.q,*.hql,*.ql,}',
@@ -106,7 +106,7 @@ let s:globs = {
\ 'ion': '{*.ion,}',
\ 'javascript': '{*.js,*._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile,}',
\ 'javascriptreact': '{*.jsx,}',
- \ 'jinja.html': '{*.jinja,*.j2,*.jinja2,*.njk,}',
+ \ 'jinja.html': '{*.jinja,*.j2,*.jinja2,}',
\ 'jq': '{*.jq,.jqrc,}',
\ 'json': '{*.json,*.avsc,*.geojson,*.gltf,*.har,*.ice,*.JSON-tmLanguage,*.jsonl,*.mcmeta,*.tfstate,*.tfstate.backup,*.topojson,*.webapp,*.webmanifest,*.yy,*.yyp,*.jsonp,*.template,.arcconfig,.htmlhintrc,.tern-config,.tern-project,.watchmanconfig,composer.lock,mcmod.info,}',
\ 'json5': '{*.json5,}',
@@ -124,7 +124,7 @@ let s:globs = {
\ 'lua': '{*.lua,*.fcgi,*.nse,*.p8,*.pd_lua,*.rbxs,*.rockspec,*.wlua,.luacheckrc,}',
\ 'm4': '{*.m4,*.at,}',
\ 'mako': '{*.mako,*.mao,}',
- \ 'markdown': '{*.md,*.markdown,*.mdown,*.mdwn,*.mdx,*.mkd,*.mkdn,*.mkdown,*.ronn,*.workbook,contents.lr,}',
+ \ 'markdown': '{*.md,*.markdown,*.mdown,*.mdwn,*.mkd,*.mkdn,*.mkdown,*.ronn,*.workbook,contents.lr,}',
\ 'markdown.mdx': '{*.mdx,}',
\ 'meson': '{meson.build,meson_options.txt,}',
\ 'mma': '{*.mathematica,*.cdf,*.m,*.ma,*.mt,*.nb,*.nbp,*.wl,*.wlt,*.wls,}',
@@ -157,7 +157,7 @@ let s:globs = {
\ 'python': '{*.py,*.cgi,*.fcgi,*.gyp,*.gypi,*.lmi,*.py3,*.pyde,*.pyi,*.pyp,*.pyt,*.pyw,*.rpy,*.smk,*.spec,*.tac,*.wsgi,*.xpy,.gclient,DEPS,SConscript,SConstruct,Snakefile,wscript,}',
\ 'qmake': '{*.pro,*.pri,}',
\ 'qml': '{*.qml,*.qbs,}',
- \ 'r': '{*.r,*.rd,*.rsx,*.s,*.S,.Rprofile,expr-dist,}',
+ \ 'r': '{*.r,*.rsx,*.s,*.S,.Rprofile,expr-dist,}',
\ 'racket': '{*.rkt,*.rktd,*.rktl,*.scrbl,}',
\ 'ragel': '{*.rl,}',
\ 'raku': '{*.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl,*.pl6,*.pm,*.pm6,*.t,*.rakudoc,*.rakutest,*.raku,*.rakumod,*.pod6,*.t6,}',
@@ -167,18 +167,18 @@ let s:globs = {
\ 'requirements': '{*.pip,*requirements.{txt,in},*require.{txt,in},constraints.{txt,in},}',
\ 'rhelp': '{*.rd,}',
\ 'rst': '{*.rst,*.rest,*.rest.txt,*.rst.txt,}',
- \ 'ruby': '{*.rb,*.builder,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.pluginspec,*.podspec,*.rabl,*.rake,*.rbi,*.rbuild,*.rbw,*.rbx,*.ru,*.ruby,*.spec,*.thor,*.watchr,*.rxml,*.rjs,*.rant,*.axlsx,*.cap,*.opal,.irbrc,.pryrc,.simplecov,Appraisals,Berksfile,Brewfile,Buildfile,Capfile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,Mavenfile,Podfile,Puppetfile,Rakefile,Snapfile,Thorfile,Vagrantfile,buildfile,Rantfile,.autotest,Cheffile,KitchenSink,Routefile,.Guardfile,.Brewfile,vagrantfile,[Rr]akefile*,*_spec.rb,}',
+ \ 'ruby': '{*.rb,*.builder,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.pluginspec,*.podspec,*.rabl,*.rake,*.rbi,*.rbuild,*.rbw,*.rbx,*.ru,*.ruby,*.spec,*.thor,*.watchr,*.rxml,*.rjs,*.rant,*.axlsx,*.cap,*.opal,.irbrc,.pryrc,.simplecov,Appraisals,Berksfile,Buildfile,Capfile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,Mavenfile,Podfile,Puppetfile,Rakefile,Snapfile,Thorfile,Vagrantfile,buildfile,Rantfile,.autotest,Cheffile,KitchenSink,Routefile,.Guardfile,.Brewfile,vagrantfile,[Rr]akefile*,*_spec.rb,}',
\ 'rust': '{*.rs,*.rs.in,}',
\ 'sbt.scala': '{*.sbt,}',
- \ 'scala': '{*.scala,*.kojo,*.sbt,*.sc,}',
+ \ 'scala': '{*.scala,*.kojo,*.sc,}',
\ 'scss': '{*.scss,}',
\ 'sexplib': '{*.sexp,}',
- \ 'sh': '{*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,*.zsh,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,.zlogin,.zlogout,.zprofile,.zshenv,.zshrc,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile,zlogin,zlogout,zprofile,zshenv,zshrc,}',
+ \ 'sh': '{*.sh,*.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh.in,*.tmux,*.tool,.bash_aliases,.bash_history,.bash_logout,.bash_profile,.bashrc,.cshrc,.env,.env.example,.flaskenv,.login,.profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile,}',
\ 'slim': '{*.slim,}',
\ 'slime': '{*.slime,}',
\ 'smt2': '{*.smt2,*.smt,}',
\ 'solidity': '{*.sol,}',
- \ 'sql': '{*.pgsql,*.sql,}',
+ \ 'sql': '{*.pgsql,}',
\ 'stylus': '{*.styl,*.stylus,}',
\ 'svelte': '{*.svelte,}',
\ 'svg': '{*.svg,}',
@@ -204,7 +204,7 @@ let s:globs = {
\ 'vmasm': '{*.mar,}',
\ 'vue': '{*.vue,*.wpy,}',
\ 'xdc': '{*.xdc,}',
- \ 'xml': '{*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mm,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.ps1xml,*.psc1,*.pt,*.rdf,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ts,*.tsx,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,}',
+ \ 'xml': '{*.xml,*.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mm,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.ps1xml,*.psc1,*.pt,*.rdf,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml.dist,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*.cdxml,.classpath,.cproject,.project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config,}',
\ 'xml.twig': '{*.xml.twig,}',
\ 'xsl': '{*.xslt,*.xsl,}',
\ 'yaml': '{*.yml,*.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml.mysql,.clang-format,.clang-tidy,.gemrc,glide.lock,yarn.lock,fish_history,fish_read_history,}',
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index 9e86a7ad..87b0cf25 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -60,6 +60,230 @@ if !exists('g:python_highlight_all')
call s:SetDefault('g:python_slow_sync', 1)
endif
if !has_key(s:disabled_packages, '8th')
+ au! BufRead,BufNewFile *.8th
+endif
+
+if !has_key(s:disabled_packages, 'a65')
+ au! BufRead,BufNewFile *.a65
+endif
+
+if !has_key(s:disabled_packages, 'aap')
+ au! BufRead,BufNewFile *.aap
+endif
+
+if !has_key(s:disabled_packages, 'abap')
+ au! BufRead,BufNewFile *.abap
+endif
+
+if !has_key(s:disabled_packages, 'abc')
+ au! BufRead,BufNewFile *.abc
+endif
+
+if !has_key(s:disabled_packages, 'acpiasl')
+ au! BufRead,BufNewFile *.dsl
+endif
+
+if !has_key(s:disabled_packages, 'ada')
+ au! BufRead,BufNewFile *.ada
+endif
+
+if !has_key(s:disabled_packages, 'aidl')
+ au! BufRead,BufNewFile *.aidl
+endif
+
+if !has_key(s:disabled_packages, 'aml')
+ au! BufRead,BufNewFile *.aml
+endif
+
+if !has_key(s:disabled_packages, 'applescript')
+ au! BufRead,BufNewFile *.applescript
+endif
+
+if !has_key(s:disabled_packages, 'art')
+ au! BufRead,BufNewFile *.art
+endif
+
+if !has_key(s:disabled_packages, 'asciidoc')
+ au! BufRead,BufNewFile *.asciidoc
+endif
+
+if !has_key(s:disabled_packages, 'asn')
+ au! BufRead,BufNewFile *.asn
+endif
+
+if !has_key(s:disabled_packages, 'ave')
+ au! BufRead,BufNewFile *.ave
+endif
+
+if !has_key(s:disabled_packages, 'awk')
+ au! BufRead,BufNewFile *.awk
+endif
+
+if !has_key(s:disabled_packages, 'c/c++')
+ au! BufRead,BufNewFile *.c,*.cpp,*.tpp
+endif
+
+if !has_key(s:disabled_packages, 'cmake')
+ au! BufRead,BufNewFile *.cmake
+endif
+
+if !has_key(s:disabled_packages, 'dart')
+ au! BufRead,BufNewFile *.dart
+endif
+
+if !has_key(s:disabled_packages, 'dlang')
+ au! BufRead,BufNewFile *.sdl
+endif
+
+if !has_key(s:disabled_packages, 'dockerfile')
+ au! BufRead,BufNewFile *.dockerfile
+endif
+
+if !has_key(s:disabled_packages, 'elm')
+ au! BufRead,BufNewFile *.elm
+endif
+
+if !has_key(s:disabled_packages, 'git')
+ au! BufRead,BufNewFile *.gitconfig
+endif
+
+if !has_key(s:disabled_packages, 'gnuplot')
+ au! BufRead,BufNewFile *.gp,*.gnuplot
+endif
+
+if !has_key(s:disabled_packages, 'go')
+ au! BufRead,BufNewFile *.go
+endif
+
+if !has_key(s:disabled_packages, 'haml')
+ au! BufRead,BufNewFile *.haml
+endif
+
+if !has_key(s:disabled_packages, 'handlebars')
+ au! BufRead,BufNewFile *.hb
+endif
+
+if !has_key(s:disabled_packages, 'haproxy')
+ au! BufRead,BufNewFile *.cfg
+endif
+
+if !has_key(s:disabled_packages, 'html5')
+ au! BufRead,BufNewFile *.st,*.xhtml
+endif
+
+if !has_key(s:disabled_packages, 'json')
+ au! BufRead,BufNewFile *.json,*.template
+endif
+
+if !has_key(s:disabled_packages, 'less')
+ au! BufRead,BufNewFile *.less
+endif
+
+if !has_key(s:disabled_packages, 'lua')
+ au! BufRead,BufNewFile *.lua
+endif
+
+if !has_key(s:disabled_packages, 'm4')
+ au! BufRead,BufNewFile *.m4
+endif
+
+if !has_key(s:disabled_packages, 'markdown')
+ au! BufRead,BufNewFile *.markdown
+endif
+
+if !has_key(s:disabled_packages, 'opencl')
+ au! BufRead,BufNewFile *.cl
+endif
+
+if !has_key(s:disabled_packages, 'perl')
+ au! BufRead,BufNewFile *.perl
+endif
+
+if !has_key(s:disabled_packages, 'php')
+ au! BufRead,BufNewFile *.php
+endif
+
+if !has_key(s:disabled_packages, 'protobuf')
+ au! BufRead,BufNewFile *.proto
+endif
+
+if !has_key(s:disabled_packages, 'python')
+ au! BufRead,BufNewFile *.spec
+endif
+
+if !has_key(s:disabled_packages, 'r-lang')
+ au! BufRead,BufNewFile *.r
+endif
+
+if !has_key(s:disabled_packages, 'raku')
+ au! BufRead,BufNewFile *.pod6
+endif
+
+if !has_key(s:disabled_packages, 'raml')
+ au! BufRead,BufNewFile *.raml
+endif
+
+if !has_key(s:disabled_packages, 'rst')
+ au! BufRead,BufNewFile *.rst
+endif
+
+if !has_key(s:disabled_packages, 'ruby')
+ au! BufRead,BufNewFile *.ruby,*.spec
+endif
+
+if !has_key(s:disabled_packages, 'scala')
+ au! BufRead,BufNewFile *.scala
+endif
+
+if !has_key(s:disabled_packages, 'sbt')
+ au! BufRead,BufNewFile *.sbt
+endif
+
+if !has_key(s:disabled_packages, 'scss')
+ au! BufRead,BufNewFile *.scss
+endif
+
+if !has_key(s:disabled_packages, 'sh')
+ au! BufRead,BufNewFile *.sh,*.tmux,*.zsh
+endif
+
+if !has_key(s:disabled_packages, 'svg')
+ au! BufRead,BufNewFile *.svg
+endif
+
+if !has_key(s:disabled_packages, 'swift')
+ au! BufRead,BufNewFile *.swift
+endif
+
+if !has_key(s:disabled_packages, 'terraform')
+ au! BufRead,BufNewFile *.tf
+endif
+
+if !has_key(s:disabled_packages, 'twig')
+ au! BufRead,BufNewFile *.twig
+endif
+
+if !has_key(s:disabled_packages, 'vbnet')
+ au! BufRead,BufNewFile *.vb
+endif
+
+if !has_key(s:disabled_packages, 'vue')
+ au! BufRead,BufNewFile *.vue
+endif
+
+if !has_key(s:disabled_packages, 'xml')
+ au! BufRead,BufNewFile *.xml,*.ant,*.xsd
+endif
+
+if !has_key(s:disabled_packages, 'xsl')
+ au! BufRead,BufNewFile *.xslt
+endif
+
+if !has_key(s:disabled_packages, 'yaml')
+ au! BufRead,BufNewFile *.yaml
+endif
+
+if !has_key(s:disabled_packages, '8th')
au BufNewFile,BufRead *.8th setf 8th
endif
@@ -240,11 +464,9 @@ if !has_key(s:disabled_packages, 'c/c++')
au BufNewFile,BufRead *.hxx setf cpp
au BufNewFile,BufRead *.inc setf cpp
au BufNewFile,BufRead *.inl setf cpp
- au BufNewFile,BufRead *.ino setf cpp
au BufNewFile,BufRead *.ipp setf cpp
au BufNewFile,BufRead *.tcc setf cpp
au BufNewFile,BufRead *.tpp setf cpp
- au! BufNewFile,BufRead *.re call polyglot#DetectReFiletype()
endif
if !has_key(s:disabled_packages, 'caddyfile')
@@ -535,8 +757,6 @@ endif
if !has_key(s:disabled_packages, 'hcl')
au BufNewFile,BufRead *.hcl setf hcl
au BufNewFile,BufRead *.nomad setf hcl
- au BufNewFile,BufRead *.tf setf hcl
- au BufNewFile,BufRead *.tfvars setf hcl
au BufNewFile,BufRead *.workflow setf hcl
au BufNewFile,BufRead Appfile setf hcl
endif
@@ -621,7 +841,6 @@ if !has_key(s:disabled_packages, 'jinja')
au BufNewFile,BufRead *.j2 setf jinja.html
au BufNewFile,BufRead *.jinja setf jinja.html
au BufNewFile,BufRead *.jinja2 setf jinja.html
- au BufNewFile,BufRead *.njk setf jinja.html
endif
if !has_key(s:disabled_packages, 'jq')
@@ -768,7 +987,6 @@ if !has_key(s:disabled_packages, 'markdown')
au BufNewFile,BufRead *.md setf markdown
au BufNewFile,BufRead *.mdown setf markdown
au BufNewFile,BufRead *.mdwn setf markdown
- au BufNewFile,BufRead *.mdx setf markdown
au BufNewFile,BufRead *.mkd setf markdown
au BufNewFile,BufRead *.mkdn setf markdown
au BufNewFile,BufRead *.mkdown setf markdown
@@ -881,7 +1099,6 @@ endif
if !has_key(s:disabled_packages, 'pgsql')
au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql
- au BufNewFile,BufRead *.sql let b:sql_type_override='pgsql' | set ft=sql
endif
if !has_key(s:disabled_packages, 'cql')
@@ -1002,7 +1219,6 @@ endif
if !has_key(s:disabled_packages, 'r-lang')
au BufNewFile,BufRead *.S setf r
au BufNewFile,BufRead *.r setf r
- au BufNewFile,BufRead *.rd setf r
au BufNewFile,BufRead *.rsx setf r
au BufNewFile,BufRead *.s setf r
au BufNewFile,BufRead {.,}Rprofile setf r
@@ -1093,7 +1309,6 @@ if !has_key(s:disabled_packages, 'ruby')
au BufNewFile,BufRead {.,}simplecov setf ruby
au BufNewFile,BufRead Appraisals setf ruby
au BufNewFile,BufRead Berksfile setf ruby
- au BufNewFile,BufRead Brewfile setf ruby
au BufNewFile,BufRead Buildfile setf ruby
au BufNewFile,BufRead Capfile setf ruby
au BufNewFile,BufRead Cheffile setf ruby
@@ -1140,7 +1355,6 @@ endif
if !has_key(s:disabled_packages, 'scala')
au BufNewFile,BufRead *.kojo setf scala
- au BufNewFile,BufRead *.sbt setf scala
au BufNewFile,BufRead *.sc setf scala
au BufNewFile,BufRead *.scala setf scala
endif
@@ -1165,7 +1379,6 @@ if !has_key(s:disabled_packages, 'sh')
au BufNewFile,BufRead *.sh.in setf sh
au BufNewFile,BufRead *.tmux setf sh
au BufNewFile,BufRead *.tool setf sh
- au BufNewFile,BufRead *.zsh setf sh
au BufNewFile,BufRead {.,}bash_aliases setf sh
au BufNewFile,BufRead {.,}bash_history setf sh
au BufNewFile,BufRead {.,}bash_logout setf sh
@@ -1177,11 +1390,6 @@ if !has_key(s:disabled_packages, 'sh')
au BufNewFile,BufRead {.,}flaskenv setf sh
au BufNewFile,BufRead {.,}login setf sh
au BufNewFile,BufRead {.,}profile setf sh
- au BufNewFile,BufRead {.,}zlogin setf sh
- au BufNewFile,BufRead {.,}zlogout setf sh
- au BufNewFile,BufRead {.,}zprofile setf sh
- au BufNewFile,BufRead {.,}zshenv setf sh
- au BufNewFile,BufRead {.,}zshrc setf sh
au BufNewFile,BufRead 9fs setf sh
au BufNewFile,BufRead PKGBUILD setf sh
au BufNewFile,BufRead bash_aliases setf sh
@@ -1193,11 +1401,6 @@ if !has_key(s:disabled_packages, 'sh')
au BufNewFile,BufRead login setf sh
au BufNewFile,BufRead man setf sh
au BufNewFile,BufRead profile setf sh
- au BufNewFile,BufRead zlogin setf sh
- au BufNewFile,BufRead zlogout setf sh
- au BufNewFile,BufRead zprofile setf sh
- au BufNewFile,BufRead zshenv setf sh
- au BufNewFile,BufRead zshrc setf sh
au BufNewFile,BufRead *.zsh setf zsh
au BufNewFile,BufRead {.,}zlogin setf zsh
au BufNewFile,BufRead {.,}zlogout setf zsh
@@ -1416,8 +1619,6 @@ if !has_key(s:disabled_packages, 'xml')
au BufNewFile,BufRead *.sublime-snippet setf xml
au BufNewFile,BufRead *.targets setf xml
au BufNewFile,BufRead *.tml setf xml
- au BufNewFile,BufRead *.ts setf xml
- au BufNewFile,BufRead *.tsx setf xml
au BufNewFile,BufRead *.ui setf xml
au BufNewFile,BufRead *.urdf setf xml
au BufNewFile,BufRead *.ux setf xml
diff --git a/packages.yaml b/packages.yaml
index d4042c5e..f4f801cf 100644
--- a/packages.yaml
+++ b/packages.yaml
@@ -302,6 +302,8 @@ filetypes:
ignored_extensions:
# conflicts with more popular reason, remove after heuristics work
- re
+ # implemented by arduino
+ - ino
---
name: caddyfile
remote: isobit/vim-caddyfile
diff --git a/scripts/build b/scripts/build
index 2fcbe235..f8efb850 100755
--- a/scripts/build
+++ b/scripts/build
@@ -59,17 +59,20 @@ def load_data()
linguist = languages.fetch(filetype["linguist"])
- filetype["extensions"] = (linguist["extensions"] || []).map { |e| e[1..-1] } |
- filetype.fetch("extra_extensions", []) -
- filetype.fetch("ignored_extensions", []).uniq
-
- filetype["filenames"] = (linguist["filenames"] || []) |
- filetype.fetch("extra_filenames", []) -
- filetype.fetch("ignored_filenames", []).uniq
+ filetype["extensions"] = ((
+ (linguist["extensions"] || []).map { |e| e[1..-1] } |
+ filetype.fetch("extra_extensions", [])
+ ) - filetype.fetch("ignored_extensions", [])).uniq
+
+ filetype["filenames"] = ((
+ (linguist["filenames"] || []) |
+ filetype.fetch("extra_filenames", [])
+ ) - filetype.fetch("ignored_filenames", [])).uniq
- filetype["interpreters"] = (linguist["interpreters"] || []) |
- filetype.fetch("extra_interpreters", []) -
- filetype.fetch("ignored_interpreters", []).uniq
+ filetype["interpreters"] = ((
+ (linguist["interpreters"] || []) |
+ filetype.fetch("extra_interpreters", [])
+ ) - filetype.fetch("ignored_interpreters", []).uniq)
else
filetype["extensions"] ||= []
filetype["filenames"] ||= []
@@ -445,7 +448,29 @@ def generate_ftdetect(packages, heuristics)
ambiguous_extensions = extensions
.select { |a, b| b.uniq.size > 1 }.keys.sort
- expected_filetypes = detect_filetypes
+ expected_filetypes = detect_filetypes('tmp/**/ftdetect/*.vim')
+ native_filetypes = detect_filetypes('tmp/vim/vim/runtime/filetype.vim')
+ native_extensions = native_filetypes.flat_map { |k, v| v["extensions"] }
+
+ for package in packages
+ name = package.fetch("name")
+
+ to_disable = []
+
+ for filetype in package["filetypes"]
+ for extension in filetype["extensions"]
+ if native_filetypes.has_key?(extension)
+ to_disable << "*." + extension
+ end
+ end
+ end
+
+ if to_disable.size > 0
+ output << "if !has_key(s:disabled_packages, '#{name}')\n"
+ output << " au! BufRead,BufNewFile #{to_disable.join(",")}\n"
+ output << "endif\n\n"
+ end
+ end
for package in packages
name = package.fetch("name")
@@ -690,8 +715,8 @@ def expand_all(pattern)
end
end
-def detect_filetypes
- filetypes = Dir['tmp/**/ftdetect/*.vim'].flat_map do |file|
+def detect_filetypes(glob)
+ filetypes = Dir[glob].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|