src/vs/editor/common/cursor/cursor.ts/CursorsController/endComposition
class CursorsController:	public endComposition(eventsCollector: ViewModelEventsCollector, source?: string | null | undefined): void {
		const compositionOutcome = this._compositionState ? this._compositionState.deduceOutcome(this._model, this.getSelections()) : null;
		this._compositionState = null;

		this._executeEdit(() => {
			if (source === 'keyboard') {
				// composition finishes, let's check if we need to auto complete if necessary.
				this._executeEditOperation(TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType, this.context.cursorConfig, this._model, compositionOutcome, this.getSelections(), this.getAutoClosedCharacters()));
			}
		}, eventsCollector, source);
	}