TUI (Text User Interface) - Get Instant feedback for your sh commands

Overview

Bashtastic Visualizer

TUI (Text User Interface) - Get Instant feedback for your sh commands. Explore and play with your queries 🚀.

The idea of this project is that you can get feedback on your queries, you can iterate faster than in the Terminal.

Currently stable in Linux and Mac (Debian and Ubuntu).

Installation

This project is built with Rust, using Cargo as a package manager.

To install Rust and Cargo, follow the official guide.

Once you have Rust and Cargo installed, you can build the project:

cargo build

or install through crates.io

cargo install bashtastic-visualizer

Usage

cargo run

if installed through crates.io

bashtastic-visualizer

You can move around with the (j, k) or the Arrows, as instructed by the application. You will land on the Menu, where you can select your query.

Supported Queries:

  • cat
  • grep
  • sed
  • awk
  • echo
  • uniq
  • wc
  • head
  • tail
  • find

Bashtastic Visualizer Menu

Once you select your query type, you can start adding text to it, play with it as you see fit.

Note: The application will not execute the query until you press Enter. It executes every new Character you type.

You will be able to see the result of your query in real-time.

PS You can pipe 😊

Example

# Select grep, then type
todo example/example.txt | sed 's/todo//g' | grep 'example'

Bashtastic Visualizer Menu

Error displays

When you type something that doesn't quiet make sense, you'll see a red banner.

Bashtastic Visualizer Menu


Using > to export to a file

You can use the > to export the result of your query to a file. Now enabled to be triggered only when you press Enter. When you add > to your query, it will stop executing the query in the terminal and will only trigger until you press the corresponding key, that way, you don't need to worry about mutliple executions at that point 😊.

Next Steps

  • Add support for file exporting without destructive behavior
  • Support for other OS: Mac
  • Add more queries
  • Support for other OS: Windows
  • Add File System Selection
  • Enabling Caching
You might also like...
A developer-friendly framework for building user interfaces in Rust
A developer-friendly framework for building user interfaces in Rust

Reading: "Fru" as in "fruit" and "i" as in "I" (I am). What is Frui? Frui is a developer-friendly UI framework that makes building user interfaces eas

A typesafe, flexible, simple, and user-friendly unit system library for Rust that has good error messages.

uy A typesafe, flexible, simple, and user-friendly unit system library for Rust that has good error messages. Usage uy not only stores the unit of a v

Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API.
Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API.

Speedy2D Hardware-accelerated drawing of shapes, images, and text, with an easy to use API. Speedy2D aims to be: The simplest Rust API for creating a

Higher-level toolkit for MSDF text rendering

MSDF Toolkit Higher-level toolkit for MSDF text rendering About MSDF - an abbreviation of Multi-channel Signed Distance Field. In short, an efficient

A crate for converting an ASCII text string or file to a single unicode character

A crate for converting an ASCII text string or file to a single unicode character. Also provides a macro to embed encoded source code into a Rust source file. Can also do the same to Python code while still letting the code run as before by wrapping it in a decoder.

Crabzilla provides a simple interface for running JavaScript modules alongside Rust code.

Crabzilla Crabzilla provides a simple interface for running JavaScript modules alongside Rust code. Example use crabzilla::*; use std::io::stdin; #[i

ShakeFlow: Functional Hardware Description with Latency-Insensitive Interface Combinators

ShakeFlow: Functional Hardware Description with Latency-Insensitive Interface Combinators This repository contains the artifact for the following pape

A gitweb/cgit-like interface for the modern age

rgit See it in action! A gitweb/cgit-like interface for the modern age. Written in Rust using Axum, git2, Askama and Sled. Sled is used to store all m

Comments
  • Does not Compile on WSL Ubuntu

    Does not Compile on WSL Ubuntu

    error: failed to run custom build command for `ncurses v5.101.0`
    
    Caused by:
      process didn't exit successfully: `/tmp/cargo-installFuFrdW/release/build/ncurses-771a6519050043a9/build-script-build` (exit status: 101)
      --- stdout
    {A BUNCH OF FLAGS}
      --- stderr
      /tmp/cargo-installFuFrdW/release/build/ncurses-9575f64412318c00/out/chtype_size.c:6:10: fatal error: ncurses.h: No such file or directory
          6 | #include <ncurses.h>
            |          ^~~~~~~~~~~
      compilation terminated.
      thread 'main' panicked at /home/wherkamp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ncurses-5.101.0/build.rs:105:5:
      assertion failed: command.status().expect(\"compilation failed\").success()
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    error: failed to compile `bashtastic-visualizer v0.1.5`, intermediate artifacts can be found at `/tmp/cargo-installFuFrdW`.
    To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
    

    I am guessing it is related to https://github.com/jeaye/ncurses-rs/issues/213

    If you know how to fix this let me know.

    You might want to consider moving to RUI as it is has more maintenance.

    opened by wyatt-herkamp 2
Owner
Alfredo Suarez
Curious about technical stuff and philosophy.
Alfredo Suarez
Simple rust interface to get derived analytical information of algorithmic market making models (M3).

af-rs Interact with the Portfolio protocol using Rust models to abstract the underlying pools. What we want: Given a uniswap pool with two tokens and

Primitive 5 Jul 11, 2023
OOLANG - an esoteric stack-based programming language where all instructions/commands are differnet unicode O characters

OOLANG is an esoteric stack-based programming language where all instructions/commands are differnet unicode O characters

RNM Enterprises 2 Mar 20, 2022
:crab: Small exercises to get you used to reading and writing Rust code!

rustlings ?? ❤️ Greetings and welcome to rustlings. This project contains small exercises to get you used to reading and writing Rust code. This inclu

The Rust Programming Language 33.1k Jan 2, 2023
Tiny HTTP client for GET

tinyget a tiny fork of minreq. Simple, minimal-dependency HTTP client. Optional features for https with native-tls TLS implementations. Documentation

迷渡 19 Dec 31, 2022
This project contains small exercises to get you used to reading and writing Rust code

rustlings ?? ❤️ Greetings and welcome to rustlings. This project contains small exercises to get you used to reading and writing Rust code. This inclu

Cynthia Tran 1 May 24, 2022
A simple library to get all pairs from any Dex and sync reserves.

pair_sync A simple library to get all pairs from any supported Dex and sync reserves. Crates.io Documentation in progress Filename: examples/sync-pair

null 116 Dec 30, 2022
This rust library is to get lottery monthly result loto6, numbers3 and numbers4

Scraping Japanese Lottery Site this library is to get lottery monthly result loto6, numbers3 and numbers4. scraping japanese lottery site from https:/

kubocker 5 Aug 14, 2023
Book - Actix user guides

User guides Actix User Guide Actix API Documentation (Development) Actix API Documentation (Releases) Actix Web User Guide Actix Web API Documentation

Actix 185 Dec 25, 2022
Featured Dioxus projects on how to build clean user interfaces in Rust

Example projects with Dioxus This repository holds the code for a variety of example projects built with Dioxus. Each project has information on how t

Dioxus 189 Jan 8, 2023
Checks Crusader Kings 3 user mod files for common mistakes and warns about them.

ck3-tiger Pounces on bugs. Checks Crusader Kings 3 user mod files for common mistakes and warns about them. For example: missing localizations, or usi

Richard Braakman 8 Jan 5, 2023