wriggle 2.1.0

SDKdartflutter
Platformandroidioswindowslinuxmacos

Text-based UI framework for pure command-line Dart

Wriggle is a text-based UI framework for command-line Dart. It uses a nested component system that should be familiar to Flutter users.

Features

Selling points include:

  • Slow
  • Inefficient
  • Cute!

Getting started

Usage

Run the top-level function "runApp", providing a Component as your application. Extend the Component class and override the "build" method, returning a tree of nested Renderable objects.

void main(List<String> arguments) {
  runApp(MyApp());
}

class MyApp extends Component {
  @override
  Renderable build(WriggleContext context) {
    return const Center(child: Text('Hello world!'));
  }
}

State in Wriggle is managed using the StatefulComponent, built on top of Riverpod. Use any Riverpod providers you like, accessed using the ProviderContainer supplied in the "build" and "keyPressed" functions.

Additional information

For a working example, see the project I created Wriggle for: Morning Princess, a text-based character sheet for D&D 5e (https://codeberg.org/imperialoctopus/morning-princess/).

Credits