Quiet command regex instructions during batch execution
authorDave Lee <davelee.com@gmail.com>
Sun, 10 Mar 2019 23:15:48 +0000 (23:15 +0000)
committerDave Lee <davelee.com@gmail.com>
Sun, 10 Mar 2019 23:15:48 +0000 (23:15 +0000)
commit0affb5822f12d754406bf371651b9278ed11fb78
tree2edc32364c593443073e4866422923cc478bedcb
parent26e06e859e218e395a87208c00b55d36274a09ae
Quiet command regex instructions during batch execution

Summary:
Within .lldbinit, regex commands can be structured as a list of substitutions over
multiple lines. It's possible that this is uninentional, but it works and has
benefits.

For example:

    command regex <command-name>
    s/pat1/repl1/
    s/pat2/repl2/
    ...

I use this form of `command regex` in my `~/.lldbinit`, because it makes it
clearer to write and read compared to a single line definition, because
multiline substitutions don't need to be quoted, and are broken up one per line.

However, multiline definitions result in usage instructions being printed for
each use. The result is that every time I run `lldb`, I get a dozen or more
lines of noise. With this change, the instructions are only printed when
`command regex` is invoked interactively, or from a terminal, neither of which
are true when lldb is sourcing `~/.lldbinit`.

Reviewers: clayborg, jingham

Reviewed By: clayborg

Subscribers: jdoerfert, kastiglione, xiaobai, keith, lldb-commits

Differential Revision: https://reviews.llvm.org/D48752

llvm-svn: 355793
13 files changed:
lldb/include/lldb/Core/IOHandler.h
lldb/include/lldb/Expression/REPL.h
lldb/lit/Commands/command-regex-delete.test
lldb/lit/Commands/command-regex-unalias.test
lldb/source/Commands/CommandObjectBreakpointCommand.cpp
lldb/source/Commands/CommandObjectCommands.cpp
lldb/source/Commands/CommandObjectTarget.cpp
lldb/source/Commands/CommandObjectType.cpp
lldb/source/Commands/CommandObjectWatchpointCommand.cpp
lldb/source/Core/IOHandler.cpp
lldb/source/Expression/REPL.cpp
lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h