// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// @dart = 2.9

final _dartdocCodeBlockSections = RegExp(r'(```\w+) +\w+');
final _dartdocDirectives =
    RegExp(r'(\n *{@.*?}$)|(^{@.*?}\n)', multiLine: true);

String cleanDartdoc(String doc) {
  if (doc == null) {
    return null;
  }
  // Remove any dartdoc directives like {@template xxx}
  doc = doc.replaceAll(_dartdocDirectives, '');

  // Remove any code block section names like ```dart preamble that Flutter
  // docs contain.
  doc = doc.replaceAllMapped(
    _dartdocCodeBlockSections,
    (match) => match.group(1),
  );

  return doc;
}
