📚 play - Awesome Go Library for Query Language

A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq
Detailed Description of play
play
play is a TUI playground for your favorite programs, such as grep, sed and awk.
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
| Component | Key | Description |
|---|---|---|
| Any | Ctrl+C | Exit application |
| Any | Ctrl+S | Exit application and print input expression to stdout |
| Command Options | Tab | Move focus to positional arguments |
| Command Options | Shift+Tab | Move focus to file picker |
| Command Options | Enter | Move focus to output |
| Positional Arguments | Tab | Move focus to file picker |
| Positional Arguments | Shift+Tab | Move focus to command options |
| Positional Arguments | Enter | Move focus to output |
| Positional Arguments | Ctrl+O | Open wide editor |
| Wide Editor | Esc | Close wide editor |
| Wide Editor | Ctrl+O | Close wide editor |
| Wide Editor | Ctrl+Enter | Enter newline |
| Wide Editor | Enter | Move focus to output |
| File picker | Tab | Move focus to command options |
| File picker | Shift+Tab | Move focus to positional arguments options |
| File picker | Ctrl+O | Open selected file/Close selected file |
| Output | Esc | Move focus to previous component |
Credits
The lovely gopher was created with gopherkon.