openMSX
|
#include <Command.hh>
Public Member Functions | |
virtual void | execute (std::span< const TclObject > tokens, TclObject &result)=0 |
Execute this command. | |
void | tabCompletion (std::vector< std::string > &tokens) const override |
Attempt tab completion for this command. | |
void | setAllowedInEmptyMachine (bool value) |
bool | isAllowedInEmptyMachine () const |
void | setToken (void *token_) |
void * | getToken () const |
template<typename... Args> | |
void | executeSubCommand (std::string_view subCmd, Args &&... args) |
Public Member Functions inherited from openmsx::CommandCompleter | |
CommandCompleter (const CommandCompleter &)=delete | |
CommandCompleter (CommandCompleter &&)=delete | |
CommandCompleter & | operator= (const CommandCompleter &)=delete |
CommandCompleter & | operator= (CommandCompleter &&)=delete |
CommandController & | getCommandController () const |
Interpreter & | getInterpreter () const final |
Public Member Functions inherited from openmsx::Completer | |
Completer (const Completer &)=delete | |
Completer (Completer &&)=delete | |
Completer & | operator= (const Completer &)=delete |
Completer & | operator= (Completer &&)=delete |
const std::string & | getName () const |
virtual std::string | help (std::span< const TclObject > tokens) const =0 |
Print help for this command. | |
void | checkNumArgs (std::span< const TclObject > tokens, unsigned exactly, const char *errMessage) const |
void | checkNumArgs (std::span< const TclObject > tokens, AtLeast atLeast, const char *errMessage) const |
void | checkNumArgs (std::span< const TclObject > tokens, Between between, const char *errMessage) const |
void | checkNumArgs (std::span< const TclObject > tokens, unsigned exactly, Prefix prefix, const char *errMessage) const |
void | checkNumArgs (std::span< const TclObject > tokens, AtLeast atLeast, Prefix prefix, const char *errMessage) const |
void | checkNumArgs (std::span< const TclObject > tokens, Between between, Prefix prefix, const char *errMessage) const |
template<typename ITER > | |
NEVER_INLINE std::vector< std::string_view > | filter (std::string_view str, ITER begin, ITER end, bool caseSensitive) |
Protected Member Functions | |
Command (CommandController &controller, std::string_view name) | |
~Command () | |
Protected Member Functions inherited from openmsx::CommandCompleter | |
CommandCompleter (CommandController &controller, std::string_view name) | |
~CommandCompleter () | |
GlobalCommandController & | getGlobalCommandController () const |
CliComm & | getCliComm () const |
Protected Member Functions inherited from openmsx::Completer | |
template<typename String > requires (!std::same_as<Completer, std::remove_cvref_t<String>>) | |
Completer (String &&name_) | |
~Completer ()=default | |
Additional Inherited Members | |
Static Public Member Functions inherited from openmsx::Completer | |
template<typename ITER > | |
static void | completeString (std::vector< std::string > &tokens, ITER begin, ITER end, bool caseSensitive=true) |
template<typename RANGE > | |
static void | completeString (std::vector< std::string > &tokens, RANGE &&possibleValues, bool caseSensitive=true) |
template<typename RANGE > | |
static void | completeFileName (std::vector< std::string > &tokens, const FileContext &context, const RANGE &extra) |
static void | completeFileName (std::vector< std::string > &tokens, const FileContext &context) |
static std::vector< std::string > | formatListInColumns (std::span< const std::string_view > input) |
static void | setOutput (InterpreterOutput *output_) |
Definition at line 43 of file Command.hh.
|
protected |
Definition at line 50 of file Command.cc.
References openmsx::CommandCompleter::getCommandController(), openmsx::Completer::getName(), and openmsx::CommandController::registerCommand().
|
protected |
Definition at line 56 of file Command.cc.
References openmsx::CommandCompleter::getCommandController(), openmsx::Completer::getName(), and openmsx::CommandController::unregisterCommand().
|
pure virtual |
Execute this command.
tokens | Tokenized command line; tokens[0] is the command itself. |
result | The result of the command must be assigned to this parameter. |
CommandException | Thrown when there was an error while executing this command. |
Implemented in openmsx::ProxyCmd, openmsx::AfterCommand, openmsx::MessageCommand, openmsx::DiskCommand, openmsx::NowindCommand, openmsx::LoadMachineCmd, openmsx::ListExtCmd, openmsx::ExitCommand, openmsx::MachineCommand, openmsx::TestMachineCommand, openmsx::CreateMachineCommand, openmsx::DeleteMachineCommand, openmsx::ListMachinesCommand, openmsx::ActivateMachineCommand, openmsx::StoreMachineCommand, openmsx::RestoreMachineCommand, openmsx::GetClipboardCommand, and openmsx::SetClipboardCommand.
|
inline |
Definition at line 76 of file Command.hh.
|
inline |
Definition at line 72 of file Command.hh.
Referenced by openmsx::Interpreter::unregisterCommand().
|
inline |
Definition at line 68 of file Command.hh.
|
inline |
Definition at line 67 of file Command.hh.
Referenced by openmsx::LoadMachineCmd::LoadMachineCmd(), and openmsx::MSXCommandController::registerCommand().
|
inline |
Definition at line 71 of file Command.hh.
Referenced by openmsx::Interpreter::registerCommand().
|
overridevirtual |
Attempt tab completion for this command.
Default implementation does nothing.
tokens | Tokenized command line; tokens[0] is the command itself. The last token is incomplete, this method tries to complete it. |
Implements openmsx::Completer.
Reimplemented in openmsx::ProxyCmd, openmsx::MessageCommand, openmsx::DiskCommand, openmsx::NowindCommand, openmsx::HDCommand, openmsx::LSXCommand, openmsx::ExtCmd, openmsx::LoadMachineCmd, openmsx::RemoveExtCmd, openmsx::MachineCommand, openmsx::TestMachineCommand, openmsx::DeleteMachineCommand, openmsx::StoreMachineCommand, and openmsx::RestoreMachineCommand.
Definition at line 61 of file Command.cc.