@@ -7,20 +7,20 @@ use unicode_segmentation::UnicodeSegmentation;
7
7
pub struct CommitMsgFmt {
8
8
/// Max width of the message body; not used for the subject line.
9
9
width : usize ,
10
- /// The character that identifies a comment when used in column 0 of a line.
11
- comment_char : char ,
10
+ /// The string that identifies a comment when started in column 0 of a line.
11
+ comment_string : String ,
12
12
}
13
13
14
14
impl CommitMsgFmt {
15
- pub fn new ( width : usize , comment_char : char ) -> CommitMsgFmt {
15
+ pub fn new ( width : usize , comment_string : & str ) -> CommitMsgFmt {
16
16
CommitMsgFmt {
17
17
width,
18
- comment_char ,
18
+ comment_string : comment_string . into ( ) ,
19
19
}
20
20
}
21
21
22
22
pub fn filter ( & self , input : & str ) -> String {
23
- let msg = parse ( input, self . comment_char ) ;
23
+ let msg = parse ( input, & self . comment_string ) ;
24
24
// The output size can be less than the input size only if the input contains characters
25
25
// that will be trimmed, such as leading whitespace, which is improbable. It is more likely
26
26
// the output size will exceed the input size due to injected linefeeds and continuation
@@ -76,7 +76,7 @@ impl CommitMsgFmt {
76
76
None => self . width ,
77
77
} ;
78
78
let mut cur_line_len = 0 ;
79
- for word in WordIter :: new ( paragraph, self . comment_char ) {
79
+ for word in WordIter :: new ( paragraph, & self . comment_string ) {
80
80
let word_len = word. graphemes ( true ) . count ( ) ;
81
81
82
82
// Not a new line so we need to fiddle with whitespace.
@@ -105,7 +105,7 @@ mod tests {
105
105
use pretty_assertions:: assert_eq;
106
106
107
107
fn filter ( w : usize , s : & str ) -> String {
108
- CommitMsgFmt :: new ( w, '#' ) . filter ( & s)
108
+ CommitMsgFmt :: new ( w, "#" ) . filter ( s)
109
109
}
110
110
111
111
#[ test]
@@ -160,7 +160,7 @@ format this
160
160
öööö ü" ;
161
161
162
162
assert_eq ! (
163
- filter( 5 , & s) ,
163
+ filter( 5 , s) ,
164
164
"
165
165
ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää
166
166
185
185
Cc: Abominable Snowman <[email protected] >
186
186
" ;
187
187
188
- assert_eq ! ( filter( 10 , & msg) , msg, "print trailers literally" ) ;
188
+ assert_eq ! ( filter( 10 , msg) , msg, "print trailers literally" ) ;
189
189
}
190
190
191
191
#[ test]
212
212
\t \t continuation
213
213
" ;
214
214
215
- assert_eq ! ( filter( 72 , & input) , expected) ;
215
+ assert_eq ! ( filter( 72 , input) , expected) ;
216
216
}
217
217
218
218
#[ test]
@@ -239,7 +239,7 @@ block
239
239
```
240
240
" ;
241
241
242
- assert_eq ! ( filter( 72 , & input) , expected) ;
242
+ assert_eq ! ( filter( 72 , input) , expected) ;
243
243
}
244
244
245
245
#[ test]
@@ -264,7 +264,7 @@ backtick
264
264
b
265
265
" ;
266
266
267
- assert_eq ! ( filter( 72 , & input) , expected) ;
267
+ assert_eq ! ( filter( 72 , input) , expected) ;
268
268
}
269
269
270
270
#[ test]
288
288
~~~ tilde fenced code block not supported ~~~
289
289
" ;
290
290
291
- assert_eq ! ( filter( 72 , & input) , expected) ;
291
+ assert_eq ! ( filter( 72 , input) , expected) ;
292
292
}
293
293
294
294
#[ test]
@@ -302,7 +302,7 @@ paragraph
302
302
303
303
let expected = input;
304
304
305
- assert_eq ! ( filter( 72 , & input) , expected) ;
305
+ assert_eq ! ( filter( 72 , input) , expected) ;
306
306
}
307
307
308
308
#[ test]
@@ -317,7 +317,7 @@ paragraph
317
317
318
318
let expected = input;
319
319
320
- assert_eq ! ( filter( 72 , & input) , expected) ;
320
+ assert_eq ! ( filter( 72 , input) , expected) ;
321
321
}
322
322
323
323
#[ test]
@@ -357,7 +357,7 @@ xx xx xxxxxx xxxxxxx
357
357
xxxxxxxxxxxxxx.
358
358
" ;
359
359
360
- assert_eq ! ( filter( 30 , & input) , expected) ;
360
+ assert_eq ! ( filter( 30 , input) , expected) ;
361
361
}
362
362
363
363
#[ test]
@@ -395,7 +395,7 @@ paragraph
395
395
footnote key
396
396
" ;
397
397
398
- assert_eq ! ( filter( 20 , & msg) , expected) ;
398
+ assert_eq ! ( filter( 20 , msg) , expected) ;
399
399
}
400
400
401
401
#[ test]
435
435
www [4] .
436
436
" ;
437
437
438
- assert_eq ! ( filter( 8 , & msg) , expected) ;
438
+ assert_eq ! ( filter( 8 , msg) , expected) ;
439
439
}
440
440
441
441
#[ test]
481
481
- ääääääääääääääëëëëëëëëëëëëëëö
482
482
" ;
483
483
484
- assert_eq ! ( filter( 16 , & input) , expected) ;
484
+ assert_eq ! ( filter( 16 , input) , expected) ;
485
485
}
486
486
487
487
#[ test]
506
506
that should be realigned
507
507
" ;
508
508
509
- assert_eq ! ( filter( 34 , & input) , expected) ;
509
+ assert_eq ! ( filter( 34 , input) , expected) ;
510
510
}
511
511
512
512
#[ test]
525
525
[1] note
526
526
note
527
527
" ;
528
- assert_eq ! ( filter( 3 , & input) , expected) ;
528
+ assert_eq ! ( filter( 3 , input) , expected) ;
529
529
}
530
530
531
531
#[ test]
543
543
- list item that should not have been wrapped
544
544
" ;
545
545
546
- assert_eq ! ( filter( 72 , & input) , expected) ;
546
+ assert_eq ! ( filter( 72 , input) , expected) ;
547
547
}
548
548
549
549
#[ test]
565
565
- list item
566
566
" ;
567
567
568
- assert_eq ! ( filter( 72 , & input) , expected) ;
568
+ assert_eq ! ( filter( 72 , input) , expected) ;
569
569
}
570
570
571
571
#[ test]
587
587
- literal
588
588
" ;
589
589
590
- assert_eq ! ( filter( 72 , & input) , expected) ;
590
+ assert_eq ! ( filter( 72 , input) , expected) ;
591
591
}
592
592
593
593
#[ test]
608
608
7 numbered
609
609
" ;
610
610
611
- assert_eq ! ( filter( 72 , & msg) , msg) ;
611
+ assert_eq ! ( filter( 72 , msg) , msg) ;
612
612
}
613
613
614
614
#[ test]
@@ -637,7 +637,7 @@ preserve
637
637
638
638
content
639
639
" ;
640
- assert_eq ! ( filter( 72 , & input) , expected) ;
640
+ assert_eq ! ( filter( 72 , input) , expected) ;
641
641
}
642
642
643
643
#[ test]
@@ -653,11 +653,11 @@ foo
653
653
654
654
# comment
655
655
" ;
656
- assert_eq ! ( filter( 2 , & input) , expected) ;
656
+ assert_eq ! ( filter( 2 , input) , expected) ;
657
657
}
658
658
659
659
#[ test]
660
- fn preserves_scissored_content_with_custom_comment_char ( ) {
660
+ fn preserves_scissored_content_with_custom_comment_string ( ) {
661
661
let input = "
662
662
foo
663
663
@@ -683,8 +683,8 @@ preserve
683
683
684
684
content
685
685
" ;
686
- let fmt = CommitMsgFmt :: new ( 72 , ';' ) ;
687
- assert_eq ! ( fmt. filter( & input) , expected) ;
686
+ let fmt = CommitMsgFmt :: new ( 72 , ";" ) ;
687
+ assert_eq ! ( fmt. filter( input) , expected) ;
688
688
}
689
689
690
690
#[ test]
@@ -711,7 +711,7 @@ b\tc\u{00a0}d\u{2003}e\u{2009}\u{2009}f\u{202f}g
711
711
712
712
a b\t c\u{00a0} d\u{2003} e\u{2009} f\u{202f} g
713
713
" ;
714
- assert_eq ! ( filter( 2 , & input) , expected) ;
714
+ assert_eq ! ( filter( 2 , input) , expected) ;
715
715
}
716
716
717
717
#[ test]
@@ -746,7 +746,7 @@ https://a.really-long-url.example
746
746
747
747
[1] https://a.really-long-url.example
748
748
" ;
749
- assert_eq ! ( filter( 10 , & input) , expected) ;
749
+ assert_eq ! ( filter( 10 , input) , expected) ;
750
750
}
751
751
752
752
#[ test]
772
772
[qux] note
773
773
[2] note
774
774
" ;
775
- assert_eq ! ( filter( 2 , & input) , expected) ;
775
+ assert_eq ! ( filter( 2 , input) , expected) ;
776
776
}
777
777
}
0 commit comments