Mercurial > public > mercurial-scm > hg-stable
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 } |