Update Vendor (#16325)
* Add Dependencie Update Script * update gitea.com/lunny/levelqueue * update github.com/PuerkitoBio/goquery * update github.com/alecthomas/chroma * update github.com/blevesearch/bleve/v2 * update github.com/caddyserver/certmagic * update github.com/go-enry/go-enry/v2 * update github.com/go-redis/redis/v8 * update github.com/hashicorp/golang-lru * update github.com/klauspost/compress * update github.com/markbates/goth * update github.com/mholt/archiver/v3 * update github.com/microcosm-cc/bluemonday * update github.com/minio/minio-go/v7 * update github.com/olivere/elastic/v7 * update github.com/xanzy/go-gitlab * update github.com/yuin/goldmark
This commit is contained in:
8
contrib/update_dependencies.sh
Normal file
8
contrib/update_dependencies.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
grep 'git' go.mod | grep '\.com' | grep -v indirect | grep -v replace | cut -f 2 | cut -d ' ' -f 1 | while read line; do
|
||||||
|
go get -u "$line"
|
||||||
|
make vendor
|
||||||
|
git add .
|
||||||
|
git commit -S -m "update $line"
|
||||||
|
done
|
43
go.mod
43
go.mod
@ -14,15 +14,15 @@ require (
|
|||||||
github.com/Microsoft/go-winio v0.5.0 // indirect
|
github.com/Microsoft/go-winio v0.5.0 // indirect
|
||||||
github.com/NYTimes/gziphandler v1.1.1
|
github.com/NYTimes/gziphandler v1.1.1
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c // indirect
|
github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c // indirect
|
||||||
github.com/PuerkitoBio/goquery v1.6.1
|
github.com/PuerkitoBio/goquery v1.7.0
|
||||||
github.com/RoaringBitmap/roaring v0.7.3 // indirect
|
github.com/RoaringBitmap/roaring v0.8.0 // indirect
|
||||||
github.com/alecthomas/chroma v0.9.1
|
github.com/alecthomas/chroma v0.9.2
|
||||||
github.com/andybalholm/brotli v1.0.3 // indirect
|
github.com/andybalholm/brotli v1.0.3 // indirect
|
||||||
github.com/andybalholm/cascadia v1.2.0 // indirect
|
github.com/andybalholm/cascadia v1.2.0 // indirect
|
||||||
github.com/blevesearch/bleve/v2 v2.0.5
|
github.com/blevesearch/bleve/v2 v2.0.6
|
||||||
github.com/boombuler/barcode v1.0.1 // indirect
|
github.com/boombuler/barcode v1.0.1 // indirect
|
||||||
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect
|
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect
|
||||||
github.com/caddyserver/certmagic v0.13.1
|
github.com/caddyserver/certmagic v0.14.0
|
||||||
github.com/chi-middleware/proxy v1.1.1
|
github.com/chi-middleware/proxy v1.1.1
|
||||||
github.com/couchbase/go-couchbase v0.0.0-20210224140812-5740cd35f448 // indirect
|
github.com/couchbase/go-couchbase v0.0.0-20210224140812-5740cd35f448 // indirect
|
||||||
github.com/couchbase/gomemcached v0.1.2 // indirect
|
github.com/couchbase/gomemcached v0.1.2 // indirect
|
||||||
@ -39,11 +39,11 @@ require (
|
|||||||
github.com/go-asn1-ber/asn1-ber v1.5.3 // indirect
|
github.com/go-asn1-ber/asn1-ber v1.5.3 // indirect
|
||||||
github.com/go-chi/chi v1.5.4
|
github.com/go-chi/chi v1.5.4
|
||||||
github.com/go-chi/cors v1.2.0
|
github.com/go-chi/cors v1.2.0
|
||||||
github.com/go-enry/go-enry/v2 v2.7.0
|
github.com/go-enry/go-enry/v2 v2.7.1
|
||||||
github.com/go-git/go-billy/v5 v5.3.1
|
github.com/go-git/go-billy/v5 v5.3.1
|
||||||
github.com/go-git/go-git/v5 v5.4.3-0.20210630082519-b4368b2a2ca4
|
github.com/go-git/go-git/v5 v5.4.3-0.20210630082519-b4368b2a2ca4
|
||||||
github.com/go-ldap/ldap/v3 v3.3.0
|
github.com/go-ldap/ldap/v3 v3.3.0
|
||||||
github.com/go-redis/redis/v8 v8.10.0
|
github.com/go-redis/redis/v8 v8.11.0
|
||||||
github.com/go-sql-driver/mysql v1.6.0
|
github.com/go-sql-driver/mysql v1.6.0
|
||||||
github.com/go-swagger/go-swagger v0.27.0
|
github.com/go-swagger/go-swagger v0.27.0
|
||||||
github.com/go-testfixtures/testfixtures/v3 v3.6.1
|
github.com/go-testfixtures/testfixtures/v3 v3.6.1
|
||||||
@ -51,6 +51,7 @@ require (
|
|||||||
github.com/gogs/chardet v0.0.0-20191104214054-4b6791f73a28
|
github.com/gogs/chardet v0.0.0-20191104214054-4b6791f73a28
|
||||||
github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14
|
github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14
|
||||||
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85
|
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85
|
||||||
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
github.com/google/go-github/v32 v32.1.0
|
github.com/google/go-github/v32 v32.1.0
|
||||||
github.com/google/go-querystring v1.1.0 // indirect
|
github.com/google/go-querystring v1.1.0 // indirect
|
||||||
github.com/google/uuid v1.2.0
|
github.com/google/uuid v1.2.0
|
||||||
@ -60,7 +61,7 @@ require (
|
|||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
|
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
|
||||||
github.com/hashicorp/go-version v1.3.1
|
github.com/hashicorp/go-version v1.3.1
|
||||||
github.com/hashicorp/golang-lru v0.5.1
|
github.com/hashicorp/golang-lru v0.5.4
|
||||||
github.com/huandu/xstrings v1.3.2
|
github.com/huandu/xstrings v1.3.2
|
||||||
github.com/issue9/identicon v1.2.0
|
github.com/issue9/identicon v1.2.0
|
||||||
github.com/jaytaylor/html2text v0.0.0-20200412013138-3577fbdbcff7
|
github.com/jaytaylor/html2text v0.0.0-20200412013138-3577fbdbcff7
|
||||||
@ -68,21 +69,21 @@ require (
|
|||||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
||||||
github.com/kevinburke/ssh_config v1.1.0 // indirect
|
github.com/kevinburke/ssh_config v1.1.0 // indirect
|
||||||
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
|
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
|
||||||
github.com/klauspost/compress v1.13.0
|
github.com/klauspost/compress v1.13.1
|
||||||
|
github.com/klauspost/cpuid/v2 v2.0.7 // indirect
|
||||||
github.com/klauspost/pgzip v1.2.5 // indirect
|
github.com/klauspost/pgzip v1.2.5 // indirect
|
||||||
github.com/lafriks/xormstore v1.4.0
|
github.com/lafriks/xormstore v1.4.0
|
||||||
github.com/lib/pq v1.10.2
|
github.com/lib/pq v1.10.2
|
||||||
github.com/libdns/libdns v0.2.1 // indirect
|
|
||||||
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96
|
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96
|
||||||
github.com/markbates/goth v1.67.1
|
github.com/markbates/goth v1.67.1
|
||||||
github.com/mattn/go-isatty v0.0.13
|
github.com/mattn/go-isatty v0.0.13
|
||||||
github.com/mattn/go-runewidth v0.0.13 // indirect
|
github.com/mattn/go-runewidth v0.0.13 // indirect
|
||||||
github.com/mattn/go-sqlite3 v1.14.7
|
github.com/mattn/go-sqlite3 v1.14.7
|
||||||
github.com/mholt/archiver/v3 v3.5.0
|
github.com/mholt/archiver/v3 v3.5.0
|
||||||
github.com/microcosm-cc/bluemonday v1.0.9
|
github.com/microcosm-cc/bluemonday v1.0.14
|
||||||
github.com/miekg/dns v1.1.42 // indirect
|
github.com/miekg/dns v1.1.43 // indirect
|
||||||
github.com/minio/md5-simd v1.1.2 // indirect
|
github.com/minio/md5-simd v1.1.2 // indirect
|
||||||
github.com/minio/minio-go/v7 v7.0.10
|
github.com/minio/minio-go/v7 v7.0.12
|
||||||
github.com/minio/sha256-simd v1.0.0 // indirect
|
github.com/minio/sha256-simd v1.0.0 // indirect
|
||||||
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450 // indirect
|
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450 // indirect
|
||||||
github.com/msteinert/pam v0.0.0-20201130170657-e61372126161
|
github.com/msteinert/pam v0.0.0-20201130170657-e61372126161
|
||||||
@ -90,9 +91,9 @@ require (
|
|||||||
github.com/niklasfasching/go-org v1.5.0
|
github.com/niklasfasching/go-org v1.5.0
|
||||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||||
github.com/oliamb/cutter v0.2.2
|
github.com/oliamb/cutter v0.2.2
|
||||||
github.com/olivere/elastic/v7 v7.0.24
|
github.com/olivere/elastic/v7 v7.0.25
|
||||||
github.com/pelletier/go-toml v1.9.0 // indirect
|
github.com/pelletier/go-toml v1.9.0 // indirect
|
||||||
github.com/pierrec/lz4/v4 v4.1.7 // indirect
|
github.com/pierrec/lz4/v4 v4.1.8 // indirect
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/pquerna/otp v1.3.0
|
github.com/pquerna/otp v1.3.0
|
||||||
github.com/prometheus/client_golang v1.11.0
|
github.com/prometheus/client_golang v1.11.0
|
||||||
@ -112,23 +113,25 @@ require (
|
|||||||
github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
|
github.com/unknwon/paginater v0.0.0-20200328080006-042474bd0eae
|
||||||
github.com/unrolled/render v1.4.0
|
github.com/unrolled/render v1.4.0
|
||||||
github.com/urfave/cli v1.22.5
|
github.com/urfave/cli v1.22.5
|
||||||
github.com/xanzy/go-gitlab v0.50.0
|
github.com/xanzy/go-gitlab v0.50.1
|
||||||
github.com/yohcop/openid-go v1.0.0
|
github.com/yohcop/openid-go v1.0.0
|
||||||
github.com/yuin/goldmark v1.3.7
|
github.com/yuin/goldmark v1.3.9
|
||||||
github.com/yuin/goldmark-highlighting v0.0.0-20210516132338-9216f9c5aa01
|
github.com/yuin/goldmark-highlighting v0.0.0-20210516132338-9216f9c5aa01
|
||||||
github.com/yuin/goldmark-meta v1.0.0
|
github.com/yuin/goldmark-meta v1.0.0
|
||||||
go.etcd.io/bbolt v1.3.6 // indirect
|
go.etcd.io/bbolt v1.3.6 // indirect
|
||||||
go.jolheiser.com/hcaptcha v0.0.4
|
go.jolheiser.com/hcaptcha v0.0.4
|
||||||
go.jolheiser.com/pwn v0.0.3
|
go.jolheiser.com/pwn v0.0.3
|
||||||
|
go.uber.org/atomic v1.8.0 // indirect
|
||||||
go.uber.org/multierr v1.7.0 // indirect
|
go.uber.org/multierr v1.7.0 // indirect
|
||||||
go.uber.org/zap v1.17.0 // indirect
|
go.uber.org/zap v1.18.1 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e
|
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e
|
||||||
golang.org/x/net v0.0.0-20210614182718-04defd469f4e
|
golang.org/x/net v0.0.0-20210614182718-04defd469f4e
|
||||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c
|
golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914
|
||||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
|
||||||
golang.org/x/text v0.3.6
|
golang.org/x/text v0.3.6
|
||||||
golang.org/x/time v0.0.0-20210608053304-ed9ce3a009e4 // indirect
|
golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6 // indirect
|
||||||
golang.org/x/tools v0.1.0
|
golang.org/x/tools v0.1.0
|
||||||
|
google.golang.org/protobuf v1.27.1 // indirect
|
||||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
||||||
gopkg.in/ini.v1 v1.62.0
|
gopkg.in/ini.v1 v1.62.0
|
||||||
|
17
vendor/github.com/PuerkitoBio/goquery/.travis.yml
generated
vendored
17
vendor/github.com/PuerkitoBio/goquery/.travis.yml
generated
vendored
@ -4,11 +4,6 @@ arch:
|
|||||||
language: go
|
language: go
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.2.x
|
|
||||||
- 1.3.x
|
|
||||||
- 1.4.x
|
|
||||||
- 1.5.x
|
|
||||||
- 1.6.x
|
|
||||||
- 1.7.x
|
- 1.7.x
|
||||||
- 1.8.x
|
- 1.8.x
|
||||||
- 1.9.x
|
- 1.9.x
|
||||||
@ -16,20 +11,12 @@ go:
|
|||||||
- 1.11.x
|
- 1.11.x
|
||||||
- 1.12.x
|
- 1.12.x
|
||||||
- 1.13.x
|
- 1.13.x
|
||||||
|
- 1.14.x
|
||||||
|
- 1.15.x
|
||||||
- tip
|
- tip
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
exclude:
|
exclude:
|
||||||
- arch: ppc64le
|
|
||||||
go: 1.2.x
|
|
||||||
- arch: ppc64le
|
|
||||||
go: 1.3.x
|
|
||||||
- arch: ppc64le
|
|
||||||
go: 1.4.x
|
|
||||||
- arch: ppc64le
|
|
||||||
go: 1.5.x
|
|
||||||
- arch: ppc64le
|
|
||||||
go: 1.6.x
|
|
||||||
- arch: ppc64le
|
- arch: ppc64le
|
||||||
go: 1.7.x
|
go: 1.7.x
|
||||||
- arch: ppc64le
|
- arch: ppc64le
|
||||||
|
2
vendor/github.com/PuerkitoBio/goquery/LICENSE
generated
vendored
2
vendor/github.com/PuerkitoBio/goquery/LICENSE
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2012-2016, Martin Angers & Contributors
|
Copyright (c) 2012-2021, Martin Angers & Contributors
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||||
|
29
vendor/github.com/PuerkitoBio/goquery/README.md
generated
vendored
29
vendor/github.com/PuerkitoBio/goquery/README.md
generated
vendored
@ -1,5 +1,5 @@
|
|||||||
# goquery - a little like that j-thing, only in Go
|
# goquery - a little like that j-thing, only in Go
|
||||||
[![build status](https://secure.travis-ci.org/PuerkitoBio/goquery.svg?branch=master)](http://travis-ci.org/PuerkitoBio/goquery) [![GoDoc](https://godoc.org/github.com/PuerkitoBio/goquery?status.png)](http://godoc.org/github.com/PuerkitoBio/goquery) [![Sourcegraph Badge](https://sourcegraph.com/github.com/PuerkitoBio/goquery/-/badge.svg)](https://sourcegraph.com/github.com/PuerkitoBio/goquery?badge)
|
[![builds.sr.ht status](https://builds.sr.ht/~mna/goquery/commits/fedora.yml.svg)](https://builds.sr.ht/~mna/goquery/commits/fedora.yml?) [![build status](https://secure.travis-ci.org/PuerkitoBio/goquery.svg?branch=master)](http://travis-ci.org/PuerkitoBio/goquery) [![Go Reference](https://pkg.go.dev/badge/github.com/PuerkitoBio/goquery.svg)](https://pkg.go.dev/github.com/PuerkitoBio/goquery) [![Sourcegraph Badge](https://sourcegraph.com/github.com/PuerkitoBio/goquery/-/badge.svg)](https://sourcegraph.com/github.com/PuerkitoBio/goquery?badge)
|
||||||
|
|
||||||
goquery brings a syntax and a set of features similar to [jQuery][] to the [Go language][go]. It is based on Go's [net/html package][html] and the CSS Selector library [cascadia][]. Since the net/html parser returns nodes, and not a full-featured DOM tree, jQuery's stateful manipulation functions (like height(), css(), detach()) have been left off.
|
goquery brings a syntax and a set of features similar to [jQuery][] to the [Go language][go]. It is based on Go's [net/html package][html] and the CSS Selector library [cascadia][]. Since the net/html parser returns nodes, and not a full-featured DOM tree, jQuery's stateful manipulation functions (like height(), css(), detach()) have been left off.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Syntax-wise, it is as close as possible to jQuery, with the same function names
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Please note that because of the net/html dependency, goquery requires Go1.1+.
|
Please note that because of the net/html dependency, goquery requires Go1.1+ and is tested on Go1.7+.
|
||||||
|
|
||||||
$ go get github.com/PuerkitoBio/goquery
|
$ go get github.com/PuerkitoBio/goquery
|
||||||
|
|
||||||
@ -37,6 +37,7 @@ Please note that because of the net/html dependency, goquery requires Go1.1+.
|
|||||||
|
|
||||||
**Note that goquery's API is now stable, and will not break.**
|
**Note that goquery's API is now stable, and will not break.**
|
||||||
|
|
||||||
|
* **2021-06-14 (v1.7.0)** : Add `Single` and `SingleMatcher` functions to optimize first-match selection (thanks [@gdollardollar](https://github.com/gdollardollar)).
|
||||||
* **2021-01-11 (v1.6.1)** : Fix panic when calling `{Prepend,Append,Set}Html` on a `Selection` that contains non-Element nodes.
|
* **2021-01-11 (v1.6.1)** : Fix panic when calling `{Prepend,Append,Set}Html` on a `Selection` that contains non-Element nodes.
|
||||||
* **2020-10-08 (v1.6.0)** : Parse html in context of the container node for all functions that deal with html strings (`AfterHtml`, `AppendHtml`, etc.). Thanks to [@thiemok][thiemok] and [@davidjwilkins][djw] for their work on this.
|
* **2020-10-08 (v1.6.0)** : Parse html in context of the container node for all functions that deal with html strings (`AfterHtml`, `AppendHtml`, etc.). Thanks to [@thiemok][thiemok] and [@davidjwilkins][djw] for their work on this.
|
||||||
* **2020-02-04 (v1.5.1)** : Update module dependencies.
|
* **2020-02-04 (v1.5.1)** : Update module dependencies.
|
||||||
@ -50,7 +51,7 @@ Please note that because of the net/html dependency, goquery requires Go1.1+.
|
|||||||
* **2016-08-28 (v1.0.1)** : Optimize performance for large documents.
|
* **2016-08-28 (v1.0.1)** : Optimize performance for large documents.
|
||||||
* **2016-07-27 (v1.0.0)** : Tag version 1.0.0.
|
* **2016-07-27 (v1.0.0)** : Tag version 1.0.0.
|
||||||
* **2016-06-15** : Invalid selector strings internally compile to a `Matcher` implementation that never matches any node (instead of a panic). So for example, `doc.Find("~")` returns an empty `*Selection` object.
|
* **2016-06-15** : Invalid selector strings internally compile to a `Matcher` implementation that never matches any node (instead of a panic). So for example, `doc.Find("~")` returns an empty `*Selection` object.
|
||||||
* **2016-02-02** : Add `NodeName` utility function similar to the DOM's `nodeName` property. It returns the tag name of the first element in a selection, and other relevant values of non-element nodes (see godoc for details). Add `OuterHtml` utility function similar to the DOM's `outerHTML` property (named `OuterHtml` in small caps for consistency with the existing `Html` method on the `Selection`).
|
* **2016-02-02** : Add `NodeName` utility function similar to the DOM's `nodeName` property. It returns the tag name of the first element in a selection, and other relevant values of non-element nodes (see [doc][] for details). Add `OuterHtml` utility function similar to the DOM's `outerHTML` property (named `OuterHtml` in small caps for consistency with the existing `Html` method on the `Selection`).
|
||||||
* **2015-04-20** : Add `AttrOr` helper method to return the attribute's value or a default value if absent. Thanks to [piotrkowalczuk][piotr].
|
* **2015-04-20** : Add `AttrOr` helper method to return the attribute's value or a default value if absent. Thanks to [piotrkowalczuk][piotr].
|
||||||
* **2015-02-04** : Add more manipulation functions - Prepend* - thanks again to [Andrew Stone][thatguystone].
|
* **2015-02-04** : Add more manipulation functions - Prepend* - thanks again to [Andrew Stone][thatguystone].
|
||||||
* **2014-11-28** : Add more manipulation functions - ReplaceWith*, Wrap* and Unwrap - thanks again to [Andrew Stone][thatguystone].
|
* **2014-11-28** : Add more manipulation functions - ReplaceWith*, Wrap* and Unwrap - thanks again to [Andrew Stone][thatguystone].
|
||||||
@ -79,7 +80,7 @@ jQuery often has many variants for the same function (no argument, a selector st
|
|||||||
|
|
||||||
Utility functions that are not in jQuery but are useful in Go are implemented as functions (that take a `*Selection` as parameter), to avoid a potential naming clash on the `*Selection`'s methods (reserved for jQuery-equivalent behaviour).
|
Utility functions that are not in jQuery but are useful in Go are implemented as functions (that take a `*Selection` as parameter), to avoid a potential naming clash on the `*Selection`'s methods (reserved for jQuery-equivalent behaviour).
|
||||||
|
|
||||||
The complete [godoc reference documentation can be found here][doc].
|
The complete [package reference documentation can be found here][doc].
|
||||||
|
|
||||||
Please note that Cascadia's selectors do not necessarily match all supported selectors of jQuery (Sizzle). See the [cascadia project][cascadia] for details. Invalid selector strings compile to a `Matcher` that fails to match any node. Behaviour of the various functions that take a selector string as argument follows from that fact, e.g. (where `~` is an invalid selector string):
|
Please note that Cascadia's selectors do not necessarily match all supported selectors of jQuery (Sizzle). See the [cascadia project][cascadia] for details. Invalid selector strings compile to a `Matcher` that fails to match any node. Behaviour of the various functions that take a selector string as argument follows from that fact, e.g. (where `~` is an invalid selector string):
|
||||||
|
|
||||||
@ -123,12 +124,11 @@ func ExampleScrape() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find the review items
|
// Find the review items
|
||||||
doc.Find(".sidebar-reviews article .content-block").Each(func(i int, s *goquery.Selection) {
|
doc.Find(".left-content article .post-title").Each(func(i int, s *goquery.Selection) {
|
||||||
// For each item found, get the band and title
|
// For each item found, get the title
|
||||||
band := s.Find("a").Text()
|
title := s.Find("a").Text()
|
||||||
title := s.Find("i").Text()
|
fmt.Printf("Review %d: %s\n", i, title)
|
||||||
fmt.Printf("Review %d: %s - %s\n", i, band, title)
|
})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -161,8 +161,9 @@ There are a number of ways you can support the project:
|
|||||||
* Pull requests: please discuss new code in an issue first, unless the fix is really trivial.
|
* Pull requests: please discuss new code in an issue first, unless the fix is really trivial.
|
||||||
- Make sure new code is tested.
|
- Make sure new code is tested.
|
||||||
- Be mindful of existing code - PRs that break existing code have a high probability of being declined, unless it fixes a serious issue.
|
- Be mindful of existing code - PRs that break existing code have a high probability of being declined, unless it fixes a serious issue.
|
||||||
|
* Sponsor the developer
|
||||||
If you desperately want to send money my way, I have a BuyMeACoffee.com page:
|
- See the Github Sponsor button at the top of the repo on github
|
||||||
|
- or via BuyMeACoffee.com, below
|
||||||
|
|
||||||
<a href="https://www.buymeacoffee.com/mna" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
|
<a href="https://www.buymeacoffee.com/mna" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
|
||||||
|
|
||||||
@ -177,10 +178,10 @@ The [BSD 3-Clause license][bsd], the same as the [Go language][golic]. Cascadia'
|
|||||||
[bsd]: http://opensource.org/licenses/BSD-3-Clause
|
[bsd]: http://opensource.org/licenses/BSD-3-Clause
|
||||||
[golic]: http://golang.org/LICENSE
|
[golic]: http://golang.org/LICENSE
|
||||||
[caslic]: https://github.com/andybalholm/cascadia/blob/master/LICENSE
|
[caslic]: https://github.com/andybalholm/cascadia/blob/master/LICENSE
|
||||||
[doc]: http://godoc.org/github.com/PuerkitoBio/goquery
|
[doc]: https://pkg.go.dev/github.com/PuerkitoBio/goquery
|
||||||
[index]: http://api.jquery.com/index/
|
[index]: http://api.jquery.com/index/
|
||||||
[gonet]: https://github.com/golang/net/
|
[gonet]: https://github.com/golang/net/
|
||||||
[html]: http://godoc.org/golang.org/x/net/html
|
[html]: https://pkg.go.dev/golang.org/x/net/html
|
||||||
[wiki]: https://github.com/PuerkitoBio/goquery/wiki/Tips-and-tricks
|
[wiki]: https://github.com/PuerkitoBio/goquery/wiki/Tips-and-tricks
|
||||||
[thatguystone]: https://github.com/thatguystone
|
[thatguystone]: https://github.com/thatguystone
|
||||||
[piotr]: https://github.com/piotrkowalczuk
|
[piotr]: https://github.com/piotrkowalczuk
|
||||||
|
64
vendor/github.com/PuerkitoBio/goquery/type.go
generated
vendored
64
vendor/github.com/PuerkitoBio/goquery/type.go
generated
vendored
@ -7,7 +7,6 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/andybalholm/cascadia"
|
"github.com/andybalholm/cascadia"
|
||||||
|
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -122,6 +121,45 @@ type Matcher interface {
|
|||||||
Filter([]*html.Node) []*html.Node
|
Filter([]*html.Node) []*html.Node
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Single compiles a selector string to a Matcher that stops after the first
|
||||||
|
// match is found.
|
||||||
|
//
|
||||||
|
// By default, Selection.Find and other functions that accept a selector string
|
||||||
|
// to select nodes will use all matches corresponding to that selector. By
|
||||||
|
// using the Matcher returned by Single, at most the first match will be
|
||||||
|
// selected.
|
||||||
|
//
|
||||||
|
// For example, those two statements are semantically equivalent:
|
||||||
|
//
|
||||||
|
// sel1 := doc.Find("a").First()
|
||||||
|
// sel2 := doc.FindMatcher(goquery.Single("a"))
|
||||||
|
//
|
||||||
|
// The one using Single is optimized to be potentially much faster on large
|
||||||
|
// documents.
|
||||||
|
//
|
||||||
|
// Only the behaviour of the MatchAll method of the Matcher interface is
|
||||||
|
// altered compared to standard Matchers. This means that the single-selection
|
||||||
|
// property of the Matcher only applies for Selection methods where the Matcher
|
||||||
|
// is used to select nodes, not to filter or check if a node matches the
|
||||||
|
// Matcher - in those cases, the behaviour of the Matcher is unchanged (e.g.
|
||||||
|
// FilterMatcher(Single("div")) will still result in a Selection with multiple
|
||||||
|
// "div"s if there were many "div"s in the Selection to begin with).
|
||||||
|
func Single(selector string) Matcher {
|
||||||
|
return singleMatcher{compileMatcher(selector)}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SingleMatcher returns a Matcher matches the same nodes as m, but that stops
|
||||||
|
// after the first match is found.
|
||||||
|
//
|
||||||
|
// See the documentation of function Single for more details.
|
||||||
|
func SingleMatcher(m Matcher) Matcher {
|
||||||
|
if _, ok := m.(singleMatcher); ok {
|
||||||
|
// m is already a singleMatcher
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
return singleMatcher{m}
|
||||||
|
}
|
||||||
|
|
||||||
// compileMatcher compiles the selector string s and returns
|
// compileMatcher compiles the selector string s and returns
|
||||||
// the corresponding Matcher. If s is an invalid selector string,
|
// the corresponding Matcher. If s is an invalid selector string,
|
||||||
// it returns a Matcher that fails all matches.
|
// it returns a Matcher that fails all matches.
|
||||||
@ -133,6 +171,30 @@ func compileMatcher(s string) Matcher {
|
|||||||
return cs
|
return cs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type singleMatcher struct {
|
||||||
|
Matcher
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m singleMatcher) MatchAll(n *html.Node) []*html.Node {
|
||||||
|
// Optimized version - stops finding at the first match (cascadia-compiled
|
||||||
|
// matchers all use this code path).
|
||||||
|
if mm, ok := m.Matcher.(interface{ MatchFirst(*html.Node) *html.Node }); ok {
|
||||||
|
node := mm.MatchFirst(n)
|
||||||
|
if node == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return []*html.Node{node}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback version, for e.g. test mocks that don't provide the MatchFirst
|
||||||
|
// method.
|
||||||
|
nodes := m.Matcher.MatchAll(n)
|
||||||
|
if len(nodes) > 0 {
|
||||||
|
return nodes[:1:1]
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// invalidMatcher is a Matcher that always fails to match.
|
// invalidMatcher is a Matcher that always fails to match.
|
||||||
type invalidMatcher struct{}
|
type invalidMatcher struct{}
|
||||||
|
|
||||||
|
2
vendor/github.com/RoaringBitmap/roaring/parallel.go
generated
vendored
2
vendor/github.com/RoaringBitmap/roaring/parallel.go
generated
vendored
@ -354,7 +354,7 @@ func ParOr(parallelism int, bitmaps ...*Bitmap) *Bitmap {
|
|||||||
if lKey == MaxUint16 && hKey == 0 {
|
if lKey == MaxUint16 && hKey == 0 {
|
||||||
return New()
|
return New()
|
||||||
} else if len(bitmaps) == 1 {
|
} else if len(bitmaps) == 1 {
|
||||||
return bitmaps[0]
|
return bitmaps[0].Clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
keyRange := int(hKey) - int(lKey) + 1
|
keyRange := int(hKey) - int(lKey) + 1
|
||||||
|
16
vendor/github.com/alecthomas/chroma/.golangci.yml
generated
vendored
16
vendor/github.com/alecthomas/chroma/.golangci.yml
generated
vendored
@ -25,6 +25,17 @@ linters:
|
|||||||
- testpackage
|
- testpackage
|
||||||
- godot
|
- godot
|
||||||
- nestif
|
- nestif
|
||||||
|
- paralleltest
|
||||||
|
- nlreturn
|
||||||
|
- cyclop
|
||||||
|
- exhaustivestruct
|
||||||
|
- gci
|
||||||
|
- gofumpt
|
||||||
|
- errorlint
|
||||||
|
- exhaustive
|
||||||
|
- ifshort
|
||||||
|
- wrapcheck
|
||||||
|
- stylecheck
|
||||||
|
|
||||||
linters-settings:
|
linters-settings:
|
||||||
govet:
|
govet:
|
||||||
@ -36,6 +47,11 @@ linters-settings:
|
|||||||
goconst:
|
goconst:
|
||||||
min-len: 8
|
min-len: 8
|
||||||
min-occurrences: 3
|
min-occurrences: 3
|
||||||
|
forbidigo:
|
||||||
|
forbid:
|
||||||
|
- (Must)?NewLexer
|
||||||
|
exclude_godoc_examples: false
|
||||||
|
|
||||||
|
|
||||||
issues:
|
issues:
|
||||||
max-per-linter: 0
|
max-per-linter: 0
|
||||||
|
34
vendor/github.com/alecthomas/chroma/README.md
generated
vendored
34
vendor/github.com/alecthomas/chroma/README.md
generated
vendored
@ -41,7 +41,7 @@ C | C, C#, C++, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Cey
|
|||||||
D | D, Dart, Diff, Django/Jinja, Docker, DTD, Dylan
|
D | D, Dart, Diff, Django/Jinja, Docker, DTD, Dylan
|
||||||
E | EBNF, Elixir, Elm, EmacsLisp, Erlang
|
E | EBNF, Elixir, Elm, EmacsLisp, Erlang
|
||||||
F | Factor, Fish, Forth, Fortran, FSharp
|
F | Factor, Fish, Forth, Fortran, FSharp
|
||||||
G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, Gherkin, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groovy
|
G | GAS, GDScript, Genshi, Genshi HTML, Genshi Text, Gherkin, GLSL, Gnuplot, Go, Go HTML Template, Go Text Template, GraphQL, Groff, Groovy
|
||||||
H | Handlebars, Haskell, Haxe, HCL, Hexdump, HLB, HTML, HTTP, Hy
|
H | Handlebars, Haskell, Haxe, HCL, Hexdump, HLB, HTML, HTTP, Hy
|
||||||
I | Idris, Igor, INI, Io
|
I | Idris, Igor, INI, Io
|
||||||
J | J, Java, JavaScript, JSON, Julia, Jungle
|
J | J, Java, JavaScript, JSON, Julia, Jungle
|
||||||
@ -50,10 +50,10 @@ L | Lighttpd configuration file, LLVM, Lua
|
|||||||
M | Mako, markdown, Mason, Mathematica, Matlab, MiniZinc, MLIR, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL
|
M | Mako, markdown, Mason, Mathematica, Matlab, MiniZinc, MLIR, Modula-2, MonkeyC, MorrowindScript, Myghty, MySQL
|
||||||
N | NASM, Newspeak, Nginx configuration file, Nim, Nix
|
N | NASM, Newspeak, Nginx configuration file, Nim, Nix
|
||||||
O | Objective-C, OCaml, Octave, OpenSCAD, Org Mode
|
O | Objective-C, OCaml, Octave, OpenSCAD, Org Mode
|
||||||
P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerShell, Prolog, PromQL, Protocol Buffer, Puppet, Python, Python 3
|
P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerShell, Prolog, PromQL, Protocol Buffer, Puppet, Python 2, Python
|
||||||
Q | QBasic
|
Q | QBasic
|
||||||
R | R, Racket, Ragel, react, ReasonML, reg, reStructuredText, Rexx, Ruby, Rust
|
R | R, Racket, Ragel, Raku, react, ReasonML, reg, reStructuredText, Rexx, Ruby, Rust
|
||||||
S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Smalltalk, Smarty, Snobol, Solidity, SPARQL, SQL, SquidConf, Standard ML, Stylus, Swift, SYSTEMD, systemverilog
|
S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Smalltalk, Smarty, Snobol, Solidity, SPARQL, SQL, SquidConf, Standard ML, Stylus, Svelte, Swift, SYSTEMD, systemverilog
|
||||||
T | TableGen, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData
|
T | TableGen, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData
|
||||||
V | VB.net, verilog, VHDL, VimL, vue
|
V | VB.net, verilog, VHDL, VimL, vue
|
||||||
W | WDTE
|
W | WDTE
|
||||||
@ -210,10 +210,10 @@ using the included Python 3 script `pygments2chroma.py`. I use something like
|
|||||||
the following:
|
the following:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
python3 ~/Projects/chroma/_tools/pygments2chroma.py \
|
python3 _tools/pygments2chroma.py \
|
||||||
pygments.lexers.jvm.KotlinLexer \
|
pygments.lexers.jvm.KotlinLexer \
|
||||||
> ~/Projects/chroma/lexers/kotlin.go \
|
> lexers/k/kotlin.go \
|
||||||
&& gofmt -s -w ~/Projects/chroma/lexers/*.go
|
&& gofmt -s -w lexers/k/kotlin.go
|
||||||
```
|
```
|
||||||
|
|
||||||
See notes in [pygments-lexers.txt](https://github.com/alecthomas/chroma/blob/master/pygments-lexers.txt)
|
See notes in [pygments-lexers.txt](https://github.com/alecthomas/chroma/blob/master/pygments-lexers.txt)
|
||||||
@ -255,12 +255,30 @@ A command-line interface to Chroma is included. It can be installed with:
|
|||||||
go get -u github.com/alecthomas/chroma/cmd/chroma
|
go get -u github.com/alecthomas/chroma/cmd/chroma
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The CLI can be used as a preprocessor to colorise output of `less(1)`,
|
||||||
|
see documentation for the `LESSOPEN` environment variable.
|
||||||
|
|
||||||
|
The `--fail` flag can be used to suppress output and return with exit status
|
||||||
|
1 to facilitate falling back to some other preprocessor in case chroma
|
||||||
|
does not resolve a specific lexer to use for the given file. For example:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export LESSOPEN='| p() { chroma --fail "$1" || cat "$1"; }; p "%s"'
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `cat` with your favourite fallback preprocessor.
|
||||||
|
|
||||||
|
When invoked as `.lessfilter`, the `--fail` flag is automatically turned
|
||||||
|
on under the hood for easy integration with [lesspipe shipping with
|
||||||
|
Debian and derivatives](https://manpages.debian.org/lesspipe#USER_DEFINED_FILTERS);
|
||||||
|
for that setup the `chroma` executable can be just symlinked to `~/.lessfilter`.
|
||||||
|
|
||||||
<a id="markdown-whats-missing-compared-to-pygments" name="whats-missing-compared-to-pygments"></a>
|
<a id="markdown-whats-missing-compared-to-pygments" name="whats-missing-compared-to-pygments"></a>
|
||||||
## What's missing compared to Pygments?
|
## What's missing compared to Pygments?
|
||||||
|
|
||||||
- Quite a few lexers, for various reasons (pull-requests welcome):
|
- Quite a few lexers, for various reasons (pull-requests welcome):
|
||||||
- Pygments lexers for complex languages often include custom code to
|
- Pygments lexers for complex languages often include custom code to
|
||||||
handle certain aspects, such as Perl6's ability to nest code inside
|
handle certain aspects, such as Raku's ability to nest code inside
|
||||||
regular expressions. These require time and effort to convert.
|
regular expressions. These require time and effort to convert.
|
||||||
- I mostly only converted languages I had heard of, to reduce the porting cost.
|
- I mostly only converted languages I had heard of, to reduce the porting cost.
|
||||||
- Some more esoteric features of Pygments are omitted for simplicity.
|
- Some more esoteric features of Pygments are omitted for simplicity.
|
||||||
|
2
vendor/github.com/alecthomas/chroma/formatters/html/html.go
generated
vendored
2
vendor/github.com/alecthomas/chroma/formatters/html/html.go
generated
vendored
@ -131,7 +131,7 @@ var (
|
|||||||
}
|
}
|
||||||
defaultPreWrapper = preWrapper{
|
defaultPreWrapper = preWrapper{
|
||||||
start: func(code bool, styleAttr string) string {
|
start: func(code bool, styleAttr string) string {
|
||||||
return fmt.Sprintf("<pre%s>", styleAttr)
|
return fmt.Sprintf(`<pre tabindex="0"%s>`, styleAttr)
|
||||||
},
|
},
|
||||||
end: func(code bool) string {
|
end: func(code bool) string {
|
||||||
return "</pre>"
|
return "</pre>"
|
||||||
|
4
vendor/github.com/alecthomas/chroma/go.sum
generated
vendored
4
vendor/github.com/alecthomas/chroma/go.sum
generated
vendored
@ -11,15 +11,12 @@ github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9
|
|||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/dlclark/regexp2 v1.2.0 h1:8sAhBGEM0dRWogWqWyQeIJnxjWO6oIjl8FKqREDsGfk=
|
|
||||||
github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
|
|
||||||
github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
|
github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
|
||||||
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
|
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
|
||||||
github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE=
|
github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE=
|
||||||
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||||
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
|
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
|
||||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
@ -28,7 +25,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
|
|||||||
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
|
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
|
||||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
9
vendor/github.com/alecthomas/chroma/lexer.go
generated
vendored
9
vendor/github.com/alecthomas/chroma/lexer.go
generated
vendored
@ -2,6 +2,7 @@ package chroma
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -98,9 +99,11 @@ type Lexer interface {
|
|||||||
// Lexers is a slice of lexers sortable by name.
|
// Lexers is a slice of lexers sortable by name.
|
||||||
type Lexers []Lexer
|
type Lexers []Lexer
|
||||||
|
|
||||||
func (l Lexers) Len() int { return len(l) }
|
func (l Lexers) Len() int { return len(l) }
|
||||||
func (l Lexers) Swap(i, j int) { l[i], l[j] = l[j], l[i] }
|
func (l Lexers) Swap(i, j int) { l[i], l[j] = l[j], l[i] }
|
||||||
func (l Lexers) Less(i, j int) bool { return l[i].Config().Name < l[j].Config().Name }
|
func (l Lexers) Less(i, j int) bool {
|
||||||
|
return strings.ToLower(l[i].Config().Name) < strings.ToLower(l[j].Config().Name)
|
||||||
|
}
|
||||||
|
|
||||||
// PrioritisedLexers is a slice of lexers sortable by priority.
|
// PrioritisedLexers is a slice of lexers sortable by priority.
|
||||||
type PrioritisedLexers []Lexer
|
type PrioritisedLexers []Lexer
|
||||||
|
3
vendor/github.com/alecthomas/chroma/lexers/README.md
generated
vendored
3
vendor/github.com/alecthomas/chroma/lexers/README.md
generated
vendored
@ -3,6 +3,9 @@
|
|||||||
The tests in this directory feed a known input `testdata/<name>.actual` into the parser for `<name>` and check
|
The tests in this directory feed a known input `testdata/<name>.actual` into the parser for `<name>` and check
|
||||||
that its output matches `<name>.exported`.
|
that its output matches `<name>.exported`.
|
||||||
|
|
||||||
|
It is also possible to perform several tests on a same parser `<name>`, by placing know inputs `*.actual` into a
|
||||||
|
directory `testdata/<name>/`.
|
||||||
|
|
||||||
## Running the tests
|
## Running the tests
|
||||||
|
|
||||||
Run the tests as normal:
|
Run the tests as normal:
|
||||||
|
6
vendor/github.com/alecthomas/chroma/lexers/c/c.go
generated
vendored
6
vendor/github.com/alecthomas/chroma/lexers/c/c.go
generated
vendored
@ -10,8 +10,8 @@ var C = internal.Register(MustNewLazyLexer(
|
|||||||
&Config{
|
&Config{
|
||||||
Name: "C",
|
Name: "C",
|
||||||
Aliases: []string{"c"},
|
Aliases: []string{"c"},
|
||||||
Filenames: []string{"*.c", "*.h", "*.idc"},
|
Filenames: []string{"*.c", "*.h", "*.idc", "*.x[bp]m"},
|
||||||
MimeTypes: []string{"text/x-chdr", "text/x-csrc"},
|
MimeTypes: []string{"text/x-chdr", "text/x-csrc", "image/x-xbitmap", "image/x-xpixmap"},
|
||||||
EnsureNL: true,
|
EnsureNL: true,
|
||||||
},
|
},
|
||||||
cRules,
|
cRules,
|
||||||
@ -43,7 +43,7 @@ func cRules() Rules {
|
|||||||
{`[~!%^&*+=|?:<>/-]`, Operator, nil},
|
{`[~!%^&*+=|?:<>/-]`, Operator, nil},
|
||||||
{`[()\[\],.]`, Punctuation, nil},
|
{`[()\[\],.]`, Punctuation, nil},
|
||||||
{Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil},
|
{Words(``, `\b`, `asm`, `auto`, `break`, `case`, `const`, `continue`, `default`, `do`, `else`, `enum`, `extern`, `for`, `goto`, `if`, `register`, `restricted`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `volatile`, `while`), Keyword, nil},
|
||||||
{`(bool|int|long|float|short|double|char|unsigned|signed|void)\b`, KeywordType, nil},
|
{`(bool|int|long|float|short|double|char((8|16|32)_t)?|unsigned|signed|void|u?int(_fast|_least|)(8|16|32|64)_t)\b`, KeywordType, nil},
|
||||||
{Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil},
|
{Words(``, `\b`, `inline`, `_inline`, `__inline`, `naked`, `restrict`, `thread`, `typename`), KeywordReserved, nil},
|
||||||
{`(__m(128i|128d|128|64))\b`, KeywordReserved, nil},
|
{`(__m(128i|128d|128|64))\b`, KeywordReserved, nil},
|
||||||
{Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil},
|
{Words(`__`, `\b`, `asm`, `int8`, `based`, `except`, `int16`, `stdcall`, `cdecl`, `fastcall`, `int32`, `declspec`, `finally`, `int64`, `try`, `leave`, `wchar_t`, `w64`, `unaligned`, `raise`, `noop`, `identifier`, `forceinline`, `assume`), KeywordReserved, nil},
|
||||||
|
5
vendor/github.com/alecthomas/chroma/lexers/circular/phtml.go
generated
vendored
5
vendor/github.com/alecthomas/chroma/lexers/circular/phtml.go
generated
vendored
@ -13,11 +13,12 @@ var PHTML = internal.Register(DelegatingLexer(h.HTML, MustNewLazyLexer(
|
|||||||
&Config{
|
&Config{
|
||||||
Name: "PHTML",
|
Name: "PHTML",
|
||||||
Aliases: []string{"phtml"},
|
Aliases: []string{"phtml"},
|
||||||
Filenames: []string{"*.phtml"},
|
Filenames: []string{"*.phtml", "*.php", "*.php[345]", "*.inc"},
|
||||||
MimeTypes: []string{"application/x-php", "application/x-httpd-php", "application/x-httpd-php3", "application/x-httpd-php4", "application/x-httpd-php5"},
|
MimeTypes: []string{"application/x-php", "application/x-httpd-php", "application/x-httpd-php3", "application/x-httpd-php4", "application/x-httpd-php5", "text/x-php"},
|
||||||
DotAll: true,
|
DotAll: true,
|
||||||
CaseInsensitive: true,
|
CaseInsensitive: true,
|
||||||
EnsureNL: true,
|
EnsureNL: true,
|
||||||
|
Priority: 2,
|
||||||
},
|
},
|
||||||
phtmlRules,
|
phtmlRules,
|
||||||
).SetAnalyser(func(text string) float32 {
|
).SetAnalyser(func(text string) float32 {
|
||||||
|
112
vendor/github.com/alecthomas/chroma/lexers/d/dylan.go
generated
vendored
112
vendor/github.com/alecthomas/chroma/lexers/d/dylan.go
generated
vendored
@ -6,7 +6,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Dylan lexer.
|
// Dylan lexer.
|
||||||
var Dylan = internal.Register(MustNewLexer(
|
var Dylan = internal.Register(MustNewLazyLexer(
|
||||||
&Config{
|
&Config{
|
||||||
Name: "Dylan",
|
Name: "Dylan",
|
||||||
Aliases: []string{"dylan"},
|
Aliases: []string{"dylan"},
|
||||||
@ -14,61 +14,63 @@ var Dylan = internal.Register(MustNewLexer(
|
|||||||
MimeTypes: []string{"text/x-dylan"},
|
MimeTypes: []string{"text/x-dylan"},
|
||||||
CaseInsensitive: true,
|
CaseInsensitive: true,
|
||||||
},
|
},
|
||||||
Rules{
|
func() Rules {
|
||||||
"root": {
|
return Rules{
|
||||||
{`\s+`, Whitespace, nil},
|
"root": {
|
||||||
{`//.*?\n`, CommentSingle, nil},
|
{`\s+`, Whitespace, nil},
|
||||||
{`([a-z0-9-]+:)([ \t]*)(.*(?:\n[ \t].+)*)`, ByGroups(NameAttribute, Whitespace, LiteralString), nil},
|
{`//.*?\n`, CommentSingle, nil},
|
||||||
Default(Push("code")),
|
{`([a-z0-9-]+:)([ \t]*)(.*(?:\n[ \t].+)*)`, ByGroups(NameAttribute, Whitespace, LiteralString), nil},
|
||||||
},
|
Default(Push("code")),
|
||||||
"code": {
|
},
|
||||||
{`\s+`, Whitespace, nil},
|
"code": {
|
||||||
{`//.*?\n`, CommentSingle, nil},
|
{`\s+`, Whitespace, nil},
|
||||||
{`/\*`, CommentMultiline, Push("comment")},
|
{`//.*?\n`, CommentSingle, nil},
|
||||||
{`"`, LiteralString, Push("string")},
|
{`/\*`, CommentMultiline, Push("comment")},
|
||||||
{`'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'`, LiteralStringChar, nil},
|
{`"`, LiteralString, Push("string")},
|
||||||
{`#b[01]+`, LiteralNumberBin, nil},
|
{`'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'`, LiteralStringChar, nil},
|
||||||
{`#o[0-7]+`, LiteralNumberOct, nil},
|
{`#b[01]+`, LiteralNumberBin, nil},
|
||||||
{`[-+]?(\d*\.\d+([ed][-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)`, LiteralNumberFloat, nil},
|
{`#o[0-7]+`, LiteralNumberOct, nil},
|
||||||
{`[-+]?\d+`, LiteralNumberInteger, nil},
|
{`[-+]?(\d*\.\d+([ed][-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)`, LiteralNumberFloat, nil},
|
||||||
{`#x[0-9a-f]+`, LiteralNumberHex, nil},
|
{`[-+]?\d+`, LiteralNumberInteger, nil},
|
||||||
|
{`#x[0-9a-f]+`, LiteralNumberHex, nil},
|
||||||
|
|
||||||
{`(\?\\?)([\w!&*<>|^$%@+~?/=-]+)(:)(token|name|variable|expression|body|case-body|\*)`,
|
{`(\?\\?)([\w!&*<>|^$%@+~?/=-]+)(:)(token|name|variable|expression|body|case-body|\*)`,
|
||||||
ByGroups(Operator, NameVariable, Operator, NameBuiltin), nil},
|
ByGroups(Operator, NameVariable, Operator, NameBuiltin), nil},
|
||||||
{`(\?)(:)(token|name|variable|expression|body|case-body|\*)`,
|
{`(\?)(:)(token|name|variable|expression|body|case-body|\*)`,
|
||||||
ByGroups(Operator, Operator, NameVariable), nil},
|
ByGroups(Operator, Operator, NameVariable), nil},
|
||||||
{`(\?\\?)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(Operator, NameVariable), nil},
|
{`(\?\\?)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(Operator, NameVariable), nil},
|
||||||
|
|
||||||
{`(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])`, Punctuation, nil},
|
{`(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])`, Punctuation, nil},
|
||||||
{`:=`, Operator, nil},
|
{`:=`, Operator, nil},
|
||||||
{`#[tf]`, Literal, nil},
|
{`#[tf]`, Literal, nil},
|
||||||
{`#"`, LiteralStringSymbol, Push("symbol")},
|
{`#"`, LiteralStringSymbol, Push("symbol")},
|
||||||
{`#[a-z0-9-]+`, Keyword, nil},
|
{`#[a-z0-9-]+`, Keyword, nil},
|
||||||
{`#(all-keys|include|key|next|rest)`, Keyword, nil},
|
{`#(all-keys|include|key|next|rest)`, Keyword, nil},
|
||||||
{`[\w!&*<>|^$%@+~?/=-]+:`, KeywordConstant, nil},
|
{`[\w!&*<>|^$%@+~?/=-]+:`, KeywordConstant, nil},
|
||||||
{`<[\w!&*<>|^$%@+~?/=-]+>`, NameClass, nil},
|
{`<[\w!&*<>|^$%@+~?/=-]+>`, NameClass, nil},
|
||||||
{`\*[\w!&*<>|^$%@+~?/=-]+\*`, NameVariableGlobal, nil},
|
{`\*[\w!&*<>|^$%@+~?/=-]+\*`, NameVariableGlobal, nil},
|
||||||
{`\$[\w!&*<>|^$%@+~?/=-]+`, NameConstant, nil},
|
{`\$[\w!&*<>|^$%@+~?/=-]+`, NameConstant, nil},
|
||||||
{`(let|method|function)([ \t]+)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(NameBuiltin, Whitespace, NameVariable), nil},
|
{`(let|method|function)([ \t]+)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(NameBuiltin, Whitespace, NameVariable), nil},
|
||||||
{`(error|signal|return|break)`, NameException, nil},
|
{`(error|signal|return|break)`, NameException, nil},
|
||||||
{`(\\?)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(Operator, Name), nil},
|
{`(\\?)([\w!&*<>|^$%@+~?/=-]+)`, ByGroups(Operator, Name), nil},
|
||||||
},
|
},
|
||||||
"comment": {
|
"comment": {
|
||||||
{`[^*/]`, CommentMultiline, nil},
|
{`[^*/]`, CommentMultiline, nil},
|
||||||
{`/\*`, CommentMultiline, Push()},
|
{`/\*`, CommentMultiline, Push()},
|
||||||
{`\*/`, CommentMultiline, Pop(1)},
|
{`\*/`, CommentMultiline, Pop(1)},
|
||||||
{`[*/]`, CommentMultiline, nil},
|
{`[*/]`, CommentMultiline, nil},
|
||||||
},
|
},
|
||||||
"symbol": {
|
"symbol": {
|
||||||
{`"`, LiteralStringSymbol, Pop(1)},
|
{`"`, LiteralStringSymbol, Pop(1)},
|
||||||
{`[^\\"]+`, LiteralStringSymbol, nil},
|
{`[^\\"]+`, LiteralStringSymbol, nil},
|
||||||
},
|
},
|
||||||
"string": {
|
"string": {
|
||||||
{`"`, LiteralString, Pop(1)},
|
{`"`, LiteralString, Pop(1)},
|
||||||
{`\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})`, LiteralStringEscape, nil},
|
{`\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})`, LiteralStringEscape, nil},
|
||||||
{`[^\\"\n]+`, LiteralString, nil},
|
{`[^\\"\n]+`, LiteralString, nil},
|
||||||
{`\\\n`, LiteralString, nil},
|
{`\\\n`, LiteralString, nil},
|
||||||
{`\\`, LiteralString, nil},
|
{`\\`, LiteralString, nil},
|
||||||
},
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
|
43
vendor/github.com/alecthomas/chroma/lexers/f/fish.go
generated
vendored
43
vendor/github.com/alecthomas/chroma/lexers/f/fish.go
generated
vendored
@ -17,11 +17,32 @@ var Fish = internal.Register(MustNewLazyLexer(
|
|||||||
))
|
))
|
||||||
|
|
||||||
func fishRules() Rules {
|
func fishRules() Rules {
|
||||||
|
keywords := []string{
|
||||||
|
`begin`, `end`, `if`, `else`, `while`, `break`, `for`, `return`, `function`, `block`,
|
||||||
|
`case`, `continue`, `switch`, `not`, `and`, `or`, `set`, `echo`, `exit`, `pwd`, `true`,
|
||||||
|
`false`, `cd`, `cdh`, `count`, `test`,
|
||||||
|
}
|
||||||
|
keywordsPattern := Words(`\b`, `\b`, keywords...)
|
||||||
|
|
||||||
|
builtins := []string{
|
||||||
|
`alias`, `bg`, `bind`, `breakpoint`, `builtin`, `argparse`, `abbr`, `string`, `command`,
|
||||||
|
`commandline`, `complete`, `contains`, `dirh`, `dirs`, `disown`, `emit`, `eval`, `exec`,
|
||||||
|
`fg`, `fish`, `fish_add_path`, `fish_breakpoint_prompt`, `fish_command_not_found`,
|
||||||
|
`fish_config`, `fish_git_prompt`, `fish_greeting`, `fish_hg_prompt`, `fish_indent`,
|
||||||
|
`fish_is_root_user`, `fish_key_reader`, `fish_mode_prompt`, `fish_opt`, `fish_pager`,
|
||||||
|
`fish_prompt`, `fish_right_prompt`, `fish_status_to_signal`, `fish_svn_prompt`,
|
||||||
|
`fish_title`, `fish_update_completions`, `fish_vcs_prompt`, `fishd`, `funced`,
|
||||||
|
`funcsave`, `functions`, `help`, `history`, `isatty`, `jobs`, `math`, `mimedb`, `nextd`,
|
||||||
|
`open`, `prompt_pwd`, `realpath`, `popd`, `prevd`, `psub`, `pushd`, `random`, `read`,
|
||||||
|
`set_color`, `source`, `status`, `suspend`, `trap`, `type`, `ulimit`, `umask`, `vared`,
|
||||||
|
`fc`, `getopts`, `hash`, `kill`, `printf`, `time`, `wait`,
|
||||||
|
}
|
||||||
|
|
||||||
return Rules{
|
return Rules{
|
||||||
"root": {
|
"root": {
|
||||||
Include("basic"),
|
Include("basic"),
|
||||||
Include("data"),
|
|
||||||
Include("interp"),
|
Include("interp"),
|
||||||
|
Include("data"),
|
||||||
},
|
},
|
||||||
"interp": {
|
"interp": {
|
||||||
{`\$\(\(`, Keyword, Push("math")},
|
{`\$\(\(`, Keyword, Push("math")},
|
||||||
@ -29,13 +50,20 @@ func fishRules() Rules {
|
|||||||
{`\$#?(\w+|.)`, NameVariable, nil},
|
{`\$#?(\w+|.)`, NameVariable, nil},
|
||||||
},
|
},
|
||||||
"basic": {
|
"basic": {
|
||||||
{`\b(begin|end|if|else|while|break|for|in|return|function|block|case|continue|switch|not|and|or|set|echo|exit|pwd|true|false|cd|count|test)(\s*)\b`, ByGroups(Keyword, Text), nil},
|
{Words(`(?<=(?:^|\A|;|&&|\|\||\||`+keywordsPattern+`)\s*)`, `(?=;?\b)`, keywords...), Keyword, nil},
|
||||||
{`\b(alias|bg|bind|breakpoint|builtin|command|commandline|complete|contains|dirh|dirs|emit|eval|exec|fg|fish|fish_config|fish_indent|fish_pager|fish_prompt|fish_right_prompt|fish_update_completions|fishd|funced|funcsave|functions|help|history|isatty|jobs|math|mimedb|nextd|open|popd|prevd|psub|pushd|random|read|set_color|source|status|trap|type|ulimit|umask|vared|fc|getopts|hash|kill|printf|time|wait)\s*\b(?!\.)`, NameBuiltin, nil},
|
{`(?<=for\s+\S+\s+)in\b`, Keyword, nil},
|
||||||
|
{Words(`\b`, `\s*\b(?!\.)`, builtins...), NameBuiltin, nil},
|
||||||
|
{`#!.*\n`, CommentHashbang, nil},
|
||||||
{`#.*\n`, Comment, nil},
|
{`#.*\n`, Comment, nil},
|
||||||
{`\\[\w\W]`, LiteralStringEscape, nil},
|
{`\\[\w\W]`, LiteralStringEscape, nil},
|
||||||
{`(\b\w+)(\s*)(=)`, ByGroups(NameVariable, Text, Operator), nil},
|
{`(\b\w+)(\s*)(=)`, ByGroups(NameVariable, Text, Operator), nil},
|
||||||
{`[\[\]()=]`, Operator, nil},
|
{`[\[\]()={}]`, Operator, nil},
|
||||||
|
{`(?<=\[[^\]]+)\.\.|-(?=[^\[]+\])`, Operator, nil},
|
||||||
{`<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2`, LiteralString, nil},
|
{`<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2`, LiteralString, nil},
|
||||||
|
{`(?<=set\s+(?:--?[^\d\W][\w-]*\s+)?)\w+`, NameVariable, nil},
|
||||||
|
{`(?<=for\s+)\w[\w-]*(?=\s+in)`, NameVariable, nil},
|
||||||
|
{`(?<=function\s+)\w(?:[^\n])*?(?= *[-\n])`, NameFunction, nil},
|
||||||
|
{`(?<=(?:^|\b(?:and|or|sudo)\b|;|\|\||&&|\||\(|(?:\b\w+\s*=\S+\s)) *)\w[\w-]*`, NameFunction, nil},
|
||||||
},
|
},
|
||||||
"data": {
|
"data": {
|
||||||
{`(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\$])*"`, LiteralStringDouble, nil},
|
{`(?s)\$?"(\\\\|\\[0-7]+|\\.|[^"\\$])*"`, LiteralStringDouble, nil},
|
||||||
@ -43,10 +71,11 @@ func fishRules() Rules {
|
|||||||
{`(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil},
|
{`(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'`, LiteralStringSingle, nil},
|
||||||
{`(?s)'.*?'`, LiteralStringSingle, nil},
|
{`(?s)'.*?'`, LiteralStringSingle, nil},
|
||||||
{`;`, Punctuation, nil},
|
{`;`, Punctuation, nil},
|
||||||
{`&|\||\^|<|>`, Operator, nil},
|
{`&&|\|\||&|\||\^|<|>`, Operator, nil},
|
||||||
{`\s+`, Text, nil},
|
{`\s+`, Text, nil},
|
||||||
{`\d+(?= |\Z)`, LiteralNumber, nil},
|
{`\b\d+\b`, LiteralNumber, nil},
|
||||||
{"[^=\\s\\[\\]{}()$\"\\'`\\\\<&|;]+", Text, nil},
|
{`--?[^\d][\w-]*`, NameAttribute, nil},
|
||||||
|
{".+?", Text, nil},
|
||||||
},
|
},
|
||||||
"string": {
|
"string": {
|
||||||
{`"`, LiteralStringDouble, Pop(1)},
|
{`"`, LiteralStringDouble, Pop(1)},
|
||||||
|
39
vendor/github.com/alecthomas/chroma/lexers/f/fortran_fixed.go
generated
vendored
Normal file
39
vendor/github.com/alecthomas/chroma/lexers/f/fortran_fixed.go
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package f
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
|
"github.com/alecthomas/chroma/lexers/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// FortranFixed lexer.
|
||||||
|
var FortranFixed = internal.Register(MustNewLazyLexer(
|
||||||
|
&Config{
|
||||||
|
Name: "FortranFixed",
|
||||||
|
Aliases: []string{"fortranfixed"},
|
||||||
|
Filenames: []string{"*.f", "*.F"},
|
||||||
|
MimeTypes: []string{"text/x-fortran"},
|
||||||
|
NotMultiline: true,
|
||||||
|
CaseInsensitive: true,
|
||||||
|
},
|
||||||
|
func() Rules {
|
||||||
|
return Rules{
|
||||||
|
"root": {
|
||||||
|
{`[C*].*\n`, Comment, nil},
|
||||||
|
{`#.*\n`, CommentPreproc, nil},
|
||||||
|
{`[\t ]*!.*\n`, Comment, nil},
|
||||||
|
{`(.{5})`, NameLabel, Push("cont-char")},
|
||||||
|
{`.*\n`, Using(Fortran), nil},
|
||||||
|
},
|
||||||
|
"cont-char": {
|
||||||
|
{` `, Text, Push("code")},
|
||||||
|
{`0`, Comment, Push("code")},
|
||||||
|
{`.`, GenericStrong, Push("code")},
|
||||||
|
},
|
||||||
|
"code": {
|
||||||
|
{`(.{66})(.*)(\n)`, ByGroups(Using(Fortran), Comment, Text), Push("root")},
|
||||||
|
{`.*\n`, Using(Fortran), Push("root")},
|
||||||
|
Default(Push("root")),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
))
|
47
vendor/github.com/alecthomas/chroma/lexers/g/groff.go
generated
vendored
Normal file
47
vendor/github.com/alecthomas/chroma/lexers/g/groff.go
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package g
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
|
"github.com/alecthomas/chroma/lexers/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Groff lexer.
|
||||||
|
var Groff = internal.Register(MustNewLazyLexer(
|
||||||
|
&Config{
|
||||||
|
Name: "Groff",
|
||||||
|
Aliases: []string{"groff", "nroff", "man"},
|
||||||
|
Filenames: []string{"*.[1-9]", "*.1p", "*.3pm", "*.man"},
|
||||||
|
MimeTypes: []string{"application/x-troff", "text/troff"},
|
||||||
|
},
|
||||||
|
func() Rules {
|
||||||
|
return Rules{
|
||||||
|
"root": {
|
||||||
|
{`(\.)(\w+)`, ByGroups(Text, Keyword), Push("request")},
|
||||||
|
{`\.`, Punctuation, Push("request")},
|
||||||
|
{`[^\\\n]+`, Text, Push("textline")},
|
||||||
|
Default(Push("textline")),
|
||||||
|
},
|
||||||
|
"textline": {
|
||||||
|
Include("escapes"),
|
||||||
|
{`[^\\\n]+`, Text, nil},
|
||||||
|
{`\n`, Text, Pop(1)},
|
||||||
|
},
|
||||||
|
"escapes": {
|
||||||
|
{`\\"[^\n]*`, Comment, nil},
|
||||||
|
{`\\[fn]\w`, LiteralStringEscape, nil},
|
||||||
|
{`\\\(.{2}`, LiteralStringEscape, nil},
|
||||||
|
{`\\.\[.*\]`, LiteralStringEscape, nil},
|
||||||
|
{`\\.`, LiteralStringEscape, nil},
|
||||||
|
{`\\\n`, Text, Push("request")},
|
||||||
|
},
|
||||||
|
"request": {
|
||||||
|
{`\n`, Text, Pop(1)},
|
||||||
|
Include("escapes"),
|
||||||
|
{`"[^\n"]+"`, LiteralStringDouble, nil},
|
||||||
|
{`\d+`, LiteralNumber, nil},
|
||||||
|
{`\S+`, LiteralString, nil},
|
||||||
|
{`\s+`, Text, nil},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
))
|
6
vendor/github.com/alecthomas/chroma/lexers/h/http.go
generated
vendored
6
vendor/github.com/alecthomas/chroma/lexers/h/http.go
generated
vendored
@ -37,14 +37,14 @@ func httpRules() Rules {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func httpContentBlock(groups []string, lexer Lexer) Iterator {
|
func httpContentBlock(groups []string, state *LexerState) Iterator {
|
||||||
tokens := []Token{
|
tokens := []Token{
|
||||||
{Generic, groups[0]},
|
{Generic, groups[0]},
|
||||||
}
|
}
|
||||||
return Literator(tokens...)
|
return Literator(tokens...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func httpHeaderBlock(groups []string, lexer Lexer) Iterator {
|
func httpHeaderBlock(groups []string, state *LexerState) Iterator {
|
||||||
tokens := []Token{
|
tokens := []Token{
|
||||||
{Name, groups[1]},
|
{Name, groups[1]},
|
||||||
{Text, groups[2]},
|
{Text, groups[2]},
|
||||||
@ -56,7 +56,7 @@ func httpHeaderBlock(groups []string, lexer Lexer) Iterator {
|
|||||||
return Literator(tokens...)
|
return Literator(tokens...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func httpContinuousHeaderBlock(groups []string, lexer Lexer) Iterator {
|
func httpContinuousHeaderBlock(groups []string, state *LexerState) Iterator {
|
||||||
tokens := []Token{
|
tokens := []Token{
|
||||||
{Text, groups[1]},
|
{Text, groups[1]},
|
||||||
{Literal, groups[2]},
|
{Literal, groups[2]},
|
||||||
|
27
vendor/github.com/alecthomas/chroma/lexers/internal/api.go
generated
vendored
27
vendor/github.com/alecthomas/chroma/lexers/internal/api.go
generated
vendored
@ -11,6 +11,19 @@ import (
|
|||||||
"github.com/alecthomas/chroma"
|
"github.com/alecthomas/chroma"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
ignoredSuffixes = [...]string{
|
||||||
|
// Editor backups
|
||||||
|
"~", ".bak", ".old", ".orig",
|
||||||
|
// Debian and derivatives apt/dpkg backups
|
||||||
|
".dpkg-dist", ".dpkg-old",
|
||||||
|
// Red Hat and derivatives rpm backups
|
||||||
|
".rpmnew", ".rpmorig", ".rpmsave",
|
||||||
|
// Build system input/template files
|
||||||
|
".in",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
// Registry of Lexers.
|
// Registry of Lexers.
|
||||||
var Registry = struct {
|
var Registry = struct {
|
||||||
Lexers chroma.Lexers
|
Lexers chroma.Lexers
|
||||||
@ -93,6 +106,13 @@ func Match(filename string) chroma.Lexer {
|
|||||||
for _, glob := range config.Filenames {
|
for _, glob := range config.Filenames {
|
||||||
if fnmatch.Match(glob, filename, 0) {
|
if fnmatch.Match(glob, filename, 0) {
|
||||||
matched = append(matched, lexer)
|
matched = append(matched, lexer)
|
||||||
|
} else {
|
||||||
|
for _, suf := range &ignoredSuffixes {
|
||||||
|
if fnmatch.Match(glob+suf, filename, 0) {
|
||||||
|
matched = append(matched, lexer)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -107,6 +127,13 @@ func Match(filename string) chroma.Lexer {
|
|||||||
for _, glob := range config.AliasFilenames {
|
for _, glob := range config.AliasFilenames {
|
||||||
if fnmatch.Match(glob, filename, 0) {
|
if fnmatch.Match(glob, filename, 0) {
|
||||||
matched = append(matched, lexer)
|
matched = append(matched, lexer)
|
||||||
|
} else {
|
||||||
|
for _, suf := range &ignoredSuffixes {
|
||||||
|
if fnmatch.Match(glob+suf, filename, 0) {
|
||||||
|
matched = append(matched, lexer)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
vendor/github.com/alecthomas/chroma/lexers/j/javascript.go
generated
vendored
2
vendor/github.com/alecthomas/chroma/lexers/j/javascript.go
generated
vendored
@ -61,7 +61,7 @@ var JavascriptRules = Rules{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Javascript lexer.
|
// Javascript lexer.
|
||||||
var Javascript = internal.Register(MustNewLexer(
|
var Javascript = internal.Register(MustNewLexer( // nolint: forbidigo
|
||||||
&Config{
|
&Config{
|
||||||
Name: "JavaScript",
|
Name: "JavaScript",
|
||||||
Aliases: []string{"js", "javascript"},
|
Aliases: []string{"js", "javascript"},
|
||||||
|
2
vendor/github.com/alecthomas/chroma/lexers/lexers.go
generated
vendored
2
vendor/github.com/alecthomas/chroma/lexers/lexers.go
generated
vendored
@ -3,7 +3,7 @@
|
|||||||
// Sub-packages contain lexer implementations.
|
// Sub-packages contain lexer implementations.
|
||||||
package lexers
|
package lexers
|
||||||
|
|
||||||
// nolint: golint
|
// nolint
|
||||||
import (
|
import (
|
||||||
"github.com/alecthomas/chroma"
|
"github.com/alecthomas/chroma"
|
||||||
_ "github.com/alecthomas/chroma/lexers/a"
|
_ "github.com/alecthomas/chroma/lexers/a"
|
||||||
|
2
vendor/github.com/alecthomas/chroma/lexers/m/markdown.go
generated
vendored
2
vendor/github.com/alecthomas/chroma/lexers/m/markdown.go
generated
vendored
@ -40,7 +40,7 @@ func markdownRules() Rules {
|
|||||||
},
|
},
|
||||||
"inline": {
|
"inline": {
|
||||||
{`\\.`, Text, nil},
|
{`\\.`, Text, nil},
|
||||||
{`(\s)([*_][^*_]+[*_])(\W|\n)`, ByGroups(Text, GenericEmph, Text), nil},
|
{`(\s)(\*|_)((?:(?!\2).)*)(\2)((?=\W|\n))`, ByGroups(Text, GenericEmph, GenericEmph, GenericEmph, Text), nil},
|
||||||
{`(\s)((\*\*|__).*?)\3((?=\W|\n))`, ByGroups(Text, GenericStrong, GenericStrong, Text), nil},
|
{`(\s)((\*\*|__).*?)\3((?=\W|\n))`, ByGroups(Text, GenericStrong, GenericStrong, Text), nil},
|
||||||
{`(\s)(~~[^~]+~~)((?=\W|\n))`, ByGroups(Text, GenericDeleted, Text), nil},
|
{`(\s)(~~[^~]+~~)((?=\W|\n))`, ByGroups(Text, GenericDeleted, Text), nil},
|
||||||
{"`[^`]+`", LiteralStringBacktick, nil},
|
{"`[^`]+`", LiteralStringBacktick, nil},
|
||||||
|
180
vendor/github.com/alecthomas/chroma/lexers/m/mcfunction.go
generated
vendored
180
vendor/github.com/alecthomas/chroma/lexers/m/mcfunction.go
generated
vendored
@ -6,7 +6,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// mcfunction lexer.
|
// mcfunction lexer.
|
||||||
var MCFunction = internal.Register(MustNewLexer(
|
var MCFunction = internal.Register(MustNewLazyLexer(
|
||||||
&Config{
|
&Config{
|
||||||
Name: "mcfunction",
|
Name: "mcfunction",
|
||||||
Aliases: []string{"mcfunction"},
|
Aliases: []string{"mcfunction"},
|
||||||
@ -15,93 +15,95 @@ var MCFunction = internal.Register(MustNewLexer(
|
|||||||
NotMultiline: true,
|
NotMultiline: true,
|
||||||
DotAll: true,
|
DotAll: true,
|
||||||
},
|
},
|
||||||
Rules{
|
func() Rules {
|
||||||
"simplevalue": {
|
return Rules{
|
||||||
{`(true|false)`, KeywordConstant, nil},
|
"simplevalue": {
|
||||||
{`[01]b`, LiteralNumber, nil},
|
{`(true|false)`, KeywordConstant, nil},
|
||||||
{`-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)`, LiteralNumberFloat, nil},
|
{`[01]b`, LiteralNumber, nil},
|
||||||
{`(-?\d+)(\.\.)(-?\d+)`, ByGroups(LiteralNumberInteger, Punctuation, LiteralNumberInteger), nil},
|
{`-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)`, LiteralNumberFloat, nil},
|
||||||
{`-?(0|[1-9]\d*)`, LiteralNumberInteger, nil},
|
{`(-?\d+)(\.\.)(-?\d+)`, ByGroups(LiteralNumberInteger, Punctuation, LiteralNumberInteger), nil},
|
||||||
{`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil},
|
{`-?(0|[1-9]\d*)`, LiteralNumberInteger, nil},
|
||||||
{`'[^']+'`, LiteralStringSingle, nil},
|
{`"(\\\\|\\"|[^"])*"`, LiteralStringDouble, nil},
|
||||||
{`([!#]?)(\w+)`, ByGroups(Punctuation, Text), nil},
|
{`'[^']+'`, LiteralStringSingle, nil},
|
||||||
},
|
{`([!#]?)(\w+)`, ByGroups(Punctuation, Text), nil},
|
||||||
"nbtobjectattribute": {
|
},
|
||||||
Include("nbtvalue"),
|
"nbtobjectattribute": {
|
||||||
{`:`, Punctuation, nil},
|
Include("nbtvalue"),
|
||||||
{`,`, Punctuation, Pop(1)},
|
{`:`, Punctuation, nil},
|
||||||
{`\}`, Punctuation, Pop(2)},
|
{`,`, Punctuation, Pop(1)},
|
||||||
},
|
{`\}`, Punctuation, Pop(2)},
|
||||||
"nbtobjectvalue": {
|
},
|
||||||
{`("(\\\\|\\"|[^"])*"|[a-zA-Z0-9_]+)`, NameTag, Push("nbtobjectattribute")},
|
"nbtobjectvalue": {
|
||||||
{`\}`, Punctuation, Pop(1)},
|
{`("(\\\\|\\"|[^"])*"|[a-zA-Z0-9_]+)`, NameTag, Push("nbtobjectattribute")},
|
||||||
},
|
{`\}`, Punctuation, Pop(1)},
|
||||||
"nbtarrayvalue": {
|
},
|
||||||
Include("nbtvalue"),
|
"nbtarrayvalue": {
|
||||||
{`,`, Punctuation, nil},
|
Include("nbtvalue"),
|
||||||
{`\]`, Punctuation, Pop(1)},
|
{`,`, Punctuation, nil},
|
||||||
},
|
{`\]`, Punctuation, Pop(1)},
|
||||||
"nbtvalue": {
|
},
|
||||||
Include("simplevalue"),
|
"nbtvalue": {
|
||||||
{`\{`, Punctuation, Push("nbtobjectvalue")},
|
Include("simplevalue"),
|
||||||
{`\[`, Punctuation, Push("nbtarrayvalue")},
|
{`\{`, Punctuation, Push("nbtobjectvalue")},
|
||||||
},
|
{`\[`, Punctuation, Push("nbtarrayvalue")},
|
||||||
"argumentvalue": {
|
},
|
||||||
Include("simplevalue"),
|
"argumentvalue": {
|
||||||
{`,`, Punctuation, Pop(1)},
|
Include("simplevalue"),
|
||||||
{`[}\]]`, Punctuation, Pop(2)},
|
{`,`, Punctuation, Pop(1)},
|
||||||
},
|
{`[}\]]`, Punctuation, Pop(2)},
|
||||||
"argumentlist": {
|
},
|
||||||
{`(nbt)(={)`, ByGroups(NameAttribute, Punctuation), Push("nbtobjectvalue")},
|
"argumentlist": {
|
||||||
{`([A-Za-z0-9/_!]+)(={)`, ByGroups(NameAttribute, Punctuation), Push("argumentlist")},
|
{`(nbt)(={)`, ByGroups(NameAttribute, Punctuation), Push("nbtobjectvalue")},
|
||||||
{`([A-Za-z0-9/_!]+)(=)`, ByGroups(NameAttribute, Punctuation), Push("argumentvalue")},
|
{`([A-Za-z0-9/_!]+)(={)`, ByGroups(NameAttribute, Punctuation), Push("argumentlist")},
|
||||||
Include("simplevalue"),
|
{`([A-Za-z0-9/_!]+)(=)`, ByGroups(NameAttribute, Punctuation), Push("argumentvalue")},
|
||||||
{`,`, Punctuation, nil},
|
Include("simplevalue"),
|
||||||
{`[}\]]`, Punctuation, Pop(1)},
|
{`,`, Punctuation, nil},
|
||||||
},
|
{`[}\]]`, Punctuation, Pop(1)},
|
||||||
"root": {
|
},
|
||||||
{`#.*?\n`, CommentSingle, nil},
|
"root": {
|
||||||
{Words(`/?`, `\b`, `ability`, `attributes`, `advancement`,
|
{`#.*?\n`, CommentSingle, nil},
|
||||||
`ban`, `ban-ip`, `banlist`, `bossbar`,
|
{Words(`/?`, `\b`, `ability`, `attributes`, `advancement`,
|
||||||
`camerashake`, `classroommode`, `clear`,
|
`ban`, `ban-ip`, `banlist`, `bossbar`,
|
||||||
`clearspawnpoint`, `clone`, `code`, `collect`,
|
`camerashake`, `classroommode`, `clear`,
|
||||||
`createagent`, `data`, `datapack`, `debug`,
|
`clearspawnpoint`, `clone`, `code`, `collect`,
|
||||||
`defaultgamemode`, `deop`, `destroy`, `detect`,
|
`createagent`, `data`, `datapack`, `debug`,
|
||||||
`detectredstone`, `difficulty`, `dropall`,
|
`defaultgamemode`, `deop`, `destroy`, `detect`,
|
||||||
`effect`, `enchant`, `event`, `execute`,
|
`detectredstone`, `difficulty`, `dropall`,
|
||||||
`experience`, `fill`, `flog`, `forceload`,
|
`effect`, `enchant`, `event`, `execute`,
|
||||||
`function`, `gamemode`, `gamerule`,
|
`experience`, `fill`, `flog`, `forceload`,
|
||||||
`geteduclientinfo`, `give`, `help`, `item`,
|
`function`, `gamemode`, `gamerule`,
|
||||||
`immutableworld`, `kick`, `kill`, `list`,
|
`geteduclientinfo`, `give`, `help`, `item`,
|
||||||
`locate`, `locatebiome`, `loot`, `me`, `mixer`,
|
`immutableworld`, `kick`, `kill`, `list`,
|
||||||
`mobevent`, `move`, `msg`, `music`, `op`,
|
`locate`, `locatebiome`, `loot`, `me`, `mixer`,
|
||||||
`pardon`, `particle`, `playanimation`,
|
`mobevent`, `move`, `msg`, `music`, `op`,
|
||||||
`playsound`, `position`, `publish`,
|
`pardon`, `particle`, `playanimation`,
|
||||||
`raytracefog`, `recipe`, `reload`, `remove`,
|
`playsound`, `position`, `publish`,
|
||||||
`replaceitem`, `ride`, `save`, `save-all`,
|
`raytracefog`, `recipe`, `reload`, `remove`,
|
||||||
`save-off`, `save-on`, `say`, `schedule`,
|
`replaceitem`, `ride`, `save`, `save-all`,
|
||||||
`scoreboard`, `seed`, `setblock`,
|
`save-off`, `save-on`, `say`, `schedule`,
|
||||||
`setidletimeout`, `setmaxplayers`,
|
`scoreboard`, `seed`, `setblock`,
|
||||||
`setworldspawn`, `spawnpoint`, `spectate`,
|
`setidletimeout`, `setmaxplayers`,
|
||||||
`spreadplayers`, `stop`, `stopsound`,
|
`setworldspawn`, `spawnpoint`, `spectate`,
|
||||||
`structure`, `summon`, `tag`, `team`, `teammsg`,
|
`spreadplayers`, `stop`, `stopsound`,
|
||||||
`teleport`, `tell`, `tellraw`, `testfor`,
|
`structure`, `summon`, `tag`, `team`, `teammsg`,
|
||||||
`testforblock`, `testforblocks`, `tickingarea`,
|
`teleport`, `tell`, `tellraw`, `testfor`,
|
||||||
`time`, `title`, `toggledownfall`, `tp`,
|
`testforblock`, `testforblocks`, `tickingarea`,
|
||||||
`tpagent`, `transfer`, `transferserver`,
|
`time`, `title`, `toggledownfall`, `tp`,
|
||||||
`trigger`, `turn`, `w`, `weather`, `whitelist`,
|
`tpagent`, `transfer`, `transferserver`,
|
||||||
`worldborder`, `worldbuilder`, `wsserver`, `xp`,
|
`trigger`, `turn`, `w`, `weather`, `whitelist`,
|
||||||
), KeywordReserved, nil},
|
`worldborder`, `worldbuilder`, `wsserver`, `xp`,
|
||||||
{Words(``, ``, `@p`, `@r`, `@a`, `@e`, `@s`, `@c`, `@v`),
|
), KeywordReserved, nil},
|
||||||
KeywordConstant, nil},
|
{Words(``, ``, `@p`, `@r`, `@a`, `@e`, `@s`, `@c`, `@v`),
|
||||||
{`\[`, Punctuation, Push("argumentlist")},
|
KeywordConstant, nil},
|
||||||
{`{`, Punctuation, Push("nbtobjectvalue")},
|
{`\[`, Punctuation, Push("argumentlist")},
|
||||||
{`~`, NameBuiltin, nil},
|
{`{`, Punctuation, Push("nbtobjectvalue")},
|
||||||
{`([a-zA-Z_]+:)?[a-zA-Z_]+\b`, Text, nil},
|
{`~`, NameBuiltin, nil},
|
||||||
{`([a-z]+)(\.)([0-9]+)\b`, ByGroups(Text, Punctuation, LiteralNumber), nil},
|
{`([a-zA-Z_]+:)?[a-zA-Z_]+\b`, Text, nil},
|
||||||
{`([<>=]|<=|>=)`, Punctuation, nil},
|
{`([a-z]+)(\.)([0-9]+)\b`, ByGroups(Text, Punctuation, LiteralNumber), nil},
|
||||||
Include("simplevalue"),
|
{`([<>=]|<=|>=)`, Punctuation, nil},
|
||||||
{`\s+`, TextWhitespace, nil},
|
Include("simplevalue"),
|
||||||
},
|
{`\s+`, TextWhitespace, nil},
|
||||||
|
},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
|
101
vendor/github.com/alecthomas/chroma/lexers/m/metal.go
generated
vendored
Normal file
101
vendor/github.com/alecthomas/chroma/lexers/m/metal.go
generated
vendored
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
package m
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
|
"github.com/alecthomas/chroma/lexers/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Metal lexer.
|
||||||
|
var Metal = internal.Register(MustNewLazyLexer(
|
||||||
|
&Config{
|
||||||
|
Name: "Metal",
|
||||||
|
Aliases: []string{"metal"},
|
||||||
|
Filenames: []string{"*.metal"},
|
||||||
|
MimeTypes: []string{"text/x-metal"},
|
||||||
|
EnsureNL: true,
|
||||||
|
},
|
||||||
|
metalRules,
|
||||||
|
))
|
||||||
|
|
||||||
|
func metalRules() Rules {
|
||||||
|
return Rules{
|
||||||
|
"statements": {
|
||||||
|
{Words(``, `\b`, `namespace`, `operator`, `template`, `this`, `using`, `constexpr`), Keyword, nil},
|
||||||
|
{`(enum)\b(\s+)(class)\b(\s*)`, ByGroups(Keyword, Text, Keyword, Text), Push("classname")},
|
||||||
|
{`(class|struct|enum|union)\b(\s*)`, ByGroups(Keyword, Text), Push("classname")},
|
||||||
|
{`\[\[.+\]\]`, NameAttribute, nil},
|
||||||
|
{`(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*`, LiteralNumberFloat, nil},
|
||||||
|
{`(\d+\.\d*|\.\d+|\d+[fF])[fF]?`, LiteralNumberFloat, nil},
|
||||||
|
{`0[xX]([0-9A-Fa-f]('?[0-9A-Fa-f]+)*)[LlUu]*`, LiteralNumberHex, nil},
|
||||||
|
{`0('?[0-7]+)+[LlUu]*`, LiteralNumberOct, nil},
|
||||||
|
{`0[Bb][01]('?[01]+)*[LlUu]*`, LiteralNumberBin, nil},
|
||||||
|
{`[0-9]('?[0-9]+)*[LlUu]*`, LiteralNumberInteger, nil},
|
||||||
|
{`\*/`, Error, nil},
|
||||||
|
{`[~!%^&*+=|?:<>/-]`, Operator, nil},
|
||||||
|
{`[()\[\],.]`, Punctuation, nil},
|
||||||
|
{Words(``, `\b`, `break`, `case`, `const`, `continue`, `do`, `else`, `enum`, `extern`, `for`, `if`, `return`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `while`), Keyword, nil},
|
||||||
|
{`(bool|float|half|long|ptrdiff_t|size_t|unsigned|u?char|u?int((8|16|32|64)_t)?|u?short)\b`, KeywordType, nil},
|
||||||
|
{`(bool|float|half|u?(char|int|long|short))(2|3|4)\b`, KeywordType, nil},
|
||||||
|
{`packed_(float|half|long|u?(char|int|short))(2|3|4)\b`, KeywordType, nil},
|
||||||
|
{`(float|half)(2|3|4)x(2|3|4)\b`, KeywordType, nil},
|
||||||
|
{`atomic_u?int\b`, KeywordType, nil},
|
||||||
|
{`(rg?(8|16)(u|s)norm|rgba(8|16)(u|s)norm|srgba8unorm|rgb10a2|rg11b10f|rgb9e5)\b`, KeywordType, nil},
|
||||||
|
{`(array|depth(2d|cube)(_array)?|depth2d_ms(_array)?|sampler|texture_buffer|texture(1|2)d(_array)?|texture2d_ms(_array)?|texture3d|texturecube(_array)?|uniform|visible_function_table)\b`, KeywordType, nil},
|
||||||
|
{`(true|false|NULL)\b`, NameBuiltin, nil},
|
||||||
|
{Words(``, `\b`, `device`, `constant`, `ray_data`, `thread`, `threadgroup`, `threadgroup_imageblock`), Keyword, nil},
|
||||||
|
{`([a-zA-Z_]\w*)(\s*)(:)(?!:)`, ByGroups(NameLabel, Text, Punctuation), nil},
|
||||||
|
{`[a-zA-Z_]\w*`, Name, nil},
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
Include("whitespace"),
|
||||||
|
{`(fragment|kernel|vertex)?((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)`, ByGroups(Keyword, UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), Push("function")},
|
||||||
|
{`(fragment|kernel|vertex)?((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)`, ByGroups(Keyword, UsingSelf("root"), NameFunction, UsingSelf("root"), UsingSelf("root"), Punctuation), nil},
|
||||||
|
Default(Push("statement")),
|
||||||
|
},
|
||||||
|
"classname": {
|
||||||
|
{`(\[\[.+\]\])(\s*)`, ByGroups(NameAttribute, Text), nil},
|
||||||
|
{`[a-zA-Z_]\w*`, NameClass, Pop(1)},
|
||||||
|
{`\s*(?=[>{])`, Text, Pop(1)},
|
||||||
|
},
|
||||||
|
"whitespace": {
|
||||||
|
{`^#if\s+0`, CommentPreproc, Push("if0")},
|
||||||
|
{`^#`, CommentPreproc, Push("macro")},
|
||||||
|
{`^(\s*(?:/[*].*?[*]/\s*)?)(#if\s+0)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("if0")},
|
||||||
|
{`^(\s*(?:/[*].*?[*]/\s*)?)(#)`, ByGroups(UsingSelf("root"), CommentPreproc), Push("macro")},
|
||||||
|
{`\n`, Text, nil},
|
||||||
|
{`\s+`, Text, nil},
|
||||||
|
{`\\\n`, Text, nil},
|
||||||
|
{`//(\n|[\w\W]*?[^\\]\n)`, CommentSingle, nil},
|
||||||
|
{`/(\\\n)?[*][\w\W]*?[*](\\\n)?/`, CommentMultiline, nil},
|
||||||
|
{`/(\\\n)?[*][\w\W]*`, CommentMultiline, nil},
|
||||||
|
},
|
||||||
|
"statement": {
|
||||||
|
Include("whitespace"),
|
||||||
|
Include("statements"),
|
||||||
|
{`[{]`, Punctuation, Push("root")},
|
||||||
|
{`[;}]`, Punctuation, Pop(1)},
|
||||||
|
},
|
||||||
|
"function": {
|
||||||
|
Include("whitespace"),
|
||||||
|
Include("statements"),
|
||||||
|
{`;`, Punctuation, nil},
|
||||||
|
{`\{`, Punctuation, Push()},
|
||||||
|
{`\}`, Punctuation, Pop(1)},
|
||||||
|
},
|
||||||
|
"macro": {
|
||||||
|
{`(include)(\s*(?:/[*].*?[*]/\s*)?)([^\n]+)`, ByGroups(CommentPreproc, Text, CommentPreprocFile), nil},
|
||||||
|
{`[^/\n]+`, CommentPreproc, nil},
|
||||||
|
{`/[*](.|\n)*?[*]/`, CommentMultiline, nil},
|
||||||
|
{`//.*?\n`, CommentSingle, Pop(1)},
|
||||||
|
{`/`, CommentPreproc, nil},
|
||||||
|
{`(?<=\\)\n`, CommentPreproc, nil},
|
||||||
|
{`\n`, CommentPreproc, Pop(1)},
|
||||||
|
},
|
||||||
|
"if0": {
|
||||||
|
{`^\s*#if.*?(?<!\\)\n`, CommentPreproc, Push()},
|
||||||
|
{`^\s*#el(?:se|if).*\n`, CommentPreproc, Pop(1)},
|
||||||
|
{`^\s*#endif.*?(?<!\\)\n`, CommentPreproc, Pop(1)},
|
||||||
|
{`.*?\n`, Comment, nil},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
10
vendor/github.com/alecthomas/chroma/lexers/m/myghty.go
generated
vendored
10
vendor/github.com/alecthomas/chroma/lexers/m/myghty.go
generated
vendored
@ -22,13 +22,13 @@ func myghtyRules() Rules {
|
|||||||
"root": {
|
"root": {
|
||||||
{`\s+`, Text, nil},
|
{`\s+`, Text, nil},
|
||||||
{`(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil},
|
{`(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, Text, NameFunction, NameTag, UsingSelf("root"), NameTag), nil},
|
||||||
{`(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using(Python), NameTag), nil},
|
{`(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)`, ByGroups(NameTag, NameFunction, NameTag, Using(Python2), NameTag), nil},
|
||||||
{`(<&[^|])(.*?)(,.*?)?(&>)`, ByGroups(NameTag, NameFunction, Using(Python), NameTag), nil},
|
{`(<&[^|])(.*?)(,.*?)?(&>)`, ByGroups(NameTag, NameFunction, Using(Python2), NameTag), nil},
|
||||||
{`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using(Python), NameTag), nil},
|
{`(<&\|)(.*?)(,.*?)?(&>)(?s)`, ByGroups(NameTag, NameFunction, Using(Python2), NameTag), nil},
|
||||||
{`</&>`, NameTag, nil},
|
{`</&>`, NameTag, nil},
|
||||||
{`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using(Python), NameTag), nil},
|
{`(<%!?)(.*?)(%>)(?s)`, ByGroups(NameTag, Using(Python2), NameTag), nil},
|
||||||
{`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil},
|
{`(?<=^)#[^\n]*(\n|\Z)`, Comment, nil},
|
||||||
{`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using(Python), Other), nil},
|
{`(?<=^)(%)([^\n]*)(\n|\Z)`, ByGroups(NameTag, Using(Python2), Other), nil},
|
||||||
{`(?sx)
|
{`(?sx)
|
||||||
(.+?) # anything, followed by:
|
(.+?) # anything, followed by:
|
||||||
(?:
|
(?:
|
||||||
|
27
vendor/github.com/alecthomas/chroma/lexers/m/mysql.go
generated
vendored
27
vendor/github.com/alecthomas/chroma/lexers/m/mysql.go
generated
vendored
@ -1,10 +1,17 @@
|
|||||||
package m
|
package m
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"regexp"
|
||||||
|
|
||||||
. "github.com/alecthomas/chroma" // nolint
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
"github.com/alecthomas/chroma/lexers/internal"
|
"github.com/alecthomas/chroma/lexers/internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
mysqlAnalyserNameBetweenBacktickRe = regexp.MustCompile("`[a-zA-Z_]\\w*`")
|
||||||
|
mysqlAnalyserNameBetweenBracketRe = regexp.MustCompile(`\[[a-zA-Z_]\w*\]`)
|
||||||
|
)
|
||||||
|
|
||||||
// MySQL lexer.
|
// MySQL lexer.
|
||||||
var MySQL = internal.Register(MustNewLazyLexer(
|
var MySQL = internal.Register(MustNewLazyLexer(
|
||||||
&Config{
|
&Config{
|
||||||
@ -16,7 +23,25 @@ var MySQL = internal.Register(MustNewLazyLexer(
|
|||||||
CaseInsensitive: true,
|
CaseInsensitive: true,
|
||||||
},
|
},
|
||||||
mySQLRules,
|
mySQLRules,
|
||||||
))
|
).SetAnalyser(func(text string) float32 {
|
||||||
|
nameBetweenBacktickCount := len(mysqlAnalyserNameBetweenBacktickRe.FindAllString(text, -1))
|
||||||
|
nameBetweenBracketCount := len(mysqlAnalyserNameBetweenBracketRe.FindAllString(text, -1))
|
||||||
|
|
||||||
|
var result float32
|
||||||
|
|
||||||
|
// Same logic as above in the TSQL analysis.
|
||||||
|
dialectNameCount := nameBetweenBacktickCount + nameBetweenBracketCount
|
||||||
|
if dialectNameCount >= 1 && nameBetweenBacktickCount >= (2*nameBetweenBracketCount) {
|
||||||
|
// Found at least twice as many `name` as [name].
|
||||||
|
result += 0.5
|
||||||
|
} else if nameBetweenBacktickCount > nameBetweenBracketCount {
|
||||||
|
result += 0.2
|
||||||
|
} else if nameBetweenBacktickCount > 0 {
|
||||||
|
result += 0.1
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}))
|
||||||
|
|
||||||
func mySQLRules() Rules {
|
func mySQLRules() Rules {
|
||||||
return Rules{
|
return Rules{
|
||||||
|
38
vendor/github.com/alecthomas/chroma/lexers/p/powerquery.go
generated
vendored
Normal file
38
vendor/github.com/alecthomas/chroma/lexers/p/powerquery.go
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package p
|
||||||
|
|
||||||
|
import (
|
||||||
|
. "github.com/alecthomas/chroma" // nolint
|
||||||
|
"github.com/alecthomas/chroma/lexers/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// PowerQuery lexer.
|
||||||
|
var PowerQuery = internal.Register(MustNewLazyLexer(
|
||||||
|
&Config{
|
||||||
|
Name: "PowerQuery",
|
||||||
|
Aliases: []string{"powerquery", "pq"},
|
||||||
|
Filenames: []string{"*.pq"},
|
||||||
|
MimeTypes: []string{"text/x-powerquery"},
|
||||||
|
DotAll: true,
|
||||||
|
CaseInsensitive: true,
|
||||||
|
},
|
||||||
|
powerqueryRules,
|
||||||
|
))
|
||||||
|
|
||||||
|
func powerqueryRules() Rules {
|
||||||
|
return Rules{
|
||||||
|
"root": {
|
||||||
|
{`\s+`, Text, nil},
|
||||||
|
{`//.*?\n`, CommentSingle, nil},
|
||||||
|
{`/\*.*?\*/`, CommentMultiline, nil},
|
||||||
|
{`"(\\\\|\\"|[^"])*"`, LiteralString, nil},
|
||||||
|
{`(and|as|each|else|error|false|if|in|is|let|meta|not|null|or|otherwise|section|shared|then|true|try|type)\b`, Keyword, nil},
|
||||||
|
{`(#binary|#date|#datetime|#datetimezone|#duration|#infinity|#nan|#sections|#shared|#table|#time)\b`, KeywordType, nil},
|
||||||
|
{`(([a-zA-Z]|_)[\w|._]*|#"[^"]+")`, Name, nil},
|
||||||
|
{`0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?`, LiteralNumberHex, nil},
|
||||||
|
{`([0-9]+\.[0-9]+|\.[0-9]+)([eE][0-9]+)?`, LiteralNumberFloat, nil},
|
||||||
|
{`[0-9]+`, LiteralNumberInteger, nil},
|
||||||
|
{`[\(\)\[\]\{\}]`, Punctuation, nil},
|
||||||
|
{`\.\.|\.\.\.|=>|<=|>=|<>|[@!?,;=<>\+\-\*\/&]`, Operator, nil},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user