A easy to understand and powerful text search-and-replace tool
spacemod
is a text search-and-replace tool optimized towards refactoring
code.
# example.py (before)
copy_file(to_file=to_file, from_file=from_file)
copy_file(
to_file=get_file(filepath, mode),
from_file=get_file_writer(other_filepath, other_mode)
)
# Use spacemod's custom pattern-matching language to deal with whitespace easier.
# Without -S, normal regex patterns are assumed.
$ spacemod -S \
'copy_file ( to_file= (.*) , from_file= (.*) )' \
'copy_file($2, $1)' \
example.py
# spacemod will open interactive TUI and ask for approval of diffs. Use
# --accept-all to use spacemod non-interactively.
# example.py (after)
copy_file(from_file, to_file)
copy_file(get_file_writer(other_filepath, other_mode)
, get_file(filepath, mode))
It is very similar to fastmod, but with some additional features:
[u]ndo
to revert.Check the website for installation options.
By default, you use regexes to replace text. See Matching
modes for the alternative modes that spacemod
supports.
There are many tools like spacemod
, some of which may suit your needs better. Take a look at Alternatives.
Licensed under MIT
, see ./LICENSE
.