package seedu.address.logic.commands;

import java.util.Set;

/**
 * Finds and lists all persons in address book whose name contains any of the argument keywords.
 * Keyword matching is case sensitive.
 */
public class FindCommand extends Command {

    public static final String COMMAND_WORD = "find";

    public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all tasks with names containing any of "
            + "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n"
            + "Parameters: KEYWORD [MORE_KEYWORDS]...\n"
            + "Example: " + COMMAND_WORD + " horror night";

    private final Set<Set<String>> keywordsGroups;
    private final boolean isExactSearch;

    public FindCommand(Set<Set<String>> keywordsGroups, boolean isExactSearch) {
        this.keywordsGroups = keywordsGroups;
        this.isExactSearch = isExactSearch;
    }

    @Override
    public CommandResult execute() {
        if (isExactSearch) {
            model.updateFilteredTaskListWithKeywords(keywordsGroups);
        } else {
            model.updateFilteredTaskListWithStemmedKeywords(keywordsGroups);
        }
        return new CommandResult(getMessageForTaskListShownSummary(model.getFilteredTaskList().size()));
    }

}

@@ -86,14 +86,12 @@
 all 
-person
+task
 s in
@@ -152,16 +152,51 @@
 keywords
+%0A * or all of the argument keywords
 .%0A * Key
@@ -212,16 +212,20 @@
 hing is 
+not 
 case sen
@@ -489,14 +489,59 @@
 rds 
+(default) or all of the specified keywords 
 (case-
+in
 sens
@@ -547,16 +547,33 @@
 sitive) 
+%22%0A            + %22
 and disp
@@ -724,16 +724,55 @@
  horror 
+night, %22 + COMMAND_WORD + %22 horror AND 
 night%22;%0A

Update find command message