@@ -247,27 +247,40 @@ function build_commit_string(commit_state: z.infer<typeof CommitState>,
247
247
commit_string += `(${ scope } )`
248
248
}
249
249
250
+ let title_ticket = commit_state . ticket ;
251
+ const surround = config . check_ticket . surround ;
252
+ if ( commit_state . ticket && surround ) {
253
+ const open_token = surround . charAt ( 0 ) ;
254
+ const close_token = surround . charAt ( 1 ) ;
255
+ title_ticket = `${ open_token } ${ commit_state . ticket } ${ close_token } `
256
+ }
257
+
258
+ const position_before_colon = config . check_ticket . title_position === "before-colon"
259
+ if ( title_ticket && config . check_ticket . add_to_title && position_before_colon ) {
260
+ const spacing = commit_state . scope || ( commit_state . type && ! config . check_ticket . surround ) ? ' ' : '' ;
261
+ commit_string += colorize ? color . magenta ( spacing + title_ticket ) : spacing + title_ticket
262
+ }
263
+
250
264
if ( commit_state . breaking_title && config . breaking_change . add_exclamation_to_title ) {
251
265
commit_string += colorize ? color . red ( '!' ) : '!'
252
266
}
253
267
254
- if ( commit_state . scope || commit_state . type ) {
268
+ if ( commit_state . scope || commit_state . type || ( title_ticket && position_before_colon ) ) {
255
269
commit_string += ': '
256
270
}
257
271
258
272
const position_start = config . check_ticket . title_position === "start"
259
273
const position_end = config . check_ticket . title_position === "end"
260
-
261
- if ( commit_state . ticket && config . check_ticket . add_to_title && position_start ) {
262
- commit_string += colorize ? color . magenta ( commit_state . ticket ) + ' ' : commit_state . ticket + ' '
274
+ if ( title_ticket && config . check_ticket . add_to_title && position_start ) {
275
+ commit_string += colorize ? color . magenta ( title_ticket ) + ' ' : title_ticket + ' '
263
276
}
264
277
265
278
if ( commit_state . title ) {
266
279
commit_string += colorize ? color . reset ( commit_state . title ) : commit_state . title
267
280
}
268
281
269
- if ( commit_state . ticket && config . check_ticket . add_to_title && position_end ) {
270
- commit_string += ' ' + ( colorize ? color . magenta ( commit_state . ticket ) : commit_state . ticket )
282
+ if ( title_ticket && config . check_ticket . add_to_title && position_end ) {
283
+ commit_string += ' ' + ( colorize ? color . magenta ( title_ticket ) : title_ticket )
271
284
}
272
285
273
286
if ( commit_state . body ) {
@@ -314,7 +327,6 @@ function build_commit_string(commit_state: z.infer<typeof CommitState>,
314
327
commit_string = commit_string . replaceAll ( '"' , '\\"' )
315
328
}
316
329
317
-
318
330
return commit_string ;
319
331
}
320
332
0 commit comments