Releases: CS2103AUG2016-F11-C2/main
CMDo v0.5
CMDO is a keyboard-based task manager which helps you make task management simpler.
For manual testing, download TestScript.md
and SampleData.xml
and read this.
Acknowledgements
- Natty, a natural language date parser written in Java by Joe Stelmach.
- jfxtras for date and time pickers.
- Team Triads for Leveshtein distance algorithm.
Licence : MIT
Features
add
tasks #LikeASiri
You may add due-by tasks, with relative, explicit or floating date-time inputs. CMDo understands everyday language. Remember that if you are inputting dates, use the MM/DD/(YYYY) format.
# Due-bys
add 'give me some sugar' tmr at noon # relative date and time
add 'give me some coffee' on 10/31/2016 at noon # explicit date, relative time
add 'give me some candy' on 10/31/2016 at 2230 # explicit date and time
add 'give me some' at 3pm # implicit today
add 'give me some money' tmr # floating time
add 'give me' # floating
# Events
add 'give me some sugar' from tmr to 10/31/2016 # you get the idea
block
time slots #LikeABoss
You may block off time slots to prevent conflicting tasks. Tasks may not be added to the blocked date/time range. Remember that if you are inputting dates, use the MM/DD/(YYYY) format.
Note that blocked tasks do not have priorities.
block 'CS2103 exam' tmr # entirety of tomorrow is blocked, no tasks may be added inclusive of tomorrow
block 'CS2103 tutorial' from 11am to 12pm # 11am - 12pm today is blocked, no tasks may be added inclusive of the time range
block 'visit Bolivia' at 11am # 11am - 12pm (1h enforced) today is blocked
block 'night of fun' from 10/31 11pm to 11/1 6pm # 11pm (10/31) - 6pm (11/1) is blocked.
block 12pm # impossible. Secret mission? Give it a name at least.
done
? Mark them and get on with your life
You may mark a task as done
at anytime. All you need is the index that the task has on the list.
done 1 # all done with task 1 (on list)
done give me some # invalid
Does it make sense to mark a done task as done? No, so don't do it.
delete
tasks because you can
You may delete a task if you decide not to go through with it. Or if you have done it and do not wish to be reminded of it.
delete 1 # deletes task 1 (on list)
delete you # invalid
edit
tasks in the same way
You may edit tasks by first keying in the index of the task in the [list](#List them all). Type in only the fields you are interested in changing. Be warned, in this iteration, you cannot undo an edit. Remember that if you are inputting dates, use the MM/DD/(YYYY) format.
edit 1 'new name' # changes the detail
edit 2 -new tag # replaces all tags with `-new`
edit 3 /medium # changes the priority to `medium`
edit 4 tmr at noon # relative date and time
edit 1 # actually impossible.
find
tasks with Power Search (wow)
Are you a goldfish who has about 1,384,103 things to do on your list? You may find tasks using specific keywords! (Add --done
to search through done tasks) Remember that if you are inputting dates, use the MM/DD/(YYYY) format.
find word # pulls up undone tasks with 'word' in their detail or tag
find high # pulls up undone tasks with 'high' in their priority, detail or tag
find tmr 1300 # pulls up undone tasks with tomorrow's date, 1300 in their date/time parameters
# or 'tmr 1300' in their detail or tag
find --done keyword # pulls up done tasks with 'keyword' in their detail
find my keys # no we don't do that sort of thing
\# Do note todolist understands your spelling errors/ambiguity and will pull out similar tasks for you.
list
them all
How do you list tasks, you ask? Super simple!
list # lists all undone tasks
list all
la
list done # lists all done tasks
ld
list block # lists all blocked timeslots
lb
ls # woah woah woah, what are you thinking?
select
tasks to teleport there
There may be a situation in which you want to navigate to a certain index of a task in the list. Doing so is easy!
select 1 # selects task 1 (on list)
select choice # invalid
storage
file path may be changed
You may change the storage file cmdo.xml
's location as an when you like.
storage # defaults to location data/
storage data/test/cmdo.xml # valid
storage anywhere/cmdo.xml # valid
storage anywhere # valid (!)
undo
and redo
your last action
You may undo and redo add, block, clear, delete, done, edit commands. Basically commands which modify any tasks in the todo list.
undo # undoes one step
redo # redoes one step
up
and down
, top
and bottom
You can navigate through CMDo by typing!
up
u # move up
down
d # move down
top
t # teleport to the top of the list
bottom
b # teleport to the bottom of the list
FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with
the file that contains the data of your previous Address Book.
Q: Is there a click function?
A: No
Q: How do i customize the functions and commands to suit my style?
A: We will have in the next version :)
Q: Can i change the layout?
A: We will have in the next version :)
Q: How do i set priority to a task?
A: add priority under tags eg.(H for high, M for medium, L for low)
Q: Is there a cheat sheet for the commands?
A: /help
Q: Do I have to check my to-do list regularly, is there something to remind me?
A: You have to check your to-do list, isnt that the point?
Q: How do i block out slots for unconfirmed tasks?
A: just key in the timming after the task description.
Q: How do i see upcoming tasks?
A: The list will be sorted according to date and time
Q: What do I do with overdue tasks?
A: You can either delete them or done them.
Q: Why CMDo doesnt just remove my overdue tasks automatically?
A: We take into account the fact that you may have been unable to complete it by the set due date but would still need to do so it serves as a reminder.
Q: How do scroll up or down the list?
A: Use the page up and page down commands, alternatively, use top and bottom commands to for quick access to the top or bottom of the list!
Q: This is an interesting product, would I be able to contribute?
A: We are open source so feel free to contact us or submit contributions via pull requests!
Command Summary
Command | Format |
---|---|
Add task | add '<task>' <day> <time> /<priority> -<tags> |
Add block task | block '<task>' <day> <time> -<tags> |
Delete task | delete <INDEX> |
Do task | done <INDEX> |
Edit task | edit <index> <details to edit> |
Find tasks | find <keyword> |
List all tasks | la or list |
List blocked tasks | lb or list block |
List done tasks | ld or list done |
Undo action | undo |
Redo action | redo |
Page up/down | up /down |
Top/Bottom of list | top /bottom |
Change storage | storage <new/path>/cmdo.xml |
Help | help |
Exit | exit |
Last updated 7 Nov 2016.
CMDo v0.5rc
Features
add
tasks #LikeASiri
You may add due-by tasks, with relative, explicit or floating date-time inputs. CMDo understands everyday language.
# Due-bys
add 'give me some sugar' tmr at noon # relative date and time
add 'give me some coffee' on 10/31/2016 at noon # explicit date, relative time
add 'give me some candy' on 10/31/2016 at 2230 # explicit date and time
add 'give me some' at 3pm # implicit today
add 'give me some money' tmr # floating time
add 'give me' # floating
# Events
add 'give me some sugar' from tmr to 10/31/2016 # you get the idea
# Restrictions
add 'don't use dashes' 1000-1200 # natty doesn't place nice with dashes. use 'to' instead
block
time slots #LikeABoss
You may block off time slots to prevent conflicting tasks. Tasks may not be added to the blocked date/time range.
block 'CS2103 exam' tmr # entirety of tomorrow is blocked, no tasks may be added inclusive of tomorrow
block 'CS2103 tutorial' from 11am to 12pm # 11am - 12pm today is blocked, no tasks may be added inclusive of the time range
block 'visit Bolivia' at 11am # 11am - 12pm (1h enforced) today is blocked
block 'night of fun' from 10/31 11pm to 11/1 6pm # 11pm (10/31) - 6pm (11/1) is blocked.
block 12pm # impossible. Secret mission? Give it a name at least.
done
? Mark them and get on with your life
You may mark a task as done
at anytime. All you need is the index that the task has on the list.
done 1 # all done with task 1 (on list)
done give me some # invalid
Does it make sense to mark a done task as done? No, so don't do it.
edit
tasks in the same way
You may edit tasks by first keying in the index of the task in the [list](#List them all). Type in only the fields you are interested in changing. Be warned, in this iteration, you cannot undo an edit.
edit 1 'new name' # changes the detail
edit 2 -new tag # replaces all tags with `-new`
edit 3 /medium # changes the priority to `medium`
edit 4 tmr at noon # relative date and time
edit 1 # actually impossible.
find
tasks with Power Search (wow)
Are you a goldfish who has about 1,384,103 things to do on your list? You may find tasks using specific keywords! (Add --done
to search through done tasks)
find word # pulls up undone tasks with 'word' in their detail or tag
find high # pulls up undone tasks with 'high' in their priority, detail or tag
find tmr 1300 # pulls up undone tasks with tomorrow's date, 1300 in their date/time parameters
# or 'tmr 1300' in their detail or tag
find --done keyword # pulls up done tasks with 'keyword' in their detail
find my keys # no we don't do that sort of thing
\# Do note todolist understands your spelling errors/ambiguity and will pull out similar tasks for you.
list
them all
How do you list tasks, you ask? Super simple!
list # lists all undone tasks
list all
la
list done # lists all done tasks
ld
list block # lists all blocked timeslots
lb
ls # woah woah woah, what are you thinking?
storage
file path may be changed
You may change the storage file cmdo.xml
's location as an when you like.
storage # defaults to location data/
storage data/test/cmdo.xml # valid
storage anywhere/cmdo.xml # valid
storage anywhere # valid (!)
undo
and redo
your last action
You may undo and redo add, block, clear, delete, done, edit commands. Basically commands which modify any tasks in the todo list.
undo # undoes one step
redo # redoes one step
up
and down
, top
and bottom
You can navigate through CMDo by typing!
up
u # move up
down
d # move down
top
t # teleport to the top of the list
bottom
b # teleport to the bottom of the list
CMDo v0.4
Features
add
tasks #LikeASiri
You may add due-by tasks, with relative, explicit or floating date-time inputs. CMDo understands everyday language.
# Due-bys
add 'give me some sugar' tmr at noon # relative date and time
add 'give me some coffee' on 10/31/2016 at noon # explicit date, relative time
add 'give me some candy' on 10/31/2016 at 2230 # explicit date and time
add 'give me some' at 3pm # implicit today
add 'give me some money' tmr # floating time
add 'give me' # floating
# Events
add 'give me some sugar' from tmr to 10/31/2016 # you get the idea
# Restrictions
add 'don't use dashes' 1000-1200 # natty doesn't place nice with dashes. use 'to' instead
block
time slots #LikeABoss
You may block off time slots to prevent conflicting tasks. Tasks may not be added to the blocked date/time range.
block 'CS2103 exam' tmr # entirety of tomorrow is blocked, no tasks may be added inclusive of tomorrow
block 'CS2103 tutorial' from 11am to 12pm # 11am - 12pm today is blocked, no tasks may be added inclusive of the time range
block 'visit Bolivia' at 11am # 11am - 12pm (1h enforced) today is blocked
block 'night of fun' from 10/31 11pm to 11/1 6pm # 11pm (10/31) - 6pm (11/1) is blocked.
block 12pm # impossible. Secret mission? Give it a name at least.
done
? Mark them and get on with your life
You may mark a task as done
at anytime. All you need is the index that the task has on the list.
done 1 # all done with task 1 (on list)
done give me some # invalid
Does it make sense to mark a done task as done? No, so don't do it.
edit
tasks in the same way
You may edit tasks by first keying in the index of the task in the [list](#List them all). Type in only the fields you are interested in changing. Be warned, in this iteration, you cannot undo an edit.
edit 1 'new name' # changes the detail
edit 2 -new tag # replaces all tags with `-new`
edit 3 /medium # changes the priority to `medium`
edit 4 tmr at noon # relative date and time
edit 1 # actually impossible.
find
tasks with Fuzzy Search (wow)
Are you a goldfish who has about 1,384,103 things to do on your list? You may find tasks using specific keywords! (Add --done
to search through done tasks)
find word # pulls up undone tasks with 'word' in their detail or tag
find high # pulls up undone tasks with 'high' in their priority, detail or tag
find tmr 1300 # pulls up undone tasks with tomorrow's date, 1300 in their date/time parameters
# or 'tmr 1300' in their detail or tag
find --done keyword # pulls up done tasks with 'keyword' in their detail
find my keys # no we don't do that sort of thing
list
them all
How do you list tasks, you ask? Super simple!
list # lists all undone tasks
list all
la
list done # lists all done tasks
ld
list block # lists all blocked timeslots
lb
ls # woah woah woah, what are you thinking?
storage
file path may be changed
You may change the storage file cmdo.xml
's location as an when you like.
storage # defaults to location data/
storage data/test/cmdo.xml # valid
storage anywhere/cmdo.xml # valid
storage anywhere # valid (!)
undo
and redo
your last action
You may undo and redo add, block, clear, delete, done, edit commands. Basically commands which modify any tasks in the todo list.
undo # undoes one step
redo # redoes one step
Disclaimer: v0.4 is a beta release. We're hard at work to bring you an even more polished product that will hopefully be integrated with NUSMods (the latter I kid) so keep calm and eat some candy.
Installation note: Install JAR file into bin
CMDo v0.3
*Important note: The JAR file must be installed in the bin
directory which is not included in this release.
Features
add
tasks #LikeASiri
You may add due-by tasks, with relative, explicit or floating date-time inputs. CMDo understands everyday language.
# Due-bys
add 'give me some sugar' tmr at noon # relative date and time
add 'give me some coffee' on 10/31/2016 at noon # explicit date, relative time
add 'give me some candy' on 10/31/2016 at 2230 # explicit date and time
add 'give me some' at 3pm # implicit today
add 'give me some money' tmr # floating time
add 'give me' # floating
# Events
add 'give me some sugar' from tmr to 10/31/2016 # you get the idea
# Restrictions
add 'don't use dashes' 1000-1200 # natty doesn't place nice with dashes. use 'to' instead
block
time slots #LikeABoss
You may block off time slots to prevent conflicting tasks. Tasks may not be added to the blocked date/time range.
block 'CS2103 exam' tmr # entirety of tomorrow is blocked, no tasks may be added inclusive of tomorrow
block 'CS2103 tutorial' from 11am to 12pm # 11am - 12pm today is blocked, no tasks may be added inclusive of the time range
block 'visit Bolivia' at 11am # 11am - 12pm (1h enforced) today is blocked
block 'night of fun' from 10/31 11pm to 11/1 6pm # 11pm (10/31) - 6pm (11/1) is blocked.
block 12pm # impossible. Secret mission? Give it a name at least.
done
? Mark them and get on with your life
You may mark a task as done
at anytime. All you need is the index that the task has on the list.
done 1 # all done with task 1 (on list)
done give me some # invalid
Does it make sense to mark a done task as done? No, so don't do it.
edit
tasks in the same way
You may edit tasks by first keying in the index of the task in the [list](#List them all). Edit works as though you were adding a new task. (For now)
edit 1 give me some sugar tmr at noon # relative date and time
edit 1 # actually impossible.
find
tasks (wow)
Are you a goldfish who has about 1,384,103 things to do on your list? You may find tasks using specific keywords!
find word # pulls up undone tasks with 'word' in their detail
find --done keyword # pulls up done tasks with 'keyword' in their detail
find my keys # no we don't do that sort of thing
list
them all
How do you list tasks, you ask? Super simple!
list # lists all undone tasks
list all
la
list done # lists all done tasks
ld
list block # lists all blocked timeslots
lb
ls # woah woah woah, what are you thinking?
storage
file path may be changed
You may change the storage file cmdo.xml
's location as an when you like.
storage # defaults to location data/
storage data/test/cmdo.xml # valid
storage anywhere/cmdo.xml # valid
storage anywhere # valid (!)
Disclaimer: v0.3 is for evaluation purposes only. It's ugly, cranky and even we don't want to use it. We're hard at work to bring you an even more polished product that will hopefully be integrated with NUSMods (the latter I kid) so keep calm and eat some candy.
CMDo v0.2
Features
add
tasks #LikeASiri
You may add due-by tasks, with relative, explicit or floating date-time inputs. CMDo understands everyday language.
add give me some sugar tmr at noon # relative date and time
add give me some coffee on 10/31/2016 at noon # explicit date, relative time
add give me some candy on 10/31/2016 at 2230 # explicit date and time
add give me some at 3pm # implicit today
add give me some money tmr # floating time
add give me # floating
add # actually possible
edit
tasks in the same way
You may edit tasks by first keying in the index of the task in the [list](#List them all). Edit works as though you were adding a new task. (For now)
edit 1 give me some sugar tmr at noon # relative date and time
edit 1 # actually impossible.
list
them all
How do you list tasks, you ask? Super simple!
list # lists all undone tasks
la # shortcut for list
ld # lists all done tasks
ls # woah woah woah, what are you thinking?
find
tasks (wow)
Are you a goldfish who has about 1,384,103 things to do on your list? You may find tasks using specific keywords!
find word # pulls up undone tasks with 'word' in their detail
find --done keyword # pulls up done tasks with 'keyword' in their detail
find my keys # no we don't do that sort of thing
done
? Mark them and get on with your life
You may mark a task as done
at anytime. All you need is the index that the task has on the list.
done 1 # all done with task 1 (on list)
done give me some # invalid
Does it make sense to mark a done task as done? No, so don't do it.
Other non-command related features
We have also brought you the following:
- A UI that attempts to differentiate itself from the competition (trust us we know)
- Automated testing for most commands
Disclaimer: v0.2 is for evaluation purposes only. It's ugly, cranky and even we don't want to use it. We're hard at work to bring you an even more polished product that will hopefully be integrated with NUSMods (the latter I kid) so keep calm and eat some candy.