diff --git a/go.mod b/go.mod index c8243efb..0e146139 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( gopkg.in/ini.v1 v1.62.0 ) -replace github.com/alecthomas/chroma => github.com/wakatime/chroma v0.8.2-wakatime.3 +replace github.com/alecthomas/chroma => github.com/wakatime/chroma v0.8.2-wakatime.7 replace github.com/spf13/viper => github.com/wakatime/viper v1.7.1-0.20210127133619-3adac62bd70f diff --git a/go.sum b/go.sum index d28fa3a6..7f0528a6 100644 --- a/go.sum +++ b/go.sum @@ -202,15 +202,14 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/wakatime/chroma v0.8.2-wakatime.3 h1:J/gf6+mW7FmJ653vgU+7zxuN2qzwAU3KNtyIkfDgezI= -github.com/wakatime/chroma v0.8.2-wakatime.3/go.mod h1:Mldbmbb8NHiOz8oC1HKR8xUQ0EPvAjZpKDyQl2nGrnQ= +github.com/wakatime/chroma v0.8.2-wakatime.7 h1:2fXUt39QsD9HwI0X8vMs6hU3lHLGSnsJDj5ZxWW49oM= +github.com/wakatime/chroma v0.8.2-wakatime.7/go.mod h1:Mldbmbb8NHiOz8oC1HKR8xUQ0EPvAjZpKDyQl2nGrnQ= github.com/wakatime/goInfo v0.1.0-wakatime.2 h1:CaPbE4l8yv6s2Oj+yAEkYHfMY6BJ09tNjdGboUvZu4g= github.com/wakatime/goInfo v0.1.0-wakatime.2/go.mod h1:aEt7p9Rvh67BYApmZwNDPpgircTO2kgdmDUoF/1QmwA= github.com/wakatime/viper v1.7.1-0.20210127133619-3adac62bd70f h1:l7cFA661os7j0s1Ub+jJ2Y9icZhfEGXXNa3/D8CFsMg= @@ -292,8 +291,6 @@ golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 h1:kzM6+9dur93BcC2kVlYl34cHU+TYZLanmpSJHVMmL64= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210218155724-8ebf48af031b h1:lAZ0/chPUDWwjqosYR0X4M490zQhMsiJ4K3DbA7o+3g= -golang.org/x/sys v0.0.0-20210218155724-8ebf48af031b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/pkg/heartbeat/language.go b/pkg/heartbeat/language.go index 57cb6c58..d7a52b2b 100644 --- a/pkg/heartbeat/language.go +++ b/pkg/heartbeat/language.go @@ -2277,13 +2277,21 @@ const ( ) const ( + languageAMPLChromaStr = "Ampl" languageAssemblyChromaStr = "GAS" + languageAutoHotkeyChromaStr = "autohotkey" + languageCObjdumpChromaStr = "c-objdump" + languageColdfusionCFCChromaStr = "Coldfusion CFC" languageColdfusionHTMLChromaStr = "Coldfusion HTML" + languageCppObjdumpChromaStr = "cpp-objdump" + languageCUDAChromaStr = "CUDA" languageFSharpChromaStr = "FSharp" languageEmacsLispChromaStr = "EmacsLisp" languageGoHTMLTemplateChromaStr = "Go HTML Template" languageGoTextTemplateChromaStr = "Go Text Template" + languageHxmlChromaStr = "Hxml" languageJSXChromaStr = "react" + languageJSONLDChromaStr = "JSON-LD" languageLessChromaStr = "LessCss" languageLiquidChromaStr = "liquid" languageMakefileChromaStr = "Base Makefile" @@ -2291,6 +2299,7 @@ const ( languageNewLispChromaStr = "NewLisp" languageNimrodChromaStr = "Nim" languagePython3ChromaStr = "Python 3" + languageOocChromaStr = "Ooc" languageOrgChromaStr = "Org Mode" languageRChromaStr = "R" languageReasonMLChromaStr = "ReasonML" @@ -3837,10 +3846,22 @@ func ParseLanguage(s string) (Language, bool) { // nolint:gocyclo func ParseLanguageFromChroma(lexerName string) (Language, bool) { switch normalizeString(lexerName) { + case normalizeString(languageAMPLChromaStr): + return LanguageAMPL, true case normalizeString(languageAssemblyChromaStr): return LanguageAssembly, true + case normalizeString(languageAutoHotkeyChromaStr): + return LanguageAutoHotkey, true + case normalizeString(languageCObjdumpChromaStr): + return LanguageCObjdump, true + case normalizeString(languageColdfusionCFCChromaStr): + return LanguageColdfusionCFC, true case normalizeString(languageColdfusionHTMLChromaStr): return LanguageColdfusionHTML, true + case normalizeString(languageCppObjdumpChromaStr): + return LanguageCppObjdump, true + case normalizeString(languageCUDAChromaStr): + return LanguageCUDA, true case normalizeString(languageEmacsLispChromaStr): return LanguageEmacsLisp, true case normalizeString(languageGoHTMLTemplateChromaStr): @@ -3849,6 +3870,8 @@ func ParseLanguageFromChroma(lexerName string) (Language, bool) { return LanguageGo, true case normalizeString(languageFSharpChromaStr): return LanguageFSharp, true + case normalizeString(languageHxmlChromaStr): + return LanguageHxml, true case normalizeString(languageJSXChromaStr): return LanguageJSX, true case normalizeString(languageLessChromaStr): @@ -3863,6 +3886,8 @@ func ParseLanguageFromChroma(lexerName string) (Language, bool) { return LanguageNewLisp, true case normalizeString(languageNimrodChromaStr): return LanguageNimrod, true + case normalizeString(languageOocChromaStr): + return LanguageOoc, true case normalizeString(languageOrgChromaStr): return LanguageOrg, true case normalizeString(languagePython3ChromaStr): @@ -5435,18 +5460,34 @@ func (l Language) String() string { // nolint:gocyclo func (l Language) StringChroma() string { switch l { + case LanguageAMPL: + return languageAMPLChromaStr case LanguageApacheConfig: return languageApacheConfStr case LanguageAssembly: return languageAssemblyChromaStr + case LanguageAutoHotkey: + return languageAutoHotkeyChromaStr + case LanguageCObjdump: + return languageCObjdumpChromaStr + case LanguageColdfusionCFC: + return languageColdfusionCFCChromaStr case LanguageColdfusionHTML: return languageColdfusionHTMLChromaStr + case LanguageCppObjdump: + return languageCppObjdumpChromaStr + case LanguageCUDA: + return languageCUDAChromaStr case LanguageEmacsLisp: return languageEmacsLispChromaStr case LanguageFSharp: return languageFSharpChromaStr case LanguageFStar: return languageFStarLiteralStr + case LanguageHxml: + return languageHxmlChromaStr + case LanguageJSONLD: + return languageJSONLDChromaStr case LanguageJSX: return languageJSXChromaStr case LanguageLess: @@ -5461,6 +5502,8 @@ func (l Language) StringChroma() string { return languageNewLispChromaStr case LanguageNimrod: return languageNimrodChromaStr + case LanguageOoc: + return languageOocChromaStr case LanguageOrg: return languageOrgChromaStr case LanguageReasonML: diff --git a/pkg/heartbeat/language_test.go b/pkg/heartbeat/language_test.go index 08316bb1..e3d19c4e 100644 --- a/pkg/heartbeat/language_test.go +++ b/pkg/heartbeat/language_test.go @@ -857,18 +857,27 @@ func TestParseLanguage_Unknown(t *testing.T) { func TestParseLanguageFromChroma(t *testing.T) { tests := map[string]heartbeat.Language{ + "Ampl": heartbeat.LanguageAMPL, + "autohotkey": heartbeat.LanguageAutoHotkey, "Base Makefile": heartbeat.LanguageMakefile, + "c-objdump": heartbeat.LanguageCObjdump, + "Coldfusion CFC": heartbeat.LanguageColdfusionCFC, "Coldfusion HTML": heartbeat.LanguageColdfusionHTML, + "cpp-objdump": heartbeat.LanguageCppObjdump, + "CUDA": heartbeat.LanguageCUDA, "EmacsLisp": heartbeat.LanguageEmacsLisp, "Go HTML Template": heartbeat.LanguageGo, "Go Text Template": heartbeat.LanguageGo, "FSharp": heartbeat.LanguageFSharp, "GAS": heartbeat.LanguageAssembly, + "Hxml": heartbeat.LanguageHxml, + "JSON-LD": heartbeat.LanguageJSONLD, "LessCss": heartbeat.LanguageLess, "liquid": heartbeat.LanguageLiquid, "markdown": heartbeat.LanguageMarkdown, "NewLisp": heartbeat.LanguageNewLisp, "Nim": heartbeat.LanguageNimrod, + "Ooc": heartbeat.LanguageOoc, "Org Mode": heartbeat.LanguageOrg, "plaintext": heartbeat.LanguageText, "Python 3": heartbeat.LanguagePython, @@ -973,17 +982,26 @@ func TestLanguage_String_UnknownLanguage(t *testing.T) { func TestLanguage_StringChroma(t *testing.T) { tests := map[string]heartbeat.Language{ "ApacheConf": heartbeat.LanguageApacheConfig, + "Ampl": heartbeat.LanguageAMPL, + "autohotkey": heartbeat.LanguageAutoHotkey, "Base Makefile": heartbeat.LanguageMakefile, + "c-objdump": heartbeat.LanguageCObjdump, + "Coldfusion CFC": heartbeat.LanguageColdfusionCFC, "Coldfusion HTML": heartbeat.LanguageColdfusionHTML, + "cpp-objdump": heartbeat.LanguageCppObjdump, + "CUDA": heartbeat.LanguageCUDA, "EmacsLisp": heartbeat.LanguageEmacsLisp, "GAS": heartbeat.LanguageAssembly, "FSharp": heartbeat.LanguageFSharp, "FStar": heartbeat.LanguageFStar, "Go": heartbeat.LanguageGo, + "Hxml": heartbeat.LanguageHxml, + "JSON-LD": heartbeat.LanguageJSONLD, "LessCss": heartbeat.LanguageLess, "liquid": heartbeat.LanguageLiquid, "markdown": heartbeat.LanguageMarkdown, "Nim": heartbeat.LanguageNimrod, + "Ooc": heartbeat.LanguageOoc, "Org Mode": heartbeat.LanguageOrg, "plaintext": heartbeat.LanguageText, "R": heartbeat.LanguageS,