diff --git a/package.json b/package.json index 206f8ef9ad..6d7be9806a 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@codemirror/autocomplete": "^6.20.1", "@codemirror/commands": "^6.10.3", "@codemirror/lang-sql": "^6.10.0", + "@codemirror/language": "^6.12.3", "@codemirror/state": "^6.6.0", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.41.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6ab37ecc1..5ae7fa3f0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@codemirror/lang-sql': specifier: ^6.10.0 version: 6.10.0 + '@codemirror/language': + specifier: ^6.12.3 + version: 6.12.3 '@codemirror/state': specifier: ^6.6.0 version: 6.6.0 diff --git a/src/components/editor/QueryEditor.vue b/src/components/editor/QueryEditor.vue index 01ba0d2b63..7a3f7b689d 100644 --- a/src/components/editor/QueryEditor.vue +++ b/src/components/editor/QueryEditor.vue @@ -210,8 +210,9 @@ onMounted(async () => { { EditorState, Compartment, Prec }, { sql, MSSQL, MySQL, PostgreSQL, SQLDialect }, { basicSetup }, - { autocompletion, startCompletion }, + { autocompletion, startCompletion, closeBrackets, closeBracketsKeymap }, { indentWithTab }, + { bracketMatching }, ] = await Promise.all([ import("@codemirror/view"), import("@codemirror/state"), @@ -219,6 +220,7 @@ onMounted(async () => { import("codemirror"), import("@codemirror/autocomplete"), import("@codemirror/commands"), + import("@codemirror/language"), ]); editorViewModule = { EditorView, keymap } as typeof import("@codemirror/view"); fontThemeComp = new Compartment(); @@ -285,7 +287,9 @@ onMounted(async () => { override: [async (context: CompletionContext) => provideSqlCompletions(context.state, context.pos)], }), codeMirrorTheme.of(theme), - Prec.highest(keymap.of([indentWithTab])), + closeBrackets(), + bracketMatching(), + Prec.highest(keymap.of([...closeBracketsKeymap, indentWithTab])), runKeymap, wordWrapComp.of(ss.wordWrap ? EditorView.lineWrapping : []), EditorView.updateListener.of((update) => { diff --git a/src/components/grid/DataGrid.vue b/src/components/grid/DataGrid.vue index 2b76091a3e..715226f32d 100644 --- a/src/components/grid/DataGrid.vue +++ b/src/components/grid/DataGrid.vue @@ -5,7 +5,6 @@ const globalDdlOpen = ref(false);