PartiQL LSP 服务器
用于 LSP 服务器 PartiQL语言。此服务器通过使用 由PartiQL团队维护的 Rust parser。 。 。 .
此解析器是使用 PartiQL 团队在 PartiQL 游乐场套装。此二进制被进一步编码为Javascript文件中的基数64字符串,以方便与服务器的其他资产捆绑在一起.
更新二进制
更新二进制需要 Docker CLI 在您的路径中
要更新服务器使用的二进制, 请运行 npm run update-parser-binary。这将在一个多克容器内,从 GitHub 中取出 PartiQL 游乐场存储器并运行 build 命令创建新的二进制。 然后在Typescript文件中将其编码为Base64并复制到 src 文件夹。 运行 npm run build 然后将二进制文件移植到 Javascript 并将其放入 lib 文件夹.
更新软件包中使用的二进制 web-tree-sitter运行 npm run update-treesitter-wasm。该更新将被迫使每次升级版本 web-tree-sitter。这将汇编 tree-sitter.wasm 软件包内的文件在TypeScript文件中输入一个基数64字符串到 src/tree-sitter-parser 文件夹为 tree-sitter-inline.ts。 。 。 .
更新 ANTR 词汇和解析器
ANTR 语法和解析语法定义于 src/antlr-grammar中的文件 src/antlr-generated 从语法文件中自动生成。 改为:
更新这些文件, 运行 npm run update-antlr。当前语法文件可见于 https://github.com/partiql/partiql-lang-kotlin/tree/main/partiql-parser/src/main/antlr 互联网档案馆的存檔,存档日期2013-12-22。 。 。 .
测试
此软件包的测试正在使用 欢乐,以运行此套件中的测试 -npm run test。 。 。 .
可能的改进
这一一揽子方案目前具有若干潜在的改进点:
- 在解析器 WASM 二进制的绑定中,有一个代码路径可以导入
partiql_playground_bg.wasm文档。 由于WASM二进制的内嵌,我们不会在运行时使用这个文件和代码路径. 然而,在进行导入检查时, Webpack 无法构建,因为它找不到此二进制 。 为了解决这个问题,我们包括一个没有预想名字的文件. - 在语言服务测试中,有几条未经测试的快乐道路. 无法找到投入来触发这些快乐的道路.