Typit is a powerful terminal extension built in Rust, offering a variety of utility tools and beautiful color formatting for enhanced command-line experiences. It allows you to seamlessly integrate common terminal operations like mathematical calculations, hashing, directory navigation, and more with a stylish interface!
Follow these steps to build and run Typit on your machine:
git clone https://github.com/xd-Abi/typit.git
cd typit
cargo run --releaseTypit offers the following built-in commands:
- ๐งฎ
calc: Evaluate mathematical expressions. - ๐
hash: Generate cryptographic hashes for files and strings. - ๐
mac: Display all MAC addresses of the systemโs network interfaces. - ๐
pwd: Generate secure passwords and copy them to the clipboard. - ๐
cd: Change directories within the program. - ๐
exit: Exit the Typit interface. - โ๏ธ Native Commands: Typit will automatically run any native CLI tool if it does not match one of the custom commands (e.g.,
flutter doctororgit status).
- Command Matching: Typit first checks for built-in commands (e.g.,
calc,hash) before falling back to executing native commands installed on your system. - Dynamic Directory Navigation: Commands like
cdwill change the Rust processโs working directory, similar to native shells. - Enhanced Output: Typit uses rich colors and icons to make the command-line experience more enjoyable.
Calculate mathematical expressions directly from the terminal. Supports basic arithmetic and more advanced operations like sqrt(16) or 5 * (2 + 3).
> calc 5 + 3 * 2
๐งฎ Calculated Result (copied to clipboard): 5 + 3 * 2 = 11Generate hashes for text strings or files using multiple algorithms like SHA-256 or MD5.
> hash str hello world
๐ SHA-256 Hash (copied to clipboard): 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Display the primary MAC addresses on the system.
> mac
๐ Your Mac address (copied to clipboard): 8C:B8:7E:A0:70:67Generate strong, random passwords with ease.
> pwd gen 15
๐ Generated Password (copied to clipboard): 3Lg!1Z$AQ^AwJ1%Change the working directory within Typit.
> cd /Users/username/Documents
๐ Directory changed to: /Users/username/DocumentsIf Typit does not match any built-in command, it will attempt to run native commands installed on your system:
> git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree cleanTypit uses the colored library to create a visually appealing interface with vibrant colors for better readability and organization. Each command has its own unique icon and style for better visual distinction.
- Built-In Commands: Use Typit's internal commands like
calc,pwd, orcdfor quick operations. - Native Commands: If a command is not recognized, Typit will pass it to the system shell (e.g.,
flutter,ls, orgit). - Error Handling: Typit provides meaningful error messages when a command is not found or executed incorrectly.
- Rust: The core of Typit is built in Rust, ensuring high performance and safety.
- Colored: Colorizes the terminal output to enhance readability.
- Inquire: Handles dynamic prompts and input management.
- std::process::Command: Executes native commands.
- Clipboard Support: Automatically copies results to the clipboard for certain operations (e.g.,
calcresults).
- Dynamic Plugins: Add and manage custom commands on-the-fly.
- Shell Integration: Provide better support for running interactive shell commands.
- Command Autocompletion: Include support for autocompleting common commands.
- Cross-Platform Enhancements: Improve compatibility on Windows, macOS, and Linux.
- Arrow Key Command Navigation: Implement support for navigating through command history using the โ and โ arrow keys.
