injectText method

void injectText(
  1. String text
)

Implementation

void injectText(String text) {
  if (_activeController != null) {
    final ctrl = _activeController!;
    final current = ctrl.text;
    final sel = ctrl.selection;

    // Insert text at cursor selection position
    final newText = current.replaceRange(
      sel.start < 0 ? current.length : sel.start,
      sel.end < 0 ? current.length : sel.end,
      text,
    );
    ctrl.value = TextEditingValue(
      text: newText,
      selection: TextSelection.collapsed(
        offset: (sel.start < 0 ? current.length : sel.start) + text.length,
      ),
    );
  }
}