Change ParserContext::m_curPath to dataPath_
This will be used for the upcoming key value completion feature.
Completing key values in a nested list means, that I need the whole
context (all keys of parent list instances). That means m_curPath needs
to be changed to dataPath_.
Change-Id: I29a13576802d01df4f1f420be1c73178a263dad7
diff --git a/src/parser_context.hpp b/src/parser_context.hpp
index 5bf1b26..b20c6ab 100644
--- a/src/parser_context.hpp
+++ b/src/parser_context.hpp
@@ -8,10 +8,16 @@
#include "schema.hpp"
struct ParserContext {
- ParserContext(const Schema& schema, const schemaPath_& curDir);
+ ParserContext(const Schema& schema, const dataPath_& curDir);
+ schemaPath_ currentSchemaPath();
+ dataPath_ currentDataPath();
+ void clearPath();
+ void pushPathFragment(const dataNode_& node);
+ void pushPathFragment(const schemaNode_& node);
+ void resetPath();
+
const Schema& m_schema;
- schemaPath_ m_curPath;
- const schemaPath_ m_curPathOrig;
+ const dataPath_ m_curPathOrig;
boost::optional<std::string> m_curModule;
std::string m_errorMsg;
std::string m_tmpListName;
@@ -26,4 +32,7 @@
// filtering by prefix), this suffix gets added to the completion (for
// example a left bracket after a list)
std::string m_completionSuffix;
+
+private:
+ boost::variant<dataPath_, schemaPath_> m_curPath;
};