From b8824ee868728afcda6cd5556c997ca29a700cf2 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Wed, 23 Jul 2025 22:26:36 +0200 Subject: [PATCH] tagliatelle: force upper case for custom initialisms --- pkg/golinters/tagliatelle/tagliatelle.go | 8 +++++++- .../testdata/tagliatelle_initialism_overrides.go | 10 ++++++++++ .../tagliatelle_initialism_overrides.yml | 16 ++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.go create mode 100644 pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.yml diff --git a/pkg/golinters/tagliatelle/tagliatelle.go b/pkg/golinters/tagliatelle/tagliatelle.go index e12cc9e82062..d0268d11fe8c 100644 --- a/pkg/golinters/tagliatelle/tagliatelle.go +++ b/pkg/golinters/tagliatelle/tagliatelle.go @@ -2,6 +2,7 @@ package tagliatelle import ( "maps" + "strings" "github.com/ldez/tagliatelle" @@ -50,10 +51,15 @@ func toExtendedRules(src map[string]config.TagliatelleExtendedRule) map[string]t result := make(map[string]tagliatelle.ExtendedRule, len(src)) for k, v := range src { + initialismOverrides := make(map[string]bool, len(v.InitialismOverrides)) + for ki, vi := range v.InitialismOverrides { + initialismOverrides[strings.ToUpper(ki)] = vi + } + result[k] = tagliatelle.ExtendedRule{ Case: v.Case, ExtraInitialisms: v.ExtraInitialisms, - InitialismOverrides: v.InitialismOverrides, + InitialismOverrides: initialismOverrides, } } diff --git a/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.go b/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.go new file mode 100644 index 000000000000..f3d712def395 --- /dev/null +++ b/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.go @@ -0,0 +1,10 @@ +//golangcitest:args -Etagliatelle +//golangcitest:config_path testdata/tagliatelle_initialism_overrides.yml +package testdata + +type Foo struct { + UserAMQP string `json:"useAmqp"` // want `json\(camel\): got 'useAmqp' want 'useAMQP'` + FooLHS string `json:"fooLhs"` + FooRHS string `json:"fooRhs"` // want `json\(camel\): got 'fooRhs' want 'fooRHS'` + SomeAWSKey string `json:"someAwsKey"` // want `json\(camel\): got 'someAwsKey' want 'someAWSKey'` +} diff --git a/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.yml b/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.yml new file mode 100644 index 000000000000..1cba480b393e --- /dev/null +++ b/pkg/golinters/tagliatelle/testdata/tagliatelle_initialism_overrides.yml @@ -0,0 +1,16 @@ +version: "2" + +linters: + settings: + tagliatelle: + case: + rules: + json: camel + extended-rules: + json: + case: camel + extra-initialisms: true + initialism-overrides: + LHS: false + RHS: true + AWS: true