关于 surrealql-functions
surrealql-functions 用于查找 SurrealDB 内置函数的用途与签名。它通过 surrealql-language-server 使用已安装的 SurrealQL 语法,补全和签名信息与该版本对应。
主要功能
- 01按版本提供函数补全
- 02悬停查看类型和签名
- 03调用时查看签名帮助
- 04发现命名空间函数
适用场景
- 01核对函数的确切参数
- 02探索某个命名空间中的函数
- 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 工具,而不是凭记忆:
- surrealql-language-server(LSP)——提供内置函数的补全、显示类型信息和函数签名的悬停提示,以及签名帮助。
- surrealql-tree-sitter——LSP 用于解析的语法(面向 SurrealDB v3+)。
如需了解如何将任意函数映射到权威文档,请参阅 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 中的链接。