Is it possible to add a new option here and bind an evaluator?
Is it possible to take SageMath, Matlab, Maple, etc. as examples to provide a complete process demonstration?
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.
Sign up to join this communityIt was just an attempt to add a ExternalCell, and did not successfully create an evaluator bind.
First create a new package called ExternalEvaluate_*
, only this form can be recognized by External Evaluator Manager.
Then add cell icon and set "ShowInFrontendCellQ"
as True
.
Then run the ExternalEvaluate`RegisterSystem
.
ExternalEvaluate`RegisterSystem["SageMath",
<|
"ExecutablePathFunction" -> Function[{vers}, unimplement[]],
"ExecutablePatternFunction" -> Function[{vers}, unimplement[]],
"ProgramFileFunction" -> Function[{version}, PacletManager`PacletResource["ExternalEvaluate_SageMath", "REPL"]],
"ScriptExecCommandFunction" -> Function[{uuid, exec, file, opts}, unimplement[]],
"Icon" -> Import[PacletManager`PacletResource["ExternalEvaluate_SageMath", "Icon"]],
"IconCell" -> ToBoxes@Import[PacletManager`PacletResource["ExternalEvaluate_SageMath", "IconCell"]],
"ShowInFrontendCellQ" -> True,
"VersionExecCommandFunction" -> Function[{exec}, unimplement[]],
"PacletName" -> Automatic,
"SessionProlog" -> None,
"DeserializationFunction" -> BinaryDeserialize,
"SerializationFunction" -> BinarySerialize
|>
];
Then a new kind of External Cell is available.
But it needs to bind executable program, still have no idea.
CurrentValue[EvaluationNotebook[], {StyleDefinitions, "ExternalLanguage", CellFrameLabels}]
. It seems the menu there changes aCellEvaluationLanguage
option. $\endgroup$