apainintheneck / crystal-linenoise

Crystal bindings for the Linenoise library
https://apainintheneck.github.io/crystal-linenoise/
MIT License
1 stars 0 forks source link

Pull in utf8 support #27

Closed apainintheneck closed 6 months ago

apainintheneck commented 7 months ago

This PR pulls in UTF8 support from the https://github.com/antirez/linenoise/pull/187 branch as a part of https://github.com/apainintheneck/crystal-linenoise/issues/21. So far so good but I want to update docs and do some more testing before merging.

It only covers unicode version 13.0 but that's way better than what it was before. In all likelihood I won't need the additional unicode characters that were added in 14.0 and 15.0 but I should document how this was generated as best as possible so that I could technically move to that in the future.

Anyway, I'm very impressed so far.

TODO:

apainintheneck commented 7 months ago

It looks like the old default version of expect macOS doesn't really like UTF-8 strings and started choking on them locally when I tried to update those tests. The manual testing shows that it works as expected. Maybe it's time to consider on a deeper level if there is some better way of testing things here. It doesn't help that expect dies on CI because it only has access to a dumb terminal.

apainintheneck commented 6 months ago

This should be good enough for now. I'll create an issue about finding an alternative for expect that allows me to test UTF-8 strings and that runs on CI.

apainintheneck commented 6 months ago

@yhirose The original PR worked really well for adding UTF-8 support to Linenoise. Thanks!