43 [[nodiscard]]
BaseSetting& getByName(std::string_view cmd, std::string_view name)
const;
44 [[nodiscard]] std::vector<std::string> getTabSettingNames()
const;
48 explicit SettingInfo(
InfoCommand& openMSXInfoCommand);
49 void execute(std::span<const TclObject> tokens,
51 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
52 void tabCompletion(std::vector<std::string>& tokens)
const override;
55 struct SetCompleter final : CommandCompleter {
56 explicit SetCompleter(CommandController& commandController);
57 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
58 void tabCompletion(std::vector<std::string>& tokens)
const override;
61 class SettingCompleter final :
public CommandCompleter {
63 SettingCompleter(CommandController& commandController,
64 SettingsManager& manager,
65 const std::string& name);
66 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
67 void tabCompletion(std::vector<std::string>& tokens)
const override;
69 SettingsManager& manager;
71 SettingCompleter incrCompleter;
72 SettingCompleter unsetCompleter;
74 struct NameFromSetting {
75 [[nodiscard]]
const TclObject& operator()(
const BaseSetting* s)
const {
76 return s->getFullNameObj();