summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Masurel <paul.masurel@gmail.com>2019-09-07 15:08:45 +0900
committerGitHub <noreply@github.com>2019-09-07 15:08:45 +0900
commitdf47d55cd24eaf1c145565d95db7eb692a5f7b72 (patch)
treed23863e205d194c5485ac4284fcef4a0d416d565
parent5e579fd6b76de59d5acfdaeef6cf5a59c93688fb (diff)
Occur debug interface (#648)
-rw-r--r--query-grammar/src/occur.rs11
-rw-r--r--query-grammar/src/user_input_ast.rs2
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),
}