Nell is a chatbot that allows users to manage tasks through a command-line interface.
- Ensure that you have Java 17 or above installed on your computer.
- Download the latest
.jar
file from here. - Copy the file into the folder
- Open a new terminal in the folder you copied the
.jar
file into, and enter the following command:Upon running the command, the following messages should be printed in your terminal:java -jar nell.jar
Hello! I'm Nell! What can I do for you?
- Words in
UPPERCASE
represent parameters that are to be entered by the user.
e.g. intodo DESCRIPTION
,DESCRIPTION
is a parameter, like intodo buy bread
.- Command words are case-sensitive.
e.g. the program will interpretLIST
as an invalid command, even thoughlist
is valid.- For commands that do not take in parameters (like
list
andbye
), additional parameters entered will be ignored by the program.
e.g. the program will interpretlist 1-10
aslist
.
Adds a ToDo
task to the task list.
Format: todo DESCRIPTION
Examples
todo buy bread
adds aToDo
task with descriptionbuy bread
.
Adds a Deadline
task to the task list.
Format: deadline DESCRIPTION /by BY-DATE
- The value at
BY-DATE
has to be entered in the formatyyyy-MM-dd HHmm
.
Examples
deadline collect laundry /by 2024-10-01 1200
adds aDeadline
task with descriptioncollect laundry
and
by-date2024-10-01 1200
.
Adds an Event
task to the task list.
Format: event DESCRIPTION /from FROM-DATE /to TO-DATE
- The values at
FROM-DATE
andTO-DATE
have to be entered in the formatyyyy-MM-dd HHmm
.
Examples
event do laundry /from 2024-10-01 0600 /to 2024-10-01 0800
adds anEvent
task with descriptiondo laundry
,
from-date2024-10-01 0600
and to-date2024-10-01 0800
.
Shows a list of all tasks in the task list.
-> The tasks listed are as follows:
1. [T][ ] buy bread
2. [D][ ] eat bread (by: 30/09/2024 13:30)
Format: list
Finds all tasks in the task list that contains a specified keyword, and shows a list of those tasks.
-> The matching tasks are as follows:
1. [T][ ] buy bread
3. [D][ ] eat bread (by: 30/09/2024 13:30)
Format: find KEYWORD
- The finding is case-insensitive, e.g
bread
will matchBread
. - If multiple words are entered for
KEYWORD
, only the first word will be searched for. - Only tasks with entire words matching will be found, e.g
cs
will returnCS
but notCS2113
.
Examples
find bread
returns all tasks that contain the wordbread
.
Note
- The indexes of the tasks in the shown list correspond to their indexes in the complete task list.
Shows a list of all tasks that occur on a particular date.
-> The tasks on this date are as follows:
2. [D][ ] eat bread (by: 30/09/2024 13:30)
3. [E][ ] freeze bread (from: 28/09/2024 06:00 to: 20/10/2024 18:00)
Format: search DATE
- The value of
DATE
has to be entered in the formatyyyy-mm-dd
.
Examples
search 2024-09-30
shows a list of tasks that occur on2024-09-30
Note
- The indexes of the tasks in the shown list correspond to their indexes in the complete task list.
Marks an existing task as done.
Format: mark INDEX
- Marks the task at
INDEX
as done. The value ofINDEX
is the same as the one shown in the task list. - The value of
INDEX
must be a positive integer (1, 2, 3,...). - If the value of
INDEX
is not within the task list, the program prints the following message:
-> Invalid task!
Example
mark 2
marks the task at index 2 in the task list as done.
Marks an existing task as not done.
Format: unmark INDEX
- Marks the task at
INDEX
as not done. The value ofINDEX
is the same as the one shown in the task list. - The value of
INDEX
must be a positive integer (1, 2, 3,...). - If the value of
INDEX
is not within the task list, the program prints the following message:
-> Invalid task!
Example
unmark 1
marks the task at index 1 in the task list as not done.
Removes a task from the list.
Format: remove INDEX
- Removes the task at
INDEX
from the task list. The value ofINDEX
is the same as the one shown in the task list. - The value of
INDEX
must be a positive integer (1, 2, 3,...). - If the value of
INDEX
is not within the task list, the program prints the following message:
-> Invalid task!
Example
remove 1
removes the task at index 1 from the task list.
Exits the program. Upon exiting, the program shows the following message:
-> Bye. Hope to see you again soon!
Format: bye
The program saves the data in the task list to the hard disk after every command. There is no need to save manually.
The task list data is saved in the file [JAR file location]/data/data.txt
.
When the program is initialised, it loads the data from the saved file into the task list. If the saved file does not
exist, the program creates an empty file and its directory at the file path.
Action | Format | Example |
---|---|---|
Add ToDo |
todo DESCRIPTION |
todo buy bread |
Add Deadline |
deadline DESCRIPTION /by BY-DATE |
deadline collect laundry /by 2024-10-01 1200 |
Add Event |
event DESCRIPTION /from FROM-DATE /to TO-DATE |
event do laundry /from 2024-10-01 0600 /to 2024-10-01 0800 |
List | list |
- |
Find | find KEYWORD |
find bread |
Search | search DATE |
search 2024-10-01 |
Mark done | mark INDEX |
mark 2 |
Mark not done | unmark INDEX |
unmark 1 |
Exit | bye |
- |