crates-tui
is a simple terminal user interface explorer for crates.io based on Ratatui.
crates-tui.mov
It supports features like:
- copy
cargo add
command to clipboard - open the docs page in the browser
- open crates.io page in the brower
![image](https://private-user-images.githubusercontent.com/1813121/303366787-62d9234f-59a8-4091-ba50-7cd050d9763a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM2Njc4Ny02MmQ5MjM0Zi01OWE4LTQwOTEtYmE1MC03Y2QwNTBkOTc2M2EucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YWY5MWFkOTRhNTNkOTU4OWMzMDMwNWQ0MzU3N2JiYTg4N2NlZDhmNmE3MTExNGIxMTMzZmFiODQ5Zjg5MWIwZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.aH69O1sLDYyW7zmwpcJBoX0j5knHP16ARO8Vq4GcBN4)
![image](https://private-user-images.githubusercontent.com/1813121/303366366-e12a3320-1232-46e1-951e-14c9d20f0734.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM2NjM2Ni1lMTJhMzMyMC0xMjMyLTQ2ZTEtOTUxZS0xNGM5ZDIwZjA3MzQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MzVjODhmMWE3ZGQzOTI2NWMxY2QzZmFlNjhjOWRkMzEwMTI3ZjI3MTFlOWQzZjQ2N2ZlYmIzZThlZDdiZDA1OSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.APn5uT_OW866Pj_HIZwEurO_0wNONNbOPYXdwuVH-Lc)
![image](https://private-user-images.githubusercontent.com/1813121/303366085-21fcbf12-63c1-4952-aa5e-1d926f4919a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM2NjA4NS0yMWZjYmYxMi02M2MxLTQ5NTItYWE1ZS0xZDkyNmY0OTE5YTAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzNkNzE3YmNlYjVmNWVmMTQ3ZTgwYWFmMTYyZDQzODkxZmRkZjMzZGU4ZWMxYWQwNDMwOTFlYTFkNTFlYWVkOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.aLBCO4omQ3_uJuFSpVlk6EmC5Ry2Wa8RrZMtx44jZMM)
![image](https://private-user-images.githubusercontent.com/1813121/303366682-25e8eca1-68bf-4560-a55f-0a4b7fcebe81.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM2NjY4Mi0yNWU4ZWNhMS02OGJmLTQ1NjAtYTU1Zi0wYTRiN2ZjZWJlODEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YTA4ZGIzYmE2MTM4NDU2NGI1YWJmYmU4MjZiMmJlM2U1MzM1OTQzM2JlMTJlYjQwYjExOWNhNTI0MTE1YWY4OCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.W6eU4Y-pXJlOrT_HNc90AN6imBxBoPmmHT1Wj6S2AbM)
cargo install crates-tui
crates-tui
can be installed with an AUR helper:
paru -S crates-tui
open-in-browser.mov
crates-tui-logging.mov
![image](https://private-user-images.githubusercontent.com/1813121/303357473-0c65b9a2-cc01-4c40-bf3e-79f6522411d8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM1NzQ3My0wYzY1YjlhMi1jYzAxLTRjNDAtYmYzZS03OWY2NTIyNDExZDgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTZiNjk2Mjg4MzRkNWRkZWM4MzllMWEyM2Y1YTEyYjk1MDhmMWZhZWNkYjgxY2Q0YTQwNTY4Mjg0MTBhNGFmMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.x0pyGh58ivVsu8pAZYYXl1CtTIAEObke0ovVlUXO3tQ)
![image](https://private-user-images.githubusercontent.com/1813121/303357640-5130a654-76c0-411b-8fbb-5ea9946acdd7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM1NzY0MC01MTMwYTY1NC03NmMwLTQxMWItOGZiYi01ZWE5OTQ2YWNkZDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWMwMzAxODAxMDA2YjRhNjU0ZTY0Mzk4N2E3ZmMwOWQxZTk2ODI0ODE1ZDExYjgxNTRjYjU1N2IzZTkzMjdiZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Ovmu8_eDQPj5wutVt1FR6xyXejBXKX3aresro7WVltc)
![image](https://private-user-images.githubusercontent.com/1813121/303358496-8f6d5ede-b0c6-418c-9762-41964a9dcee6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwMjc2OTEsIm5iZiI6MTcxODAyNzM5MSwicGF0aCI6Ii8xODEzMTIxLzMwMzM1ODQ5Ni04ZjZkNWVkZS1iMGM2LTQxOGMtOTc2Mi00MTk2NGE5ZGNlZTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTBUMTM0OTUxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzgyODEzNGY0NWEzMDE2ZjE1OTdjOGMxZDFhZTJjYTI0NDEzMGRmOTFiNzUxMjE4ZjJjYmUyZWE0ODIxOGIwMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.2NHZij67S_-ySJOFVHGvdQS35IJ2llaBHSglR-pcMBw)
You can find example color configurations here.
help.mov
You can find the default configuration here.
This repository contains an opinionated way of organizing a small to medium sized Ratatui TUI applications.
It has several features, notably:
- Uses
async
to fetch crate information without blocking the UI - Multiple custom widgets
- Selection tab
- Input prompt
- Search results table
- Summary view
- Has configurable key chords that map to actions
This repository is meant to serve as a reference for some patterns you may follow when developing Ratatui applications. The code will function as a reference for the tutorial material on https://ratatui.rs as well.