Capp — رابط خط فرمان
Capp یک کتابخانه رابط خط فرمان (CLI) داخلی فینچ است که به شما امکان میدهد برنامههای console غنی با جدولها، رنگها، و ورودی تعاملی بسازید.
CappManager و CappController
import 'package:finch/finch_capp.dart';
class AppCommand extends CappController {
@override
String get name => 'app:info';
@override
String get description => 'نمایش اطلاعات برنامه';
@override
Future<void> handle() async {
console.info('نام برنامه: فینچ');
console.success('وضعیت: در حال اجرا');
console.warning('حالت: توسعه');
}
}
خروجی جدول
@override
Future<void> handle() async {
var headers = ['نام', 'ایمیل', 'نقش'];
var rows = [
['علی احمدی', '[email protected]', 'admin'],
['سارا محمدی', '[email protected]', 'user'],
];
console.table(headers, rows);
}
مرجع رنگ
| متد | رنگ | کاربرد |
|---|---|---|
console.info(msg) |
آبی | پیامهای اطلاعاتی |
console.success(msg) |
سبز | عملیات موفق |
console.warning(msg) |
زرد | هشدارها |
console.error(msg) |
قرمز | خطاها |
console.line(msg) |
پیشفرض | متن عادی |
ورودی کاربر
@override
Future<void> handle() async {
// خواندن رشته
var name = await console.readString('نام را وارد کنید:');
// خواندن عدد صحیح
var age = await console.readInt('سن را وارد کنید:', def: 18);
// خواندن boolean
var confirm = await console.readBool('آیا مطمئن هستید؟', def: false);
// انتخاب از لیست
var env = await console.select(
'محیط را انتخاب کنید:',
options: ['development', 'staging', 'production'],
);
console.info('انتخاب شما: \$env');
}
نوار پیشرفت
var progress = console.progress('در حال پردازش...', total: 100);
for (var i = 0; i <= 100; i++) {
await Future.delayed(Duration(milliseconds: 50));
progress.update(i);
}
progress.done();