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 컴포넌트로, 데모와 사용 가이드가 저장소에 있습니다.