src/vs/editor/standalone/common/monarch/monarchLexer.ts/MonarchModernTokensCollector/nestedModeTokenize
class MonarchModernTokensCollector:	public nestedModeTokenize(embeddedModeLine: string, hasEOL: boolean, embeddedModeData: EmbeddedModeData, offsetDelta: number): modes.IState {
		const nestedModeId = embeddedModeData.modeId;
		const embeddedModeState = embeddedModeData.state;

		const nestedModeTokenizationSupport = modes.TokenizationRegistry.get(nestedModeId);
		if (!nestedModeTokenizationSupport) {
			this.enterMode(offsetDelta, nestedModeId);
			this.emit(offsetDelta, '');
			return embeddedModeState;
		}

		let nestedResult = nestedModeTokenizationSupport.tokenize2(embeddedModeLine, hasEOL, embeddedModeState, offsetDelta);
		this._prependTokens = MonarchModernTokensCollector._merge(this._prependTokens, this._tokens, nestedResult.tokens);
		this._tokens = [];
		this._currentLanguageId = 0;
		this._lastTokenMetadata = 0;
		return nestedResult.endState;
	}