diff --git a/extension.ts b/extension.ts index f5f64fbde63..b8c2eeb2616 100644 --- a/extension.ts +++ b/extension.ts @@ -245,16 +245,21 @@ export async function activate(context: vscode.ExtensionContext) { overrideCommand(context, 'compositionStart', async () => { taskQueue.enqueueTask(async () => { - compositionState.isInComposition = true; + const mh = await getAndUpdateModeHandler(); + if (mh.vimState.currentMode !== ModeName.Insert) { + compositionState.isInComposition = true; + } }); }); overrideCommand(context, 'compositionEnd', async () => { taskQueue.enqueueTask(async () => { const mh = await getAndUpdateModeHandler(); - let text = compositionState.composingText; - compositionState.reset(); - await mh.handleMultipleKeyEvents(text.split('')); + if (mh.vimState.currentMode !== ModeName.Insert) { + let text = compositionState.composingText; + compositionState.reset(); + await mh.handleMultipleKeyEvents(text.split('')); + } }); });