This is the project repository for Baraleous. Given below are instructions on how to use it.
Baraleous is designed to be used to manage numerous commitments, both those with times attached, and those without.
Baraleous' memory persists between sessions, so you can set tasks, and restart Baraleous later and they'll remember.
All times are in natural language; Baraleous will not attempt to parse to any other format than the given string.
All indexes start from 1, not 0.
On startup Baraleous will greet the user with the following, promoting for a command.
_________Baraleous__________
Hello! I'm Baraleous XIV!
What can I do for you today?
____________User____________
From there, the user can input any command under the ____User____ line, the result of which will be printed under a new ___Baraleous___ section.
This pattern will remain until program termination.
Below are the list of commands, and their syntax and effects.
Syntax: "task <name>"
Description: Adds a task with no start or end time. The name of the task is given as <name>. Tha task is assumed to be incomplete (i.e. unmarked).
Example:
____________User____________
task read book
_________Baraleous__________
Added: 'read book'
____________User____________
Syntax: "deadline <name> /by <time>"
Description: Adds a task <name> with a time <time> that the task must be complete by.
Example:
____________User____________
deadline return book /by 27th April
_________Baraleous__________
Added Deadline: 'return book' due by '27th April'
____________User____________
Syntax: "event <name> /from <time1> /to <time2>"
Description: Adds a task <name> that has a distinct start time <time1> and end time <time2>.
Example:
____________User____________
event music festival /from 11th July /to 14th July
_________Baraleous__________
Added Event: 'music festival' starting at '11th July' and ending at '14th July'
____________User____________
Syntax: "mark <index>"
Description: Marks task <index> as done, where x is the index of the task. Index is given in the "list" command.
Example:
____________User____________
mark 1
_________Baraleous__________
OK! Task marked complete!
[X] read book
____________User____________
Syntax: "unmark <index>"
Description: The opposite of mark, unmarks the task.
Example:
____________User____________
unmark 1
_________Baraleous__________
OK! Task marked as incomplete!
[ ] read book
____________User____________
Syntax: "list"
Description: Generates and prints an indexed list of all current tasks tracked by Baraleous, and their current type and status.
Return value Syntax is: "<index>. [<task type>][<task done>] <name> <timings>".
Where <timings> will be empty for tasks, "(by: <time1>)" for deadlines, and "(from: <time1> to: <time2>)" for events.
Example:
____________User____________
list
_________Baraleous__________
1.[T][ ] read book
2.[D][X] return book (by: 27th April)
3.[E][ ] music festival (from: 11th July to: 14th July)
____________User____________
Syntax: "delete <index>"
Description: Deletes the task with index as <x>.
Example:
____________User____________
delete 2
_________Baraleous__________
Deleting task [X] return book (by: 27th April)
____________User____________
Syntax: "find <string>"
Description: Searches through all tasks in system for any task with a <name> that contains the string. Returns a list of all such tasks to terminal.
NOTE: The index of results of this command will not neccessarily be the same as their actual index in the database. e.g. in the example below, "read book" may not actually be at index 1. Example:
____________User____________
find book
_________Baraleous__________
Search Results:
1.[T][ ] read book
____________User____________
Syntax: "bye"
Description: Terminates the program.
Example:
____________User____________
bye
_________Baraleous__________
Goodbye!