44 [[nodiscard]]
BaseSetting& getByName(std::string_view cmd, std::string_view name)
const;
45 [[nodiscard]] std::vector<std::string> getTabSettingNames()
const;
49 explicit SettingInfo(
InfoCommand& openMSXInfoCommand);
50 void execute(std::span<const TclObject> tokens,
52 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
53 void tabCompletion(std::vector<std::string>& tokens)
const override;
56 struct SetCompleter final : CommandCompleter {
57 explicit SetCompleter(CommandController& commandController);
58 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
59 void tabCompletion(std::vector<std::string>& tokens)
const override;
62 class SettingCompleter final :
public CommandCompleter {
64 SettingCompleter(CommandController& commandController,
65 SettingsManager& manager,
66 const std::string& name);
67 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
68 void tabCompletion(std::vector<std::string>& tokens)
const override;
70 SettingsManager& manager;
72 SettingCompleter incrCompleter;
73 SettingCompleter unsetCompleter;
75 struct NameFromSetting {
76 [[nodiscard]]
const TclObject& operator()(
const BaseSetting* s)
const {
77 return s->getFullNameObj();