remoting: Allow Add/Remove remote folder (#14532)
Release Notes: - remoting (alpha only): Allow add/remove folders to projects --------- Co-authored-by: Max <max@zed.dev>
This commit is contained in:
parent
be1387fee6
commit
62ab6e1a11
32 changed files with 612 additions and 239 deletions
|
@ -14,6 +14,7 @@ use std::{
|
|||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
};
|
||||
use ui::SharedString;
|
||||
use util::ResultExt;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
@ -21,7 +22,7 @@ use uuid::Uuid;
|
|||
pub struct SerializedDevServerProject {
|
||||
pub id: DevServerProjectId,
|
||||
pub dev_server_name: String,
|
||||
pub path: String,
|
||||
pub paths: Vec<SharedString>,
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Clone)]
|
||||
|
@ -119,7 +120,8 @@ impl Bind for &SerializedDevServerProject {
|
|||
fn bind(&self, statement: &Statement, start_index: i32) -> Result<i32> {
|
||||
let next_index = statement.bind(&self.id.0, start_index)?;
|
||||
let next_index = statement.bind(&self.dev_server_name, next_index)?;
|
||||
statement.bind(&self.path, next_index)
|
||||
let paths = serde_json::to_string(&self.paths)?;
|
||||
statement.bind(&paths, next_index)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -127,12 +129,18 @@ impl Column for SerializedDevServerProject {
|
|||
fn column(statement: &mut Statement, start_index: i32) -> Result<(Self, i32)> {
|
||||
let id = statement.column_int64(start_index)?;
|
||||
let dev_server_name = statement.column_text(start_index + 1)?.to_string();
|
||||
let path = statement.column_text(start_index + 2)?.to_string();
|
||||
let paths = statement.column_text(start_index + 2)?.to_string();
|
||||
let paths: Vec<SharedString> = if paths.starts_with('[') {
|
||||
serde_json::from_str(&paths).context("JSON deserialization of paths failed")?
|
||||
} else {
|
||||
vec![paths.into()]
|
||||
};
|
||||
|
||||
Ok((
|
||||
Self {
|
||||
id: DevServerProjectId(id as u64),
|
||||
dev_server_name,
|
||||
path,
|
||||
paths,
|
||||
},
|
||||
start_index + 3,
|
||||
))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue