88 DefaultSqlTooltipRenders ,
99 defaultSqlHoverTheme ,
1010 NodeSqlParser ,
11+ type SupportedDialects ,
1112 sqlExtension ,
1213} from "../src/index.js" ;
1314import { type Schema , tableTooltipRenderer } from "./custom-renderers.js" ;
@@ -146,9 +147,9 @@ const getKeywordDocs = async () => {
146147 } ;
147148} ;
148149
149- const setDatabase = StateEffect . define < string > ( ) ;
150+ const setDatabase = StateEffect . define < SupportedDialects > ( ) ;
150151
151- const databaseField = StateField . define ( {
152+ const databaseField = StateField . define < SupportedDialects > ( {
152153 create : ( ) => "PostgreSQL" ,
153154 update : ( prevValue , transaction ) => {
154155 for ( const effect of transaction . effects ) {
@@ -162,7 +163,7 @@ const databaseField = StateField.define({
162163
163164// Initialize the SQL editor
164165function initializeEditor ( ) {
165- // Use the same parser for linter and gutter
166+ // Use the same parser
166167 const parser = new NodeSqlParser ( {
167168 getParserOptions : ( state : EditorState ) => {
168169 return {
@@ -233,6 +234,7 @@ function initializeEditor() {
233234 table : tableTooltipRenderer ,
234235 } ,
235236 theme : defaultSqlHoverTheme ( "light" ) ,
237+ parser,
236238 } ,
237239 } ) ,
238240 dialect . language . data . of ( {
@@ -337,15 +339,15 @@ function setupExampleButtons() {
337339 } ) ;
338340}
339341
340- function getDialect ( state : EditorState ) : string {
342+ function getDialect ( state : EditorState ) : SupportedDialects {
341343 return state . field ( databaseField ) ;
342344}
343345
344346function setupDialectSelect ( ) {
345347 const select = document . querySelector ( "#dialect-select" ) ;
346348 if ( select ) {
347349 select . addEventListener ( "change" , ( e ) => {
348- const value = ( e . target as HTMLSelectElement ) . value ;
350+ const value = ( e . target as HTMLSelectElement ) . value as SupportedDialects ;
349351 editor . dispatch ( {
350352 effects : [ setDatabase . of ( value ) ] ,
351353 } ) ;
0 commit comments