Pakete, Repositories und App-Kategorien suchen

Cover von prompts
Paketdetailsv2.0.0

prompts

Reichhaltige, einfache, synchrone Befehlszeilen-Prompt-Bibliothek für Dart.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
1,2 Mio.
Likes
29
Pub-Punkte
140

Paket installieren

flutter pub add prompts

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Eine reichhaltige, einfache und synchrone Befehlszeilen-Prompt-Bibliothek für Dart, die entwickelt wurde, um die Erstellung interaktiver CLI-Anwendungen zu vereinfachen. Sie bietet eine saubere API zum Abrufen von Benutzereingaben über verschiedene Prompt-Typen wie Text, Passwort, Bestätigung und auswahlabhängige Eingaben. Die Bibliothek ist ideal für Tools, Skripte oder Entwicklungstools, die in Terminal-Umgebungen Interaktion mit dem Benutzer erfordern. Prompts läuft auf allen wichtigen Plattformen, einschließlich Android, iOS, macOS, Windows und Linux, was sie äußerst portabel macht. Ihre synchrone Natur vereinfacht die Steuerung des Flusses ohne den Bedarf an async/await-Boilerplate.

Anwendungsfälle

  • CLI-Tools erstellen
  • Interaktive Einrichtungswizard
  • Erfassung von Benutzereingaben in Skripten
  • Entwicklungswerkzeug-Anwendungen
  • Terminalbasierte Konfiguration

Hauptmerkmale

  • Synchrones API
  • Mehrere Prompt-Typen
  • Plattformübergreifende Unterstützung
  • Einfache, intuitive Syntax
  • Kein async/await erforderlich

Geeignet für

  • Dart-Entwickler, die Befehlszeilenanwendungen erstellen
  • Tools, die Benutzerinteraktion in Terminals erfordern
  • Einfache Befehlszeilen-Schnittstellen

Hinweise

  • Nicht geeignet für asynchrone Workflows
  • Beschränkt auf konsolebasierte Interaktion
  • Kann die Ausführung während der Eingabe blockieren
  • Benötigt Terminalzugriff
  • Nicht für GUI-Anwendungen ausgelegt

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

prompts

Pub

Rich, simple, synchronous command-line prompt library for Dart.

Now with pretty colors!

GIF Demo

Example

import 'package:io/ansi.dart';
import 'package:prompts/prompts.dart' as prompts;

void main() {
  // Easily get a single line.
  var name = prompts.get('Enter your name');
  print('Hello, $name!');

  // ... Or many lines.
  print('Tell me about yourself.');
  var bio = prompts.get(
    "Enter some lines, using '\\' to escape line breaks",
    allowMultiline: true,
    inputColor: resetAll,
  );
  print('About $name:\n$bio');

  // Supports default values.
  name = prompts.get('Enter your REAL name', defaultsTo: name);
  print('Hello, $name!');

  // "High-level" prompts are built upon [get].
  // For example, we can prompt for confirmation trivially.
  bool shouldDownload = prompts.getBool('Really download this package?');

  if (!shouldDownload)
    print('Not downloading.');
  else
    print('Downloading...!');

  // Or, get an integer, WITH validation.
  int age = prompts.getInt('How old are you?', defaultsTo: 23, chevron: false);
  print('$name, you\'re $age? Cool!');

  // We can choose from various values.
  // There are two methods - shorthand and regular.
  var rgb = [Color.red, Color.green, Color.blue];
  Color color = prompts.chooseShorthand('Tell me your favorite color', rgb);
  print('You chose: ${color.about}');

  // The standard chooser prints to multiple lines, but is often
  // clearer to read, and has more obvious semantics.
  color = prompts.choose('Choose another color', rgb, defaultsTo: Color.blue);
  print(color.about);
}

class Color {
  final String name, description;

  const Color(this.name, this.description);

  static const Color red = const Color('Red', 'The color of apples.'),
      blue = const Color('Blue', 'The color of the sky.'),
      green = const Color('Green', 'The color of leaves.');

  String get about => '$name - $description';

  @override
  String toString() => name;
}

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden