mcpField
S
surrealql-functions

surrealql-functions

github.com/surrealdb数据与数据库28424 次安装4 周前更新
代码仓库

关于 surrealql-functions

surrealql-functions 用于查找 SurrealDB 内置函数的用途与签名。它通过 surrealql-language-server 使用已安装的 SurrealQL 语法,补全和签名信息与该版本对应。

主要功能

  1. 01按版本提供函数补全
  2. 02悬停查看类型和签名
  3. 03调用时查看签名帮助
  4. 04发现命名空间函数

适用场景

  1. 01核对函数的确切参数
  2. 02探索某个命名空间中的函数
  3. 03确认已安装 SurrealDB 版本支持的函数

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/surrealdb/agent-skills --skill surrealql-functions

安装后在 Claude Code 中输入/surrealql-functions确认已加载。

附带文件references/catalog.md

详细介绍

SurrealQL 函数

SurrealDB 内置了数百个函数,按命名空间分组 (string::、array::、math::、type::,等等)。函数名称和签名会随版本 变化,因此,权威且与当前版本一致的信息来源是 SurrealQL 工具,而不是凭记忆:

如需了解如何将任意函数映射到权威文档,请参阅 references/catalog.md。

何时使用此技能

  • 查询内置函数的功能或确切参数
  • 为 .surql 文件获取实时补全、悬停提示和签名帮助
  • 确认某个函数在已安装的 SurrealDB 版本中是否存在 / 是否具有预期签名(避免输出已重命名或已移除的函数)

设置

从 crates.io 安装语言服务器——已发布的 crate 包含语法,因此无需单独检出 tree-sitter:

cargo install surrealql-language-server
#   -> installs the `surrealql-language-server` binary on your PATH (~/.cargo/bin)

确认它位于 PATH 中:

surrealql-language-server --help
从源码构建(可选)

仅在开发或跟踪尚未发布的更改时需要。从源码构建要求将 tree-sitter 语法 检出到一个同级目录中:

git clone https://github.com/surrealdb/surrealql-language-server.git
cd surrealql-language-server
bash scripts/setup-grammar.sh                 # clones/updates the grammar
#   ...or: export TREE_SITTER_SURREALQL_DIR=/abs/path/to/surrealql-tree-sitter
cargo build --release                         # -> target/release/surrealql-language-server

如需在浏览器 / 编辑器中嵌入,请改用 bash scripts/build-wasm.sh 构建 wasm-bindgen npm 包(输出到 pkg/)。

编辑器集成

将编辑器的 LSP 客户端指向 surrealql-language-server 二进制文件,并将语言设为 .surql / surrealql。通用的 stdio LSP 配置:

  • 命令: surrealql-language-server(或源码构建时使用绝对路径)
  • 文件类型: *.surql

随后,服务器会基于已安装的语法版本提供:

  • 补全——各命名空间中的内置函数名称、字段名称、 record<table> 类型和关键字
  • 悬停提示——类型信息、权限状态和函数签名
  • 签名帮助——输入函数调用时显示参数形式

使用它来查找函数

  • 打开或新建一个已连接 LSP 的 .surql 缓冲区。
  • 输入命名空间前缀(例如 string::),然后触发补全,以枚举 已安装版本中该命名空间的内置函数。
  • 将鼠标悬停在函数调用上,或在括号内调用签名帮助,以查看 函数的确切签名和参数类型。

由于补全和签名来自已安装的语法,它们反映了当前的 SurrealDB 版本—— 可避免使用来自旧版本的过时或已重命名函数。如需阅读任意命名空间的完整文档和示例,请参阅 references/catalog.md 中的链接。

评论

支持 Markdown