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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits