fix: support UTF-8 characters in hotkey matching
- Fix key_matches() to use chars().count() instead of len() - This correctly handles multi-byte UTF-8 characters (russian layout) - All 9 config tests now pass (was 7/9, now 9/9) Fixes: - test_hotkeys_matches_char_keys - test_hotkeys_matches_russian_vim_keys Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -287,7 +287,8 @@ impl HotkeysConfig {
|
||||
}
|
||||
}
|
||||
// Символьные клавиши (буквы, цифры)
|
||||
key_char if key_char.len() == 1 => {
|
||||
// Проверяем количество символов, а не байтов (для поддержки UTF-8)
|
||||
key_char if key_char.chars().count() == 1 => {
|
||||
if let KeyCode::Char(ch) = key {
|
||||
if let Some(expected_ch) = key_char.chars().next() {
|
||||
if ch == expected_ch {
|
||||
|
||||
Reference in New Issue
Block a user