PageSourceSearch

https://schoolmaker.com/assets/src/codemirror_editor-4f74d7e41a96b…7a963baf1fed2706c7a9bc3b5732a25ad5bdb09c.js

js schoolmaker.com collected 2026-09-26 02:11:21 UTC 2,300 bytes, 1 lines download raw bytes

1import{EditorView}from"@codemirror/view";import{EditorState,Compartment}from"@codemirror/state";import{html}from"@codemirror/lang-html";import{lineNumbers,highlightActiveLineGutter,highlightSpecialChars,drawSelection,dropCursor,rectangularSelection,crosshairCursor,highlightActiveLine,keymap}from"@codemirror/view";import{history,historyKeymap,defaultKeymap,indentWithTab}from"@codemirror/commands";import{foldGutter,indentOnInput,bracketMatching,foldKeymap,syntaxHighlighting,defaultHighlightStyle}from"@codemirror/language";import{closeBrackets,autocompletion,closeBracketsKeymap,completionKeymap}from"@codemirror/autocomplete";const basicSetup=[lineNumbers(),highlightActiveLineGutter(),highlightSpecialChars(),history(),foldGutter(),drawSelection(),dropCursor(),EditorState.allowMultipleSelections.of(!0),indentOnInput(),bracketMatching(),closeBrackets(),autocompletion(),rectangularSelection(),crosshairCursor(),highlightActiveLine(),syntaxHighlighting(defaultHighlightStyle,{fallback:!0}),keymap.of([indentWithTab,...closeBracketsKeymap,...defaultKeymap,...historyKeymap,...foldKeymap,...completionKeymap])];export function createHtmlCodeEditor(e,{height:t="300px",onChange:o=null}={}){if("true"===e.dataset.codemirrorMounted)return null;const r=new Compartment,i=e.parentNode,a=new EditorView({state:EditorState.create({doc:e.value,extensions:[...basicSetup,html(),EditorView.lineWrapping,EditorState.tabSize.of(2),r.of(EditorView.editable.of(!0)),EditorView.theme({"&":{height:t,backgroundColor:"transparent"},".cm-scroller":{overflow:"auto",height:"100%"},".cm-content":{minHeight:"100%"},".cm-gutters":{minHeight:"100%"}}),EditorView.updateListener.of(t=>{t.docChanged&&(e.value=t.state.doc.toString(),o?.(e.value))})]})});return e.style.display="none",e.dataset.codemirrorMounted="true",i.insertBefore(a.dom,e.nextSibling),{view:a,getValue:()=>a.state.doc.toString(),setValue(t){const o=t??"";a.state.doc.toString()!==o?(a.dispatch({changes:{from:0,to:a.state.doc.length,insert:o}}),e.value=o):e.value=o},focus(){a.focus()},setEditable(e){a.dispatch({effects:r.reconfigure(EditorView.editable.of(e))})},destroy(){delete e.dataset.codemirrorMounted,a.destroy()}}}export function initializeCodeMirror(){document.querySelectorAll(".codemirror-textarea").forEach(e=>{createHtmlCodeEditor(e)})}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.