外部 CLI 支持 Windows:命名管道、独立控制台程序 shellrs-cli 与用户 PATH 安装
- 新增 shellrs-cli 二进制(各平台都构建);Windows 发布版的 GUI 改为 windows_subsystem = "windows",命令由 shellrs-cli.exe 承担 - Windows 上经命名管道 \\.\pipe\shellrs-cli-<数据目录散列> 与应用通信: DACL 只允许当前用户、拒绝远程客户端、首个实例独占名字;客户端以 SECURITY_IDENTIFICATION 打开并校验管道属主,防止抢注冒充 - 设置 → 外部 CLI 在 Windows 上把 shellrs-cli.exe 复制成 %LOCALAPPDATA%\ShellRS\bin\shellrs.exe 并加入用户 PATH;旧副本启动时 自动更新,正在使用的副本也能替换;新增「已安装旧版本」「不在 PATH」 「找不到 shellrs-cli.exe」状态 - 客户端拆成按平台的 connect 与共用的读帧循环;进度行改用空格覆盖; Windows 控制台上非法 UTF-8 输出替换为 U+FFFD;命令文本去 BOM、CRLF 转 LF - 新增 tests/cli_bin.rs 进程级端到端测试与 Windows CI 工作流 - SKILL.md 增加 Windows / PowerShell 说明,README、CLAUDE.md 同步 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
9704a8cc20
commit
d6e1ed69ec
24 files changed
+1563
-143
No files matched your search
@@ -0,0 +1,27 @@
|
||||
# The Windows build, which the Macs this is developed on cannot compile:
|
||||
# the whole crate through clippy, and the external CLI's tests, including
|
||||
# the named pipe between two processes.
|
||||
name: windows
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
cli:
|
||||
runs-on: windows-latest
|
||||
timeout-minutes: 90
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# rust-toolchain.toml picks the toolchain; this installs it with the
|
||||
# components it lists before the cache key is computed.
|
||||
- run: rustup toolchain install
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
# In case aws-lc-sys wants to assemble rather than use its prebuilt
|
||||
# objects.
|
||||
- uses: ilammy/setup-nasm@v1
|
||||
- run: cargo clippy --all-targets -- -D warnings
|
||||
- run: cargo test --lib cli::
|
||||
- run: cargo test --test cli_bin
|
||||
Reference in new issue
Block a user