Skip to content

# Finally!

Latest
Compare
Choose a tag to compare
@kiedtl kiedtl released this 17 Feb 03:38
· 11 commits to master since this release

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 nonportable regex.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.