This marks the second major release since the C rewrite of chmap. There
were (to the best of my knowledge) two other releases, but I had forgotten
to tag them; in any case, they were barely usable.
Many things have changed since the Rust version:
- The name has changed (lcharmap => chmap).
- There is no "chars.db" living in ~/.local/share anymore; the Unicode info
is baked into the executable itself. - Multiple -r, -s, or -c flags may now be given at once.
- The -r flag supports hexadecimal (0x) and octal.
- The -c flag no longer deduplicates or sorts input. This may change in a
future release. - The virtually useless long flags (--chars, --range, --search) are gone.
- It'll probably be impossible to build this outside of a POSIX/WSL system
(due to the use of the nonportableregex.h
header). So, this will
most likely not work on Windows. - chmap is now much faster than it previously was, due to not having to
open up a 2.8mb file to get information. - A lot of other stuff.
A few minor notes:
- chmap is vastly more portable now, since the Rust toolchain isn't
required to build it. (No, I haven't forgotten about the regex thing.) - The binary now weighs 29mb(!), compared to 12mb for the Rust version.
(This is because of all the Unicode data baked into the executable.) - I now have to wait about 13 seconds to do a clean release build. Compare
that to the 3-and-a-half minutes it took to build the Rust version
(including the 15 crates(!) it required). Alright, I'm done trashing
Rust.