1
0
Fork 0
mirror of synced 2024-08-28 00:12:02 +12:00

Merge pull request #11104 from Budibase/feature/binding-ux-updates

Select autocomplete option on Tab key press.
This commit is contained in:
deanhannigan 2023-07-17 14:11:32 +01:00 committed by GitHub
commit 46d2a7e286

View file

@ -7,6 +7,8 @@
closeBrackets, closeBrackets,
completionKeymap, completionKeymap,
closeBracketsKeymap, closeBracketsKeymap,
acceptCompletion,
completionStatus,
} from "@codemirror/autocomplete" } from "@codemirror/autocomplete"
import { import {
EditorView, EditorView,
@ -34,7 +36,8 @@
defaultKeymap, defaultKeymap,
historyKeymap, historyKeymap,
history, history,
indentWithTab, indentMore,
indentLess,
} from "@codemirror/commands" } from "@codemirror/commands"
import { Compartment } from "@codemirror/state" import { Compartment } from "@codemirror/state"
import { javascript } from "@codemirror/lang-javascript" import { javascript } from "@codemirror/lang-javascript"
@ -107,6 +110,22 @@
let isDark = !currentTheme.includes("light") let isDark = !currentTheme.includes("light")
let themeConfig = new Compartment() let themeConfig = new Compartment()
const indentWithTabCustom = {
key: "Tab",
run: view => {
if (completionStatus(view.state) == "active") {
acceptCompletion(view)
return true
}
indentMore(view)
return true
},
shift: view => {
indentLess(view)
return true
},
}
const buildKeymap = () => { const buildKeymap = () => {
const baseMap = [ const baseMap = [
...closeBracketsKeymap, ...closeBracketsKeymap,
@ -114,7 +133,7 @@
...historyKeymap, ...historyKeymap,
...foldKeymap, ...foldKeymap,
...completionKeymap, ...completionKeymap,
indentWithTab, indentWithTabCustom,
] ]
return baseMap return baseMap
} }