Capp - Console Applicatie Pakket

pub package Dev Donate

Capp is een krachtig Dart-package om interactieve consoleapplicaties te bouwen met functies voor gebruikersinvoer, help-weergave, argumentbeheer en gestructureerde uitvoer zoals tabellen en voortgangsindicatoren.

Elementen

  • Voortgangsindicatoren
  • Ja/Nee invoervelden
  • Tekst/nummer invoervelden
  • Meerdere-keuze invoervelden
  • Meerdere optie-selectors
  • Tabelweergaven
  • Json viewer

Functies

  • Argument- en optiebeheer: Definieer en beheer commandoregelargumenten en -opties.
  • Gebruikersinvoer: Lees gebruikersinvoer met prompts en selectie-opties.
  • Gestructureerde uitvoer: Toon tabellen, gekleurde berichten en voortgangsindicatoren in de console.
  • Help generatie: Automatisch een helpgids voor consolecommando's en opties genereren.

Aan de slag

  1. Voeg capp toe aan je pubspec.yaml.
  2. Importeer package:capp/capp.dart.
  3. Maak commands, opties en gebruikersinvoer om je interactieve consoleapp te bouwen.

Voorbeeld

import "package:capp/capp.dart";

void main([
  List<String> args = const [],
]) {
  var app = CappManager(
    /* ... */
  app.process();
}

Future<CappConsole> test(c) async {
  const options = [
    'Progress circle',
    'Progress bar',
    'Progress spinner',
    'Yes/No questions',
    'Input text',
    'Make a table',
    'Clear screen',
    'Help',
    'Exit',
  ];
  var select = CappConsole.select(
    'Select an option to test Widgets of console:',
    options,
  );
  CappConsole.write('Your selection is: $select', CappColors.success);

  // Voorbeelden van opties ...
}

Voorbeelduitvoer

$ dart ./example/example.dart


Select an option to test Widgets of console:

  [1]. Progress circle
  [2]. Progress bar
  [3]. Progress spinner
  [4]. Yes/No questions
  [5]. Input text
  [6]. Make a table
  [7]. Clear screen
  [8]. Help
  [9]. Exit


Enter the number of the option: 1
Your selection is: Progress circle
I am waiting here for 5 secounds!               ⢿                            

(De rest van de output is vergelijkbaar en heeft demonstratieve voorbeelden.)