mirror of
https://github.com/lbonn/rofi
synced 2024-11-16 00:48:02 +00:00
af6a4b83eb
This patch adds a field lines_not_ascii to the MenuState structure. The nth entry is 0 unless the nth member of MenuState.lines has a non-ascii codepoint in it. All comparison functions (menu_match_cb type) take an additional argument to tell them if the thing they are matching is not_ascii. They can use this to determine whether to collate and case-fold the input (for non-ascii strings), or whether to use strstr/strcasestr (for ascii strings). The change is not currently implemented for flex matching, due to my laziness. However, it should be a simple enough matter to add. For my large input of 400,000 lines, this reduces typical filtering time to about ten microseconds from about 2 seconds. |
||
---|---|---|
.. | ||
dialogs | ||
helper.c | ||
history.c | ||
i3-support.c | ||
keyb.c | ||
rofi.c | ||
scrollbar.c | ||
textbox.c | ||
x11-helper.c | ||
xrmoptions.c |