Commit Graph

37 Commits

Author SHA1 Message Date
03b31eb4ce Update internal/code-generator/main.go
Co-authored-by: Lauris BH <lauris@nix.lv>
2021-10-13 10:30:19 -07:00
b248b21349 Expose LanguageInfo with all Linguist data
As discussed in https://github.com/go-enry/go-enry/issues/54, this provides an
API for accessing a LanguageInfo struct which is populated with all the data
from the Linguist YAML source file. Functions are provided to access the
LanguageInfo by name or ID.

The other top-level functions like GetLanguageExtensions, GetLanguageGroup, etc.
could in principle be implemented using this structure, which would simplify the
code generation. But that would be a big change so I didn't do any of that.
Perhaps in the next major version something like that would make sense.
2021-10-11 13:32:29 -07:00
eb043e80a8 Add GetLanguageID function
The Linguist-defined language IDs are important to our use case because they are
used as database identifiers. This adds a new generator to extract the language
IDs into a map and uses that to implement GetLanguageID.

Because one language has the ID 0, there is no way to tell if a language name is
found or not. If desired, we could add this by returning (string, bool) from
GetLanguageID. But none of the other functions that take language names do this,
so I didn't want to introduce it here.
2021-04-13 11:49:21 -07:00
97a26011a9 Return group color if language has none 2020-03-31 09:30:27 +03:00
b78e4423f0 generator: drop platform-specific separator
Co-Authored-By: Lauris BH <lauris@nix.lv>
2020-03-25 19:27:46 +01:00
b0f94ad693 generator: CLI tool fix to support win paths
On Win `make code-generate` produces unreasonable
Bayesian classifier weights from Linguist samples
silently, failing only the final classification tests.

TestPlan:
 - go test ./internal/code-generator/... \
    -run Test_GeneratorTestSuite -testify.m TestGenerationFiles

Signed-off-by: Alexander Bezzubov <bzz@apache.org>
2020-03-25 14:00:24 +01:00
84efad7693 *: module rename to go-enry/go-enry/v4 2020-03-19 17:31:29 +01:00
bc5e031cee Drop src-d org ref except for issues
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
2020-03-19 14:04:36 +01:00
25b29ebdc4 Implement getting color code for languages
Signed-off-by: Lauris Bukšis-Haberkorns <lauris@nix.lv>
2019-07-19 23:59:46 +03:00
6a5f37e9e2 modules: prepare for v2 release
- update go.mod \w v2
 - update all import paths

Signed-off-by: Alexander Bezzubov <bzz@apache.org>
2019-04-14 21:28:12 +02:00
20c6d2845a build: gopkg.in -> github.com imports
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
2019-04-12 11:49:16 +02:00
3499750785 Sync to linguist 7.2.0: heuristics.yml support (#189)
Sync \w Github Linguist v7.2.0

Includes new way of handling `heuristics.yml` and
all `./data/*` re-generated using Github Linguist [v7.2.0](https://github.com/github/linguist/releases/tag/v7.2.0)
release tag.

 - many new languages
 - better vendoring detection
 - update doc on update&known issues.
2019-02-14 12:47:45 +01:00
7eafe024af write a canonical header for machine-generated files
Signed-off-by: Denys Smirnov <denys@sourced.tech>
2018-04-30 12:57:39 +03:00
ea819f58c2 Renamed mime to mimeType 2017-07-18 12:46:29 +02:00
125c802582 Now generates mime file 2017-07-18 12:46:29 +02:00
3f2248084e Moved commit.go to data directory 2017-06-28 11:22:42 +02:00
7e827e47ef moved generated data to data subpackage 2017-06-28 08:31:11 +02:00
b7d4be5fdd commit against tests run is fixed
renamed tmpLinguist to repoLinguist and SimpleLinguistTestSuite to EnryTestSuit in common_test.go

changed receiver's name for TestSuites to 's'

fixed comments
2017-06-26 15:35:53 +02:00
17a6f3dc89 Changed commit ref to .git/HEAD 2017-06-19 11:20:24 +02:00
beda5b73e7 changed signatures for strategies 2017-06-15 10:07:23 +02:00
1fc8cf7a5d changes to improve detection accuracy 2017-06-15 10:07:22 +02:00
3a470f617c project renamed to enry 2017-06-08 09:27:27 +02:00
5b304524d1 Rearranged code 2017-06-02 09:33:55 +02:00
fcf30a07c8 Added frequencies.go generation 2017-05-29 12:19:37 +02:00
45314b4903 Added all the necessary to do GetLanguageByAlias functionality works 2017-05-08 11:34:00 +02:00
f63a25d794 all related to extension strategy renamed to reference it 2017-04-27 17:32:42 +02:00
645bdd7331 added filenames_map.go generation
languagesByFilename now is a map[string]string
2017-04-27 17:30:57 +02:00
2644a7c8da added interpreters_map.go generation
fixed Interpreters comment
2017-04-27 16:39:54 +02:00
6ddbb79af0 changed generator_test.go to use only TestFromFile
modified *.test.yml to contain only necessary information

fixed white spaces

remove duplicated file languages.test.tmpl
2017-04-27 16:39:36 +02:00
9a9968dca0 added comments to constants 2017-04-17 11:55:29 +02:00
ef39403555 added type.go generation 2017-04-17 11:55:29 +02:00
ca3ae587f3 added documentation_matchers.go generation 2017-04-17 11:52:11 +02:00
e998b0ff2e regexp for vendored files and directories are generated in vendor_matchers.go 2017-04-07 09:27:40 +02:00
13e7886a02 Added utils.go generation 2017-04-06 17:31:17 +02:00
3a2a62baad move srcd.works to gopkg.in 2017-04-05 18:26:58 +02:00
ba22a0a243 content generator 2017-04-05 18:09:14 +02:00
665b7475e3 code generation move to internal/code-generator 2017-04-05 17:49:58 +02:00