| 1234567891011121314151617 |
- import { EditorView } from '@codemirror/view'
- import { startCompletion } from '@codemirror/autocomplete'
- import { Transaction } from '@codemirror/state'
- import { isInEmptyArgumentNodeForAutocomplete } from '../../utils/tree-query'
- // start autocompletion when the cursor enters an empty pair of braces
- export const openAutocomplete = () => {
- return EditorView.updateListener.of(update => {
- if (update.selectionSet || update.docChanged) {
- if (!update.transactions.some(tr => tr.annotation(Transaction.remote))) {
- if (isInEmptyArgumentNodeForAutocomplete(update.state)) {
- startCompletion(update.view)
- }
- }
- }
- })
- }
|