Skip to content

kootenpv/rebrand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rebrand

Refactor your software using programming language independent string replacement.

Helps by renaming directories, filenames and file contents in a case-preserving manner.

rebrand demo

How does it work

Imagine we want to rename a library called SomeThing to AnotherName.

It will first normalize "SomeThing" to ["some", "thing"] and "AnotherName" to ["another", "name"], and build patterns on this.

Then, when matching and replacing, it will memorize the casing pattern and separator on e.g. "Some-thing" to replace it with the same convention, like so: "Another-name".

This works for:

  • filenames
  • directories
  • file contents

Binaries are just copied, and warnings are currently shown for png and jpg files containing logo or icon.

Installation

pip install rebrand

Usage

rebrand <OLD> <NEW> <LOCATION> (optional: <DESTINATION>)
# e.g. rebrand ancient modern .

TODO:

  • Implement radically faster matching
  • More options (such as disabling image warnings, verbosity, ignore patterns)
  • Switch from fire back to argparse

About

✨ Refactor your software using programming language independent, case-preserving string replacement 💄

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages