@@ -224,11 +224,17 @@ struct PendingBlockDirective {
224224
225225struct PendingDoxygenCommand {
226226 enum CommandKind {
227+ case discussion
228+ case note
227229 case param( name: Substring )
228230 case returns
229231
230232 var debugDescription : String {
231233 switch self {
234+ case . discussion:
235+ return " 'discussion' "
236+ case . note:
237+ return " 'note' "
232238 case . param( name: let name) :
233239 return " 'param' Argument: ' \( name) ' "
234240 case . returns:
@@ -745,6 +751,10 @@ private enum ParseContainer: CustomStringConvertible {
745751 let children = ParseContainer . lineRun ( lines, isInCodeFence: false )
746752 . convertToRawMarkup ( ranges: & ranges, parent: self , options: options)
747753 switch pendingDoxygenCommand. kind {
754+ case . discussion:
755+ return [ . doxygenDiscussion( parsedRange: range, children) ]
756+ case . note:
757+ return [ . doxygenNote( parsedRange: range, children) ]
748758 case . param( let name) :
749759 return [ . doxygenParam( name: String ( name) , parsedRange: range, children) ]
750760 case . returns:
@@ -873,7 +883,12 @@ struct ParseContainerStack {
873883 } ) else { return nil }
874884 remainder. lexWhitespace ( )
875885
886+ let kind : PendingDoxygenCommand . CommandKind
876887 switch name. text. lowercased ( ) {
888+ case " discussion " :
889+ kind = . discussion
890+ case " note " :
891+ kind = . note
877892 case " param " :
878893 guard let paramName = remainder. lex ( until: { ch in
879894 if ch. isWhitespace {
@@ -883,26 +898,21 @@ struct ParseContainerStack {
883898 }
884899 } ) else { return nil }
885900 remainder. lexWhitespace ( )
886- var pendingCommand = PendingDoxygenCommand (
887- atLocation: at. range!. lowerBound,
888- atSignIndentation: indent? . text. count ?? 0 ,
889- nameLocation: name. range!. lowerBound,
890- kind: . param( name: paramName. text) ,
891- endLocation: name. range!. upperBound)
892- pendingCommand. addLine ( remainder)
893- return ( pendingCommand, remainder)
901+ kind = . param( name: paramName. text)
894902 case " return " , " returns " , " result " :
895- var pendingCommand = PendingDoxygenCommand (
896- atLocation: at. range!. lowerBound,
897- atSignIndentation: indent? . text. count ?? 0 ,
898- nameLocation: name. range!. lowerBound,
899- kind: . returns,
900- endLocation: name. range!. upperBound)
901- pendingCommand. addLine ( remainder)
902- return ( pendingCommand, remainder)
903+ kind = . returns
903904 default :
904905 return nil
905906 }
907+
908+ var pendingCommand = PendingDoxygenCommand (
909+ atLocation: at. range!. lowerBound,
910+ atSignIndentation: indent? . text. count ?? 0 ,
911+ nameLocation: name. range!. lowerBound,
912+ kind: kind,
913+ endLocation: name. range!. upperBound)
914+ pendingCommand. addLine ( remainder)
915+ return ( pendingCommand, remainder)
906916 }
907917
908918 /// Accept a trimmed line, opening new block directives as indicated by the source,
0 commit comments