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.
Yay! We love PRs! 🎊
Please include a description of your change & check your PR against this list, thanks:
gulp tslint
)Two impoartant things to note here:
type
events asynchronously, in which case,default:replacePreviousChar
might be executed before our customizedtype
event. When we type in CJK characters, we are typing English characters firstly then replace them with the desired CJK character/s. If thereplacePreviousChar
happens before its correspondingtype
event, we are running into chaos.cursorPosition
invimState
and we will leverage this state to implement dot repeat somehow. However, when we performtype
thenreplacePreviousChar
, it will ruin ourcursorPosition
maintaining. So we should always update the cusor info after triggeringdefault:replacePreviousChar
.After this fix, the CJK typing experience in Insert Mode is likely perfect (I'm not 100% sure whether there would be other issues as I just write Chinese). CJK handling in Normal Mode is still blocked by VS Code right now but the priority is really low, why would you bother tying CJK while using Vim commands?