From d5256402a1bda1d1006e2060a1b19afbf3769299 Mon Sep 17 00:00:00 2001 From: Jakob Jensen Date: Mon, 21 Apr 2025 13:21:43 +0200 Subject: [PATCH 1/2] Add spelling checking --- .github/dependabot.yml | 2 ++ .github/workflows/release.yaml | 4 +++- .github/workflows/tests.yaml | 2 ++ .vscode/extensions.json | 7 ++++--- .vscode/settings.json | 19 +++++++++++++++++-- Makefile | 2 ++ README.md | 4 ++-- cmd/translations.go | 4 ++-- internal/downloader/downloader.go | 3 ++- internal/downloader/flags_test.go | 14 +++++++------- internal/translations/flags_test.go | 10 +++++----- 11 files changed, 48 insertions(+), 23 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ce4cd91..1cc20f7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,5 @@ +# cSpell:ignore gomod + version: 2 updates: - package-ecosystem: github-actions diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 335f18b..8e2ca11 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,3 +1,5 @@ +# cSpell:ignore GOARCH GOARM buildx softprops + name: Release on: @@ -100,7 +102,7 @@ jobs: path: artifacts - name: Display structure of files - run: ls -Rlah + run: ls -R -lah - name: Attach files if: github.event_name == 'release' diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index fd14ba8..e4407b5 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,3 +1,5 @@ +# cSpell:ignore pipx jsonschema schemafile + name: Tests on: diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 2185087..ac38525 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,8 +1,9 @@ { "recommendations": [ - "golang.go", "editorconfig.editorconfig", + "golang.go", "ms-vscode.makefile-tools", - "redhat.vscode-yaml" + "redhat.vscode-yaml", + "streetsidesoftware.code-spell-checker" ] -} +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 6f64d69..0dd68c6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,20 @@ "editor.formatOnSave": true, "yaml.schemas": { "https://json.schemastore.org/github-workflow.json": ".github/workflows/*.yaml" - } -} + }, + "cSpell.words": [ + "codereaper", + "Noget", + "stretchr", + "swiftlint", + "testdata", + "tmpl" + ], + "cSpell.ignorePaths": [ + ".gitignore", + "Dockerfile", + "docs/generated", + "go.*", + "internal/translations/testdata", + ] +} \ No newline at end of file diff --git a/Makefile b/Makefile index a9d8b28..b3eaa33 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +# cSpell:ignore trimpath coverprofile + CI = $(shell env | grep ^CI=) VERSION = 0.0.0 SUFFIX = diff --git a/README.md b/README.md index 4567645..eee5dd8 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,13 @@ ## Installation -The prefered method of installation is through [asdf](http://asdf-vm.com/). +The preferred method of installation is through [asdf](http://asdf-vm.com/). A lane plugin to install has been set up at [asdf-lane](https://github.com/CodeReaper/asdf-lane). Alternatively this tool can be run directly: ```go -go run github.com/codereaper/lane@1.0.0 +go run github.com/codereaper/lane@1 ``` ## Containerized diff --git a/cmd/translations.go b/cmd/translations.go index f0cd7f2..d66de32 100644 --- a/cmd/translations.go +++ b/cmd/translations.go @@ -33,13 +33,13 @@ Make sure to share the sheet with the 'client_email' assigned to your service ac Use: "download", Short: "Download translations", Long: additionalHelp, - Example: " lane translations download -o output.csv -c googleapi.json -d 11p...ev7lc -f csv", + Example: " lane translations download -o output.csv -c google-api.json -d 11p...ev7lc -f csv", RunE: func(cmd *cobra.Command, args []string) error { return downloader.Download(context.Background(), &flags) }, } cmd.Flags().StringVarP(&flags.Output, "output", "o", "", "Path to save output file (Required)") - cmd.Flags().StringVarP(&flags.Credentials, "credentials", "c", "", "A path to the credentails json file issued by Google (Required). More details under help") + cmd.Flags().StringVarP(&flags.Credentials, "credentials", "c", "", "A path to the credentials json file issued by Google (Required). More details under help") cmd.Flags().StringVarP(&flags.DocumentId, "document", "d", "", "The document id of the sheet to download (Required). Found in its url, e.g. https://docs.google.com/spreadsheets/d//edit#gid=0") cmd.Flags().StringVarP(&flags.Format, "format", "f", "", "The format of the output, defaults to csv") cmd.MarkFlagRequired("output") diff --git a/internal/downloader/downloader.go b/internal/downloader/downloader.go index da79213..301b061 100644 --- a/internal/downloader/downloader.go +++ b/internal/downloader/downloader.go @@ -9,12 +9,13 @@ import ( "strings" ) +// cSpell:disable var validFormats = map[string]string{ "csv": "text/csv", "tsv": "text/tab-separated-values", "ods": "application/x-vnd.oasis.opendocument.spreadsheet", "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", -} +} // cSpell:enable func Download(ctx context.Context, flags *Flags) error { service, err := newService(ctx, flags.Credentials) diff --git a/internal/downloader/flags_test.go b/internal/downloader/flags_test.go index c96f603..650718e 100644 --- a/internal/downloader/flags_test.go +++ b/internal/downloader/flags_test.go @@ -4,7 +4,7 @@ import ( "testing" ) -var validationKases = []struct { +var validationCases = []struct { name string flags Flags passes bool @@ -65,7 +65,7 @@ var validationKases = []struct { false, }, { - "all-set-but-documentid", + "all-set-but-document-id", Flags{ Output: "testdata/out.csv", Credentials: "testdata/empty.json", @@ -117,13 +117,13 @@ var validationKases = []struct { } func TestFlagsValidate(t *testing.T) { - for _, kase := range validationKases { - t.Run(kase.name, func(t *testing.T) { - err := kase.flags.validate() - if kase.passes && err != nil { + for _, c := range validationCases { + t.Run(c.name, func(t *testing.T) { + err := c.flags.validate() + if c.passes && err != nil { t.Errorf("expected to pass, but got %v", err) } - if !kase.passes && err == nil { + if !c.passes && err == nil { t.Errorf("expected to fail, but got %v", err) } }) diff --git a/internal/translations/flags_test.go b/internal/translations/flags_test.go index 3196f8e..e7d87e0 100644 --- a/internal/translations/flags_test.go +++ b/internal/translations/flags_test.go @@ -228,13 +228,13 @@ var validationCases = []struct { } func TestFlagsValidate(t *testing.T) { - for _, kase := range validationCases { - t.Run(kase.name, func(t *testing.T) { - err := kase.flags.validate() - if kase.passes && err != nil { + for _, c := range validationCases { + t.Run(c.name, func(t *testing.T) { + err := c.flags.validate() + if c.passes && err != nil { t.Errorf("expected to pass, but got %v", err) } - if !kase.passes && err == nil { + if !c.passes && err == nil { t.Errorf("expected to fail, but got %v", err) } }) From 9d7f718cfa6535734f7445a6c08cf4446353d3b7 Mon Sep 17 00:00:00 2001 From: Jakob Jensen Date: Mon, 21 Apr 2025 13:24:10 +0200 Subject: [PATCH 2/2] Update generated docs --- docs/generated/lane_translations_download.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/generated/lane_translations_download.md b/docs/generated/lane_translations_download.md index 8659561..b4926d0 100644 --- a/docs/generated/lane_translations_download.md +++ b/docs/generated/lane_translations_download.md @@ -20,13 +20,13 @@ lane translations download [flags] ### Examples ``` - lane translations download -o output.csv -c googleapi.json -d 11p...ev7lc -f csv + lane translations download -o output.csv -c google-api.json -d 11p...ev7lc -f csv ``` ### Options ``` - -c, --credentials string A path to the credentails json file issued by Google (Required). More details under help + -c, --credentials string A path to the credentials json file issued by Google (Required). More details under help -d, --document string The document id of the sheet to download (Required). Found in its url, e.g. https://docs.google.com/spreadsheets/d//edit#gid=0 -f, --format string The format of the output, defaults to csv -h, --help help for download