#language-server #lsp #openscad #protocols #text #client

app openscad-language-server

OpenSCAD的语言服务器协议服务器

1个不稳定版本

0.1.0 2021年9月22日

开发工具分类中排名第2179

每月下载量34

MIT/Apache

31KB
675

openscad-language-server

openscad-language-server是OpenSCAD的LSP(语言服务器协议)服务器。它为任何支持LSP客户端的编辑器提供IDE式功能,即大多数主流现代文本编辑器。

状态:按照IDE标准,功能相当基础,但功能齐全,远远超出内置的OpenSCAD编辑器提供的功能。主要在Linux上的lsp-modeEmacs上进行了测试。

功能

  • 上下文感知的自动完成
  • 在完成时插入有用的代码片段
  • 实时语法错误诊断信息
  • 悬停时的函数/模块签名
  • 处理include/use(本地和库文件)
  • 在无效输入文件存在的情况下具有合理的鲁棒性

安装

openscad-language-server是用Rust编写的,不依赖于OpenSCAD。目前,为了使用它,您需要安装Rust工具链

要从crates.io安装服务器(将二进制文件放入~/.cargo/bin/openscad-language-server

cargo install openscad-language-server

直接从存储库构建(将二进制文件放入克隆中的target/release/openscad-language-server

git clone https://github.com/dzhu/openscad-language-server
cd openscad-language-server
cargo build --release

用法

请参阅您的编辑器及其LSP客户端的文档,以配置它们以使用OpenSCAD文件的服务器二进制文件。服务器通过标准输入/输出进行通信。

致谢

OpenSCAD代码的解析由tree-sittertree-sitter-openscad处理。通过LSP进行通信由lsp-server处理。这些crate处理与外部世界交互的所有脏活累活,使得这个项目能够快速启动并专注于中间有趣的部分。

依赖项

~6–15MB
~221K SLoC