Saikuro - 跨语言IPC库
项目简介
Saikuro是一个语言无关、易于使用的IPC(进程间通信)库,用于跨语言集成。它允许开发者用一种语言编写函数,并从任何其他支持的语言中透明调用这些函数。
核心特性
- 共享类型模式:统一的类型定义系统
- 能力强制执行:权限控制机制
- 可插拔传输:支持TCP、Unix套接字、WebSocket或内存传输方式
- 语言无关性:真正的跨语言互操作
支持的编程语言
- Rust - saikuro (crates.io) ✅
- TypeScript - saikuro (npm) ✅
- Python - saikuro (PyPI) ✅
- C# - Saikuro (NuGet) ✅
注:目前暂未添加到包管理器,即将推出
使用示例
- Rust端:创建Provider,注册"add"函数,通过TCP提供服务
- TypeScript/Python端:创建Client,连接服务并调用"math.add"函数
项目结构
- crates/:核心Rust库(协议、模式、传输、路由、运行时、代码生成)
- adapters/:各语言适配器(Rust、TypeScript、Python、C#)
- docs/:文档站点
许可证
Apache-2.0开源协议
https://github.com/Nisoku/Saikuro
Rust 文档链接检查工具 - 裸 URL 检测
这是 Rust 编译器中 rustdoc 工具的一个代码模块,用于检测和修复文档中未链接化的 URL。
主要功能
- 检测裸 URL:识别 Markdown 文档中未被链接化的 URL(如
https://example.com) - 自动修复建议:建议用尖括号包裹 URL(如
<https://example.com>)使其自动转换为可点击链接
关键技术点
-
正则表达式匹配:使用正则表达式检测以
http://或https://开头的完整 URL- 匹配子域名、根域名和可选的查询参数或 URL 片段
-
Markdown 解析:通过 pulldown_cmark 解析器遍历文档内容
- 只检查普通文本内容
- 跳过代码块和已有链接内的文本
-
智能修复:
- 标准情况:在 URL 前后添加
<和> - 特殊情况:如果 URL 已被方括号
[]包裹,则替换方括号为尖括号
- 标准情况:在 URL 前后添加
-
诊断报告:生成编译器 lint 警告,提示"裸 URL 不会自动转换为可点击链接",并提供机器可应用的修复建议
代码位置
位于 Rust 编译器源码:src/librustdoc/passes/lint/bare_urls.rs
https://github.com/rust-lang/rust/blob/024757fe/src/librustdoc/passes/lint/bare_urls.rs#L76-L84:
--
From 日报小组 Mike
社区学习交流平台订阅:
1
共 0 条评论, 1 页
评论区
写评论还没有评论