dart_console 0.1.0+1
dart_console: ^0.1.0+1 copied to clipboard
A library for command-line applications.
A Dart library for building console applications.
This library contains a variety of useful functions for console application development, including:
- Reading the current window dimensions (height, width)
- Reading and setting the cursor location
- Setting foreground and background colors
- Manipulating the console into "raw mode", which allows more advanced
keyboard input processing than the default
dart:io
library. - Reading keys and control sequences from the keyboard
- Writing aligned text to the screen
The library is being used to implement a Dart version of the Kilo text
editor, and is sufficient for a reasonably complete set of usage, including
readline
-style CLI and basic text games.
The library assumes a VT-style terminal, as used by macOS and Linux. This package does not currently work on Windows.
Usage #
A simple example for the dart_console
package:
import 'package:dart_console/dart_console.dart';
main() {
final console = Console();
console.clearScreen();
console.resetCursorPosition();
console.writeAligned(
'Console size is ${console.windowWidth} cols and ${console.windowHeight} rows.',
TextAlignment.Center);
console.writeLine();
return 0;
}
More comprehensive demos of the Console class are included in the
example/demo.dart
and example/command_line.dart
files.
Other Notes #
dart_console
uses the new FFI capabilities in Dart 2.5 and later. As of
the time of writing (August 2019), this is not available in a stable release.
Features and bugs #
Please file feature requests and bugs at the issue tracker.