📚 play - Awesome Go Library for Query Language

Go Gopher mascot for play

A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq

🏷️ Query Language
📂 Query Language
0 stars
View on GitHub 🔗

Detailed Description of play

play

Go Report Pipeline status

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

play

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>
# or
cat file | ./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 -e "TERM=xterm-256color" --rm -it -v "$(pwd)":/play:ro plazzari/play:latest <program>

The TERM environment variable is needed to get color themes working properly.

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.