11// Write Markdown to the terminal
22use std:: io:: Write ;
33
4- use pulldown_cmark:: { Event , Tag } ;
4+ use pulldown_cmark:: { Event , Tag , TagEnd } ;
55
66use crate :: currentprocess:: terminalsource:: { Attr , Color , ColorableTerminal } ;
77
@@ -122,16 +122,17 @@ impl<'a> LineFormatter<'a> {
122122 Tag :: Paragraph => {
123123 self . wrapper . write_line ( ) ;
124124 }
125- Tag :: Heading ( _level , _identifier , _classes ) => {
125+ Tag :: Heading { .. } => {
126126 self . push_attr ( Attr :: Bold ) ;
127127 self . wrapper . write_line ( ) ;
128128 }
129+ Tag :: MetadataBlock ( _) => { }
129130 Tag :: Table ( _alignments) => { }
130131 Tag :: TableHead => { }
131132 Tag :: TableRow => { }
132133 Tag :: TableCell => { }
133134 Tag :: BlockQuote => { }
134- Tag :: CodeBlock ( _lang ) => {
135+ Tag :: CodeBlock ( _ ) | Tag :: HtmlBlock { .. } => {
135136 self . wrapper . write_line ( ) ;
136137 self . wrapper . indent += 2 ;
137138 self . is_code_block = true ;
@@ -148,43 +149,44 @@ impl<'a> LineFormatter<'a> {
148149 }
149150 Tag :: Strong => { }
150151 Tag :: Strikethrough => { }
151- Tag :: Link ( _link_type , _dest , _title ) => { }
152- Tag :: Image ( _link_type , _dest , _title ) => { }
152+ Tag :: Link { .. } => { }
153+ Tag :: Image { .. } => { }
153154 Tag :: FootnoteDefinition ( _name) => { }
154155 }
155156 }
156157
157- fn end_tag ( & mut self , tag : Tag < ' a > ) {
158+ fn end_tag ( & mut self , tag : TagEnd ) {
158159 match tag {
159- Tag :: Paragraph => {
160+ TagEnd :: Paragraph => {
160161 self . wrapper . write_line ( ) ;
161162 }
162- Tag :: Heading ( _level , _identifier , _classes ) => {
163+ TagEnd :: Heading { .. } => {
163164 self . wrapper . write_line ( ) ;
164165 self . pop_attr ( ) ;
165166 }
166- Tag :: Table ( _ ) => { }
167- Tag :: TableHead => { }
168- Tag :: TableRow => { }
169- Tag :: TableCell => { }
170- Tag :: BlockQuote => { }
171- Tag :: CodeBlock ( _ ) => {
167+ TagEnd :: Table => { }
168+ TagEnd :: TableHead => { }
169+ TagEnd :: TableRow => { }
170+ TagEnd :: TableCell => { }
171+ TagEnd :: BlockQuote => { }
172+ TagEnd :: CodeBlock | TagEnd :: HtmlBlock => {
172173 self . is_code_block = false ;
173174 self . wrapper . indent -= 2 ;
174175 }
175- Tag :: List ( _) => {
176+ TagEnd :: List ( _) => {
176177 self . wrapper . indent -= 2 ;
177178 self . wrapper . write_line ( ) ;
178179 }
179- Tag :: Item => { }
180- Tag :: Emphasis => {
180+ TagEnd :: Item => { }
181+ TagEnd :: Emphasis => {
181182 self . pop_attr ( ) ;
182183 }
183- Tag :: Strong => { }
184- Tag :: Strikethrough => { }
185- Tag :: Link ( _, _, _) => { }
186- Tag :: Image ( _, _, _) => { } // shouldn't happen, handled in start
187- Tag :: FootnoteDefinition ( _) => { }
184+ TagEnd :: Strong => { }
185+ TagEnd :: Strikethrough => { }
186+ TagEnd :: Link { .. } => { }
187+ TagEnd :: Image { .. } => { } // shouldn't happen, handled in start
188+ TagEnd :: FootnoteDefinition => { }
189+ TagEnd :: MetadataBlock ( _) => { }
188190 }
189191 }
190192
@@ -216,6 +218,7 @@ impl<'a> LineFormatter<'a> {
216218 FootnoteReference ( _name) => { }
217219 TaskListMarker ( true ) => { }
218220 TaskListMarker ( false ) => { }
221+ InlineHtml ( _) => { }
219222 }
220223 }
221224}
0 commit comments