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)で実行されるため入力が途切れず、ライト/ダークテーマにも対応します。

コア機能

IDE 級の SQL 編集に必要な機能を、単一の React コンポーネントとして提供します。

自動補完

キーワード・関数・型を内蔵し、非同期メタデータプロバイダーとも連携できます。

コンテキスト認識補完

contextAware モードが antlr4-c3 でカーソル位置を解析し、的確な候補を提示します。

リアルタイム文法検証

ANTLR パーサーが文法エラーをエディタのマーカーとして即時表示します。

エディタアクション

Ctrl/Cmd+Enter で実行、右クリックメニューから Explain、Shift+Alt+F でフォーマットします。

メタデータプロバイダー

カスタム非同期プロバイダー、または createTrinoMetadataProvider による Trino クラスタ直結を選べます。

テーマとレイアウト

ライト/ダークの Trino テーマと、ミニマップ無効化など SQL 編集向けのデフォルト設定を提供します。

アーキテクチャ

Monaco の編集レイヤー、ANTLR の言語インテリジェンス、ワーカーレイヤー、クラスタ連携を明確に分離しています。

エディタレイヤー
Monaco · Monarch
trino 言語の登録
トークナイザーハイライト
ライト/ダークテーマ
SQL 向けデフォルト設定
言語インテリジェンス
ANTLR · antlr4-c3
TrinoSql.g4 文法
リアルタイム文法検証
コンテキスト補完候補
SELECT・DML・DDL 対応
ワーカーレイヤー
Web Worker · Comlink
メインスレッド外でパース
途切れないタイピング
contextAware オプション
エラーマーカー反映
クラスタ連携
Metadata Provider
SHOW クエリによる照会
カタログ〜カラム補完
TTL キャッシュ・重複排除
リクエストキャンセル
技術スタック
TypeScriptReactMonaco EditorANTLR (antlr4ng)antlr4-c3Comlink

GitHub ですぐに始められます

MIT ライセンスで公開された React コンポーネントです。デモと使用ガイドはリポジトリにあります。