expand method

  1. @override
List<Rule> expand()
override

The basic rules this block stands for. Called once per block.

Implementation

@override
List<Rule> expand() {
  final begin = _escape(open);
  final end = _escape(close);
  if (!nested) {
    return [RegionRule(begin: begin, end: end, scope: scope, rules: rules)];
  }
  // The inner region lists itself among its rules.
  final inner = <Rule>[...rules];
  final region = RegionRule(begin: begin, end: end, rules: inner);
  inner.add(region);
  return [
    RegionRule(
      begin: begin,
      end: end,
      scope: scope,
      rules: [...rules, region],
    ),
  ];
}