даже кодировку не меняю
Раскладку, кодировка не вступает в игру пока текст вводится. (Кроме проблем с программами в виндовсе, использующими старые ANSI-варианты функций WinAPI, где правда одной кодировкой тоже всего не объяснить, если иметь в виду GUI и отбросить ввод-вывод.)
для гугла это не экзотика конечно, но не мешало бы и прочим парсерам понимать с полуслова.
Ну это не очень применимо к парсерам формальных языков типа языков разметки текста, описания данных или программирования: там обычно ошибки вида «раскладка не та» настолько грубые, что восстанавливаться после них нет смысла. Восстанавливаться же парсеру ЯП есть смысл тоже ограниченный: выдать побольше осмысленных (и скорее всего действительно имеющихся) ошибок для пользователя на исправление, чтобы тому не приходилось после исправления каждой первой перезапускать парсер. Хотя оптимистично предполагать, что в коде в целом лишь несколько опечаток, иногда люди типа меня пишут большой кусок сразу и могут сделать много ошибок/опечаток, особенно поменяв решения насчёт того, что должно быть сказано, несколько раз. При этом в отличие от гугла результат после восстановления всё равно считается некорректным и не разрешает трансляцию кода, хотя какое-то кривое AST будет построено и семантические штуки частично вычислены (потому что маскировать семантические ошибки типа опечатки в имени переменной, синтаксическими и лексическими, для которых это скорее всего будет незаметно, негоже).