* WTF-1031 Rename WtfApp.app to WtfApp.tviewApp
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-1031 Add scaffolding for main to support multiple WtfApp instances
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-1031 WIP
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Remove common functionality from KeyboardWidget and into Base
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Augment with some descriptive comments
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Add full support for multiple app instances via the AppManager.
Still to do:
* Config support for multiple apps/multiple config files
* The ability to switch between apps
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Move SetTerminal out of main and into its own file
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>
* 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>
* WTF-484 DigitalOcean module stubbed out
* WTF-484 Delete droplets via Ctrl-d
* WTF-484 Rebasing off master after a long time away
* WTF-484 Improve DigitalOcean display
* WTF-484 Can shutdown and restart the selected droplet
* WTF-484 Display info about the selected droplet using the ? key
* WTF-484 Display info about the selected droplet using the Return key
* WTF-484 Greatly improve the utils.Truncate function
* WTF-484 Display a droplet's features in the info modal
* WTF-484 Change reboot key from r to b to not conflict with refresh
* WTF-484 Panic if a keyboard control is mapped to the same character more than once
* WTF-484 Colorize droplet status indicator
* WTF-484 Extract view.InfoTable out into a reusable component
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.
This makes help more inline with previous instances
Wrap everything in `[]`, so keys like ` ` show up correctly
Pad characters for keypresses, so things have pretty alignment
Define help with keys
This means that keys and help are automatically in sync
This means that you can't define keys, but forget help
This unfortunately also means that formatting may not be quite as good