The snippetCompletion in @codemirror/autocomplete works really well and has been super useful for a project I’m working on. Is there an example of inserting a snippet programmatically without it being a part of of autocomplete?
I’d like my users to be able to use the snippets through autocomplete and also by, say, clicking a toolbar button or selecting them from help documentation.
Thank you, @marijn! This got me (I think) on the right track. I’m now doing something along these lines:
import { Completion, snippet } from "@codemirror/autocomplete";
import { EditorView } from "@codemirror/view";
function insertSnippet(text: string, view: EditorView) {
const { dispatch, state } = view;
const { to, from } = state.selection.ranges[0];
snippet(text)(
{ dispatch, state },
null as unknown as Completion, // remove as after the patch is published
from,
to
);
}