forked from 1b-agent/opencadstudio-upstream
Add versioned scripting host model and entity coverage
This commit is contained in:
1 parent
ec2271fc9c
commit
11d5614991
22 files changed
+1015
-4
No files matched your search
@@ -237,6 +237,7 @@ fn request_kind(req: &HostRequest) -> &'static str {
|
||||
HostRequest::GetPrompt { .. } => "GetPrompt",
|
||||
HostRequest::NeedsEntityPick { .. } => "NeedsEntityPick",
|
||||
HostRequest::ExecuteCode { .. } => "ExecuteCode",
|
||||
HostRequest::DropInteractive { .. } => "DropInteractive",
|
||||
HostRequest::Shutdown => "Shutdown",
|
||||
}
|
||||
}
|
||||
@@ -599,6 +600,15 @@ impl PluginProcess {
|
||||
}
|
||||
}
|
||||
|
||||
/// Release a completed or abandoned V4 interactive command in the runner.
|
||||
pub fn drop_interactive(&self, command_id: u64) -> Result<(), PluginError> {
|
||||
let Some(v4) = &self.v4 else { return Ok(()); };
|
||||
match v4.call(&mut NullHost, HostRequest::DropInteractive { command_id }, &mut |_| {})? {
|
||||
HostResponse::Bool(true) => Ok(()),
|
||||
other => Err(PluginError::UnexpectedResponse(Box::new(other))),
|
||||
}
|
||||
}
|
||||
|
||||
/// Ask the plugin process for the current prompt of an interactive command.
|
||||
pub fn get_prompt(&self, command_id: u64) -> Result<String, PluginError> {
|
||||
if let Some(v4) = &self.v4 {
|
||||
|
||||
Reference in new issue
Block a user