📌 Referência Técnica - RafaPear/CLILib GitHub Wiki
Esta página reúne as principais interfaces, objetos e funções que compõem o núcleo técnico do CLILib — útil para quem pretende estender ou integrar a biblioteca com outros sistemas.
Todos os comandos devem implementar esta interface:
interface Command {
val description: String
val longDescription: String
get() = description
val usage: String
val aliases: List<String>
val minArgs: Int
get() = 0
val maxArgs: Int
get() = 0
val requiresFile: Boolean
get() = false
val fileExtension: String
get() = ""
val commands: List<String>
get() = emptyList()
fun run(args: List<String>): Boolean
}
CmdRegister.register(cmd)
CmdRegister.registerAll(listOf(cmd1, cmd2))
CmdRegister.unregister(cmd)
CmdRegister.all()
CmdRegister.find(alias)
VarRegister.register("nome", valor)
VarRegister.modify("nome", novoValor)
VarRegister.get("nome")
VarRegister.all()
VarRegister.isRegistered("nome")
VarRegister.unregister("nome")
cmdParser("print Olá mundo")
cmdParser("var x 5 | print $x")
-
clearAndRedrawPrompt()
— limpa e redesenha o prompt -
clearPrompt()
— limpa o terminal -
drawPrompt()
— imprime mensagem de boas-vindas -
replaceVars()
,replaceArgs()
— substitui variáveis e argumentos -
validateArgs(args, command)
— valida argumentos e ficheiros -
readJsonFile(path, callback)
— lê ficheiros.json
-
ProgressBar(...)
— barra de progresso visual para loops longos
val root: String // Diretório atual
val version: String // Versão da aplicação
val commentCode = "//"
var lastCmdDump: Any? // Último valor devolvido por um comando
Esta referência serve como apoio rápido para desenvolvimento e extensões da biblioteca.