configure method

void configure({
  1. bool? showLineNumbers,
  2. bool? wrapLines,
  3. bool? zeroPadLineNumbers,
  4. DiffViewMode? viewMode,
  5. DiffStyles? styles,
})

Configures display options.

When rendering-relevant options change (viewMode, showLineNumbers, wrapLines, zeroPadLineNumbers, styles), the diff lines are re-rendered automatically.

Implementation

void configure({
  bool? showLineNumbers,
  bool? wrapLines,
  bool? zeroPadLineNumbers,
  DiffViewMode? viewMode,
  DiffStyles? styles,
}) {
  final needsRerender =
      (viewMode != null && viewMode != _model.viewMode) ||
      (showLineNumbers != null &&
          showLineNumbers != _model.showLineNumbers) ||
      (wrapLines != null && wrapLines != _model.wrapLines) ||
      (zeroPadLineNumbers != null &&
          zeroPadLineNumbers != _model.zeroPadLineNumbers) ||
      (styles != null && styles != _model.styles);

  if (!needsRerender) return;

  _model = _model.copyWith(
    showLineNumbers: showLineNumbers,
    wrapLines: wrapLines,
    zeroPadLineNumbers: zeroPadLineNumbers,
    viewMode: viewMode,
    styles: styles,
  );

  _model = _model.rerender();
  _notifyListeners();
}