41 [[nodiscard]]
BaseSetting& getByName(std::string_view cmd, std::string_view name)
const;
42 [[nodiscard]] std::vector<std::string> getTabSettingNames()
const;
46 explicit SettingInfo(
InfoCommand& openMSXInfoCommand);
47 void execute(std::span<const TclObject> tokens,
49 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
50 void tabCompletion(std::vector<std::string>& tokens)
const override;
53 struct SetCompleter final : CommandCompleter {
54 explicit SetCompleter(CommandController& commandController);
55 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
56 void tabCompletion(std::vector<std::string>& tokens)
const override;
59 class SettingCompleter final :
public CommandCompleter {
61 SettingCompleter(CommandController& commandController,
62 SettingsManager& manager,
63 const std::string& name);
64 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
65 void tabCompletion(std::vector<std::string>& tokens)
const override;
67 SettingsManager& manager;
69 SettingCompleter incrCompleter;
70 SettingCompleter unsetCompleter;
72 struct NameFromSetting {
73 [[nodiscard]]
const TclObject& operator()(BaseSetting* s)
const {
74 return s->getFullNameObj();