Mercurial > cgi-bin > hgweb.cgi > PassMan
changeset 24:2188b2f13326
Make some minor tweaks to the help system.
author | David Barts <n5jrn@me.com> |
---|---|
date | Wed, 03 Jul 2024 17:14:22 -0700 |
parents | af86b8e0b88c |
children | 131e39d96862 |
files | src/main/kotlin/name/blackcap/passman/HelpSubcommand.kt src/main/kotlin/name/blackcap/passman/Main.kt src/main/kotlin/name/blackcap/passman/QuitSubcommand.kt |
diffstat | 3 files changed, 27 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/kotlin/name/blackcap/passman/HelpSubcommand.kt Tue Jul 02 18:18:29 2024 -0700 +++ b/src/main/kotlin/name/blackcap/passman/HelpSubcommand.kt Wed Jul 03 17:14:22 2024 -0700 @@ -2,6 +2,14 @@ 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.") @@ -19,4 +27,8 @@ println() println("Database is ${see(DB_FILE)} .") } + + private fun helpForSubcommand(subcom: String) { + runSubcommand(subcom, arrayOf<String>("--help")) + } }
--- a/src/main/kotlin/name/blackcap/passman/Main.kt Tue Jul 02 18:18:29 2024 -0700 +++ b/src/main/kotlin/name/blackcap/passman/Main.kt Wed Jul 03 17:14:22 2024 -0700 @@ -9,7 +9,7 @@ import kotlin.system.exitProcess fun main(args: Array<String>) { - val NOPASSWORD = setOf<String>("help") + val NOPASSWORD = setOf<String>("help", "quit") if (args.isEmpty()) { openDatabase() runInteractive() @@ -48,6 +48,7 @@ val DISALLOWED = setOf<String>("password") val QUIT = setOf<String>("exit", "quit") var lastStatus = 0 + println("This is PassMan interactive mode. Type help for help.") while (true) { val rawLine = System.console()?.readLine("passman> ") if (rawLine == null) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/kotlin/name/blackcap/passman/QuitSubcommand.kt Wed Jul 03 17:14:22 2024 -0700 @@ -0,0 +1,13 @@ +package name.blackcap.passman + +// This command does nothing except print a help message if requested, +// so that "help quit" works. The actual quit logic is hard-coded in +// Main.kt (and needs to be, so that exit status is correct). +class QuitSubcommand(): Subcommand() { + override fun run(args: Array<String>) { + if (args.isNotEmpty() && (args[0] == "-h" || args[0].startsWith("--h"))) { + println("usage: passman quit [options]") + println(" -h,--help Print this help message.") + } + } +}