Skip to content
This repository has been archived by the owner on Jul 25, 2023. It is now read-only.

xNaCly/opus-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

opusCli

simple to-do manager for power users

Installation

Binary

opus can be installed via the provided binary files in the release section, here.

Select the latest release, add the opus executable to a directory which is registered in the path variable and you're good to go.

From source

Make sure cargo and rustup are installed

git clone https://github.com/xnacly/opusCli
cargo build --release
./target/release/opus

Cargo will now build opus for the target you're currently using as a operating system. The resulting executable can be found in the target directory: target/release/opus

Usage

Add a task

  • title is the only required value
  • opus replaces @tomorrow and @today with the corresponding dates in YYYY-mm-DD notation
# add a new task with the following properties:
# title: review and merge pr 5
# due: @tomorrow
# tag: #github
# priority: 3
opus add "review and merge pr 5 @tomorrow #github .3"
# add a new task with the given title
opus a "review and merge pr 5"

List tasks

  • this command hides finished tasks from the opus ls command
# list all tasks
opus list
# list all task + finished tasks
opus list --finished
# list all task with the tag #work
opus list "#work"
# list all tasks with the priority 3
opus list .3
# list the task with the id 1
opus list 1
opus ls 1
opus l 1
# sort list output by task property
opus list --sort-by=id
opus list --sort-by=due
opus list --sort-by=finished
opus list --sort-by=title
opus list --sort-by=priority
opus list --sort-by=tag
# sort desc and asc (default sort is asc)
opus list --sort-by=id --sort-order=desc
# [2]: 'read c how to' (2022-10-17)
# [1]: 'notion aufsetzen' (2022-10-18) #uni .1
# --
# 2 tasks found matching query: 'list'

Mark a task as finished

  • opus hides finished tasks from the opus ls command
  • contrary to opus ls, opus fin does only accept a tasks id as the argument
# mark the task with id=1 as finished
opus finish 1
opus fin 1
opus f 1

Remove all tasks

# this clears the whole database
opus clear

Export Tasks

  • opus exports all tasks to a specified file
# exports all tasks in the data.json file
opus export --format="json" --output="data.json"
# export all tasks in the data.csv file
opus export --format="csv" --output="data.csv"
# export all tasks in the data.tsv file
opus export --format="tsv" --output="data.csv"

Delete a task

  • just like opus finish, opus delete only accepts a tasks id as the argument
# delete the task with id=1
opus delete 1
opus del 1
opus d 1

Configuration

The OPUS_PATH env variable

By default opus decides where to store its database based on your operating system. Currently opus supports automatically figuring out where to store the database on windows, linux and macos.

  • Linux and Macos: $HOME/opus/opus.db or $XDG_CONFIG_HOME/opus/opus.db
  • Windows: %LOCALAPPDATA%/opus/opus.db

For use cases which force the use of a different location, opus honors the OPUS_PATH environment variable. Set this variable and override the above paths.:

  • Linux: add to .bashrc (or your shells config file)
set OPUS_PATH=~/.config # opus will create and use ~/.config/opus/opus.db
  • Windows: Add to your system environment variables guide.

Opus will create the opus/opus.db file and directory in the directory specified in the OPUS_PATH variable