Skip to the content.

User Guide

Introduction

With the transition to Canvas, the most important feature of LumiNUS’s deadline reminders is gone! NUS To-Do List aims to bring an application to keep you aware of your deadlines and not miss them.

Quick Start

  1. Ensure that you have Java 11 or above installed.
  2. Download the latest version of NUS To-Do List from here.
  3. Run java -jar NUSTo-DoList.jar in a terminal to start the program.

Command Format

Flags

Parameters

Restrictions

Given below is list of task attributes and their restrictions.

Selecting tasks

Some commands can act on multiple tasks at once, which can be selected by providing a list of ids, OR one or more filters.

Others

Features

Adding a task add

Adds a new task with the given attributes to your To-Do list.

Format: add DESCRIPTION [-due DEADLINE] [-email EMAIL_ADDRESS] [-tags LIST_OF_TAGS] [-rep REPEAT_TIMES] [-prio PRIORITY_LEVEL]

Example of usage and output:

add todo -due 23/09/2023 23:59 -rep 10 creates a task with the description todo, the deadline 23 Sep 2023 23:59, which will produce a copy of itself after 30 Sep 2023 23:59.

Okay, I have added this task:
[ID:00001][ ][   ][todo                               ][Due by: 23 Sep 2023 23:59]

add do math homework -email abc@def.com -prio 2 -tags difficult later 3.14 creates a task with the description do math homework, email address abc@def.com, priority level Medium, and the tags 3.14, difficult and later.

Okay, I have added this task:
[ID:00002][ ][II ][do math homework                   ]

Mark a task (as complete) mark

Marks tasks with the given ids or matching the given filters as completed.

Format: mark ID OR mark FILTERS

Example of usage and output:

mark 1 marks the task with id 1 in the To-Do list as done.

Okay, I have marked the following task(s) as complete:
__________________________________________________________________________________________
[#00001][ID:00001][X][   ][todo                               ][Due by: 23 Sep 2023 23:59]

mark -done 0 marks all incomplete tasks as done.

Okay, I have marked the following task(s) as complete:
__________________________________________________________________________________________
[#00001][ID:00002][X][II ][do math homework                   ]

Unmark a task (as incomplete) unmark

Unmarks tasks with the given ids or matching the given filters as incomplete.

Format: unmark ID OR unmark FILTERS

Example of usage and output:

unmark 1 unmarks the task with id 1 in the To-Do list, so it is considered not done yet.

Okay, I have marked the following task(s) as incomplete:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][todo                               ][Due by: 23 Sep 2023 23:59]

unmark -prio 2 unmarks all tasks with priority level 2 (Medium), so they are considered not done yet.

Okay, I have marked the following task(s) as incomplete:
__________________________________________________________________________________________
[#00001][ID:00002][ ][II ][do math homework                   ]

Delete a task delete

Deletes all tasks with the given ids or matching the given filters from the To-Do List.

Format: delete ID OR delete FILTERS

Example of usage and output:

delete 2 deletes the task with id 2 from the To-Do list.

Okay, I have removed the following task(s):
__________________________________________________________________________________________
[#00001][ID:00002][ ][II ][do math homework                   ]

delete -before 12/12/2024 12:12 deletes all tasks with deadlines before 12 Dec 2024 12:12.

Okay, I have removed the following task(s):
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][todo                               ][Due by: 23 Sep 2023 23:59]

Edit description of a task desc

Edits the description of tasks with the given ids or matching the given filters.

Format: desc IDS -edit DESCRIPTION OR desc FILTERS -edit DESCRIPTION

Example of usage and output:

desc 1 -edit abc def sets the description of the task with id 1 to abc def.

Okay, I have edited the description of the following task(s) to [abc def]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 23 Sep 2023 23:59]

Edit/delete deadline due

Edits or deletes the deadline of tasks with the given ids or matching the given filters.

Format: due IDS -edit DEADLINE OR due FILTERS -edit DEADLINE

Example of usage and output:

due 1 -edit 30-03-2024 18:00 sets the deadline of the task with id 1 to 30-03-2024 18:00.

Okay, I have edited the deadline of the following task(s) to [30 Mar 2024 18:00]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]

Edit/Delete email address email

Edits or deletes the email address of tasks with the given ids or matching the given filters.

Format: email IDS -edit EMAIL_ADDRESS OR email FILTERS -edit EMAIL_ADDRESS

Example of usage and output:

email 1 -edit rui@gmail.com adds the email address rui@gmail.com to the task of id 1 in the To-Do list.

Okay, I have edited the email of the following task(s) to [rui@gmail.com]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]

Add/Edit/Delete tags tags

Adds, edits, or deletes the tags of tasks with the given ids or matching the given filters.

Format: tags IDS -edit LIST_OF_TAGS OR tags FILTERS -edit LIST_OF_TAGS

Example of usage and output:

tags 1 -edit difficult later sets the tags of the task with id 1 to difficult and later.

Okay, I have edited the tags of the following task(s) to [difficult, later]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]

tags -tags later -del later deletes the tag later from all tasks with the tag later.

Okay, I have removed the tags [later] from the following task(s):
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]
[#00002][ID:00002][ ][   ][do math homework                   ]

Edit/delete repeat times rep

Edits or deletes the recurrence count of tasks with the given ids or matching the given filters.

Format: rep IDS -edit REPEAT_TIMES OR rep FILTERS -edit REPEAT_TIMES

Example of usage and output:

rep 1 -edit 3 sets the recurrence count of the task with id 1 to 3.

Okay, I have edited the repeat times of the following task(s) to [3]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]

rep -rep 1 -del deletes the recurrence count of all recurring tasks.

Okay, I have deleted the repeat times of the following task(s):
__________________________________________________________________________________________
[#00001][ID:00001][ ][   ][abc def                            ][Due by: 30 Mar 2024 18:00]

Edit/Delete priority level prio

Edits or deletes the priority level of tasks with the given ids or matching the given filters.

Format: prio IDS -edit PRIORITY_LEVEL OR prio FILTERS -edit PRIORITY_LEVEL

Example of usage and output:

prio 1 -edit 3 sets the priority level of the task with id 1 to 2 (High).

Okay, I have edited the priority level of the following task(s) to [High]:
__________________________________________________________________________________________
[#00001][ID:00001][ ][III][abc def                            ][Due by: 23 Sep 2023 23:59]

prio -prio 2 -del deletes the priority level of all tasks with priority level 0.

Okay, I have deleted the priority level of the following task(s):
__________________________________________________________________________________________
[#00001][ID:00002][ ][   ][do math homework                   ]

View all/selected tasks in To-Do list list

Display a summary of all tasks, or tasks matching the given filters.

Format: list [IDS] [-sort SORT_OPTION] OR list [FILTERS] [-sort SORT_OPTION]

Example of usage and output:

list -sort done will display a summary of all tasks, sorted by completion status.

Okay, here is your task list, with 6 tasks
__________________________________________________________________________________________
[#00001][ID:00005][!][II ][object Object                      ][Due by: 03 Mar 2023 03:03]
[#00002][ID:00006][ ][III][Test                               ][Due by: 08 Apr 2023 20:00]
[#00003][ID:00003][ ][I  ][baba                               ][Due by: 20 Apr 2023 13:37]
[#00004][ID:00001][ ][III][abc def                            ][Due by: 30 Mar 2024 18:00]
[#00005][ID:00002][X][   ][do math homework                   ]
[#00006][ID:00004][X][   ][bubu                               ]

list -done 0 -sort prio will display a summary of all incomplete tasks, sorted by priority.

Okay, here is your task list, with 4 tasks
__________________________________________________________________________________________
[#00001][ID:00001][ ][III][abc def                            ][Due by: 30 Mar 2024 18:00]
[#00002][ID:00006][ ][III][Test                               ][Due by: 08 Apr 2023 20:00]
[#00003][ID:00005][!][II ][object Object                      ][Due by: 03 Mar 2023 03:03]
[#00004][ID:00003][ ][I  ][baba                               ][Due by: 20 Apr 2023 13:37]

View detailed information of a task info

Display all the attributes (description, deadline, email, tags, repeat times, priority level) of tasks with the given ids or matching the given filters.

Format: info IDS OR info FILTERS

Example of usage and output:

info 2 6 displays the details of the tasks with ids 2 and 6.

Okay, here is the detailed information of the following task(s):
__________________________________________________________________________________________
ID:           2
Description:  do math homework
Completed:    Yes
Email:        abc@def.com
Tags:         3.14, can, difficult, okay, yeah
__________________________________________________________________________________________
ID:           6
Description:  Test
Completed:    No
Priority:     High
Due:          08 Apr 2023 20:00
Repeat times: 12

View all tags in task list taglist

Displays all tags found in your To-Do List.

Format: taglist

Example of usage and output:

taglist displays any tags your tasks have.

Okay, here are the tags associated with your task list:
3.14, can, difficult, haha, okay, yeah

Show progress of tasks that are due this week progress

Displays the progress of and lists tasks that are due this week in To-Do list. Progress is shown in the form of a percentage (up to 2 decimal places) and a progress bar (where = denotes the proportion of tasks completed and - denotes the proportion of tasks that are left undone). Called automatically on startup.

Format: progress

Example of usage:

progress

You have completed 33.33% of the 3 tasks due this week!
Progress: |================----------------------------------|
__________________________________________________________________________________________
[#00001][ID:00001][X][III][task1                              ][Due by: 30 Mar 2023 18:00]
[#00002][ID:00002][ ][III][task2                              ][Due by: 30 Mar 2023 19:00]
[#00003][ID:00003][ ][III][task3                              ][Due by: 31 Mar 2023 20:00]

View/Edit configurable settings config

Displays/edits the current configuration for repeating tasks.

Format: config OR config [-repfreq REPEAT_FREQUENCY] [-chkfreq CHECK_FREQUENCY] OR config -reset

Example of usage and output: config displays the current configuration settings.

Here are the configuration settings for your system:
Repeating tasks every 7 days
Checking for repeating task every: 0 minutes

config -chkfreq 5 -repfreq 3 sets tasks to repeat every 3 days and the check for recurring task to every 5 minutes.

Okay, I have changed the configuration to as follows:
Repeating tasks every 3 days
Checking for repeating task every: 5 minutes

View help List help

Displays all possible commands/filters/sorts that can be used.

Format: help [HELP_TYPE]

Example of usage and output:

help will display the command help message.

Here is the list of commands that you can use:
+----------------------------------------------------------------------------------------+
| Command                                | Description                                   |
+----------------------------------------------------------------------------------------+
| add DESCRIPTION [-due DEADLINE]        | Adds a new task with the given attributes to  |
|                 [-email EMAIL_ADDRESS] | your To-Do list.                              |
|                 [-tags TAGS]           |                                               |
|                 [-rep REPEAT_TIMES]    |                                               |
|                 [-prio PRIORITY_LEVEL] |                                               |
+----------------------------------------------------------------------------------------+
| mark IDS                               | Marks given tasks as completed.               |
+----------------------------------------------------------------------------------------+
| unmark IDS                             | Marks given tasks as incomplete.              |
+----------------------------------------------------------------------------------------+
| delete IDS                             | Deletes given tasks from your To-Do list.     |
+----------------------------------------------------------------------------------------+
| desc IDS -edit DESCRIPTION             | Sets the descriptions of given tasks.         |
+----------------------------------------------------------------------------------------+
| prio IDS -edit PRIORITY_LEVEL          | Sets the priority levels of given tasks.      |
| prio IDS -del                          | Deletes the priority levels of given tasks.   |
+----------------------------------------------------------------------------------------+
| due IDS -edit DEADLINE                 | Sets the deadlines of given tasks.            |
| due IDS -del                           | Deletes the deadlines of given tasks.         |
+----------------------------------------------------------------------------------------+
| email IDS -edit EMAIL_ADDRESS          | Sets the email addresses of given tasks.      |
| email IDS -del                         | Deletes the email addresses of given tasks.   |
+----------------------------------------------------------------------------------------+
| tags IDS -edit LIST_OF_TAGS            | Sets the tags of given tasks.                 |
| tags IDS -add LIST_OF_TAGS             | Adds given tags to given tasks.               |
| tags IDS -del LIST_OF_TAGS             | Deletes given tags from given tasks.          |
| tags IDS -del                          | Deletes all tags from given tasks.            |
+----------------------------------------------------------------------------------------+
| rep IDS -edit REPEAT_TIMES             | Sets the recurrence count of given tasks.     |
| rep IDS -del                           | Makes given tasks no longer recur.            |
+----------------------------------------------------------------------------------------+
| list [FILTERS] [-sort SORT_OPTION]     | Display summary of all/filtered tasks that    |
|                                        | is sorted if a sorting option is given.       |
+----------------------------------------------------------------------------------------+
| info IDS                               | Display all attributes of given tasks.        |
+----------------------------------------------------------------------------------------+
| progress                               | Displays the progress and summary of tasks    |
|                                        | that are due this week.                       |
+----------------------------------------------------------------------------------------+
| taglist                                | Displays all tags found in your To-Do List.   |
+----------------------------------------------------------------------------------------+
| config                                 | Displays current configuration settings.      |
| config [-chkfreq CHECK_FREQUENCY]      | Sets checking frequency for recurring tasks.  |
|        [-repfreq REPEAT_FREQUENCY]     | Sets repeating frequency of recurring tasks.  |
| config -reset                          | Resets configuration settings to default.     |
+----------------------------------------------------------------------------------------+
| help                                   | Displays summary of all possible commands.    |
| help filter                            | Displays summary of all filter options.       |
| help sort                              | Displays summary of all sorting options.      |
+----------------------------------------------------------------------------------------+
| reset                                  | Deletes all tasks and reset IDs to 0.         |
+----------------------------------------------------------------------------------------+
| exit                                   | Exits the program.                            |
+----------------------------------------------------------------------------------------+
IDS can also be replaced with FILTERS, use "help filter" for information on filters.

Exit program exit

Exits the program.

Format: exit

Example of usage and output:

exit

See you again, bye!

Reset To-Do List reset

Resets your To-Do List, deleting all tasks and resetting the allocated id numbers.

Exits the program.

Format: reset

Example of usage and output:

reset

Are you sure you want to reset your To-Do List?
This cannot be undone. Enter "YES" to confirm, or anything else to cancel: 

YES will reset your To-Do List if entered after the above confirmation prompt.

Okay, your To-Do List has been reset.

FAQ

How do I transfer my data to another computer?

Can I edit my save/config file using a text editor?

Why was my recurring task details not updated with the original task?

Command Summary

Action Command
Add a task add DESCRIPTION [-due DEADLINE] [-email EMAIL_ADDRESS] [-tags LIST_OF_TAGS] [-rep REPEAT_TIMES] [-prio PRIORITY_LEVEL]
Mark tasks complete mark IDS
Mark tasks incomplete unmark IDS
Delete tasks delete IDS
Edit description of tasks desc IDS -edit DESCRIPTION
Edit deadline to tasks due IDS -edit DEADLINE
Edit email to tasks email IDS -edit EMAIL_ADDRESS
Edit tags to tasks tags IDS -edit LIST_OF_TAGS
Edit repeat times of tasks rep IDS -edit REPEAT_TIMES
Edit priority level of tasks prio IDS -edit PRIORITY_LEVEL
Display summary of tasks list [FILTERS] [-sort SORT_OPTION]
Check all details of a task info
Check all tags in task list taglist
Check progress of current week’s tasks progress
Show/edit configuration settings config [-repfreq REPEAT_FREQUENCY] [-chkfreq CHECK_FREQUENCY]
Check all commands of the program help
Exit program exit
Reset task list reset