mu: add 'scm' command

Add the "scm" command, the way to get a Guile/Scheme shell.

This is experimental but will replace the current guile support in guile/ at
some point.
This commit is contained in:
Dirk-Jan C. Binnema
2025-05-31 12:41:37 +03:00
parent 7f274fe518
commit f9c24c7166
6 changed files with 73 additions and 6 deletions

View File

@ -40,6 +40,7 @@ struct Options {
using SizeVec = std::vector<std::size_t>;
using OptTStamp = Option<std::time_t>;
using OptFieldId = Option<Field::Id>;
using OptString = Option<std::string>;
using StringVec = std::vector<std::string>;
/*
@ -62,7 +63,7 @@ struct Options {
enum struct SubCommand {
Add, Cfind, Extract, Fields, Find, Help, Index,Info, Init, Mkdir,
Move, Remove, Script, Server, Verify, View,
Move, Remove, Scm, Script, Server, Verify, View,
// <private>
__count__
};
@ -80,6 +81,7 @@ struct Options {
SubCommand::Mkdir,
SubCommand::Move,
SubCommand::Remove,
SubCommand::Scm,
SubCommand::Script,
SubCommand::Server,
SubCommand::Verify,
@ -226,6 +228,16 @@ struct Options {
StringVec files; /**< Files to remove */
} remove;
/*
* Scm
*/
struct Scm {
OptString script_path; /**< Path to script (optional) */
StringVec params; /**< Parameters for script (after "--") */
} scm;
/*
* Scripts (i.e., finding scriot)
*/