
This patch introduces a new `template` multiword sub-command to the `scripting` top-level command. As the name suggests, this sub-command operates on scripting templates, and currently has the ability to automatically discover the various scripting extensions that lldb supports. This was previously reviewed in #97273. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
//===-- ScriptedInterfaceUsages.cpp --------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
void ScriptedInterfaceUsages::Dump(Stream &s, UsageKind kind) const {
|
|
s.IndentMore();
|
|
s.Indent();
|
|
llvm::StringRef usage_kind =
|
|
(kind == UsageKind::CommandInterpreter) ? "Command Interpreter" : "API";
|
|
s << usage_kind << " Usages:";
|
|
const std::vector<llvm::StringRef> &usages =
|
|
(kind == UsageKind::CommandInterpreter) ? GetCommandInterpreterUsages()
|
|
: GetSBAPIUsages();
|
|
if (usages.empty())
|
|
s << " None\n";
|
|
else if (usages.size() == 1)
|
|
s << " " << usages.front() << '\n';
|
|
else {
|
|
s << '\n';
|
|
for (llvm::StringRef usage : usages) {
|
|
s.IndentMore();
|
|
s.Indent();
|
|
s << usage << '\n';
|
|
s.IndentLess();
|
|
}
|
|
}
|
|
s.IndentLess();
|
|
}
|