FLUTTER ECOSYSTEM

mvitlov/cli_spin

A Dart package that enhances the user experience by displaying a sleek terminal spinner for both sync and async operations.

cli_spin project cover
Stars
9
Forks
0
Last push (UTC)
Oct 18, 2023
Project status
Active
Marin Vitlov GitHub avatar
GITHUB User

Marin Vitlov ↗

Flutter ❤️

ABOUT YOU SE & Co. KGZagrebOfficial website ↗
LanguagesDart

Packages published by this repository

Dependencies used

Dependency list 5 items
  • ansi_strip^0.1.1+1
  • string_width^0.1.5
  • lintsDevelopment^2.0.0
  • mocktailDevelopment^1.0.1
  • testDevelopment^1.21.0

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

A Dart package that enhances the user experience by displaying a sleek terminal spinner for both sync and async operations.

preview

Features

  • 80+ predefined spinners accessible via CliSpinners
  • Easily change color of spinners and/or text with use of CliSpinnerColor helper
  • Define your own character sets (frames) and intervals for your custom spinners
  • Custom spinner text (w/ separate suffix and prefix options)
  • Start/stop methods
  • Stop and persist the spinner with custom text and symbol
  • Predefiend success, fail, warn and info methods (cross-platform compatible)

Getting started

TODO: List prerequisites and provide or point to information on how to start using the package.

Usage example

import 'dart:async';
import 'package:cli_spin/cli_spin.dart';

void main() {
  // Instantiate spinner
  final spinner = CliSpin(
    text: 'Loading data...',
    spinner: CliSpinners.line,
  ).start(); // Chaining methods

  Timer(Duration(milliseconds: 1000), () {
    // Change spinner color
    spinner.color = CliSpinnerColor.yellow; 
    
    // Change spinner text
    spinner.text = 'Still loading, please wait...';

    Timer(Duration(milliseconds: 1000), () {
      // Alias for `stopAndPersist(...)` method
      spinner.success('Data loaded successfully.');
    });
  });
}

Additional information

Inspired by the ora library written in Javascript.