A Haskell clone of tasknote with extra features and nicer configuration. It allows the user to associate a text file with a Taskwarrior task. When a note is added, the task will be annotated with the first line of the note. This annotation will be updated with each call to hasknote edit
.
Using the Nix package manager:
- Clone the project and
cd
into its directory. - Run
nix build
- The compiled executable will be located at
./result/bin/hasknote
.
Using Haskell's Cabal:
- Clone the project and
cd
into its directory. - Run
cabal --enable-nix v1-configure && cabal --enable-nix v1-build
. - The compiled executable will be located at
./dist/build/hasknote/hasknote
.
Usage: hasknote TASK_ID COMMAND
Available options:
-h,--help Show this help text
Available commands:
edit [--stdin] Create or edit a note for a task, optionally reading
from stdin instead of opening an editor
view View the note for a task if it exists
remove Remove the note for a task if it exists
You can configure hasknote via a ~/.hasknoterc
file. Options are:
editor
- The text editor you edit your note in. Default:editor = vi
.viewer
- The program used to view your note. Default:viewer = cat
.location
- The directory where your notes will be stored. If the directory does not exist, it will be created. Default:location = ~/.task/notes
.extension
- The file extension for your notes. Default:extension = .txt
.prefix
- The prefix of hasknote's task annotations, used by hasknote to detect and remove the annotations later. Default:prefix = [hasknote]
.skipHooksOnQuery
- Whether to run thetask
command withrc.hooks=0
when querying task data. Increases the speed ofhasknote
, especially if you have hooks that take a while. This option does not affect thetask
command when a task is being modified, in which case hooks are always run. Default:skipHooksOnQuery = True
.