viewof e = {
return editor({
value: "x + 1 + 2*y",
options: {
gutter: true,
},
grammar: testGrammar,
on: {
beforeSelectionChange(marks) {
console.log("beforeSelectionChange", marks)
}
},
marks: {
endOfLine: {
_markText: true,
_bookmarkEnd: (existing, value, node) => ({insertLeft: true, widget: html`<span style="background: #fee5c1; border-radius: 2px; border: 2px rgba(0, 0, 0, 0.05) solid; color: #888; padding: 0 0.25em; margin-left: 1em; display: inline-block;">› ${node.sourceString}</span>`}),
Exp: true,
},
cursorNumber: {
number: {},
},
syntaxHighlighting: {
_markText: (doc, start, end, value, node) => doc.markText(start, end, value),
_terminal: {
"+": {className: 'cm-meta'},
},
number: {className: 'cm-number'},
ident: {className: 'cm-keyword'},
},
},
})
}