Crates.io | altr |
lib.rs | altr |
version | 0.5.1 |
source | src |
created_at | 2024-01-23 22:24:57.912066 |
updated_at | 2024-05-20 21:29:16.207487 |
description | CLI tool to alter words seamlessly while preserving casing |
homepage | |
repository | https://github.com/jnsahaj/altr |
max_upload_size | |
id | 1111284 |
size | 34,140 |
Altr is a robust command-line refactoring tool designed to effortlessly enhance your codebase while maintaining your preferred casing styles.
Execute Altr with the following command:
altr <termToReplace> <replacementTerm> -f <path>
Let's take a look at a practical scenario using a file named programmer.js
, where we want to rename "programmer" to "rustProgrammer".
const programmer = new Programmer(Adam);
function getProgrammerName(programmer: Programmer) {
return programmer.name;
}
// Updating the name for the PROGRAMMER
function setProgrammerName(name: string) {
programmer.name = name;
}
Executing the command:
altr programmer rustProgrammer -f programmer.js
Results in the following updated file:
const rustProgrammer = new RustProgrammer(Adam);
function getRustProgrammerName(rustProgrammer: RustProgrammer) {
return rustProgrammer.name;
}
// Updating the name for the RUST_PROGRAMMER
function setRustProgrammerName(name: string) {
rustProgrammer.name = name;
}
Altr intelligently handles the replacement, considering the casing styles of both the original term and the specified replacement term. For instance, if we run:
altr programmer rust_programmer -f programmer.js
The tool adjusts the file accordingly:
const rust_programmer = new RustProgrammer(Adam);
function getRustProgrammerName(rust_programmer: RustProgrammer) {
return rust_programmer.name;
}
// Updating the name for the RUST_PROGRAMMER
function setRustProgrammerName(name: string) {
rust_programmer.name = name;
}
Notice how Altr adapts to the casing requirements of the replacement term.
Altr supports taking in input from stdin and passing it to stdout
$ echo "programmer" | altr programmer rust_programmer
$ rust_programmer
You can also specify the output location
altr programmer rust_programmer -f programmer.js -o rust-programmer.js
You can use "-" as path to indicate stdin or stdout as well
Altr is easily installed using cargo:
cargo install altr