4 releases
0.2.0 | Nov 15, 2024 |
---|---|
0.1.2 | Nov 14, 2024 |
0.1.1 | Nov 14, 2024 |
0.1.0 | Nov 14, 2024 |
#423 in Development tools
310 downloads per month
27KB
428 lines
cmdlink
cmdlink
is a cross-platform command-line application built with Rust that allows you to create and manage aliases for system commands. These aliases are saved in a configuration file and linked to scripts in the bins
directory. This tool is designed to streamline command management and improve command-line efficiency.
Features
- Add Aliases: Create new command aliases with custom descriptions.
- Remove Aliases: Easily delete aliases and their associated binaries.
- Display Aliases: View all active aliases and their descriptions.
Installation
- Clone the repository:
git clone https://github.com/ehuff700/cmdlink.git cd cmdlink
- Build the application using Cargo. During the build process, cmdlink will setup all necessary directories:
cargo build --release
- Run the application by navigating to the build directory:
./target/release/cmdlink
Or, optionally, if you prefer not to build from source:
cargo install cmdlink
Usage
Run cmdlink with the following commands to manage your aliases:
Add a New Alias
cmdlink add <alias> -c <command> [--desc <description>] [--force]
Arguments:
<alias>: The name of the alias you wish to create.
--cmd <command>: The command that the alias will execute.
--desc <description> (optional): A short description of the alias.
--force (optional): Forces the alias creation if it already exists.
Example:
cmdlink add myalias --cmd "echo Hello, World!" --desc "Prints a greeting" --force
Remove an Alias
Removes an existing alias and its binary link.
cmdlink remove <alias>
Arguments:
<alias>: The name of the alias you wish to remove.
Example:
cmdlink remove myalias
Display All Aliases
Displays all existing aliases along with their descriptions.
cmdlink display
Refresh Links
Refreshes all alias links based on the configuration file, updating binaries in the bins directory.
cmdlink refresh
View the --help function to see additional information for each subcommand.
Configuration
Aliases are saved in a configuration file (config.toml) located in the project directory. The structure of this file is as follows:
[aliases]
myalias = { cmd = "echo Hello, World!", description = "Prints a greeting" }
another_alias = { cmd = "ls -la", description = "Lists all files in long format" }
The cmdlink application reads from this file and creates binary links in the bins directory based on the commands specified for each alias.
You should not manually edit this file, but if you do, run cmdlink refresh to save your changes to the bin files.
Directory Structure
config.toml: Stores alias names, commands, and descriptions.
bins/: Contains the binary files linked to each alias. These binaries are generated by cmdlink when an alias is added or refreshed.
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~5–17MB
~160K SLoC