Crates.io | r3bl-cmdr |
lib.rs | r3bl-cmdr |
version | 0.0.16 |
source | src |
created_at | 2022-06-15 17:29:34.083371 |
updated_at | 2024-09-13 16:22:55.264 |
description | A TUI app suite for developers. Includes a Markdown editor `edi` and a git client `giti`. |
homepage | https://r3bl.com |
repository | https://github.com/r3bl-org/r3bl-open-core |
max_upload_size | |
id | 606626 |
size | 3,113,301 |
R3BL TUI library & suite of apps focused on developer productivity
We are working on building command line apps in Rust which have rich text user interfaces (TUI). We want to lean into the terminal as a place of productivity, and build all kinds of awesome apps for it.
🔮 Instead of just building one app, we are building a library to enable any kind of rich TUI development w/ a twist: taking concepts that work really well for the frontend mobile and web development world and re-imagining them for TUI & Rust.
🌎 We are building apps to enhance developer productivity & workflows.
tmux
in Rust (separate processes mux'd onto a
single terminal window). Rather it is to build a set of integrated "apps" (or
"tasks") that run in the same process that renders to one terminal window.All the crates in the r3bl-open-core
repo provide lots of useful
functionality to help you build TUI (text user interface) apps, along w/ general
niceties & ergonomics that all Rustaceans 🦀 can enjoy 🎉.
The two apps, edi
and giti
, that comprise r3bl-cmdr
will put a smile on your face and
make you more productive. These apps are currently available as early access preview 🐣.
giti
- an interactive git CLI app designed to give you more confidence and a better
experience when working with git.edi
- a TUI Markdown editor that lets you edit Markdown files in your terminal in
style.To install r3bl-cmdr
on your system, run the following command, assuming you have
cargo
on your system:
cargo install r3bl-cmdr
If you don't have cargo
on your system, you can either:
cargo
on your system
first. Then run cargo install r3bl-cmdr
to install this crate.cd r3bl-open-core/cmdr && cargo install
.Please check out the changelog to see how the library has evolved over time.
To learn how we built this crate, please take a look at the following resources.
giti
binary targetTo run from binary:
cargo install r3bl-cmdr
(detailed instructions above). This will install giti
locally to ~/.cargo/bin
.giti
from anywhere on your system.giti --help
to see the available commands.giti branch delete
.giti branch checkout
.giti branch new
.To run from source:
r3bl-open-core
repo.cmdr
folder in your terminal.nu run install
to install giti
locally to ~/.cargo/bin
.giti
from anywhere on your system.giti --help
to see the available commands.giti branch delete
.giti branch checkout
.giti branch new
.giti
, run giti -l
. For example,
giti -l branch delete
. To view this log output run nu run log
.edi
binary targetTo run from binary:
cargo install r3bl-cmdr
(detailed instructions above). This will install giti
locally to ~/.cargo/bin
.edi
from anywhere on your system.edi --help
to see the available commands.edi <file_name>
. For example, edi README.md
.To run from source:
r3bl-open-core
repo.cmdr
folder in your terminal.nu run install
to install edi
locally to ~/.cargo/bin
.edi
from anywhere on your system.edi --help
to see the available commands.edi <file_name>
. For example, edi README.md
.edi
, run edi -l
. For example,
edi -l README.md
. To view this log output run nu run log
.🌠 In order for these to work you have to install the Rust toolchain, nu
, cargo-watch
, bat
,
and flamegraph
on your system. Here are the instructions:
rustup
by following the instructions
here.cargo-watch
using cargo install cargo-watch
.flamegraph
using cargo install flamegraph
.bat
using cargo install bat
.nu
shell on your system using cargo install nu
. It is
available for Linux, macOS, and Windows.Command | Description |
---|---|
nu run help |
See all the commands you can pass to the run script |
nu run install |
Install giti , edi , rc to ~/.cargo/bin |
nu run build |
Build |
nu run clean |
Clean |
nu run test |
Run tests |
nu run clippy |
Run clippy |
nu run log |
View the log output. This video has a walkthrough of how to use this. |
nu run docs |
Build docs |
nu run serve-docs |
Serve docs over VSCode Remote SSH session |
nu run rustfmt |
Run rustfmt |
The following commands will watch for changes in the source folder and re-run:
Command | Description |
---|---|
nu run watch-all-tests |
Watch all test |
nu run watch-one-test <test_name> |
Watch one test |
nu run watch-clippy |
Watch clippy |
nu run watch-macro-expansion-one-test <test_name> |
Watch macro expansion for one test |
There's also a run
script at the top level folder of the repo. It is intended to be used in a
CI/CD environment w/ all the required arguments supplied or in interactive mode, where the user will
be prompted for input.
Command | Description |
---|---|
nu run all |
Run all the tests, linting, formatting, etc. in one go. Used in CI/CD |
nu run build-full |
This will build all the crates in the Rust workspace. And it will install all the required pre-requisite tools needed to work with this crate (what install-cargo-tools does) and clear the cargo cache, cleaning, and then do a really clean build. |
nu run install-cargo-tools |
This will install all the required pre-requisite tools needed to work with this crate (things like cargo-deny , flamegraph will all be installed in one go) |
nu run check-licenses |
Use cargo-deny to audit all licenses used in the Rust workspace |
License: Apache-2.0