deletesChar property

String? deletesChar
final

The character whose deletion this modifier reacts to, or null when this is an insertion-only modifier.

A deletion inserts no character, so CodeController cannot key its dispatch on anything the typed stream carries — it keeps a map of its own for these, and a modifier that sets this field is looked up in that map instead. This is what makes "outdent on Backspace" implementable from outside the package; without it no modifier can ever fire on a backspace, which is the gap issue #21 reports.

The two registrations are exclusive: setting this field keeps char out of the insertion map, so a modifier that must react to both a typed character and a deleted one needs two instances, one for each.

Implementation

final String? deletesChar;