Rename a string in CamelCase, lowerCamelCase, snake_case and ALL_CAPS in code and filenames in one go.
Say you've got a cool hex_clock.cpp:
#ifndef _HEX_CLOCK_H
#define _HEX_CLOCK_H
class HexClock
{
int hex_clock();
private:
int hex_clock_;
};
#endifCute! And now.. rename at will!
rename.py hex_clock hacker_clock
Meet the new shiny hacker_clock.h:
#ifndef _HACKER_CLOCK_H
#define _HACKER_CLOCK_H
class HackerClock
{
int hacker_clock();
private:
int hacker_clock_;
};
#endifrename is like a search/replace engine on steroids, it takes a string to search for, converts it to all possible cases (CamelCase, lowerCamelCase, snake_case and ALL_CAPS), and performs a search/replace with the corresponding case version of the destination string.
For example, rename.py hex_clock hacker_clock above, does the following
substitutions in text files:
hex_clock --> hacker_clock
HexClock --> HackerClock
hexClock --> hackerClock
HEX_CLOCK --> HACKER_CLOCK
Also, by default, the file hex_clock.h is renamed to hacker_clock.h, file
rename can be disabled with -f flag, see Usage below.
Simply install it with PIP:
pip install -e git+https://github.com/dkrikun/rename.git#egg=rename
usage: rename.py [-h] [--version] [-w] [--almost-word] [-n] [-d] [-f] [-a]
[-V] [-q]
SOURCE DEST PATTERN [PATTERN ...]
Rename a string in CamelCase, lowerCamelCase, snake_case and ALL_CAPS in one go
positional arguments:
SOURCE source string to be renamed
DEST string to replace with
PATTERN shell-like file name patterns to process
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-w, --word force SOURCE to match only whole words
--almost-word like -w, but also allow for any number of surrounding
underscores
-d, --diff shows diff instead of modifying files inplace
-f, --text-only only perform search/replace in file contents, do not rename
any files
-V, --verbose be verbose
-q, --silent be silent
Python 2.7/3.x will do.
binaryornot>=0.3.0
