cmdlink
cmdlink is a 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.
Note: Currently, only Windows is supported, but cross-platform compatibility is planned for future releases.
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.
- Refresh Links: Update binary links based on the latest configuration file.
Installation
- Clone the repository:
- Build the application using Cargo. During the build process, cmdlink will setup all necessary directories:
- Run the application by navigating to the build directory:
Or, optionally, if you prefer not to build from source:
Usage
Run cmdlink with the following commands to manage your aliases:
Add a New Alias
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:
Remove an Alias
Removes an existing alias and its binary link.
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. 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.