Commit Graph

650 Commits

Author SHA1 Message Date
a139863ceb ci: fix oniguruma profile 2022-12-25 22:33:02 +01:00
a9296f134c Merge pull request #149 from go-enry/improve-gen-tests
Generator tests: add readable text diff output
2022-12-18 19:32:15 +01:00
c0176b04e7 gen-test: don't expose diff + attributions 2022-12-12 20:48:35 +01:00
c79c32f525 gen-test: add readable text diff output
test plan:
 * go test -run '^Test_GeneratorTestSuite$' \
	-testify.m '^(TestGenerationFiles)$' \
	github.com/go-enry/go-enry/v2/internal/code-generator/generator
2022-12-03 18:55:48 +01:00
669ec497ef Merge pull request #134 from jsoref/spelling
Spelling
2022-12-03 18:48:31 +01:00
2059129b5e Merge branch 'master' into spelling 2022-12-03 10:48:23 +01:00
a8344728a7 Merge pull request #143 from go-enry/re-collation-at-codegen
Move venrod RE collation at codegen
2022-12-02 10:11:39 +01:00
e46c9e749e Merge pull request #148 from go-enry/upd-ci-go
ci: bump Go versions to two latest ones
2022-12-02 10:11:06 +01:00
2c708f0b6c gen: re-generate aliases & test fixture for go 1.19 2022-12-02 09:55:50 +01:00
375b301238 code-gen: reformat template for go 1.19
https://tip.golang.org/doc/go1.19#go-doc with introduction of
https://tip.golang.org/doc/comment has broken the code generator tests.
2022-12-02 09:55:50 +01:00
476e74d827 ci: bump Go versions to two latest ones
test plan: CI is green
2022-12-01 22:33:00 +01:00
f4051b0f16 gen: re-generated vendors using build-time optimization 2022-12-01 22:16:54 +01:00
ede9e478fe IsVendor: move RE collation to code generation phase
test plan:
 * go test -run '^TestIsVendor$' github.com/go-enry/go-enry/v2
2022-12-01 22:16:44 +01:00
fcb9ea7e45 Merge pull request #146 from go-enry/more-api-tests
test: cover GetLanguageByContent confusing edge cases
2022-12-01 22:15:53 +01:00
86cae02425 test: cover GetLanguageByContent confusing edge cases
And clarify documentation wording, based on discussion
at https://github.com/go-enry/go-enry/issues/145

test plan:
 * go test -run '^Test_EnryTestSuite$' -testify.m '^(TestGetLanguageByContent)$' ./...
2022-12-01 22:10:01 +01:00
a243a1fde8 Merge pull request #144 from go-enry/refactoring-tests
Refactoring tests
2022-12-01 22:06:00 +01:00
6be1ebe9d6 test: fail fast on suite setup/teardown 2022-12-01 22:00:58 +01:00
43475949cc test: limit linguist repo history size 2022-12-01 22:00:58 +01:00
a93364ec79 refactoring: add separate test suite for linguist samples/fixtures 2022-12-01 22:00:58 +01:00
bb7a81ede4 refactoring: unify, extract&reuse maybeCloneLinguist() 2022-12-01 22:00:58 +01:00
a3304aa121 refactoring: move public constant/types to enry.go
Also re-arrange public API functions to have the same order
as they are in tests.
2022-12-01 22:00:58 +01:00
a1d6d88745 Merge pull request #147 from go-enry/fix-ci-python
ci: fix Python profile after ubuntu-latest 20.04->22.04 update
2022-12-01 22:00:15 +01:00
fd9e1c3b63 ci: fix Python profile after ubuntu-latest 20.04->22.04 update
Github has changed the ubuntu-latest runner and it does not ship
Python 3.6 any more ¯\_(ツ)_/¯

See https://github.com/actions/setup-python/issues/544#issuecomment-1320295576

test plan:
 * CI profile for python is green
2022-11-29 22:58:56 +01:00
fdf062436b Merge pull request #142 from go-enry/refactor-vendor-regexp-optimization
IsVendor: refactor RE collation optimization
2022-10-27 11:27:55 +02:00
7388633b02 Merge pull request #141 from go-enry/improve-test-and-codegen
Small improvements in test and code generation
2022-10-27 11:27:38 +02:00
6e3306a9f7 Merge pull request #140 from go-enry/improve-docs
Improve documentation
2022-10-27 11:27:29 +02:00
95f30f0db4 IsVendor: refactor RE collation optimization
The same optimization still happens during package initialization
at runtime, but an effort was made to make it more transparent and
self-documented.

Both the test & the benchmark were updated.

Old version (usefull for benchmark) was

```go
func IsVendor(filename string) bool {
	for _, matcher := range data.VendorMatchers {
		if matcher.MatchString(filename) {
			return true
		}
	}
	return false
}
```

Test plan:
 * go test -run ^TestIsVendor$ github.com/go-enry/go-enry/v2
2022-10-23 15:19:53 +02:00
5683b2e7f8 test: refactored to clarify Linguist cloning logic on codegen 2022-10-23 11:07:50 +02:00
3feb720575 code-gen: fail fast
Stop the code generation process early if any of its
generators fail rather than skipping it with the log message.
2022-10-23 10:56:01 +02:00
e4cc955976 doc: improve wording in dev section w.r.t env vars 2022-10-23 10:47:17 +02:00
b33717cc4f doc: mention linguist sync automation 2022-10-23 10:42:10 +02:00
fb3939de28 spelling: without
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
bc13e29685 spelling: unnecessary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
53b48a4669 spelling: through
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
bc7767728d spelling: syntax
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
500fa07895 spelling: structure
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
d4d3d66352 spelling: skipping
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
b28e1b8881 spelling: service
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
2822da6054 spelling: sequentially
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
42c82564ae spelling: reference
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
8363b28e63 spelling: receives
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-10-06 13:25:49 -04:00
9b19067edc Merge pull request #133 from lafriks-fork/feat/generated_files_proto_go_sum
Generated proto file and PNP detection
2022-10-06 10:01:35 +02:00
7633227f79 Merge pull request #131 from go-enry/feature/sync-linguist-4ffcdbcb
Update Linguist to v7.21.0
2022-10-06 09:59:13 +02:00
a53744636a Merge pull request #136 from cboylan/fix-vendor-regex
Fix IsVendor() regex generation
2022-10-06 09:41:27 +02:00
16a5ff8e22 Fix IsVendor() regex generation
The regex generation introduced by
20726a1de3
had a subtle but important bug in it. In particular the ^ and ^|/
prefixes were only applied to the first regex in the OR'd groupings and
not every regex in the grouping.

We fix this by wrapping each of those OR'd groups in a new non capturing
group to ensure the prefix applies to every entry in the OR'd listing.

Additionally we add three new quick tests of IsVendor to guard against
this regression in the future.

This fixes https://github.com/go-enry/go-enry/issues/135
2022-08-25 16:22:09 -07:00
799e590e75 spelling: maintaining
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-09 00:45:29 -04:00
b5b0d48170 spelling: linguist
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-09 00:45:29 -04:00
b4e2aae0cf spelling: identifies
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-09 00:45:29 -04:00
6c16f2f4de spelling: identified
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-09 00:45:29 -04:00
95c80c474b spelling: github
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-08 23:31:59 -04:00