[具体描述] libra open 具体功能描述
实现 libra open 命令。该功能类似于 git-open 扩展,旨在提升开发者在终端与网页端之间的切换效率。
当开发者在仓库目录下执行 libra open 时,程序应自动识别当前上下文对应的远程仓库地址,将其转换为标准的 HTTP/HTTPS 网页链接,并调用系统默认浏览器打开该页面。
[实现方案] libra open 实现方案描述
定义命令接口:在 command 目录下新建 open.rs,定义 OpenArgs 结构体用于解析命令行参数
注册子命令:在 mod.rs 和 CLI 入口文件中注册 open 子命令
实现逻辑:
* 复用现有的 Config 读取能力获取 Remote URL。
* 实现 URL 清洗与转换函数:使用正则或字符串处理,将 SCP 风格的 SSH地址转换为标准 URL 格式
调用系统浏览器:使用 std::process::Command 根据不同操作系统调用对应的打开命令
编写测试用例:测试 URL 转换逻辑,覆盖 HTTPS、SSH、带端口号等不同格式的 URL 输入等