mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
..
This commit is contained in:
parent
5962c678a0
commit
a9e8c9aa92
8 changed files with 58 additions and 21 deletions
|
|
@ -10,6 +10,17 @@ pub enum FileOp {
|
||||||
Trash(FileOpTrash),
|
Trash(FileOpTrash),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl FileOp {
|
||||||
|
pub fn id(&self) -> usize {
|
||||||
|
match self {
|
||||||
|
Self::Paste(op) => op.id,
|
||||||
|
Self::Link(op) => op.id,
|
||||||
|
Self::Delete(op) => op.id,
|
||||||
|
Self::Trash(op) => op.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct FileOpPaste {
|
pub struct FileOpPaste {
|
||||||
pub id: usize,
|
pub id: usize,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
mod blocker;
|
mod blocker;
|
||||||
mod file;
|
mod file;
|
||||||
|
mod op;
|
||||||
mod plugin;
|
mod plugin;
|
||||||
mod preload;
|
mod preload;
|
||||||
mod process;
|
mod process;
|
||||||
|
|
@ -10,6 +11,7 @@ mod scheduler;
|
||||||
mod task;
|
mod task;
|
||||||
|
|
||||||
pub use blocker::*;
|
pub use blocker::*;
|
||||||
|
pub use op::*;
|
||||||
pub use running::*;
|
pub use running::*;
|
||||||
pub use scheduler::*;
|
pub use scheduler::*;
|
||||||
pub use task::*;
|
pub use task::*;
|
||||||
|
|
|
||||||
18
yazi-scheduler/src/op.rs
Normal file
18
yazi-scheduler/src/op.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum TaskOp {
|
||||||
|
File(Box<crate::file::FileOp>),
|
||||||
|
Plugin(Box<crate::plugin::PluginOp>),
|
||||||
|
Preload(Box<crate::preload::PreloadOp>),
|
||||||
|
Process(Box<crate::process::ProcessOp>),
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TaskOp {
|
||||||
|
pub fn id(&self) -> usize {
|
||||||
|
match self {
|
||||||
|
TaskOp::File(op) => op.id(),
|
||||||
|
TaskOp::Plugin(op) => op.id(),
|
||||||
|
TaskOp::Preload(op) => op.id(),
|
||||||
|
TaskOp::Process(op) => op.id(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,14 @@ pub enum PluginOp {
|
||||||
Entry(PluginOpEntry),
|
Entry(PluginOpEntry),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl PluginOp {
|
||||||
|
pub fn id(&self) -> usize {
|
||||||
|
match self {
|
||||||
|
Self::Entry(op) => op.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct PluginOpEntry {
|
pub struct PluginOpEntry {
|
||||||
pub id: usize,
|
pub id: usize,
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,15 @@ pub enum PreloadOp {
|
||||||
Size(PreloadOpSize),
|
Size(PreloadOpSize),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl PreloadOp {
|
||||||
|
pub fn id(&self) -> usize {
|
||||||
|
match self {
|
||||||
|
Self::Rule(op) => op.id,
|
||||||
|
Self::Size(op) => op.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct PreloadOpRule {
|
pub struct PreloadOpRule {
|
||||||
pub id: usize,
|
pub id: usize,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
use std::{collections::{BTreeMap, BTreeSet, HashMap}, sync::Arc};
|
use std::collections::{BTreeMap, BTreeSet, HashMap};
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
use tracing::error;
|
use tracing::error;
|
||||||
use yazi_shared::{fs::{calculate_size, FilesOp, Url}, Throttle};
|
use yazi_shared::fs::{calculate_size, FilesOp, Url};
|
||||||
|
|
||||||
use super::{PreloadOpRule, PreloadOpSize};
|
use super::{PreloadOpRule, PreloadOpSize};
|
||||||
use crate::TaskProg;
|
use crate::TaskProg;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,14 @@ pub enum ProcessOp {
|
||||||
Open(ProcessOpOpen),
|
Open(ProcessOpOpen),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ProcessOp {
|
||||||
|
pub fn id(&self) -> usize {
|
||||||
|
match self {
|
||||||
|
Self::Open(op) => op.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct ProcessOpOpen {
|
pub struct ProcessOpOpen {
|
||||||
pub id: usize,
|
pub id: usize,
|
||||||
|
|
|
||||||
|
|
@ -58,25 +58,6 @@ impl From<&Task> for TaskSummary {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub enum TaskOp {
|
|
||||||
File(Box<crate::file::FileOp>),
|
|
||||||
Plugin(Box<crate::plugin::PluginOp>),
|
|
||||||
Preload(Box<crate::preload::PreloadOp>),
|
|
||||||
Process(Box<crate::process::ProcessOp>),
|
|
||||||
}
|
|
||||||
|
|
||||||
impl TaskOp {
|
|
||||||
pub fn id(&self) {
|
|
||||||
match self {
|
|
||||||
TaskOp::File(op) => todo!(),
|
|
||||||
TaskOp::Plugin(op) => todo!(),
|
|
||||||
TaskOp::Preload(_) => todo!(),
|
|
||||||
TaskOp::Process(_) => todo!(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum TaskProg {
|
pub enum TaskProg {
|
||||||
// id, size
|
// id, size
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue