aboutsummaryrefslogtreecommitdiff
path: root/bin/main.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bin/main.ml')
-rw-r--r--bin/main.ml84
1 files changed, 77 insertions, 7 deletions
diff --git a/bin/main.ml b/bin/main.ml
index cda58ca..1708f13 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -8,7 +8,7 @@ let tag_arg =
let headlines_t = Term.(const Stitch.start $ tag_arg $ const ())
let envs =
- let docs = "ENVIRONMENT VARIABLES" in
+ let docs = Cmdliner.Manpage.s_environment in
[ Cmd.Env.info
~docs
~doc:
@@ -29,7 +29,7 @@ let envs =
~docs
~doc:
"Pattern to use by grep to fetch headlines. Needs to be double escaped for \
- OCaml. (Default \"^\\* \")"
+ OCaml. (Default \"^\\\\* \")"
"STITCH_HEADLINE_PATTERN_REGEXP"
; Cmd.Env.info
~docs
@@ -43,7 +43,7 @@ let envs =
~docs
~doc:
"Regexp used by grep to find TODO items. Needs to be double escaped for OCaml. \
- (Default \"^\\* TODO\")"
+ (Default \"^\\\\* TODO\")"
"STITCH_TODO_REGEXP"
; Cmd.Env.info
~docs
@@ -53,15 +53,85 @@ let envs =
~docs
~doc:
"Regexp used by grep to find DONE items. Needs to be double escaped for OCaml. \
- (Default \"^\\* DONE\")"
+ (Default \"^\\\\* DONE\")"
"STITCH_DONE_REGEXP"
]
let headlines_cmd =
- let doc = "Show titles in a condensed list" in
- let man = [ `S Manpage.s_bugs; `P "Email bug reports to marc@mccd.space" ] in
- let info = Cmd.info ~envs "headlines" ~version:"0.1" ~doc ~man in
+ let doc = "write notes seperately and compose" in
+ let author = [ `S Manpage.s_authors; `P "Marc Coquand (mccd.space)" ] in
+ let bugs = [ `S Manpage.s_bugs; `P "Email bug reports to marc@mccd.space" ] in
+ let description =
+ [ `S Manpage.s_description
+ ; `P
+ "Stitch is a minimal note and todo composing tool inspired by Howm for Emacs. It \
+ works with any CLI editor and file format."
+ ; `P
+ "Stitch comes preconfigured to handle an org-esque file format, but can be \
+ reconfigured to handle any file format you want (SEE ENVIRONMENT). "
+ ; `P
+ "To set up, you will need to set STITCH_DIRECTORY (SEE ENVIRONMENT) at minimum. \
+ Stitch does not come with any built-in note-capturing tool, but you can easily \
+ set one up on your own (SEE EXAMPLES)."
+ ; `P
+ "When you enter the program for the first time, press '?' to see the list of \
+ keybindings."
+ ]
+ in
+ let example_set_up_basic =
+ [ `S Manpage.s_examples
+ ; `P "To get started, start by setting up a note directory in your shell profile"
+ ; `Pre "export STITCH_DIRECTORY=/home/bob/notes"
+ ; `P
+ "Stitch does not specify anything on how to capture your notes, but you can add \
+ the following in your profile to have a basic note capture command"
+ ; `Pre
+ "function capture {\n\
+ \ NEW_NOTE=\"\\$STITCH_DIRECTORY/\\$(date +'%y-%m-%d.%H:%M.%S').org\"\n\
+ \ echo '* ' >> \\$NEW_NOTE \n\
+ \ \\$EDITOR \"\\$NEW_NOTE\" +1:3 \"\n\
+ }\n"
+ ; `P
+ "With that, you can begin to capture your notes and they will be displayed in \
+ reverse chronological order in stitch. You can add tags, for example :journal: \
+ and :work:."
+ ; `P
+ "Once added, you can start viewing your notes in Stitch. So if you added a few \
+ journal notes, you can view them with"
+ ; `Pre "stitch -t :journal:"
+ ; `P
+ "If you press s, you will see toggle to see all notes stitched together. You can \
+ see all commands with '?'"
+ ; `P "You can also launch stitch without arguments to see all."
+ ; `P
+ "To set up TODO capturing, you can add a command to your shell profile to \
+ capture TODO items"
+ ; `Pre
+ "function todo {\n\
+ \ NEW_NOTE=\"\\$STITCH_DIRECTORY/\\$(date +'%y-%m-%d.%H:%M.%S').org\"\n\
+ \ echo '* TODO ' >> \\$NEW_NOTE \n\
+ \ \\$EDITOR \"\\$NEW_NOTE\" +1 \n\
+ }"
+ ; `P
+ "After that, you can capture a few TODO items, and you will be able to view them \
+ if you press 2. You can see done items if you press 3. Press '?' to see how to \
+ toggle the todo items."
+ ]
+ in
+ let credit =
+ [ `S "CREDIT"
+ ; `P "Stitch was inspired by the note-taking tool Howm for EMacs by HIRAOKA Kazuyuki."
+ ]
+ in
+ let info =
+ Cmd.info
+ ~envs
+ "stitch"
+ ~version:"0.1 ALPHA"
+ ~doc
+ ~man:(List.concat [ bugs; author; description; example_set_up_basic; credit ])
+ in
Cmd.v info headlines_t