import ace from "brace"; import "brace/mode/javascript"; import "brace/mode/plain_text"; import "brace/mode/sh"; import "brace/mode/ini"; import "brace/ext/searchbox"; import "./theme-vito"; import "./mode-env"; import "./mode-nginx"; window.initAceEditor = function (options = {}) { const editorValue = JSON.parse(options.value || ""); const editor = ace.edit(options.id); editor.setTheme("ace/theme/vito"); editor.setValue(editorValue, -1); editor.clearSelection(); editor.focus(); editor.setOptions({ // enableBasicAutocompletion: true, // enableSnippets: true, // enableLiveAutocompletion: true, printMargin: false, }); editor.renderer.setScrollMargin(15, 15, 0, 0); editor.renderer.setPadding(15); editor.getSession().on("change", function () { document.getElementById(`textarea-${options.id}`).value = editor.getValue(); }); window.addEventListener("resize", function () { editor.resize(); }); document.getElementById(`textarea-${options.id}`).innerHTML = editorValue; return editor; };