@@ -599,10 +599,19 @@ fn check_doc<'a, Events: Iterator<Item = (pulldown_cmark::Event<'a>, Range<usize
599
599
let mut ignore = false ;
600
600
let mut edition = None ;
601
601
let mut ticks_unbalanced = false ;
602
- let mut text_to_check: Vec < ( CowStr < ' _ > , Range < usize > ) > = Vec :: new ( ) ;
602
+ let mut text_to_check: Vec < ( CowStr < ' _ > , Range < usize > , isize ) > = Vec :: new ( ) ;
603
603
let mut paragraph_range = 0 ..0 ;
604
+ let mut code_level = 0 ;
605
+
604
606
for ( event, range) in events {
605
607
match event {
608
+ Html ( tag) => {
609
+ if tag. starts_with ( "<code" ) {
610
+ code_level += 1 ;
611
+ } else if tag. starts_with ( "</code" ) {
612
+ code_level -= 1 ;
613
+ }
614
+ } ,
606
615
Start ( CodeBlock ( ref kind) ) => {
607
616
in_code = true ;
608
617
if let CodeBlockKind :: Fenced ( lang) = kind {
@@ -652,16 +661,15 @@ fn check_doc<'a, Events: Iterator<Item = (pulldown_cmark::Event<'a>, Range<usize
652
661
"a backtick may be missing a pair" ,
653
662
) ;
654
663
} else {
655
- for ( text, range) in text_to_check {
664
+ for ( text, range, assoc_code_level ) in text_to_check {
656
665
if let Some ( span) = fragments. span ( cx, range) {
657
- markdown:: check ( cx, valid_idents, & text, span) ;
666
+ markdown:: check ( cx, valid_idents, & text, span, assoc_code_level ) ;
658
667
}
659
668
}
660
669
}
661
670
text_to_check = Vec :: new ( ) ;
662
671
} ,
663
672
Start ( _tag) | End ( _tag) => ( ) , // We don't care about other tags
664
- Html ( _html) => ( ) , // HTML is weird, just ignore it
665
673
SoftBreak | HardBreak | TaskListMarker ( _) | Code ( _) | Rule => ( ) ,
666
674
FootnoteReference ( text) | Text ( text) => {
667
675
paragraph_range. end = range. end ;
@@ -694,7 +702,7 @@ fn check_doc<'a, Events: Iterator<Item = (pulldown_cmark::Event<'a>, Range<usize
694
702
// Don't check the text associated with external URLs
695
703
continue ;
696
704
}
697
- text_to_check. push ( ( text, range) ) ;
705
+ text_to_check. push ( ( text, range, code_level ) ) ;
698
706
}
699
707
} ,
700
708
}
0 commit comments