| // Copyright (c) 2022, 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. |
| |
| import '../ast.dart'; |
| import '../block_parser.dart'; |
| import 'block_syntax.dart'; |
| import 'setext_header_syntax.dart'; |
| |
| /// Parses setext-style headers, and adds generated IDs to the generated |
| /// elements. |
| class SetextHeaderWithIdSyntax extends SetextHeaderSyntax { |
| const SetextHeaderWithIdSyntax(); |
| |
| @override |
| Node parse(BlockParser parser) { |
| final element = super.parse(parser) as Element; |
| element.generatedId = BlockSyntax.generateAnchorHash(element); |
| return element; |
| } |
| } |