14 个版本 (4 个重大变更)

0.5.3 2024年8月4日
0.5.2 2024年6月6日
0.4.0 2024年5月25日
0.3.0 2024年5月8日
0.1.2 2024年4月16日

#460开发工具

Download history 1/week @ 2024-04-22 342/week @ 2024-04-29 407/week @ 2024-05-06 4/week @ 2024-05-13 209/week @ 2024-05-20 140/week @ 2024-05-27 358/week @ 2024-06-03 18/week @ 2024-06-10 58/week @ 2024-07-08 72/week @ 2024-07-29 45/week @ 2024-08-05

每月118次下载

MIT 许可协议

295KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments Scheme 292 SLoC // 0.0% comments

earthlyls: earthly 语言服务器

earthly 的快速语言服务器。

Screenshot of yage Earthfile in helix

earthlyls 支持以下 LSP 功能

  • 补全
  • 诊断
  • 文档符号
  • 转到声明
  • 转到定义
  • 悬停
  • 增量文档更新
  • 引用
  • 语义标记
  • 监视文件更改
  • 工作区符号

文本编辑器配置

Visual Studio Code

Visual Studio Code 的 earthlyls 扩展程序可在 市场 中找到。

neovim

neovimnvim-lspconfig 中为 earthlyls 提供了现成的配置。

earthlyls 可以手动安装或使用 mason.nvim 安装,它配置为从 earthlyls 的发布版 下载您的平台的二进制文件。

Zed

earthfile 扩展程序 可在 Zed 扩展程序中找到。使用 Cmd-Shift-P 打开命令面板,输入 zed: extensions 并安装 earthfile 扩展程序。

helix

来自 main 分支的 Helix 预先配置了 earthlyls 支持。只需 安装它 并享受!

对于旧版本,请在您的 languages.toml 中添加以下内容

[language-server]
earthlyls = { command = "earthlyls" }

[[language]]
name = "earthfile"
scope = "source.earthfile"
injection-regex = "earthfile"
roots = ["Earthfile"]
file-types = [
  { glob = "Earthfile" },
]
comment-token = "#"
indent = { tab-width = 2, unit = "  " }
language-servers = ["earthlyls"]

[[grammar]]
name = "earthfile"
source = { git = "https://github.com/glehmann/tree-sitter-earthfile", rev = "2a6ab191f5f962562e495a818aa4e7f45f8a556a" }

可选:运行 hx --grammar build 以更新您的 tree-sitter 库并获得 Earthfile 语法高亮。

安装

请参阅 INSTAll.md

性能

有多快?

在MacBook Air M1上,earthlylsearthly 仓库中加载了 178 个 Earthfile,大约 10000 行,耗时 51.95ms。简单的“转到定义”操作在千分之一秒内完成。而“转到引用”,即在工作区的所有 Earthfile 中搜索,耗时 18.61ms。

许可

earthlyls 在 MIT 许可证的条款下分发。

有关详细信息,请参阅 LICENSE

依赖项

约 25-35MB
约 787K SLoC