comparison rust/hg-core/src/filepatterns.rs @ 51630:e4b9f8a74d5f

match: simplify the rust-side file pattern kind parsing There's no need to add the ':' characters if we're simply pattern matching against constants next.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Tue, 16 Apr 2024 17:21:37 +0100
parents 2a89d2f6336f
children f33b87b46135
comparison
equal deleted inserted replaced
51629:32ba01b5669d 51630:e4b9f8a74d5f
148 .iter() 148 .iter()
149 .flat_map(|c| RE_ESCAPE[*c as usize].clone()) 149 .flat_map(|c| RE_ESCAPE[*c as usize].clone())
150 .collect() 150 .collect()
151 } 151 }
152 152
153 pub fn parse_pattern_syntax( 153 pub fn parse_pattern_syntax_kind(
154 kind: &[u8], 154 kind: &[u8],
155 ) -> Result<PatternSyntax, PatternError> { 155 ) -> Result<PatternSyntax, PatternError> {
156 match kind { 156 match kind {
157 b"re:" => Ok(PatternSyntax::Regexp), 157 b"re" => Ok(PatternSyntax::Regexp),
158 b"path:" => Ok(PatternSyntax::Path), 158 b"path" => Ok(PatternSyntax::Path),
159 b"filepath:" => Ok(PatternSyntax::FilePath), 159 b"filepath" => Ok(PatternSyntax::FilePath),
160 b"relpath:" => Ok(PatternSyntax::RelPath), 160 b"relpath" => Ok(PatternSyntax::RelPath),
161 b"rootfilesin:" => Ok(PatternSyntax::RootFilesIn), 161 b"rootfilesin" => Ok(PatternSyntax::RootFilesIn),
162 b"relglob:" => Ok(PatternSyntax::RelGlob), 162 b"relglob" => Ok(PatternSyntax::RelGlob),
163 b"relre:" => Ok(PatternSyntax::RelRegexp), 163 b"relre" => Ok(PatternSyntax::RelRegexp),
164 b"glob:" => Ok(PatternSyntax::Glob), 164 b"glob" => Ok(PatternSyntax::Glob),
165 b"rootglob:" => Ok(PatternSyntax::RootGlob), 165 b"rootglob" => Ok(PatternSyntax::RootGlob),
166 b"include:" => Ok(PatternSyntax::Include), 166 b"include" => Ok(PatternSyntax::Include),
167 b"subinclude:" => Ok(PatternSyntax::SubInclude), 167 b"subinclude" => Ok(PatternSyntax::SubInclude),
168 _ => Err(PatternError::UnsupportedSyntax( 168 _ => Err(PatternError::UnsupportedSyntax(
169 String::from_utf8_lossy(kind).to_string(), 169 String::from_utf8_lossy(kind).to_string(),
170 )), 170 )),
171 } 171 }
172 } 172 }