addDocumentationComments function
void
addDocumentationComments(})
Formats documentation comments and adds them to current Indent.
The comments
list is meant for comments written in the input dart file.
The generatorComments
list is meant for comments added by the generators.
Include white space for all tokens when called, no assumptions are made.
Implementation
void addDocumentationComments(
Indent indent,
List<String> comments,
DocumentCommentSpecification commentSpec, {
List<String> generatorComments = const <String>[],
}) {
final List<String> allComments = <String>[
...comments,
if (comments.isNotEmpty && generatorComments.isNotEmpty) '',
...generatorComments,
];
String currentLineOpenToken = commentSpec.openCommentToken;
if (allComments.length > 1) {
if (commentSpec.closeCommentToken != '') {
indent.writeln(commentSpec.openCommentToken);
currentLineOpenToken = commentSpec.blockContinuationToken;
}
for (String line in allComments) {
if (line.isNotEmpty && line[0] != ' ') {
line = ' $line';
}
indent.writeln(
'$currentLineOpenToken$line',
);
}
if (commentSpec.closeCommentToken != '') {
indent.writeln(commentSpec.closeCommentToken);
}
} else if (allComments.length == 1) {
indent.writeln(
'$currentLineOpenToken${allComments.first}${commentSpec.closeCommentToken}',
);
}
}