DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceHandlers/Terminal/
LocalPTYCreateProcess.rs1#![allow(non_snake_case, unused_variables, dead_code, unused_imports)]
2
3use std::sync::Arc;
11
12use serde_json::Value;
13
14use crate::{
15 IPC::WindServiceHandlers::Terminal::TerminalCreate::TerminalCreate,
16 RunTime::ApplicationRunTime::ApplicationRunTime,
17};
18
19pub async fn LocalPTYCreateProcess(RunTime:Arc<ApplicationRunTime>, Arguments:Vec<Value>) -> Result<Value, String> {
20 match TerminalCreate(RunTime, Arguments).await {
21 Ok(Response) => {
22 let TerminalIdOption = Response.get("id").and_then(serde_json::Value::as_u64);
23 match TerminalIdOption {
24 Some(TerminalId) if TerminalId > 0 => Ok(serde_json::json!(TerminalId)),
25 Some(_) | None => {
26 crate::dev_log!(
31 "terminal",
32 "error: [localPty:createProcess] CreateTerminal returned no usable id; response={:?}",
33 Response
34 );
35 Err(format!(
36 "localPty:createProcess: CreateTerminal returned no terminal id (response={})",
37 Response
38 ))
39 },
40 }
41 },
42 Err(Error) => Err(Error),
43 }
44}