Awesome Open Source
Awesome Open Source

scone build status license

Create cross-platform terminal applications.

Example

import scone;

void main() {
  frame.title("example");
  frame.size(33, 20);

  bool run = true;
  while(run) {
    foreach(input; input.keyboard) {
      // if CTRL+C is pressed
      if(input.key == SK.c && input.hasControlKey(SCK.ctrl)) {
        run = false;
      }
    }

    frame.write(
      12, 9,
      TextStyle().fg(Color.yellow), "Hello ", // white foreground text (chainable pattern)
      TextStyle().fg(Color.red).bg(Color.white), "World" // red foreground, white background
    );
    frame.print();
  }
}

win mac

Features

  • Display text and colors
  • Receive keyboard input
  • Cross-platform

Simple cross-platform chart

output Windows POSIX
text
emoji
ansi-color
rgb-color
high performance output
input Windows POSIX
input detection
reliable *
control keys **
key release detection

* Input is converted from arbitrary number sequences (may differ from system to system) to an input event. Basic ASCII should work no matter what system, however special keys like the up-arrow or function keys can vary drastically.

** Only registers the last pressed control key.

Install with dub

Note: 3.0.0 is not yet available.

/// dub.json
"dependencies": {
    "scone": "~>3.0.0",
    ...
}
/// dub.sdl
dependency "scone" version="~>3.0.0"

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Cli (15,487
Terminal (4,095
D (3,846
Cross Platform (3,288
Console (1,881
Helper (1,205
Dlang (571
Related Projects