toggleHeadingPrefix method

bool toggleHeadingPrefix({
  1. int level = 1,
})

Toggles Markdown heading prefixes on the current line or selected block.

When all relevant lines already use the requested heading level, that prefix is removed. Otherwise, existing heading prefixes are normalized to the requested level and missing prefixes are added.

Implementation

bool toggleHeadingPrefix({int level = 1}) {
  return _runEditFrame(() {
    _beginHistoryAction(_TextAreaHistoryAction.transform, breakChain: true);
    final result = textToggleHeadingPrefixDocument(
      document: _document,
      state: _currentLineStateSnapshot(),
      level: level,
    );
    if (!result.changed) {
      return false;
    }

    _recordUndoSnapshot();
    _applyOffsetCommandResult(result);
    return true;
  });
}