# HG changeset patch # User František Kučera # Date 1430858800 -7200 # Node ID 0684883953ba2a0201667890237c392498feff04 # Parent 48a3c9c509374f6786d0f50e21c05a48197b7309 TODO: escapeValue() diff -r 48a3c9c50937 -r 0684883953ba c++/parameter-lister/info/globalcode/parameterLister/OutputModule.cpp --- a/c++/parameter-lister/info/globalcode/parameterLister/OutputModule.cpp Tue May 05 22:30:28 2015 +0200 +++ b/c++/parameter-lister/info/globalcode/parameterLister/OutputModule.cpp Tue May 05 22:46:40 2015 +0200 @@ -11,12 +11,15 @@ for (int i = 0; i < args.size(); i++) { string s = args[i]; - output << i + 1 << ":" << s.length() << " = \"" << s << "\"" << endl; + output << i + 1 << ":" << s.length() << " = \"" << escapeValue(s, true) << "\"" << endl; } return 0; } +string OutputModule::escapeValue(string value, bool colorize) { + return value; +} } } diff -r 48a3c9c50937 -r 0684883953ba c++/parameter-lister/info/globalcode/parameterLister/OutputModule.h --- a/c++/parameter-lister/info/globalcode/parameterLister/OutputModule.h Tue May 05 22:30:28 2015 +0200 +++ b/c++/parameter-lister/info/globalcode/parameterLister/OutputModule.h Tue May 05 22:46:40 2015 +0200 @@ -8,16 +8,28 @@ namespace globalcode { namespace parameterLister { +using namespace std; + class OutputModule { public: /** * - * @param output - * @param command - * @param args - * @return exit code - */ - virtual int process(std::ostream &output, std::string &command, std::vector &args); + * @param output + * @param command + * @param args + * @return exit code + */ + virtual int process(ostream &output, string &command, vector &args); + +protected: + /** + * TODO: escape line ends, tabs, esc + deal with unicode/encoding + colorize + * @param value + * @param colorize + * @return + */ + virtual string escapeValue(string value, bool colorize); + private: }; diff -r 48a3c9c50937 -r 0684883953ba c++/parameter-lister/info/globalcode/parameterLister/TerminalOutputModule.cpp --- a/c++/parameter-lister/info/globalcode/parameterLister/TerminalOutputModule.cpp Tue May 05 22:30:28 2015 +0200 +++ b/c++/parameter-lister/info/globalcode/parameterLister/TerminalOutputModule.cpp Tue May 05 22:46:40 2015 +0200 @@ -15,8 +15,8 @@ output << fgGreen << "" << fgReset << endl; - for_each(args.begin(), args.end(), [&output, command, fgGreen, fgReset](string s) { - output << fgGreen << command << fgReset << ": " << s << endl; + for_each(args.begin(), args.end(), [this, &output, command, fgGreen, fgReset](string s) { + output << fgGreen << command << fgReset << ": " << escapeValue(s, true) << endl; }); output << fgGreen << "" << fgReset << endl;