31 class Cmd final :
public Command {
34 void execute(std::span<const TclObject> tokens,
36 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
37 void tabCompletion(std::vector<std::string>& tokens)
const override;
40 void create (std::span<const TclObject> tokens,
TclObject& result);
41 void destroy(std::span<const TclObject> tokens,
TclObject& result);
42 void info (std::span<const TclObject> tokens,
TclObject& result);
44 [[nodiscard]]
Info createString (std::span<const TclObject> tokens);
45 [[nodiscard]]
Info createBoolean(std::span<const TclObject> tokens);
46 [[nodiscard]]
Info createInteger(std::span<const TclObject> tokens);
47 [[nodiscard]]
Info createFloat (std::span<const TclObject> tokens);
48 [[nodiscard]]
Info createEnum (std::span<const TclObject> tokens);
50 [[nodiscard]]
auto getSettingNames()
const {
53 [](
const auto& info) {
return info.setting->getFullName(); });
std::unique_ptr< char, FreeStringStorage > StringStorage
void deleteSetting(Setting &setting)
void addSetting(Info &&info)
Setting * findSetting(std::string_view name) const
UserSettings(CommandController &commandController)
std::vector< Info > Settings
This file implemented 3 utility functions:
constexpr auto transform(Range &&range, UnaryOp op)
#define OUTER(type, member)
StringStorage description
std::unique_ptr< Setting > setting