diff -r e9aad9dd823a -r 596a724fbb83 src/INICommand.cpp --- a/src/INICommand.cpp Sat Nov 28 18:10:47 2020 +0100 +++ b/src/INICommand.cpp Sat Nov 28 20:59:29 2020 +0100 @@ -27,10 +27,12 @@ #include #include "INICommand.h" +#include "lib/uri.h" #include "lib/INIReader.h" #include "lib/BasicUnescapingProcessor.h" #include "lib/BackspaceUnescapingProcessor.h" #include "lib/JavaPropertiesUnescapingProcessor.h" +#include "lib/JavaPropertiesDialect.h" using namespace std; using namespace relpipe::writer; @@ -171,10 +173,11 @@ void INICommand::process(std::istream& input, std::shared_ptr writer, Configuration& configuration) { FlatINIContentHandler handler(writer, configuration); std::shared_ptr reader(INIReader::create(input)); - reader->addUnescapingProcessor(std::make_shared(), "unescape-basic", true); - reader->addUnescapingProcessor(std::make_shared(), "unescape-java-properties", false); - reader->addUnescapingProcessor(std::make_shared(false), "unescape-backspace-disorder", false); - reader->addUnescapingProcessor(std::make_shared(), "unescape-backspace", true); + reader->addUnescapingProcessor(std::make_shared(), unescaping::Basic, true); + reader->addUnescapingProcessor(std::make_shared(), unescaping::JavaProperties, false); + reader->addUnescapingProcessor(std::make_shared(false), unescaping::BackspaceDisorder, false); + reader->addUnescapingProcessor(std::make_shared(), unescaping::Backspace, true); + reader->addDialect(std::make_shared(), dialect::JavaProperties, false); reader->addHandler(&handler); // TODO: smart pointers vs. references: are we going to call addUnescapingProcessor() dynamically/conditionally or share instances? Then pointers will be better. for (ParserOptionRecipe option : configuration.parserOptions) reader->setOption(convertor.to_bytes(option.uri), convertor.to_bytes(option.value));