codeIndentUnit function
A stable editing step: two spaces, four for Python, or an existing tab. Re-inferring a space width after indenting makes Tab/Shift-Tab asymmetric.
Implementation
String codeIndentUnit(String text, String language) {
for (final line in text.split('\n')) {
final leading = codeLeadingWhitespace(line);
if (leading.contains('\t')) return '\t';
}
return language == 'python' ? ' ' : ' ';
}