./textproc/molybdenum, Recursive search and replace CLI application

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.1.10, Package name: molybdenum-0.1.10, Maintainer: pin

Recursive _search and replace_ CLI application.

Powerful search can be found without problems, eg, grep, ack, ag, ripgrep
or broot.

Tools for replacing recursively in a folder are more difficult to find,
although some exist: fart-it. Typically, people use a combination of searching,
xargs and a replacement tool like sed or rpl.

I use code searching a lot to investigate a large source code base before
attempting a replace. Even with 100k files, search is fast and fairly easy.
Recursively replacing text is much more dangerous, especially if it requires
the combination of several less frequently used tools; it's difficult to
remember a search-xargs-replace combination if not used on a daily basis.
On top of this, the search tool used to filter the set of files and perform a
dry-run, is not per-se using the same search query as the replace tool.
After all, these are different tools. It would be better if a single tool could
be used for every-day searching and replacing.
This is exactly what The Molybdenum Replacer intends to achieve.


Required to build:
[lang/rust]

Master sites:

Filesize: 16.549 KB

Version history: (Expand)


CVS history: (Expand)


   2022-09-17 17:51:50 by pin | Files touched by this commit (2) | Package updated
Log message:
textproc/molybdenum: update to 0.1.9

v0.1.9
 - When the search pattern is specified multiple time, the last one is actually
   used. This allows for a better integration with scripting where a default
   pattern is specified and might be updated later.
   2022-05-12 22:21:16 by pin | Files touched by this commit (2) | Package updated
Log message:
textproc/molybdenum: update to 0.1.8

v0.1.8
-Support for working with capture groups. When -P % is specified, the
 replacement string specified via -r will substitute capture groups for all
 occurences of % or %[0-9].
-Support for compact output.
-Rework of colored output: when not specified, the output stream is checked.
 If this is a TTY, no color output will be produced.

v0.1.7
-Filename pattern matching with -f and -F is now case-sensitive only when -s
 is set
-Added primitive method to only output the matches via -m. This should be
 replaced with proper Regex submatch support.
   2021-10-26 13:23:42 by Nia Alarie | Files touched by this commit (1161)
Log message:
textproc: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip
   2021-10-07 17:02:49 by Nia Alarie | Files touched by this commit (1162)
Log message:
textproc: Remove SHA1 hashes for distfiles
   2021-08-03 10:58:42 by pin | Files touched by this commit (1)
Log message:
textproc/molybdenum: simplify Makefile
   2021-06-11 22:33:13 by pin | Files touched by this commit (2) | Package updated
Log message:
textproc/molybdenum: update to 0.1.5

-Added support for folder output via -L.
   2021-06-02 19:19:02 by pin | Files touched by this commit (3) | Package updated
Log message:
textproc/molybdenum: update to 0.1.4

-Removed warnings and dead code.
-Add support for searching hidden and ignored files.
   2021-05-29 19:21:42 by pin | Files touched by this commit (5)
Log message:
textproc/molybdenum: import package

Recursive _search and replace_ CLI application.

Powerful search can be found without problems, eg, grep, ack, ag, ripgrep
or broot.

Tools for replacing recursively in a folder are more difficult to find,
although some exist: fart-it. Typically, people use a combination of searching,
xargs and a replacement tool like sed or rpl.

I use code searching a lot to investigate a large source code base before
attempting a replace. Even with 100k files, search is fast and fairly easy.
Recursively replacing text is much more dangerous, especially if it requires
the combination of several less frequently used tools; it's difficult to
remember a search-xargs-replace combination if not used on a daily basis.
On top of this, the search tool used to filter the set of files and perform a
dry-run, is not per-se using the same search query as the replace tool.
After all, these are different tools. It would be better if a single tool could
be used for every-day searching and replacing.
This is exactly what The Molybdenum Replacer intends to achieve.