Adds a new top-level configuration key called "language":
```yaml
wtf:
langauge: "ja-JP"
```
Users can now define which BCP 47 language tag to use to format any
text or numbers that currently support localization. Defaults to
"en-CA".
Acceptible values: any BCP 47 language tag recognized by the Go
"language" package.
Good luck to you figuring out what that cannonical list is. After a
morning of trying to suss it out, I have no idea.
Signed-off-by: Chris Cummer <chriscummer@me.com>
golangci-lint can run all the currently enabled linters, and as far as I
can tell, does it in under 5 seconds as opposed to over 180 seconds
(compare `time make cilint` and `time make lint`).
Some of the linters that are listed in the "enabled" section but
commented out looked like a good idea to me, and fairly low hanging
fruit to fix, but they are not passing at the moment.
All the linters covered in the current Makefile are run.
TODO:
- replace lint target in Makefile with golangci-lint
- remove .github/workflow/errcheck.yml
Store service credentials securely in the stores supported by docker:
- https://github.com/docker/docker-credential-helpers#available-programs
Introduces a top-level config property, "secretStore" and additional
command line arguments to manage the stored secrets.
The value of secretStore is used to find a helper command,
`docker-credential-<secretStore>`.
The docker project currently provides 4 store helpers:
- "osxkeychain" (OS X only)
- "secretservice" (Linux only)
- "wincred" (Windows only)
- "pass" (any OS supporting pass, which uses gpg2)
Docker-for-desktop installs the credential helpers above, as well as
"desktop" (docker-credential-desktop).
Generic installation instructions for the helpers:
- https://github.com/docker/docker-credential-helpers#installation
Users could provide additional helpers, the only requirement is that the
helper implements the credential store protocol:
- https://github.com/docker/docker-credential-helpers#development
The credential protocol is open, and new credential stores can be
implemented by any CLI satisfying the protocol:
- https://github.com/docker/docker-credential-helpers#development
The modifications to existing modules is not tested due to lack
of API keys, but demonstrates the unobtrusive changes required to
use the secret store.
* Add gosec to the Makefile
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix some issues found by gosec
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Upgrade godo to latest
* Fix a bunch of issues found by
* Running staticcheck on a codebase for the first time is a sobering experience
* go mod tidy
* More static improvements
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WIP
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix the colour scheme for IPInfo to match other modules
Now uses standard label and text colours.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Fix missing color key config error
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Add Subheading color formatting to modules
Users can now set a `subheading` color in their config to change the
color of subheadings in widget display.
Defaults to `red`.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Fix oustanding color issues
Clean up missing color config changes not addressed in earlier commits.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Remove unused dependency
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Base cleanup
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Fix a few bugs related to color config changes
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Fix issues with PagerDuty subheading display
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-730 Fix bug with Todo list colour rendering
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for cfg/common_settings.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for cfg/position_validation.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for cfg/validations.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for checklist/checklist.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for checklist/checklist_item.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for utils/conversions.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Get rid of utils.Home() function
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for utils/homedir.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Add spec coverage for utils/text.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-657 Clean up utils/utils.go
Signed-off-by: Chris Cummer <chriscummer@me.com>
Pass in the actual file being used, rather than hardcoded `config.yaml`
Differences between two error messages are not that distinct
Centralize on one and clean up all the `isCustomConfig` tracking
Sets whether or not the widget should be drawn with a border (and by
extension a title).
If 'true', the border is drawn. If 'false', no
border is drawn. Defaults. to 'true'. Optional.
* Some assignments simplified by using assignment operators
* Rewrite switch statement with only one case as if.
* Rewrite if-else chain as a switch statement.
* go fmt `modules/todoist/project.go` file.