feat: Pro 买断门禁、SFTP 精简与批量多机改造
新增 entitlement/license IPC 与 Waffo 一次性结账服务骨架,挂载 AI/转发/代理/串口/广播/批量导入导出门禁;批量执行改为结果矩阵并复用连接池,SFTP 工具栏图标化并去掉已连接条,同时完善跨平台本地终端与窗口配置。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
101d2164b4
commit
fea6d8db04
72 files changed
+3307
-396
No files matched your search
@@ -1,14 +1,19 @@
|
||||
use std::path::PathBuf;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
pub(super) fn expand_home(value: &str) -> PathBuf {
|
||||
if value == "~" {
|
||||
return dirs::home_dir().unwrap_or_else(|| PathBuf::from(value));
|
||||
}
|
||||
if let Some(relative) = value.strip_prefix("~/") {
|
||||
|
||||
let relative = value
|
||||
.strip_prefix("~/")
|
||||
.or_else(|| value.strip_prefix("~\\"));
|
||||
if let Some(relative) = relative {
|
||||
if let Some(home) = dirs::home_dir() {
|
||||
return home.join(relative);
|
||||
return home.join(Path::new(relative));
|
||||
}
|
||||
}
|
||||
|
||||
PathBuf::from(value)
|
||||
}
|
||||
|
||||
@@ -20,4 +25,13 @@ mod tests {
|
||||
fn leaves_absolute_paths_unchanged() {
|
||||
assert_eq!(expand_home("/tmp/key"), PathBuf::from("/tmp/key"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn expands_unix_and_windows_home_prefixes() {
|
||||
if let Some(home) = dirs::home_dir() {
|
||||
assert_eq!(expand_home("~/a/b"), home.join("a/b"));
|
||||
assert_eq!(expand_home("~\\a\\b"), home.join(Path::new("a\\b")));
|
||||
assert_eq!(expand_home("~"), home);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user