19#include "llvm/ADT/StringRef.h"
20#include "llvm/Support/Locale.h"
23#define ANSI_NORMAL ESCAPE "[0m"
24#define ANSI_SAVE_CURSOR ESCAPE "7"
25#define ANSI_RESTORE_CURSOR ESCAPE "8"
26#define ANSI_CLEAR_BELOW ESCAPE "[J"
27#define ANSI_CLEAR_SCREEN ESCAPE "[2J"
28#define ANSI_SET_SCROLL_ROWS ESCAPE "[1;%ur"
29#define ANSI_TO_START_OF_ROW ESCAPE "[%u;1f"
30#define ANSI_REVERSE_VIDEO ESCAPE "[7m"
31#define ANSI_UP_ROWS ESCAPE "[%dA"
104 locked_stream <<
'\n';
148 if (stop_locker.
TryLock(&process_sp->GetRunLock())) {
150 symbol_ctx = frame_sp->GetSymbolContext(eSymbolContextEverything);
#define ANSI_SET_SCROLL_ROWS
#define ANSI_TO_START_OF_ROW
#define ANSI_CLEAR_SCREEN
#define ANSI_RESTORE_CURSOR
#define ANSI_REVERSE_VIDEO
A class to manage flag bits.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
const lldb::ProcessSP & GetProcessSP() const
Get accessor to get the process shared pointer.
void SetTargetPtr(Target *target)
Set accessor to set only the target shared pointer from a target pointer.
const lldb::StackFrameSP & GetFrameSP() const
Get accessor to get the frame shared pointer.
bool HasTargetScope() const
Returns true the ExecutionContext object contains a valid target.
bool TryLock(ProcessRunLock *lock)
ProcessRunLock::ProcessRunLocker StopLocker
void UpdateScrollWindow(ScrollWindowMode mode)
Set the scroll window for the given mode.
void Enable()
Reduce the scroll window and draw the statusline.
void TerminalSizeChanged()
Inform the statusline that the terminal dimensions have changed.
Statusline(Debugger &debugger)
uint64_t m_terminal_height
uint64_t m_terminal_width
void Disable()
Hide the statusline and extend the scroll window.
void Redraw(bool update=true)
Redraw the statusline.
void Draw(std::string msg)
Draw the statusline with the given text.
llvm::StringRef GetString() const
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
Defines a symbol context baton that can be handed other debug core functions.
std::string TrimAndPad(llvm::StringRef str, size_t visible_length, char padding=' ')
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::LockableStreamFile > LockableStreamFileSP