Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paololazzari/play
A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq
https://github.com/paololazzari/play
awk cli go grep jq play sed tui yq
Last synced: 3 months ago
JSON representation
A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq
- Host: GitHub
- URL: https://github.com/paololazzari/play
- Owner: paololazzari
- License: apache-2.0
- Created: 2023-09-24T16:03:17.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-24T11:28:48.000Z (almost 1 year ago)
- Last Synced: 2024-08-01T02:29:49.140Z (6 months ago)
- Topics: awk, cli, go, grep, jq, play, sed, tui, yq
- Language: Go
- Homepage:
- Size: 866 KB
- Stars: 214
- Watchers: 7
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-tuis - play
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/paolozzari/play - Terminal playground (Jump To / **Command Line Tools**)
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/paolozzari/play - Terminal playground (Jump To / **Command Line Tools**)
README
# play
[![Go Report](https://img.shields.io/badge/go%20report-A%2B-brightgreen.svg)](https://goreportcard.com/report/github.com/paololazzari/play)
![Pipeline status](https://github.com/paololazzari/play/actions/workflows/go.yml/badge.svg)play is a TUI playground for your favorite programs, such as grep, sed and awk.
# Demo
![](docs/demo.gif)
It uses the excellent [tview](https://github.com/rivo/tview) library for the UI.
# Installation
```bash
$ git clone https://github.com/paololazzari/play
$ cd play
$ go build -o /usr/local/bin/
```# Usage
```bash
./play
```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:```bash
$ docker run --rm -it -v "$(pwd)":/play:ro plazzari/play:latest
```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](https://github.com/quasilyte/gopherkon).