src/vs/workbench/contrib/terminal/browser/xterm/commandNavigationAddon.ts/CommandNavigationAddon/_scrollToMarker
class CommandNavigationAddon:	private _scrollToMarker(marker: IMarker, position: ScrollPosition): void {
		if (!this._terminal) {
			return;
		}
		if (!this._isMarkerInViewport(this._terminal, marker)) {
			const line = this._getTargetScrollLine(this._terminal, marker, position);
			this._terminal.scrollToLine(line);
		}
		this._navigationDecoration?.dispose();
		const color = this._themeService.getColorTheme().getColor(TERMINAL_OVERVIEW_RULER_CURSOR_FOREGROUND_COLOR);

		const decoration = this._terminal.registerDecoration({
			marker,
			width: this._terminal.cols,
			overviewRulerOptions: {
				color: color?.toString() || '#a0a0a0cc'
			}
		});
		this._navigationDecoration = decoration;
		if (decoration) {
			let isRendered = false;
			decoration.onRender(element => {
				if (!isRendered) {
					// TODO: Remove when https://github.com/xtermjs/xterm.js/issues/3686 is fixed
					if (!element.classList.contains('xterm-decoration-overview-ruler')) {
						element.classList.add('terminal-scroll-highlight');
					}
				}
			});
			decoration.onDispose(() => {
				if (decoration === this._navigationDecoration) {
					this._navigationDecoration = undefined;
				}
			});
			// Number picked to align with symbol highlight in the editor
			timeout(350).then(() => {
				decoration.dispose();
			});
		}
	}