##// END OF EJS Templates
rust-filepatterns: fix type of warnings tuple to (bytes, bytes)...
Yuya Nishihara -
r42857:02476018 default
parent child Browse files
Show More
@@ -227,7 +227,7 b' lazy_static! {'
227 }
227 }
228
228
229 pub type PatternTuple = (Vec<u8>, LineNumber, Vec<u8>);
229 pub type PatternTuple = (Vec<u8>, LineNumber, Vec<u8>);
230 type WarningTuple = (String, String);
230 type WarningTuple = (Vec<u8>, Vec<u8>);
231
231
232 pub fn parse_pattern_file_contents(
232 pub fn parse_pattern_file_contents(
233 lines: &[u8],
233 lines: &[u8],
@@ -263,10 +263,7 b' pub fn parse_pattern_file_contents('
263 if let Some(rel_syntax) = SYNTAXES.get(syntax) {
263 if let Some(rel_syntax) = SYNTAXES.get(syntax) {
264 current_syntax = rel_syntax;
264 current_syntax = rel_syntax;
265 } else if warn {
265 } else if warn {
266 warnings.push((
266 warnings.push((file_path.to_owned(), syntax.to_owned()));
267 String::from_utf8_lossy(file_path).to_string(),
268 String::from_utf8_lossy(syntax).to_string(),
269 ));
270 }
267 }
271 continue;
268 continue;
272 }
269 }
@@ -40,17 +40,31 b' fn read_pattern_file_wrapper('
40 };
40 };
41 let results: Vec<(PyBytes, LineNumber, PyBytes)> =
41 let results: Vec<(PyBytes, LineNumber, PyBytes)> =
42 patterns.iter().map(itemgetter).collect();
42 patterns.iter().map(itemgetter).collect();
43 return Ok((results, warnings).to_py_object(py));
43 return Ok((results, warnings_to_py_bytes(py, &warnings))
44 .to_py_object(py));
44 }
45 }
45 let itemgetter = |x: &PatternTuple| PyBytes::new(py, &x.0);
46 let itemgetter = |x: &PatternTuple| PyBytes::new(py, &x.0);
46 let results: Vec<PyBytes> =
47 let results: Vec<PyBytes> =
47 patterns.iter().map(itemgetter).collect();
48 patterns.iter().map(itemgetter).collect();
48 Ok((results, warnings).to_py_object(py))
49 Ok(
50 (results, warnings_to_py_bytes(py, &warnings))
51 .to_py_object(py),
52 )
49 }
53 }
50 Err(e) => Err(PatternFileError::pynew(py, e)),
54 Err(e) => Err(PatternFileError::pynew(py, e)),
51 }
55 }
52 }
56 }
53
57
58 fn warnings_to_py_bytes(
59 py: Python,
60 warnings: &[(Vec<u8>, Vec<u8>)],
61 ) -> Vec<(PyBytes, PyBytes)> {
62 warnings
63 .iter()
64 .map(|(path, syn)| (PyBytes::new(py, path), PyBytes::new(py, syn)))
65 .collect()
66 }
67
54 fn build_single_regex_wrapper(
68 fn build_single_regex_wrapper(
55 py: Python,
69 py: Python,
56 kind: PyObject,
70 kind: PyObject,
General Comments 0
You need to be logged in to leave comments. Login now