@@ -61,6 +61,7 @@ impl Config {
61
61
#[ serde( deny_unknown_fields, default ) ]
62
62
#[ serde( rename_all = "kebab-case" ) ]
63
63
pub struct Walk {
64
+ pub extend_exclude : Vec < String > ,
64
65
/// Skip hidden files and directories.
65
66
pub ignore_hidden : Option < bool > ,
66
67
/// Respect ignore files.
@@ -79,6 +80,7 @@ impl Walk {
79
80
pub fn from_defaults ( ) -> Self {
80
81
let empty = Self :: default ( ) ;
81
82
Self {
83
+ extend_exclude : empty. extend_exclude . clone ( ) ,
82
84
ignore_hidden : Some ( empty. ignore_hidden ( ) ) ,
83
85
ignore_files : Some ( true ) ,
84
86
ignore_dot : Some ( empty. ignore_dot ( ) ) ,
@@ -89,6 +91,8 @@ impl Walk {
89
91
}
90
92
91
93
pub fn update ( & mut self , source : & Walk ) {
94
+ self . extend_exclude
95
+ . extend ( source. extend_exclude . iter ( ) . cloned ( ) ) ;
92
96
if let Some ( source) = source. ignore_hidden {
93
97
self . ignore_hidden = Some ( source) ;
94
98
}
@@ -114,6 +118,10 @@ impl Walk {
114
118
}
115
119
}
116
120
121
+ pub fn extend_exclude ( & self ) -> & [ String ] {
122
+ & self . extend_exclude
123
+ }
124
+
117
125
pub fn ignore_hidden ( & self ) -> bool {
118
126
self . ignore_hidden . unwrap_or ( true )
119
127
}
0 commit comments