3 个不稳定版本
0.2.0 | 2024年3月16日 |
---|---|
0.1.1 | 2024年3月2日 |
0.1.0 | 2024年3月2日 |
492 在 文本处理
139 每月下载量
380KB
10K SLoC
这是一个旨在改善树视图和泛型代码 UX 的 Rust 文档 TUI。
此工具使用 nightly 编译器编译包的 JSON 文档。因此,请确保您的机器上可以使用 nightly 工具链。
建议您也安装 rust-docs-json
,这样您就可以运行
rustup rustup toolchain install nightly --component rust-docs-json
# or add the component if nightly toolchain lacks it
rustup component add --toolchain nightly rust-docs-json
rustup update nightly
此工具非常不成熟,目前远未达到目标。它只提供编译和缓存文档的基本功能,以及查看 markdown 文档。
可以通过按 F1
键来找到快捷键或使用帮助。
更多屏幕截图可以在 这里 找到。
路线图
- 项目大纲
- 展开/折叠(基于模块树)
- 展开零级项目(即在根模块中具有子模块折叠的项目)
- 展开到第一级项目
- 仅关注最新模块(但所有其他级别的模块都折叠)
- 展开所有公共项目
- 相关功能
- 展开/折叠(基于模块树)
- 文档内容
- 文本换行
- 代码块中的语法高亮
- 识别代码块上的 rustdoc 语法属性
- 在链接中
- 在代码块中(默认为 rust,隐藏行等)
- 导航
- markdown 大纲
- 项目的相关项目/字段大纲
- 包源 / Dashboard 弹出窗口
- 本地
- 本地注册源目录
- 模糊搜索
- 选择要编译文档的包并将在本地数据库文件中缓存工件
- 数据库中的缓存(已生成的 json 文档将缓存在本地的数据库中)
- 缓存原始 JSON 输出并通过 xz 压缩
- 缓存解析后的输出以实现更快加载并通过 xz 压缩
- 对所有项目或按组排序缓存列表
- 本地路径到 Cargo.toml:低优先级
- 本地注册源目录
- 非本地(即从网络下载包):低优先级
- 本地
- 配置
- 主题:低优先级
- 快捷键:低优先级
- 模糊搜索
- 按项目名称
- 按所有文档内容
- 按函数/方法签名
- 在具体类型上
- 关于泛型类型
- 关于特性界限
- 通过 crate 功能
- 泛型类型增强
- 泛型类型参数
- 列出满足特性界限的具体候选类型
- 当前包内部
- 数据库缓存内部
- 列出函数/方法
- 返回具有相同特性界限的泛型类型
- 返回具体候选类型
- 列出函数/方法
- 接受具有相同特性界限的泛型类型
- 接受具体候选类型
- 列出满足特性界限的具体候选类型
- 生命周期参数
- 变异性(JSON文档中可能没有此信息,但可能并不难实现)
- 泛型类型参数
- 具体类型
- 列出方法,其中具体的
Type
及其所有权变体&Type
/&mut Type
是- 接收器类型
- 参数类型
- 返回类型
- 列出方法,其中具体的
- 特性
- 按所有权(
impl Trait
forType
vs&mut Type
vs&Type
vsBox<Type>
)- 按具体类型与泛型类型
- 杂项/基础知识
- 按所有权(
crates.io 上的数据访问策略
- <index.crates.io> 可以无限制地访问以查询 crates 的历史版本、功能和依赖项
- 本地注册表缓存
~/.cargo/registry/src/
包含官方 crates.io 注册表和其他镜像/自定义注册表~/.cargo/registry/index/
包含查询或从这些注册表下载 crates 的 API URL- id 规则
主要借鉴自 id_from_item_inner
IMPL
[CRATE_ID:]ITEM_ID:NAME_ID[:EXTRA][-impl]
:
用于自动实现
a:
用于自动实现b:
用于泛型实现- 如果为其他类型,如非实现、固有实现、正常特性实现则留空
name
是如果有的话项的名称(例如,它不适用于实现块)。extra
用于重导出:它包含重导出项的 ID。它用于允许具有相同名称但不同类型的项同时出现在生成的 JSON 中。
依赖项
24–37MB
~554K SLoC