* WTF-986 Wrap the DigitalOcean droplet in our own droplet
This gives us something to build off while still providing the
underlying functionality of the original droplet instance.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-986 Dynamically display droplet attributes based on defined column names
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-986 Read DigitalOcean column configuration from settings
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-986 Extract the reflection bits into a Reflective package
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Create generalized todo module
Makes existing modules "backends"
This gives us a consistent interface
* Fix check issues
* Fix lint errors
* Make changes to stay on wtfutil todoist fork
Before this, exchange rates were read from a map, which meant the
display order was random.
This ensures that the list of exchange rates displays in a consistent
order and visually denotes rates for the same currency.
Signed-off-by: Chris Cummer <chriscummer@me.com>
Allows the user to set the precision for their exchange rate values.
Config setting:
```
exchangerates:
precision: 3
```
Default is `7`.
Also aligns converted values along the decimal place for improved
aesthetics.
Signed-off-by: Chris Cummer <chriscummer@me.com>
Fixes#876. The modal shown when editing todos was feeling slow to start
It required an additional hit of `Enter` to show the modal.
This commit fixes it by queueing a `Draw` update - so now the modal
feels fast to show.
Tests:
* ran `make test`
* tested locally with a todo list
end.
Config setting:
```
pagerduty:
showOnCallEnd: [true|false]
```
If `true`, the date will be displayed below the onCall person's name:
```
eng-droplet
1 - Chris Cummer
Jul 27, 2020
```
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