Rechtschreibkontrolle (Spellchecker) für Ace Editor (bei single Tabbed)
Beim Ace editor funktioniert die Rechtschreibprüfung vom Browser nicht... Da es sich nicht um eine normale TextArea handelt, ist das etwas schwieriger...
Hier ein paar Links
https://github.com/ajaxorg/ace/issues/2107
https://github.com/zedapp/zed/issues/67#issuecomment-33396045
https://github.com/ajaxorg/ace/issues/3166
Für Firefox scheint einfach die Attribute contenteditable="true" spellcheck="true"
zum editor div hinzuzufügen zu reichen.
Wobei man bei Firefox anscheinend erst die Rechtschreibung herunterladen muss oder so? Jedenfalls werdend danach Fehler angezeigt, allerdings keine Vorschläge für die Verbesserung.
Bei Chrome scheint es einen Trick zu geben, da es bei https://stackedit.io/editor funktioniert: https://github.com/benweet/stackedit/blob/fd6ac907bbd3cfbdc78e0660c2e3c0298bacd94e/src/services/editor/cledit/cleditCore.js
hier noch der Code, falls der Link sich ändert
const triggerSpellCheck = debounce(() => {
// Hack for Chrome to trigger the spell checker
const selection = window.getSelection();
if (selectionMgr.hasFocus()
&& !highlighter.isComposing
&& selectionMgr.selectionStart === selectionMgr.selectionEnd
&& selection.modify
) {
if (selectionMgr.selectionStart) {
selection.modify('move', 'backward', 'character');
selection.modify('move', 'forward', 'character');
} else {
selection.modify('move', 'forward', 'character');
selection.modify('move', 'backward', 'character');
}
}
}, 10);
Solange es bei Firefox und Chrome funktioniert, sollt alles ok sein.
Die Prüfung reicht aber für die Editoren, die nur ein Tab haben, da in diesen nicht programmiert wird und diese nur z.B. für die Aufgabenstellung benutzt werden.