Files
watson-starship/README.md

82 lines
2.2 KiB
Markdown
Raw Normal View History

2025-03-07 12:22:35 +01:00
# watson-starship
A simple plugin for [Starship](https://github.com/starship/starship),
2025-03-07 12:23:24 +01:00
which shows the elapsed time of the current [watson](https://github.com/jazzband/Watson) project.
2025-03-07 12:22:35 +01:00
2025-03-07 12:32:22 +01:00
## Why?
Unfortunately `watson status` itself is just too verbose. I only need
the hours elapsed. Manipulating the output were too slow, it lead to a partially hanging prompt.
I tried several variants, among these:
```toml
# using sed
command = "watson status -e | sed -e 's/ ago//' -e 's/ seconds/s/' -e 's/ minutes/m/' -e 's/ hours/h/' -e 's/just now/0/'"
# use perl to parse the status file directly
command = 'perl -n -e "if (/start.: (\d+)/) { \$diff = (time - \$1) / 3600; printf \"%.02fh\n\", \$diff; }" < ~/.config/watson/state'
# use bash, date and https://github.com/TLINDEN/rpnc direclty on the status file
command = 'if [[ "$(grep start ~/.config/watson/state)" =~ ([0-9]+) ]]; then echo $(("$(date +%s)" - "${BASH_REMATCH[1]}")) 3600 / | rpn; fi'
```
This lille tool here is written in go, reasonably fast, it parses the
watson JSON status file directly, calculates the elapsed time since
the start of the running project and prints it. Pretty simple.
2025-03-07 12:22:35 +01:00
## Setup
You'll need the Golang toolchain for this (version 1.23+).
To build:
```shell
git clone https://github.com/TLINDEN/watson-starship.git
cd watson-starship
make
make install
```
Then add this to your `~/.config/starship.toml`:
```toml
[custom.watson]
when = "watson status -e | grep -v 'No project'"
style = "green"
command = 'watson-starship'
format = '\[[$output]($style)\]'
```
And add `${custom.watson}\` to your global `format` setting.
## Getting help
Although I'm happy to hear from watson-starship users in private email, that's the
best way for me to forget to do something.
In order to report a bug, unexpected behavior, feature requests or to
submit a patch, please open an issue on github:
https://github.com/TLINDEN/watson-starship/issues.
## Copyright and license
This software is licensed under the GNU GENERAL PUBLIC LICENSE version 3.
## Authors
T.v.Dein <tom AT vondein DOT org>
## Project homepage
https://github.com/TLINDEN/watson-starship
## Copyright and License
Licensed under the GNU GENERAL PUBLIC LICENSE version 3.
## Author
T.v.Dein <tom AT vondein DOT org>