feat(command): add help command

This commit is contained in:
2026-03-03 11:44:55 +03:00
parent bc2f969d9b
commit 98538175e3
3 changed files with 27 additions and 4 deletions

View File

@@ -4,19 +4,21 @@ import command.CommandManager
import command.commands.Add
import command.commands.Clear
import command.commands.Exit
import command.commands.Help
import io.IOHandler
import manager.CollectionManager
class AppInitializer {
fun setup(
manager: CommandManager,
commandManager: CommandManager,
io: IOHandler,
app: AppExecutor,
) {
val collectionManager = CollectionManager(io)
manager.register(Add(io, collectionManager))
manager.register(Exit(io) { app.stop() })
manager.register(Clear(io, collectionManager))
commandManager.register(Add(io, collectionManager))
commandManager.register(Exit(io) { app.stop() })
commandManager.register(Clear(io, collectionManager))
commandManager.register(Help(io, commandManager))
}
}

View File

@@ -21,4 +21,6 @@ class CommandManager {
io.println("команда не найдена")
}
}
fun getCommands() = commands
}

View File

@@ -0,0 +1,19 @@
package command.commands
import command.Command
import command.CommandManager
import io.IOHandler
class Help(
private val io: IOHandler,
private val commandManager: CommandManager,
) : Command {
override val name = "help"
override val description = "show avaliable commands"
override fun execute() {
for (command in commandManager.getCommands().values) {
io.println("${command.name}: ${command.description}")
}
}
}