Open Source
Trino Monaco SQL Editor
面向 Trino 的 Monaco React SQL 编辑器组件,借助 ANTLR 语法分析与集群实时元数据,提供 IDE 级的 SQL 编辑体验。
MIT License · Open SourceGitHub 仓库
特点与优势
01
Trino 语言支持
通过 Monarch 分词器注册 trino 语言,内置源自 Trino 文档的关键字、函数与类型。
02
ANTLR 驱动的 SQL 智能
基于 TrinoSql 语法实时检测语法错误,并通过 antlr4-c3 按光标上下文给出补全建议。
03
集群实时联动
通过 SHOW 查询自动补全目录、模式、表和列,支持 TTL 缓存、去重与请求取消。
04
流畅的编辑体验
重量级解析在 Web Worker(Comlink)中运行,输入不卡顿,并提供明暗两套主题。
核心功能
以单个 React 组件提供 IDE 级 SQL 编辑所需的全部功能。
自动补全
内置关键字、函数与类型,并可对接异步元数据提供器。
上下文感知补全
contextAware 模式借助 antlr4-c3 分析光标位置,给出精准候选。
实时语法校验
ANTLR 解析器将语法错误即时标记在编辑器中。
编辑器操作
Ctrl/Cmd+Enter 执行查询,右键菜单 Explain,Shift+Alt+F 格式化。
元数据提供器
可接入自定义异步提供器,或使用 createTrinoMetadataProvider 直连 Trino 集群。
主题与布局
提供明/暗 Trino 主题及禁用小地图等适合 SQL 编辑的默认配置。
架构
Monaco 编辑层、ANTLR 语言智能、Worker 层与集群联动清晰分层。
编辑层
Monaco · Monarch
注册 trino 语言
分词器高亮
明/暗主题
SQL 友好默认布局
语言智能
ANTLR · antlr4-c3
TrinoSql.g4 语法
实时语法校验
上下文补全候选
支持 SELECT · DML · DDL
Worker 层
Web Worker · Comlink
主线程外解析
输入流畅不卡顿
contextAware 选项
错误标记同步
集群联动
Metadata Provider
基于 SHOW 查询
目录到列级补全
TTL 缓存与去重
请求取消
技术栈
TypeScriptReactMonaco EditorANTLR (antlr4ng)antlr4-c3Comlink