@@ -29,6 +29,22 @@ impl std::fmt::Display for QueryCompilationError {
2929 }
3030}
3131
32+ impl std:: fmt:: Display for Rule {
33+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> Result < ( ) , std:: fmt:: Error > {
34+ match self {
35+ Rule :: literal => write ! ( f, "<string>" ) ,
36+ Rule :: all => write ! ( f, "'*'" ) ,
37+ Rule :: full_scan => write ! ( f, "'..'" ) ,
38+ Rule :: numbers_list => write ! ( f, "'<number>[,<number>,...]'" ) ,
39+ Rule :: string_list => write ! ( f, "'<string>[,<string>,...]'" ) ,
40+ Rule :: numbers_range => write ! ( f, "['start:end:steps']" ) ,
41+ Rule :: number => write ! ( f, "'<number>'" ) ,
42+ Rule :: filter => write ! ( f, "'[?(filter_expression)]'" ) ,
43+ _ => write ! ( f, "{:?}" , self )
44+ }
45+ }
46+ }
47+
3248pub ( crate ) fn compile < ' i > ( s : & ' i str ) -> Result < Query < ' i > , QueryCompilationError > {
3349 let q = JsonPathParser :: parse ( Rule :: query, s) ;
3450 match q {
@@ -47,12 +63,12 @@ pub (crate) fn compile<'i>(s: &'i str) -> Result<Query<'i>, QueryCompilationErro
4763 ref negatives,
4864 } => {
4965 let positives = if positives. len ( ) > 0 {
50- Some ( positives. iter ( ) . map ( |v| format ! ( "{:? }" , v) ) . collect :: < Vec < _ > > ( ) . join ( ", " ) )
66+ Some ( positives. iter ( ) . map ( |v| format ! ( "{}" , v) ) . collect :: < Vec < _ > > ( ) . join ( ", " ) )
5167 } else {
5268 None
5369 } ;
5470 let negatives = if negatives. len ( ) > 0 {
55- Some ( negatives. iter ( ) . map ( |v| format ! ( "{:? }" , v) ) . collect :: < Vec < _ > > ( ) . join ( ", " ) )
71+ Some ( negatives. iter ( ) . map ( |v| format ! ( "{}" , v) ) . collect :: < Vec < _ > > ( ) . join ( ", " ) )
5672 } else {
5773 None
5874 } ;
0 commit comments