パッケージ、リポジトリ、アプリカテゴリを検索

prompts のカバー
パッケージ詳細v2.0.0

prompts

Dart用の豊富でシンプルな同期コマンドラインプロンプトライブラリ。

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
116万
いいね数
29
Pub ポイント
140

パッケージをインストール

flutter pub add prompts

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Dart向けの豊富でシンプルかつ同期的なコマンドラインプロンプトライブラリで、インタラクティブなCLIアプリケーションの作成を簡単にします。テキスト、パスワード、確認、選択ベースの入力などのさまざまなプロンプトタイプを通じてユーザーからの入力を取得するための明確なAPIを提供します。このライブラリは、ターミナル環境でのユーザー操作が必要なツール、スクリプト、または開発ユーティリティに最適です。PromptsはAndroid、iOS、macOS、Windows、Linuxなどすべての主要プラットフォームで動作し、非常にポータブルです。同期的な性質により、async/awaitのボイラープレートが不要で、フロー制御が簡単になります。

用途

  • CLI ツールの構築
  • インタラクティブなセットアップウィザード
  • スクリプトにおけるユーザー入力の収集
  • 開発ユーティリティアプリケーション
  • ターミナルベースの設定

主な機能

  • 同期 API
  • 複数のプロンプトタイプ
  • クロスプラットフォーム対応
  • シンプルで直感的な構文
  • async/await は不要です

適している対象

  • CLI アプリを構築する Dart 開発者
  • ターミナルでユーザーの操作が必要なツール
  • シンプルなコマンドラインインターフェース

注意事項

  • 非同期ワークフローには適していません
  • コンソールベースのインタラクションに限定
  • 入力中に実行をブロックする可能性があります
  • ターミナルアクセスが必要です
  • GUIアプリケーション向けに設計されていません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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;
}

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト