Add discard command

Change-Id: Ie2243188694657665240769d93b2835034e48c3a
diff --git a/src/ast_commands.hpp b/src/ast_commands.hpp
index 966f170..a1c377b 100644
--- a/src/ast_commands.hpp
+++ b/src/ast_commands.hpp
@@ -33,6 +33,10 @@
     Recursive
 };
 
+struct discard_ : x3::position_tagged {
+    bool operator==(const discard_& b) const;
+};
+
 struct ls_ : x3::position_tagged {
     bool operator==(const ls_& b) const;
     std::vector<LsOption> m_options;
@@ -69,7 +73,7 @@
     boost::optional<path_> m_path;
 };
 
-using command_ = boost::variant<ls_, cd_, create_, delete_, set_, commit_, get_>;
+using command_ = boost::variant<discard_, ls_, cd_, create_, delete_, set_, commit_, get_>;
 
 BOOST_FUSION_ADAPT_STRUCT(ls_, m_options, m_path)
 BOOST_FUSION_ADAPT_STRUCT(cd_, m_path)
@@ -78,4 +82,5 @@
 BOOST_FUSION_ADAPT_STRUCT(enum_, m_value)
 BOOST_FUSION_ADAPT_STRUCT(set_, m_path, m_data)
 BOOST_FUSION_ADAPT_STRUCT(commit_)
+BOOST_FUSION_ADAPT_STRUCT(discard_)
 BOOST_FUSION_ADAPT_STRUCT(get_, m_path)