protected void processCsiQ(byte c) {
		String buf;
		switch (c) {
			default:
				escBuf.put(c);
				break;
			case 'h':
				buf = readAndClearEscBuf();
				if ("12".equals(buf)) {
					execTextCursorEnableBlinking();
					escBuf.clear();
					mode = Mode.CHARS;
				}
				else if ("25".equals(buf)) {
					execTextCursorEnableModeShow();
					escBuf.clear();
					mode = Mode.CHARS;
				}
				else {
					throw new AssertionError();
				}
				break;
			case 'l':
				buf = readAndClearEscBuf();
				if ("12".equals(buf)) {
					execTextCursorDisableBlinking();
					escBuf.clear();
					mode = Mode.CHARS;
				}
				else if ("25".equals(buf)) {
					execTextCursorDisableModeShow();
					escBuf.clear();
					mode = Mode.CHARS;
				}
				break;
		}
	}
There's not really a good way to know if any trailing space was intentional. For GDB/MI, that
doesn't really matter.
Ghidra/Framework/Pty/src/main/java/ghidra/pty/windows/AnsiBufferedInputStream.java