Added utils.go generation

This commit is contained in:
Manuel Carmona
2017-04-06 17:31:17 +02:00
parent dae33dc2b2
commit 13e7886a02
11 changed files with 643 additions and 215 deletions

363
utils.go
View File

@ -1,5 +1,9 @@
package slinguist
// CODE GENERATED AUTOMATICALLY WITH github.com/src-d/simple-linguist/cli/slinguist-generate
// THIS FILE SHOULD NOT BE EDITED BY HAND
// Extracted from github/linguist commit: dae33dc2b20cddc85d1300435c3be7118a7115a9
import (
"bytes"
"path/filepath"
@ -52,220 +56,153 @@ func IsBinary(data []byte) bool {
return true
}
// From github/linguist.
// curl https://raw.githubusercontent.com/github/linguist/master/lib/linguist/vendor.yml | python -c 'import sys, yaml; l = yaml.load(sys.stdin.read()); print "var skipped = []*regexp.Regexp{\n" + "\n".join(["\tregexp.MustCompile(`" + i + "`)," for i in l]) + "\n}"'
var vendorMatchers = substring.Or(
substring.Suffix(`.framer`),
substring.SuffixGroup(`.js`,
substring.After(`cordova-`, substring.Regexp(`\d\.\d(\.\d)?`)),
substring.After(`d3`, substring.Regexp(`(\.v\d+)?([^.]*)`)),
substring.After(`jquery-`, substring.Regexp(`\d\.\d+(\.\d+)?`)),
substring.After(`jquery-ui`, substring.Regexp(`(\-\d\.\d+(\.\d+)?)?(\.\w+)?`)),
substring.After(`knockout-`, substring.Regexp(`(\d+\.){3}(debug\.)?$`)),
substring.After(`microsoft`, substring.Regexp(`([Mm]vc)?([Aa]jax|[Vv]alidation)(\.debug)?`)),
substring.After(`Microsoft`, substring.Regexp(`([Mm]vc)?([Aa]jax|[Vv]alidation)(\.debug)?`)),
substring.After(`modernizr-`, substring.Regexp(`\d\.\d+(\.\d+)?`)),
substring.After(`mootools`, substring.Regexp(`([^.]*)\d+\.\d+.\d+([^.]*)`)),
substring.Has(`angular`),
substring.Has(`bootstrap`),
substring.Has(`cordova`),
substring.Has(`less`),
substring.Has(`custom.bootstrap`),
substring.Has(`extjs/`),
substring.Has(`foundation`),
substring.Has(`jquery.effects.`),
substring.Has(`jquery.ui.`),
substring.Has(`jquery`),
substring.Has(`modernizr.custom.`),
substring.Has(`prototype`),
substring.Has(`backbone`),
substring.Has(`three`),
substring.Has(`ember`),
substring.Has(`babylon`),
substring.Has(`react`),
substring.Has(`shBrush`),
substring.Has(`tiny_mce`),
substring.Has(`yahoo-`),
substring.Has(`html5-`),
substring.Has(`yui`),
substring.Has(`underscore`),
substring.Has(`lodash`),
substring.Has(`lodash.core`),
substring.Has(`coffee-script`),
substring.Suffixes(
`-vsdoc.js`,
`.intellisense.js`,
`Chart.js`,
`ckeditor.js`,
`controls.js`,
`dojo.js`,
`dragdrop.js`,
`effects.js`,
`html5shiv.js`,
`MochiKit.js`,
`shCore.js`,
`shLegacy.js`,
`.min.js`,
`-min.js`,
),
),
substring.SuffixGroup(`.css`,
substring.Has(`bootstrap`),
substring.Has(`custom.bootstrap`),
substring.Has(`jquery.effects.`),
substring.Has(`jquery.ui.`),
substring.Has(`octicons.css`),
substring.After(`jquery-ui`, substring.Regexp(`(\-\d\.\d+(\.\d+)?)?(\.\w+)?`)),
substring.Suffixes(
`animate.css`,
`bourbon.css`,
`Bourbon.css`,
`font-awesome.css`,
`foundation.css`,
`import.css`,
`normalize.css`,
`.min.css`,
`-min.css`,
),
),
substring.SuffixGroup(`.scss`,
substring.Has(`bootstrap`),
substring.Has(`custom.bootstrap`),
substring.Has(`sprockets-octicons.scss`),
substring.Suffixes(
`animate.scss`,
`bourbon.scss`,
`Bourbon.scss`,
`font-awesome.scss`,
`foundation.scss`,
`import.scss`,
`normalize.scss`,
),
),
substring.SuffixGroup(`.less`,
substring.Has(`bootstrap`),
substring.Has(`custom.bootstrap`),
substring.Suffixes(
`animate.less`,
`bourbon.less`,
`Bourbon.less`,
`font-awesome.less`,
`foundation.less`,
`import.less`,
`normalize.less`,
),
),
substring.SuffixGroup(`.styl`,
substring.Has(`bootstrap`),
substring.Has(`custom.bootstrap`),
substring.Suffixes(
`animate.styl`,
`bourbon.styl`,
`Bourbon.styl`,
`font-awesome.styl`,
`foundation.styl`,
`import.styl`,
`normalize.styl`,
),
),
substring.After(`codemirror/`, substring.Or(
substring.Exact(`lib`),
substring.Exact(`mode`),
substring.Exact(`theme`),
substring.Exact(`addon`),
substring.Exact(`keymap`),
)),
substring.After(`extjs/`, substring.Or(
substring.Suffixes(`.html`, `.properties`, `.txt`, `.xml`),
substring.Exact(`.sencha/`),
substring.Exact(`builds/`),
substring.Exact(`cmd/`),
substring.Exact(`docs/`),
substring.Exact(`examples/`),
substring.Exact(`locale/`),
substring.Exact(`packages/`),
substring.Exact(`plugins/`),
substring.Exact(`resources/`),
substring.Exact(`src/`),
substring.Exact(`welcome/`),
)),
substring.After(`tiny_mce/`, substring.Or(
substring.Exact(`langs`),
substring.Exact(`plugins`),
substring.Exact(`themes`),
substring.Exact(`utils`),
)),
substring.Has(`3rd-party/`),
substring.Has(`3rd_party/`),
substring.Has(`3rdparty/`),
substring.Has(`admin_media/`),
substring.Has(`bower_components/`),
substring.Has(`cache/`),
substring.Has(`Dependencies/`),
substring.Has(`dependencies/`),
substring.Has(`erlang.mk`),
substring.Has(`extern/`),
substring.Has(`external/`),
substring.Has(`Godeps/_workspace/`),
substring.Has(`gradle/wrapper/`),
substring.Has(`MathJax/`),
substring.Has(`node_modules/`),
substring.Has(`proguard-rules.pro`),
substring.Has(`proguard.pro`),
substring.Has(`Sparkle/`),
substring.Has(`third-party/`),
substring.Has(`third_party/`),
substring.Has(`thirdparty/`),
substring.Has(`vendor/`),
substring.Has(`vendors/`),
substring.Exact(`.osx`),
substring.Exact(`rebar`),
substring.Exact(`Vagrantfile`),
substring.Exact(`waf`),
substring.Prefixes(
`.google_apis/`,
`debian/`,
`deps/`,
`inst/extdata/`,
`packages/`,
`Packages/`,
`Pods/`,
`Samples/`,
`samples/`,
`Test/fixture/`,
`test/fixture/`,
`Test/fixtures/`,
`test/fixtures/`,
`tools/`,
`vignettes/`,
),
substring.Suffixes(
`.d.ts`,
`.travis.yml`,
`activator.bat`,
`activator`,
`circle.yml`,
`config.guess`,
`config.sub`,
`configure.ac`,
`configure`,
`fabfile.py`,
`gitattributes`,
`gitignore`,
`gitmodules`,
`gradlew.bat`,
`gradlew`,
`run.n`,
`.DS_Store`,
`.DS_store`,
`.dS_Store`,
`.dS_store`,
`.Ds_Store`,
`.Ds_store`,
`.ds_Store`,
`.ds_store`,
),
substring.Regexp(`(^|/)cache/`),
substring.Regexp(`^[Dd]ependencies/`),
substring.Regexp(`(^|/)dist/`),
substring.Regexp(`^deps/`),
substring.Regexp(`^tools/`),
substring.Regexp(`(^|/)configure$`),
substring.Regexp(`(^|/)config.guess$`),
substring.Regexp(`(^|/)config.sub$`),
substring.Regexp(`(^|/)aclocal.m4`),
substring.Regexp(`(^|/)libtool.m4`),
substring.Regexp(`(^|/)ltoptions.m4`),
substring.Regexp(`(^|/)ltsugar.m4`),
substring.Regexp(`(^|/)ltversion.m4`),
substring.Regexp(`(^|/)lt~obsolete.m4`),
substring.Regexp(`cpplint.py`),
substring.Regexp(`node_modules/`),
substring.Regexp(`bower_components/`),
substring.Regexp(`^rebar$`),
substring.Regexp(`erlang.mk`),
substring.Regexp(`Godeps/_workspace/`),
substring.Regexp(`.indent.pro`),
substring.Regexp(`(\.|-)min\.(js|css)$`),
substring.Regexp(`([^\s]*)import\.(css|less|scss|styl)$`),
substring.Regexp(`(^|/)bootstrap([^.]*)\.(js|css|less|scss|styl)$`),
substring.Regexp(`(^|/)custom\.bootstrap([^\s]*)(js|css|less|scss|styl)$`),
substring.Regexp(`(^|/)font-awesome\.(css|less|scss|styl)$`),
substring.Regexp(`(^|/)foundation\.(css|less|scss|styl)$`),
substring.Regexp(`(^|/)normalize\.(css|less|scss|styl)$`),
substring.Regexp(`(^|/)[Bb]ourbon/.*\.(css|less|scss|styl)$`),
substring.Regexp(`(^|/)animate\.(css|less|scss|styl)$`),
substring.Regexp(`third[-_]?party/`),
substring.Regexp(`3rd[-_]?party/`),
substring.Regexp(`vendors?/`),
substring.Regexp(`extern(al)?/`),
substring.Regexp(`(^|/)[Vv]+endor/`),
substring.Regexp(`^debian/`),
substring.Regexp(`run.n$`),
substring.Regexp(`bootstrap-datepicker/`),
substring.Regexp(`(^|/)jquery([^.]*)\.js$`),
substring.Regexp(`(^|/)jquery\-\d\.\d+(\.\d+)?\.js$`),
substring.Regexp(`(^|/)jquery\-ui(\-\d\.\d+(\.\d+)?)?(\.\w+)?\.(js|css)$`),
substring.Regexp(`(^|/)jquery\.(ui|effects)\.([^.]*)\.(js|css)$`),
substring.Regexp(`jquery.fn.gantt.js`),
substring.Regexp(`jquery.fancybox.(js|css)`),
substring.Regexp(`fuelux.js`),
substring.Regexp(`(^|/)jquery\.fileupload(-\w+)?\.js$`),
substring.Regexp(`(^|/)slick\.\w+.js$`),
substring.Regexp(`(^|/)Leaflet\.Coordinates-\d+\.\d+\.\d+\.src\.js$`),
substring.Regexp(`leaflet.draw-src.js`),
substring.Regexp(`leaflet.draw.css`),
substring.Regexp(`Control.FullScreen.css`),
substring.Regexp(`Control.FullScreen.js`),
substring.Regexp(`leaflet.spin.js`),
substring.Regexp(`wicket-leaflet.js`),
substring.Regexp(`.sublime-project`),
substring.Regexp(`.sublime-workspace`),
substring.Regexp(`(^|/)prototype(.*)\.js$`),
substring.Regexp(`(^|/)effects\.js$`),
substring.Regexp(`(^|/)controls\.js$`),
substring.Regexp(`(^|/)dragdrop\.js$`),
substring.Regexp(`(.*?)\.d\.ts$`),
substring.Regexp(`(^|/)mootools([^.]*)\d+\.\d+.\d+([^.]*)\.js$`),
substring.Regexp(`(^|/)dojo\.js$`),
substring.Regexp(`(^|/)MochiKit\.js$`),
substring.Regexp(`(^|/)yahoo-([^.]*)\.js$`),
substring.Regexp(`(^|/)yui([^.]*)\.js$`),
substring.Regexp(`(^|/)ckeditor\.js$`),
substring.Regexp(`(^|/)tiny_mce([^.]*)\.js$`),
substring.Regexp(`(^|/)tiny_mce/(langs|plugins|themes|utils)`),
substring.Regexp(`(^|/)ace-builds/`),
substring.Regexp(`(^|/)fontello(.*?)\.css$`),
substring.Regexp(`(^|/)MathJax/`),
substring.Regexp(`(^|/)Chart\.js$`),
substring.Regexp(`(^|/)[Cc]ode[Mm]irror/(\d+\.\d+/)?(lib|mode|theme|addon|keymap|demo)`),
substring.Regexp(`(^|/)shBrush([^.]*)\.js$`),
substring.Regexp(`(^|/)shCore\.js$`),
substring.Regexp(`(^|/)shLegacy\.js$`),
substring.Regexp(`(^|/)angular([^.]*)\.js$`),
substring.Regexp(`(^|\/)d3(\.v\d+)?([^.]*)\.js$`),
substring.Regexp(`(^|/)react(-[^.]*)?\.js$`),
substring.Regexp(`(^|/)modernizr\-\d\.\d+(\.\d+)?\.js$`),
substring.Regexp(`(^|/)modernizr\.custom\.\d+\.js$`),
substring.Regexp(`(^|/)knockout-(\d+\.){3}(debug\.)?js$`),
substring.Regexp(`(^|/)docs?/_?(build|themes?|templates?|static)/`),
substring.Regexp(`(^|/)admin_media/`),
substring.Regexp(`(^|/)env/`),
substring.Regexp(`^fabfile\.py$`),
substring.Regexp(`^waf$`),
substring.Regexp(`^.osx$`),
substring.Regexp(`\.xctemplate/`),
substring.Regexp(`\.imageset/`),
substring.Regexp(`^Carthage/`),
substring.Regexp(`^Pods/`),
substring.Regexp(`(^|/)Sparkle/`),
substring.Regexp(`Crashlytics.framework/`),
substring.Regexp(`Fabric.framework/`),
substring.Regexp(`BuddyBuildSDK.framework/`),
substring.Regexp(`Realm.framework`),
substring.Regexp(`RealmSwift.framework`),
substring.Regexp(`gitattributes$`),
substring.Regexp(`gitignore$`),
substring.Regexp(`gitmodules$`),
substring.Regexp(`(^|/)gradlew$`),
substring.Regexp(`(^|/)gradlew\.bat$`),
substring.Regexp(`(^|/)gradle/wrapper/`),
substring.Regexp(`-vsdoc\.js$`),
substring.Regexp(`\.intellisense\.js$`),
substring.Regexp(`(^|/)jquery([^.]*)\.validate(\.unobtrusive)?\.js$`),
substring.Regexp(`(^|/)jquery([^.]*)\.unobtrusive\-ajax\.js$`),
substring.Regexp(`(^|/)[Mm]icrosoft([Mm]vc)?([Aa]jax|[Vv]alidation)(\.debug)?\.js$`),
substring.Regexp(`^[Pp]ackages\/.+\.\d+\/`),
substring.Regexp(`(^|/)extjs/.*?\.js$`),
substring.Regexp(`(^|/)extjs/.*?\.xml$`),
substring.Regexp(`(^|/)extjs/.*?\.txt$`),
substring.Regexp(`(^|/)extjs/.*?\.html$`),
substring.Regexp(`(^|/)extjs/.*?\.properties$`),
substring.Regexp(`(^|/)extjs/.sencha/`),
substring.Regexp(`(^|/)extjs/docs/`),
substring.Regexp(`(^|/)extjs/builds/`),
substring.Regexp(`(^|/)extjs/cmd/`),
substring.Regexp(`(^|/)extjs/examples/`),
substring.Regexp(`(^|/)extjs/locale/`),
substring.Regexp(`(^|/)extjs/packages/`),
substring.Regexp(`(^|/)extjs/plugins/`),
substring.Regexp(`(^|/)extjs/resources/`),
substring.Regexp(`(^|/)extjs/src/`),
substring.Regexp(`(^|/)extjs/welcome/`),
substring.Regexp(`(^|/)html5shiv\.js$`),
substring.Regexp(`^[Tt]ests?/fixtures/`),
substring.Regexp(`^[Ss]pecs?/fixtures/`),
substring.Regexp(`(^|/)cordova([^.]*)\.js$`),
substring.Regexp(`(^|/)cordova\-\d\.\d(\.\d)?\.js$`),
substring.Regexp(`foundation(\..*)?\.js$`),
substring.Regexp(`^Vagrantfile$`),
substring.Regexp(`.[Dd][Ss]_[Ss]tore$`),
substring.Regexp(`^vignettes/`),
substring.Regexp(`^inst/extdata/`),
substring.Regexp(`octicons.css`),
substring.Regexp(`sprockets-octicons.scss`),
substring.Regexp(`(^|/)activator$`),
substring.Regexp(`(^|/)activator\.bat$`),
substring.Regexp(`proguard.pro`),
substring.Regexp(`proguard-rules.pro`),
substring.Regexp(`^puphpet/`),
substring.Regexp(`(^|/)\.google_apis/`),
substring.Regexp(`^Jenkinsfile$`),
)
var documentationMatchers = substring.Or(