Initial commit

This commit is contained in:
xggz
2026-03-06 22:56:13 +08:00
commit 54d1097b41
273 changed files with 92457 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
use tauri::State;
use crate::terminal::error::TerminalError;
use crate::terminal::manager::TerminalManager;
use crate::terminal::types::TerminalInfo;
#[tauri::command]
pub fn terminal_spawn(
working_dir: String,
initial_command: Option<String>,
manager: State<'_, TerminalManager>,
app_handle: tauri::AppHandle,
window: tauri::WebviewWindow,
) -> Result<String, TerminalError> {
manager.spawn(
working_dir,
window.label().to_string(),
app_handle,
initial_command,
)
}
#[tauri::command]
pub fn terminal_write(
terminal_id: String,
data: String,
manager: State<'_, TerminalManager>,
) -> Result<(), TerminalError> {
manager.write(&terminal_id, data.as_bytes())
}
#[tauri::command]
pub fn terminal_resize(
terminal_id: String,
cols: u16,
rows: u16,
manager: State<'_, TerminalManager>,
) -> Result<(), TerminalError> {
manager.resize(&terminal_id, cols, rows)
}
#[tauri::command]
pub fn terminal_kill(
terminal_id: String,
manager: State<'_, TerminalManager>,
) -> Result<(), TerminalError> {
manager.kill(&terminal_id)
}
#[tauri::command]
pub fn terminal_list(
manager: State<'_, TerminalManager>,
app_handle: tauri::AppHandle,
) -> Result<Vec<TerminalInfo>, TerminalError> {
Ok(manager.list_with_exit_check(Some(&app_handle)))
}