pub async fn parse_markdown_block(
    markdown: &str,
    language_registry: &Arc<LanguageRegistry, Global>,
    language: Option<Arc<Language, Global>>,
    text: &mut String,
    highlights: &mut Vec<(Range<usize>, MarkdownHighlight), Global>,
    region_ranges: &mut Vec<Range<usize>, Global>,
    regions: &mut Vec<ParsedRegion, Global>
) -> impl Future<Output = ()>