view src/main/kotlin/name/blackcap/passman/HelpSubcommand.kt @ 26:69526ae8c8de

Allow list --name to be abbreviated -n, since it is so commonly used.
author David Barts <n5jrn@me.com>
date Fri, 05 Jul 2024 10:11:31 -0700
parents 2188b2f13326
children
line wrap: on
line source

package name.blackcap.passman

class HelpSubcommand(): Subcommand() {
    override fun run(args: Array<String>) {
        if (args.isEmpty() || args[0] == "-h" || args[0].startsWith("--h")) {
            listSubcommands()
        } else {
            helpForSubcommand(args[0])
        }
    }

    private fun listSubcommands() {
        println("PassMan: a password manager")
        println("Available subcommands:")
        println("create       Create a new username/password pair.")
        println("delete       Delete existing record.")
        println("help         Print this message.")
        println("export       Export to CSV file.")
        println("import       Import from CSV file.")
        println("list         List records.")
        println("merge        Merge passwords in from another PassMan database.")
        println("password     Change database encryption key.")
        println("quit         Exit from interactive mode.")
        println("read         Retrieve data from existing record.")
        println("rename       Rename existing record.")
        println("update       Update existing record.")
        println()
        println("Database is ${see(DB_FILE)} .")
    }

    private fun helpForSubcommand(subcom: String) {
        runSubcommand(subcom, arrayOf<String>("--help"))
    }
}