Fixes Incorrect Index Behavior in Unicode Name Selector #3219
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The bases for the index were being decoded as base 16, despite being displayed as base 36 (0-9, a-z). This fix makes it so typing 'search string .index' returns the unicode char at the expected index, based on what is displayed by the program. The previous behavior was that to enter the symbol that is displayed at index 18, you would actually have to type
.2c
, since18 base 36
=2c base 16
. This fix makes it so to type the symbol at index 18, you type.18
, which seems more reasonableIt also slightly changes the behavior. Before, only the selected result would appear. For example, musical note
musical note .18
would only show a single result (with index 0 always), since there was only a single result at index 18. Now, searching by index doesn't remove codepoints/results, it simply highlights the result at the correct index for you.This is my first PR to this project, so sorry if I've violated any coding styles. I will say I'm not particularly happy with how I handled the iindex_word variable in the update_codepoints function, nor am I sure that it's totally sane to set the index as part of set_codepoints. Since setting the index to 0 was a side effect of set_codepoints before, I figured it was okay.
That said, I just wanted to submit something that works :)
Fixes #3221