view src/main/kotlin/name/blackcap/passman/HelpSubcommand.kt @ 27:3a3067ba673b

Add idle-time detection to interactive mode, clean up imports.
author David Barts <n5jrn@me.com>
date Sat, 27 Jul 2024 09:50:54 -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"))
    }
}