getCursorPosition static method
Implementation
static CursorPosition getCursorPosition() {
var lm = _adapter.lineMode;
var em = _adapter.echoMode;
_adapter.lineMode = false;
_adapter.echoMode = false;
writeANSI('6n');
var bytes = <int>[];
while (true) {
var byte = _adapter.readByte();
bytes.add(byte);
if (byte == 82) {
break;
}
}
_adapter.lineMode = lm;
_adapter.echoMode = em;
var str = String.fromCharCodes(bytes);
str = str.substring(str.lastIndexOf('[') + 1, str.length - 1);
final parts =
List<int>.from(str.split(';').map((it) => int.parse(it))).toList();
return CursorPosition(parts[1], parts[0]);
}