diff options
Diffstat (limited to 'bin/main.ml')
-rw-r--r-- | bin/main.ml | 84 |
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 |