optimizeMovements method
Detects terminal capabilities for movement optimizations (e.g. hard tabs).
Returns a record of (useTabs, useBackspace).
Implementation
@override
({bool useTabs, bool useBackspace}) optimizeMovements() {
final out = _runStty(['-a']);
if (out == null || out.exitCode != 0) {
return (useTabs: false, useBackspace: true);
}
final s = (out.stdout ?? '').toString();
// tab0 means no tab expansion (hard tabs supported).
// tabs is often an alias for tab0 on some systems.
final useTabs = s.contains('tab0') || s.contains(' tabs');
// bs0 means no backspace expansion.
final useBackspace = s.contains('bs0') || !s.contains('-echoe');
return (useTabs: useTabs, useBackspace: useBackspace);
}