# 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 ```