Capp — Opdrachtregelinterface
Capp is de ingebouwde CLI-bibliotheek van Finch waarmee je rijke consoletoepassingen kunt bouwen met tabellen, kleuren en interactieve invoer.
CappManager en CappController
import 'package:finch/finch_capp.dart';
class AppCommand extends CappController {
@override
String get name => 'app:info';
@override
String get description => 'App-informatie weergeven';
@override
Future<void> handle() async {
console.info('App-naam: Finch');
console.success('Status: actief');
console.warning('Modus: ontwikkeling');
}
}
Tabeluitvoer
@override
Future<void> handle() async {
var headers = ['Naam', 'E-mail', 'Rol'];
var rows = [
['Ali Ahmadi', '[email protected]', 'admin'],
['Sara Mohammadi', '[email protected]', 'user'],
];
console.table(headers, rows);
}
Kleurenreferentie
| Methode | Kleur | Gebruik |
|---|---|---|
console.info(msg) |
Blauw | Informatieve berichten |
console.success(msg) |
Groen | Geslaagde bewerkingen |
console.warning(msg) |
Geel | Waarschuwingen |
console.error(msg) |
Rood | Fouten |
console.line(msg) |
Standaard | Gewone tekst |
Gebruikersinvoer
@override
Future<void> handle() async {
// String lezen
var name = await console.readString('Voer naam in:');
// Integer lezen
var age = await console.readInt('Voer leeftijd in:', def: 18);
// Boolean lezen
var confirm = await console.readBool('Weet je het zeker?', def: false);
// Selecteren uit een lijst
var env = await console.select(
'Kies een omgeving:',
options: ['development', 'staging', 'production'],
);
console.info('Jouw keuze: \$env');
}
Voortgangsbalk
var progress = console.progress('Verwerken...', total: 100);
for (var i = 0; i <= 100; i++) {
await Future.delayed(Duration(milliseconds: 50));
progress.update(i);
}
progress.done();