< 返回版块

Mike Tang 发表于 2026-05-18 09:07

sem - 基于 Git 的语义版本控制工具

sem 是一个语义版本控制工具,构建在 Git 之上。它不显示代码行的变更,而是显示实体级别的变更(函数、方法、类等)。

核心特点

  • 语义级别差异对比:显示"函数 blahh 被修改"而非"第 x-y 行变更"
  • 零配置:在任何 Git 仓库中直接使用,无需设置
  • 支持 26 种编程语言:使用 tree-sitter 解析代码
  • 实体重命名检测:自动识别函数/类的重命名

主要命令

  • sem diff:实体级别的差异对比,支持重命名检测、结构化哈希和词级高亮

    • 支持多种输出格式:plain、JSON、Markdown
    • 可比较工作区、暂存区、提交、任意两个文件
  • sem impact:跨文件依赖图分析,显示实体变更的影响范围

    • 可查看依赖关系、受影响的测试等
  • sem blame:实体级别的代码归属,显示谁最后修改了每个函数/类

  • sem log:追踪单个实体在 Git 历史中的演变过程

  • sem entities:列出文件或目录下的所有实体

  • sem context:为 LLM 生成符合 token 预算的上下文(包含实体及其依赖)

原文链接:https://github.com/Ataraxy-Labs/sem

Rust workspace 自动发布包的困境

问题背景

开发者在尝试自动发布 Rust workspace 中的多个包时遇到了两难问题:

遇到的具体问题

方案一:cargo publish --workspace

  • 如果任何包已经发布过,命令会直接中止
  • 无法跳过已发布的包继续发布其他包

方案二:cargo workspaces publish --from-git

  • 使用第三方工具 cargo-workspaces(https://github.com/pksunkara/cargo-workspaces)
  • 存在严重缺陷:当发布失败时(非"包已存在"的原因),无法正确返回错误码
  • 这在 CI/CD 流程中依赖退出码判断时会造成问题

开发者困惑

作者认为这是一个非常基础的需求,对于没有现成解决方案感到惊讶,怀疑是否自己的使用方式有问题。

原文链接:https://www.reddit.com/r/rust/comments/1tg2hlc/is_there_a_solution_to_automatically_publish/

Concord v2.0.0 发布 - Rust 编写的 Discord 终端 UI 客户端

Concord 是一个使用 Rust 和 Ratatui 框架开发的 Discord 终端用户界面客户端。最新的 v2.0.0 版本带来了重要更新。

主要新功能

  • 语音支持:现在可以加入语音频道并播放接收到的语音音频

其他核心功能

  • 导航功能:支持服务器(Guild)、频道、帖子、论坛和私信(DM)的导航
  • 消息操作:可以发送、编辑、删除、回复、置顶消息以及添加表情反应
  • 媒体预览:在支持的终端中提供内联图片预览
  • 桌面通知:支持桌面通知功能
  • 快捷操作:提供 Vim 风格的键盘导航

项目信息

  • GitHub 仓库:https://github.com/chojs23/concord
  • 更多功能详情可查看项目的 README 文档

原文链接:https://github.com/chojs23/concord

Gecko - GameCube/Wii 模拟器

Gecko 是一个用 Rust 编写的跨平台 GameCube/Wii 模拟器和调试器。

项目状态

  • 仍在开发中
  • 许多游戏可以运行,但大多数存在不同程度的视觉故障或完全无法运行
  • 提供 GameCube 和 Wii 游戏的截图数据库以评估兼容性
  • 注意:目前仅追踪 NTSC 游戏

主要特性

  • 开发目标:专注于自制软件开发和逆向工程,同时提供流畅的游戏体验
  • 核心技术
    • PowerPC JIT(使用 Cranelift)
    • DSP JIT 和 GX 顶点解码 JIT
    • 基于 wgpu 的渲染后端,支持所有主流平台
    • 专用着色器编译器、JIT 和着色器缓存
  • 音频系统:模块化音频后端,支持混音和导出 .wav 文件
  • 调试功能
    • 基于 egui 的高级调试界面

原文链接:https://github.com/ioncodes/gecko

评论区

写评论

还没有评论

1 共 0 条评论, 1 页