zturner added reviewers: labath, jasonmolenda. zturner added inline comments.
================ Comment at: include/lldb/Host/Editline.h:187 + /// Register a callback to retrieve the prompt. + void SetPromptCallback(PromptCallbackType callback, void *baton); + ---------------- I'd love to stop using the `baton` idiom if possible. can you make this function take an `llvm::function_ref<StringRef (EditLine*)>` instead? Then, in the class, store a `std::function<StringRef (EditLine*)>`. When you call `SetPromptCallback`, write `SetPromptCallback([this](EditLine* L) { return this->PromptCallback(L); });` ================ Comment at: include/lldb/Interpreter/PromptInterpolation.h:27 + + std::string InterpolatePrompt(const std::string& prompt_format); +private: ---------------- As it stands, the class doesn't really do much. It's basically just one function, and the only purpose of the `m_debugger` member is to avoid having to pass the Debugger object as an argument to the function. It seems this could just be turned into a free function. And while we're at it, since that free function is only ever used inside of `IOHandler.cpp`, it can probably just be marked `static` and be a global function defined in that particular TU. ================ Comment at: source/Core/IOHandler.cpp:451 + +const char* IOHandlerEditline::PromptCallback(Editline *editline, void *baton) { + IOHandlerEditline *editline_reader = (IOHandlerEditline *)baton; ---------------- This can return a `StringRef` Repository: rL LLVM https://reviews.llvm.org/D49963 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits