diff --git a/helix-term/src/ui/markdown.rs b/helix-term/src/ui/markdown.rs index ae58d75e8..6bef59d14 100644 --- a/helix-term/src/ui/markdown.rs +++ b/helix-term/src/ui/markdown.rs @@ -90,7 +90,13 @@ pub fn highlighted_code_block<'a>( if pos == start { continue; } - assert!(pos > start); + // The highlighter should always move forward. + // If the highlighter malfunctions, bail on syntax highlighting and log an error. + debug_assert!(pos > start); + if pos < start { + log::error!("Failed to highlight '{language}': {text:?}"); + return styled_multiline_text(text, code_style); + } let style = syntax_highlight_stack .iter()