#find #navigation #protocols #indexing #reference #protobuf #definition

scip

SCIP(发音:"skip")是一种与语言无关的源代码索引协议,可用于实现诸如跳转到定义、查找引用和查找实现等代码导航功能。

6个版本

0.4.0 2024年6月11日
0.3.3 2024年1月24日
0.3.2 2023年11月3日
0.3.1 2023年10月25日
0.1.1 2022年8月11日

#4#navigation

Download history 7052/week @ 2024-04-26 6703/week @ 2024-05-03 6319/week @ 2024-05-10 6824/week @ 2024-05-17 6980/week @ 2024-05-24 6951/week @ 2024-05-31 7490/week @ 2024-06-07 7183/week @ 2024-06-14 7131/week @ 2024-06-21 6547/week @ 2024-06-28 6717/week @ 2024-07-05 6999/week @ 2024-07-12 6998/week @ 2024-07-19 6504/week @ 2024-07-26 6763/week @ 2024-08-02 6851/week @ 2024-08-09

每月下载28,251
用于ra_ap_rust-analyzer

Apache-2.0

315KB
5.5K SLoC

SCIP代码智能协议

SCIP(发音:"skip")是一种与语言无关的源代码索引协议,可用于实现诸如跳转到定义、查找引用和查找实现等代码导航功能。

本仓库包含

  • 一个SCIP的protobuf模式
  • 丰富的Go和Rust绑定,包括许多实用函数,以帮助在SCIP之上构建工具。
  • 自动生成的TypeScript和Haskell绑定。
  • 一个scip CLI,使SCIP索引的使用变得简单。

如果您想更好地了解SCIP背后的动机,请查看公告博客文章

如果您想编写一个新的输出SCIP的索引器,请查看我们关于如何编写索引器的文档。还可以查看开发文档中的调试部分

如果您对使用 SCIP 数据感兴趣,您可以使用提供的语言绑定之一,或者使用您语言生态系统的 protobuf 工具链为 SCIP protobuf 架构 生成代码。此外,请查看开发文档中的 调试部分

使用 SCIP 的工具

目前有几个索引器会发出 SCIP 数据

有关索引器的更多详细信息(包括基于 LSIF 的索引器),请参阅 Sourcegraph 文档

其他使用 SCIP 的工具包括 Sourcegraph CLI 以及本存储库中的 SCIP CLI。

安装 scip CLI

您可以在 此处 找到 scip CLI 工具的二进制文件。您还可以使用以下方法在本地编译二进制文件:

git clone https://github.com/sourcegraph/scip.git --depth=1
cd scip
go build ./cmd/scip

您可以通过查阅 CLI 参考 或使用 --help 获取使用信息。

贡献

我们欢迎提问、建议以及代码和文档的贡献。

有关提交贡献,请查阅 Development.md 以更好地了解项目结构和常见工作流程。

贡献者应遵守 Sourcegraph 行为准则

依赖项

~2MB
~47K SLoC