mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
feat: Expose the pid of the running process to the lua api.
This commit is contained in:
parent
0ada74efbe
commit
69ecbc5291
1 changed files with 12 additions and 3 deletions
|
|
@ -2,14 +2,18 @@ use std::{ops::DerefMut, time::Duration};
|
|||
|
||||
use futures::future::try_join3;
|
||||
use mlua::{AnyUserData, ExternalError, IntoLua, IntoLuaMulti, Table, UserData, Value};
|
||||
use tokio::{io::{self, AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader, BufWriter}, process::{ChildStderr, ChildStdin, ChildStdout}, select};
|
||||
use tokio::{
|
||||
io::{self, AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader, BufWriter},
|
||||
process::{ChildStderr, ChildStdin, ChildStdout},
|
||||
select,
|
||||
};
|
||||
|
||||
use super::Status;
|
||||
use crate::{Error, process::Output};
|
||||
|
||||
pub struct Child {
|
||||
inner: tokio::process::Child,
|
||||
stdin: Option<BufWriter<ChildStdin>>,
|
||||
inner: tokio::process::Child,
|
||||
stdin: Option<BufWriter<ChildStdin>>,
|
||||
stdout: Option<BufReader<ChildStdout>>,
|
||||
stderr: Option<BufReader<ChildStderr>>,
|
||||
}
|
||||
|
|
@ -149,5 +153,10 @@ impl UserData for Child {
|
|||
Some(stderr) => lua.create_any_userdata(stderr.into_inner())?.into_lua(lua),
|
||||
None => Ok(Value::Nil),
|
||||
});
|
||||
|
||||
methods.add_method_mut("id", |_, me, ()| match me.inner.id() {
|
||||
Some(id) => Ok(Value::Integer(id as i64)),
|
||||
None => Ok(Value::Nil),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue