@@ -230,24 +230,36 @@ pub(crate) mod function {
230
230
}
231
231
if !execute {
232
232
let mut messages = Vec :: new ( ) ;
233
- messages. extend (
234
- ( skipped_directories > 0 ) . then ( || format ! ( "Skipped {skipped_directories} directories - show with -d" ) ) ,
235
- ) ;
236
- messages. extend (
237
- ( skipped_repositories > 0 )
238
- . then ( || format ! ( "Skipped {skipped_repositories} repositories - show with -r" ) ) ,
239
- ) ;
240
- messages. extend (
241
- ( skipped_ignored > 0 ) . then ( || format ! ( "Skipped {skipped_ignored} expendable entries - show with -x" ) ) ,
242
- ) ;
243
- messages. extend (
244
- ( skipped_precious > 0 ) . then ( || format ! ( "Skipped {skipped_precious} precious entries - show with -p" ) ) ,
245
- ) ;
246
- messages. extend (
247
- ( pruned_entries > 0 && has_patterns) . then ( || {
248
- format ! ( "try to adjust your pathspec to reveal some of the {pruned_entries} pruned entries" )
249
- } ) ,
250
- ) ;
233
+ messages. extend ( ( skipped_directories > 0 ) . then ( || {
234
+ format ! (
235
+ "Skipped {skipped_directories} {directories} - show with -d" ,
236
+ directories = plural( "directory" , "directories" , skipped_directories)
237
+ )
238
+ } ) ) ;
239
+ messages. extend ( ( skipped_repositories > 0 ) . then ( || {
240
+ format ! (
241
+ "Skipped {skipped_repositories} {repositories} - show with -r" ,
242
+ repositories = plural( "repository" , "repositories" , skipped_repositories)
243
+ )
244
+ } ) ) ;
245
+ messages. extend ( ( skipped_ignored > 0 ) . then ( || {
246
+ format ! (
247
+ "Skipped {skipped_ignored} expendable {entries} - show with -x" ,
248
+ entries = plural( "entry" , "entries" , skipped_ignored)
249
+ )
250
+ } ) ) ;
251
+ messages. extend ( ( skipped_precious > 0 ) . then ( || {
252
+ format ! (
253
+ "Skipped {skipped_precious} precious {entries} - show with -p" ,
254
+ entries = plural( "entry" , "entries" , skipped_precious)
255
+ )
256
+ } ) ) ;
257
+ messages. extend ( ( pruned_entries > 0 && has_patterns) . then ( || {
258
+ format ! (
259
+ "try to adjust your pathspec to reveal some of the {pruned_entries} pruned {entries}" ,
260
+ entries = plural( "entry" , "entries" , pruned_entries)
261
+ )
262
+ } ) ) ;
251
263
let make_msg = || -> String {
252
264
if messages. is_empty ( ) {
253
265
return String :: new ( ) ;
@@ -295,6 +307,14 @@ pub(crate) mod function {
295
307
Ok ( ( ) )
296
308
}
297
309
310
+ fn plural < ' a > ( one : & ' a str , many : & ' a str , number : usize ) -> & ' a str {
311
+ if number == 1 {
312
+ one
313
+ } else {
314
+ many
315
+ }
316
+ }
317
+
298
318
#[ derive( Default ) ]
299
319
struct InterruptableCollect {
300
320
inner : gix:: dir:: walk:: delegate:: Collect ,
0 commit comments