mirror of
https://github.com/nikolassv/bartib
synced 2024-12-11 12:42:27 +00:00
134 lines
No EOL
2.8 KiB
Markdown
134 lines
No EOL
2.8 KiB
Markdown
# Bartib
|
|
|
|
Bartib is a time tracker for the command line. It safes a journal of all tracked activities in a plaintext file.
|
|
|
|
## Build
|
|
|
|
Build it with cargo:
|
|
|
|
```
|
|
cargo build --release --bin bartib
|
|
```
|
|
|
|
## The journal file
|
|
|
|
Bartib safes a journal of all tracked activities in a plaintext file. The file can either be specified via the `-f / --file` cli option or as a `BARTIB_FILE` environment variable.
|
|
|
|
## Commands
|
|
|
|
### Help
|
|
|
|
Print help information:
|
|
|
|
```
|
|
bartib -h
|
|
```
|
|
|
|
### Start a new activity
|
|
|
|
Start a new activity with a short description and an associated project:
|
|
|
|
```
|
|
bartib start -p "The name of the associated project" -d "A description of the activity"
|
|
```
|
|
|
|
All currently tracked activites will be stopped. If the specified file does not exist yet it will be created.
|
|
|
|
The `-t/--time` option specifies at which time of the current day the new activity starts (and any currently running activity stops):
|
|
|
|
```
|
|
bartib start -p "The name of the associated project" -d "A description of the activity" -t 13:45
|
|
```
|
|
|
|
### Stop a running activity
|
|
|
|
Stops the currently running activity:
|
|
|
|
```
|
|
bartib stop
|
|
```
|
|
|
|
The `-t/--time` option specifies at which time of the current day the activities stop.
|
|
|
|
### Continue the last activity
|
|
|
|
```
|
|
bartib continue [-p "Another project"] [-d "Another description"]
|
|
```
|
|
|
|
This continues the last activity. If an activity is currently tracked, bartib stops and restarts this activity. The associated project and description may be overwritten by setting a `-p / --project` or `-d / --description` option.
|
|
|
|
The `-t/--time` option specifies at which time of the current day the activity (re-)starts.
|
|
|
|
### List all currently running activities
|
|
|
|
```
|
|
bartib current
|
|
```
|
|
|
|
### List activities
|
|
|
|
All activities:
|
|
|
|
```
|
|
bartib list
|
|
```
|
|
|
|
Do not group activities by date:
|
|
|
|
```
|
|
bartib list --no_grouping
|
|
```
|
|
|
|
List activities in a given time range:
|
|
|
|
```
|
|
bartib list --from 2021-03-01 --to 2021-11-01
|
|
```
|
|
|
|
List activities on a given day:
|
|
|
|
```
|
|
bartib list --date 2021-05-17
|
|
```
|
|
|
|
List activities of special days:
|
|
|
|
```
|
|
bartib list --today
|
|
bartib list --yesterday
|
|
```
|
|
|
|
### Edit activities
|
|
|
|
To change tracked activities, just open the file with your activities log in any text editor. To facilitate this, bartib offers the `edit` subcommand:
|
|
|
|
```
|
|
bartib edit
|
|
```
|
|
|
|
This will open your log in the editor you have defined in your `EDITOR` environment variable. Alternatively you can specify the editor command via the `-e/--editor` option:
|
|
|
|
```
|
|
bartib edit -e vim
|
|
```
|
|
|
|
### Show last activity
|
|
|
|
```
|
|
bartib last
|
|
```
|
|
|
|
### List all projects
|
|
|
|
This command lists all projects for which an activity has ever been logged:
|
|
|
|
```
|
|
bartib projects
|
|
```
|
|
|
|
This is especially useful for autocompletion. For example, adding this line to the `.bashrc` enables autocompletion for project names:
|
|
|
|
```
|
|
complete -W "$(bartib projects)" bartib
|
|
``` |