diff options
author | Paul Masurel <paul.masurel@gmail.com> | 2019-09-07 15:08:45 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-07 15:08:45 +0900 |
commit | df47d55cd24eaf1c145565d95db7eb692a5f7b72 (patch) | |
tree | d23863e205d194c5485ac4284fcef4a0d416d565 | |
parent | 5e579fd6b76de59d5acfdaeef6cf5a59c93688fb (diff) |
Occur debug interface (#648)
-rw-r--r-- | query-grammar/src/occur.rs | 11 | ||||
-rw-r--r-- | query-grammar/src/user_input_ast.rs | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/query-grammar/src/occur.rs b/query-grammar/src/occur.rs index 62cfb6b..dfe70c5 100644 --- a/query-grammar/src/occur.rs +++ b/query-grammar/src/occur.rs @@ -1,3 +1,6 @@ +use std::fmt; +use std::fmt::Write; + /// Defines whether a term in a query must be present, /// should be present or must not be present. #[derive(Debug, Clone, Hash, Copy, Eq, PartialEq)] @@ -18,7 +21,7 @@ impl Occur { /// - `Should` => '?', /// - `Must` => '+' /// - `Not` => '-' - pub fn to_char(self) -> char { + fn to_char(self) -> char { match self { Occur::Should => '?', Occur::Must => '+', @@ -47,3 +50,9 @@ impl Occur { } } } + +impl fmt::Display for Occur { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + f.write_char(self.to_char()) + } +} diff --git a/query-grammar/src/user_input_ast.rs b/query-grammar/src/user_input_ast.rs index daf3c9a..3045200 100644 --- a/query-grammar/src/user_input_ast.rs +++ b/query-grammar/src/user_input_ast.rs @@ -151,7 +151,7 @@ impl fmt::Debug for UserInputAST { Ok(()) } UserInputAST::Unary(ref occur, ref subquery) => { - write!(formatter, "{}({:?})", occur.to_char(), subquery) + write!(formatter, "{}({:?})", occur, subquery) } UserInputAST::Leaf(ref subquery) => write!(formatter, "{:?}", subquery), } |