package com.loopperfect.buckaroo.cli;

import com.loopperfect.buckaroo.Event;
import com.loopperfect.buckaroo.Notification;
import io.reactivex.Observable;

import java.nio.file.FileSystem;
import java.util.function.Function;

public final class HelpCommand implements CLICommand {

    private HelpCommand() {
        super();
    }

    @Override
    public int hashCode() {
        return 0;
    }

    @Override
    public boolean equals(final Object obj) {
        return obj != null && obj instanceof HelpCommand;
    }

    @Override
    public Function<FileSystem, Observable<Event>> routine() {
        return fs -> Observable.just(Notification.of("Read the docs at: \n" +
            "https://buckaroo.readthedocs.io/en/latest/cli.html"));
    }

    public static HelpCommand of() {
        return new HelpCommand();
    }
}

@@ -655,45 +655,1828 @@
 of(%22
+%5Cn%22%0A                        + %22    The C++ package manager that will take you to your happy place%5Cn%5Cn%22%0A                        + %22    Usage%5Cn%5Cn%22%0A                        + %22      $ buckaroo %3Coptions...%3E%5Cn%5Cn%22%0A                        + %22    Options%5Cn%5Cn%22%0A                        + %22      init         Init is used to generate a project file in the current%5Cn%22%0A                        + %22                   directory%5Cn%22%0A                        + %22      quckstart    Similar to init but also generates the necessary%5Cn%22%0A                        + %22                   boiler-plate for a new C++ project%5Cn%22%0A                        + %22      resolve      
 Read
+s
  the 
-docs at: %5Cn%22 +%0A            %22
+project file in the working directory and runs%5Cn%22%0A                        + %22                   the dependency resolution algorithm, storing the results%5Cn%22%0A                        + %22                   in the lock file%5Cn%22%0A                        + %22      install      Adds and installs dependencies to your project%5Cn%22%0A                        + %22      uninstall    Remove a dependency from your project%5Cn%22%0A                        + %22      upgrade      Upgrades the installed dependencies to the latest compatible%5Cn%22%0A                        + %22                   version%5Cn%22%0A                        + %22      update       Updates the cook-books installed on your system%5Cn%22%0A                        + %22      version      Outputs the version of Buckaroo that is installed%5Cn%22%0A                        + %22      help         Outputs this help message%5Cn%5Cn%22%0A                        + %22    Examples%5Cn%5Cn%22%0A                        + %22      $ buckaroo install google/gtest%5Cn      ...%5Cn%22%0A                        + %22      $ buckaroo install github+loopperfect/neither%5Cn      ...%5Cn%5Cn%22%0A                        + %22    For more information read the docs at:%5Cn%22%0A                        + %22    
 http
@@ -2525,10 +2525,39 @@
 html
-%22)
+%5Cn%22%0A%0A                )%0A        
 );%0A 

add help options