(* 'todo' command, for adding, listing, deleting etc tasks from the * command line. *) open CalendarLib open Todo_types open Todo_utils open Printf (* Parse the command line. *) let subcommand, anon_params, list_retired, list_all, tag_del, todo_estimate = Todo_cmdline.parse_command_line () (* Connect to the database. *) let dbh = PGOCaml.connect ~database:"todo" () (* Run the subcommand. *) let () = match subcommand with | Idea -> (* todo idea *) Todo_add.cmd_idea dbh anon_params | List -> (* todo list *) Todo_list.cmd_list dbh anon_params list_retired list_all | Move -> (* todo move *) Todo_move.cmd_move dbh anon_params | Retire -> (* todo retire *) Todo_retire.cmd_retire dbh anon_params | Tag -> (* todo tag *) Todo_tag.cmd_tag dbh anon_params tag_del | Tag_add -> (* todo tag-add *) Todo_tag.cmd_tag_add dbh anon_params | Tag_colour -> (* todo tag-colour *) Todo_tag.cmd_tag_colour dbh anon_params | Tag_del -> (* todo tag-del *) Todo_tag.cmd_tag_del dbh anon_params | Tag_list -> (* todo tag-list *) Todo_tag.cmd_tag_list dbh anon_params | Today -> (* todo today *) Todo_add.cmd_today dbh anon_params | Todo -> (* todo todo|task *) Todo_add.cmd_todo dbh anon_params todo_estimate