Home

Awesome

play

Go Report Pipeline status

play is a TUI playground for your favorite programs, such as grep, sed and awk.

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/gopher.png"> <source media="(prefers-color-scheme: light)" srcset="docs/gopher.png"> <img alt="play" title="play" src="docs/gopher.png" width="300"> </picture> </p>

Demo

It uses the excellent tview library for the UI.

Installation

$ git clone https://github.com/paololazzari/play
$ cd play
$ go build -o /usr/local/bin/

Usage

./play <program>

N.B. The program must be installed on your machine.

The input is evaluated immediately as you type without any validation. If you want to use play in read-only mode, thus avoding any file changes (such as those that would result if, for instance, sed -i was used), then you can use a docker container:

$ docker run --rm -it -v "$(pwd)":/play:ro plazzari/play:latest <program>

To exit the application, use Ctrl+C.

To exit the application printing the input expression to stdout, use Ctrl+S.

Key bindings

ComponentKeyDescription
AnyCtrl+CExit application
AnyCtrl+SExit application and print input expression to stdout
Command OptionsTabMove focus to positional arguments
Command OptionsShift+TabMove focus to file picker
Command OptionsEnterMove focus to output
Positional ArgumentsTabMove focus to file picker
Positional ArgumentsShift+TabMove focus to command options
Positional ArgumentsEnterMove focus to output
Positional ArgumentsCtrl+OOpen wide editor
Wide EditorEscClose wide editor
Wide EditorCtrl+OClose wide editor
Wide EditorCtrl+EnterEnter newline
Wide EditorEnterMove focus to output
File pickerTabMove focus to command options
File pickerShift+TabMove focus to positional arguments options
File pickerCtrl+OOpen selected file/Close selected file
OutputEscMove focus to previous component

Credits

The lovely gopher was created with gopherkon.