Don't suggest paths when leaf values are expected

Issue: https://tree.taiga.io/project/jktjkt-netconf-cli/issue/122
Change-Id: I1d5588f07558895277b0fdcc6b45c4ad1def8eaf
diff --git a/src/ast_handlers.hpp b/src/ast_handlers.hpp
index fd7f52e..9fd65ff 100644
--- a/src/ast_handlers.hpp
+++ b/src/ast_handlers.hpp
@@ -327,6 +327,15 @@
     }
 };
 
+struct space_separator_class {
+    template <typename T, typename Iterator, typename Context>
+    void on_success(Iterator const&, Iterator const&, T&, Context const& context)
+    {
+        auto& parserContext = x3::get<parser_context_tag>(context);
+        parserContext.m_suggestions.clear();
+    }
+};
+
 struct create_class {
     template <typename Iterator, typename Exception, typename Context>
     x3::error_handler_result on_error(Iterator&, Iterator const&, Exception const&, Context const& context)
diff --git a/src/grammars.hpp b/src/grammars.hpp
index 95814e7..2c511ad 100644
--- a/src/grammars.hpp
+++ b/src/grammars.hpp
@@ -37,6 +37,7 @@
 x3::rule<leaf_path_class, dataPath_> const leafPath = "leafPath";
 x3::rule<presenceContainerPath_class, dataPath_> const presenceContainerPath = "presenceContainerPath";
 x3::rule<listInstancePath_class, dataPath_> const listInstancePath = "listInstancePath";
+x3::rule<space_separator_class, x3::unused_type> const space_separator = "space_separator";
 
 x3::rule<leaf_data_class, leaf_data_> const leaf_data = "leaf_data";
 x3::rule<leaf_data_enum_class, enum_> const leaf_data_enum = "leaf_data_enum";
@@ -180,7 +181,7 @@
 auto const trailingSlash_def =
     x3::omit['/'] >> x3::attr(TrailingSlash::Present);
 
-auto const space_separator =
+auto const space_separator_def =
     x3::omit[x3::no_skip[space]];
 
 // This is a pseudo-parser, that fails if we're not completing a command
@@ -365,6 +366,7 @@
 BOOST_SPIRIT_DEFINE(leafPath)
 BOOST_SPIRIT_DEFINE(presenceContainerPath)
 BOOST_SPIRIT_DEFINE(listInstancePath)
+BOOST_SPIRIT_DEFINE(space_separator)
 BOOST_SPIRIT_DEFINE(schemaPath)
 BOOST_SPIRIT_DEFINE(dataPath)
 BOOST_SPIRIT_DEFINE(dataNodeList)