Home - RafaPear/CLILib GitHub Wiki
CLILib é uma biblioteca desenvolvida em Kotlin que permite a criação de interfaces de linha de comandos (CLI) de forma modular, extensível e interativa. Concebida para facilitar o desenvolvimento de ferramentas baseadas em comandos, a biblioteca oferece:
- Comandos integrados prontos a usar (ex:
cd
,ls
,print
,help
,exit
, etc.) - Suporte para scripting e execução de múltiplos comandos numa só linha
- Sistema de variáveis com registo e manipulação direta
- Registo dinâmico e execução de comandos personalizados
- Validação de argumentos, parsing de expressões e suporte a ficheiros
A biblioteca foi criada com o objetivo de facilitar a prototipagem rápida de CLIs funcionais, ao mesmo tempo que oferece uma base sólida e extensível para projetos mais complexos.
✨ Funcionalidades principais
- ✅ CLI com prompt interativo e interpretação de comandos
- 🧠 Sistema de parsing de expressões aritméticas (ex:
expr a + b * (2 - c)
) - 📂 Comandos com suporte a diretórios, ficheiros e scripts
- 🧩 Registo dinâmico de comandos (
CmdRegister
) - 🔧 Sistema de variáveis com leitura/escrita global (
VarRegister
) - 📜 Suporte para execução de scripts
.ppc
- 🧪 Testável com
runSingleCmd
,runFromFile
ouruntimeCLI
📎 Exemplo de script
var a 10 | var b 20 | expr b - a | var c | print $c
🚀 Arranque rápido
fun main() {
val app = App()
app.registerDefaultCommands()
app.runtimeCLI()
}