All Projects → revery-ui → Revery Terminal

revery-ui / Revery Terminal

Licence: mit
Barebones terminal emulator built with ReasonML + Revery + libvterm

Programming Languages

reason
219 projects

Projects that are alternatives of or similar to Revery Terminal

Viter
A Vim-ish terminal emulator written and expandable in Python.
Stars: ✭ 69 (-9.21%)
Mutual labels:  terminal
Kermit
A VTE-based, simple and froggy terminal emulator 🐸
Stars: ✭ 72 (-5.26%)
Mutual labels:  terminal
Jp
dead simple terminal plots from JSON data. single binary, no dependencies. linux, osx, windows.
Stars: ✭ 1,184 (+1457.89%)
Mutual labels:  terminal
Tryjshell
Try JShell on Web
Stars: ✭ 69 (-9.21%)
Mutual labels:  terminal
Lichs
♟ Play chess against real players in your terminal using Lichess
Stars: ✭ 70 (-7.89%)
Mutual labels:  terminal
Conget
A CLI app for downloading file concurrently.
Stars: ✭ 72 (-5.26%)
Mutual labels:  terminal
Progress.c
Progress display lib for c
Stars: ✭ 67 (-11.84%)
Mutual labels:  terminal
Termloop
Terminal-based game engine for Go, built on top of Termbox
Stars: ✭ 1,190 (+1465.79%)
Mutual labels:  terminal
Seeless
C IDE for iOS
Stars: ✭ 71 (-6.58%)
Mutual labels:  terminal
Rubiks cube
rubik's cube that runs in your terminal!
Stars: ✭ 73 (-3.95%)
Mutual labels:  terminal
Reminders Cli
Command-line interface to interact with the Reminders.app
Stars: ✭ 67 (-11.84%)
Mutual labels:  terminal
Wirb
Ruby Object Inspection for IRB
Stars: ✭ 69 (-9.21%)
Mutual labels:  terminal
Yes
yes - Implementation of simple and dangerous yes command in various languages. 👍
Stars: ✭ 72 (-5.26%)
Mutual labels:  terminal
Rat
Compose shell commands to build interactive terminal applications
Stars: ✭ 1,158 (+1423.68%)
Mutual labels:  terminal
Colors
List of 256 color codes for Xterm including an example of the color, Xterm Name, Xterm Number, HEX, RGB and HSL code.
Stars: ✭ 73 (-3.95%)
Mutual labels:  terminal
Restyled
Styled Components concept for Reason React, only works with bs-react-native for now
Stars: ✭ 68 (-10.53%)
Mutual labels:  reasonml
Terminal For Fitbit
Terminal is a Fitbit clock face styled to match a terminal session in a Unix environment
Stars: ✭ 72 (-5.26%)
Mutual labels:  terminal
Navi
An interactive cheatsheet tool for the command-line
Stars: ✭ 10,055 (+13130.26%)
Mutual labels:  terminal
Nodo
☑ Command line TODO app
Stars: ✭ 73 (-3.95%)
Mutual labels:  terminal
Listr2
NodeJS Task List derived from the best! Create beautiful CLI interfaces via easy and logical to implement task lists that feel alive and interactive.
Stars: ✭ 73 (-3.95%)
Mutual labels:  terminal

revery-terminal

Build Status

A terminal emulator built with Revery.

This is a barebones terminal emulator factored out from the work to include a terminal emulator in Onivim 2.

It's also a fun exploration in leveraging an Elm-style architecture in a natively compiled application.

image

Pre-requisites

Building

Running

  • esy run

Limitations

This is just meant as an exploration, and isn't production-ready. In particular, there are some pieces missing:

  • No Unicode support at the moment - assumes ASCII rendering
  • No ligatures or text shaping
  • No Windows support at the moment - we use the openpty API which is not available on Windows
  • Minimal keys are handled

These would all be great contribution opportunities, though!

Source Overview

Main modules

  • src/bin/App.re - this is the entry point for the application (where we start the window, wire up our store).
  • src/bin/Model.re - this is the heart of our application - that provides the definition of Model.t as well as how it changes over time (by providing an updater function).

Supporting modules

  • src/lib/ReveryTerminal.rei - contains cross-platform utilities for working with a terminal.
  • src/pty - small OCaml binding to the openpty system call, to create a pseudoterminal.

Technologies Used

We also use the JetBrains Mono font.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].