@@ -51,13 +51,17 @@ impl Commands {
51
51
state = add_space ( & mut self . state_machine , state, i) ;
52
52
state = add_code_segment1 ( & mut self . state_machine , state) ;
53
53
param_names. push ( & segment[ 8 ..segment. len ( ) - 4 ] ) ;
54
- } else if segment. starts_with ( "```" ) && segment. ends_with ( "```" ) {
54
+ } else if segment. starts_with ( "```\n " ) && segment. ends_with ( "\n ```" ) {
55
55
state = add_space ( & mut self . state_machine , state, i) ;
56
56
state = add_code_segment2 ( & mut self . state_machine , state) ;
57
+ param_names. push ( & segment[ 4 ..segment. len ( ) - 4 ] ) ;
58
+ } else if segment. starts_with ( "```" ) && segment. ends_with ( "```" ) {
59
+ state = add_space ( & mut self . state_machine , state, i) ;
60
+ state = add_code_segment3 ( & mut self . state_machine , state) ;
57
61
param_names. push ( & segment[ 3 ..segment. len ( ) - 3 ] ) ;
58
62
} else if segment. starts_with ( "`" ) && segment. ends_with ( "`" ) {
59
63
state = add_space ( & mut self . state_machine , state, i) ;
60
- state = add_code_segment3 ( & mut self . state_machine , state) ;
64
+ state = add_code_segment4 ( & mut self . state_machine , state) ;
61
65
param_names. push ( & segment[ 1 ..segment. len ( ) - 1 ] ) ;
62
66
} else if segment. starts_with ( "{" ) && segment. ends_with ( "}" ) {
63
67
state = add_space ( & mut self . state_machine , state, i) ;
@@ -179,10 +183,12 @@ fn add_code_segment2(state_machine: &mut StateMachine, mut state: usize) -> usiz
179
183
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
180
184
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
181
185
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
186
+ state = state_machine. add ( state, CharacterSet :: from_char ( '\n' ) ) ;
182
187
state = state_machine. add ( state, CharacterSet :: any ( ) ) ;
183
188
state_machine. add_next_state ( state, state) ;
184
189
state_machine. start_parse ( state) ;
185
190
state_machine. end_parse ( state) ;
191
+ state = state_machine. add ( state, CharacterSet :: from_char ( '\n' ) ) ;
186
192
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
187
193
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
188
194
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
@@ -192,6 +198,22 @@ fn add_code_segment2(state_machine: &mut StateMachine, mut state: usize) -> usiz
192
198
193
199
#[ inline]
194
200
fn add_code_segment3 ( state_machine : & mut StateMachine , mut state : usize ) -> usize {
201
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
202
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
203
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
204
+ state = state_machine. add ( state, CharacterSet :: any ( ) ) ;
205
+ state_machine. add_next_state ( state, state) ;
206
+ state_machine. start_parse ( state) ;
207
+ state_machine. end_parse ( state) ;
208
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
209
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
210
+ state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
211
+
212
+ state
213
+ }
214
+
215
+ #[ inline]
216
+ fn add_code_segment4 ( state_machine : & mut StateMachine , mut state : usize ) -> usize {
195
217
state = state_machine. add ( state, CharacterSet :: from_char ( '`' ) ) ;
196
218
state = state_machine. add ( state, CharacterSet :: any ( ) ) ;
197
219
state_machine. add_next_state ( state, state) ;
0 commit comments