diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2018-10-26 00:00:17 +0000 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2018-10-26 00:00:17 +0000 |
commit | b76e25a26d37e99ade8c686bf5d6a48d3d20e46d (patch) | |
tree | afbfdea197e064fe50562a021fb62ec3915ade8a /lldb/source/Interpreter/Property.cpp | |
parent | 24faf859e52b5d06068c3696ca1c89c09ffa2698 (diff) | |
download | bcm5719-llvm-b76e25a26d37e99ade8c686bf5d6a48d3d20e46d.tar.gz bcm5719-llvm-b76e25a26d37e99ade8c686bf5d6a48d3d20e46d.zip |
Add functionality to export settings
For the reproducer feature I need to be able to export and import the
current LLDB configuration. To realize this I've extended the existing
functionality to print settings. With the help of a new formatting
option, we can now write the settings and their values to a file
structured as regular commands.
Concretely the functionality works as follows:
(lldb) settings export -f /path/to/file
This file contains a bunch of settings set commands, followed by the
setting's name and value.
...
settings set use-external-editor false
settings set use-color true
settings set auto-one-line-summaries true
settings set auto-indent true
...
You can import the settings again by either sourcing the file or using
the settings read command.
(lldb) settings read -f /path/to/file
Differential revision: https://reviews.llvm.org/D52651
llvm-svn: 345346
Diffstat (limited to 'lldb/source/Interpreter/Property.cpp')
-rw-r--r-- | lldb/source/Interpreter/Property.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Interpreter/Property.cpp b/lldb/source/Interpreter/Property.cpp index 369029bc570..2c3e3728a37 100644 --- a/lldb/source/Interpreter/Property.cpp +++ b/lldb/source/Interpreter/Property.cpp @@ -233,7 +233,10 @@ void Property::Dump(const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask) const { if (m_value_sp) { const bool dump_desc = dump_mask & OptionValue::eDumpOptionDescription; + const bool dump_cmd = dump_mask & OptionValue::eDumpOptionCommand; const bool transparent = m_value_sp->ValueIsTransparent(); + if (dump_cmd && !transparent) + strm << "settings set -f "; if (dump_desc || !transparent) { if ((dump_mask & OptionValue::eDumpOptionName) && m_name) { DumpQualifiedName(strm); |