You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
25 KiB
22 lines
25 KiB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[612],{90612:function(mt,Pe,w){w.d(Pe,{SV:function(){return Ye},ZP:function(){return Xe}});var g=w(59301),se=w(76374);const ke={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},G={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(`
|
|
`)},{label:"System.out.println",content:["System.out.println($0)"].join(`
|
|
`)},{label:"System.out.print",content:["System.out.print($0)"].join(`
|
|
`)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},J={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(`
|
|
`)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(`
|
|
`)},{label:"if",content:["if () {"," $0","}"].join(`
|
|
`)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(`
|
|
`)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(`
|
|
`)},{label:"using namespace std;",content:["using namespace std;"].join(`
|
|
`)},{label:"include <iostream>",content:["#include <iostream>"].join(`
|
|
`)},{label:"include <vector>",content:["#include <vector>"].join(`
|
|
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
|
|
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
|
|
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
|
|
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
|
|
`)},{label:"include <map>",content:["#include <map>"].join(`
|
|
`)},{label:"include <string>",content:["#include <string>"].join(`
|
|
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
|
|
`)}]},Q={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(`
|
|
`)}]},le={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(`
|
|
`)}]};var Le=w(86061),Te=w.n(Le),Ee=Object.defineProperty,Se=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Me=(e,t)=>{for(var n in t||(t={}))De.call(t,n)&&ce(e,n,t[n]);if(ue)for(var n of ue(t))je.call(t,n)&&ce(e,n,t[n]);return e},Oe=(e,t)=>Se(e,Re(t)),Ke=(e,t,n)=>new Promise((m,a)=>{var s=u=>{try{c(n.next(u))}catch(i){a(i)}},l=u=>{try{c(n.throw(u))}catch(i){a(i)}},c=u=>u.done?m(u.value):Promise.resolve(u.value).then(s,l);c((n=n.apply(e,t)).next())});const X={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},gt=(e,t)=>t.map(n=>({label:n,kind:e.languages.CompletionItemKind.Keyword,insertText:n})),ft=e=>Object.keys(X.tables).map(t=>({label:t,kind:e.languages.CompletionItemKind.Variable,insertText:t})),ht=(e,t)=>{const n=X.tables[e];return n?n.map(m=>({label:m,kind:t.languages.CompletionItemKind.Field,insertText:m})):[]};function _t(e,t,n,m,a){let s=t.getWordUntilPosition(n),l={startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:s.startColumn,endColumn:s.endColumn},c=m.map(u=>({label:u,kind:e.languages.CompletionItemKind.Keyword,insertText:u,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:l}));return a.map(u=>{c.push(Oe(Me({},u),{range:l}))}),c}var We=e=>{X.languages.map(a=>(e.languages.registerDocumentFormattingEditProvider(a,{provideDocumentFormattingEdits(s,l,c){return Ke(this,null,function*(){const u=Te()(s.getValue(),{indent_size:"2",indent_char:" ",max_preserve_newlines:"2",preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:"0",indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:s.getFullModelRange(),text:u}]})}}),a));const t=J.quickKey.map(a=>({label:a.label,kind:e.languages.CompletionItemKind.Method,insertText:a.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet})),n=Q.quickKey.map(a=>({label:a.label,kind:e.languages.CompletionItemKind.Method,insertText:a.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet})),m=G.quickKey.map(a=>({label:a.label,kind:e.languages.CompletionItemKind.Method,insertText:a.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet}));e.languages.registerCompletionItemProvider("cpp",{provideCompletionItems:function(a,s){var l=a.getWordUntilPosition(s),c={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:l.startColumn,endColumn:l.endColumn},u=a.getLineContent(s.lineNumber).substring(l.startColumn-2,l.endColumn);return{suggestions:[...J.keywords.map(i=>({label:i,kind:e.languages.CompletionItemKind.Function,documentation:i,insertText:i,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c})),...J.quickKey.map(i=>({label:i.label,kind:e.languages.CompletionItemKind.Function,documentation:i.content,insertText:u.startsWith("#")?i.content.replace(/#/,""):i.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c}))]}}}),e.languages.registerCompletionItemProvider("c",{provideCompletionItems:function(a,s){var l=a.getWordUntilPosition(s),c={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:l.startColumn,endColumn:l.endColumn};return{suggestions:[...ke.keywords.map(u=>({label:u,kind:e.languages.CompletionItemKind.Function,documentation:u,insertText:u,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c}))]}}}),e.languages.registerCompletionItemProvider("java",{provideCompletionItems:function(a,s){var l=a.getWordUntilPosition(s),c={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:l.startColumn,endColumn:l.endColumn},u=a.getLineContent(s.lineNumber).substring(l.startColumn-2,l.endColumn);return{suggestions:[...G.keywords.map(i=>({label:i,kind:e.languages.CompletionItemKind.Function,documentation:i,insertText:i,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c})),...G.quickKey.map(i=>({label:i.label,kind:e.languages.CompletionItemKind.Function,documentation:i.content,insertText:u.startsWith("#")?i.content.replace(/#/,""):i.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c}))]}}}),e.languages.registerCompletionItemProvider("scala",{provideCompletionItems:function(a,s){var l=a.getWordUntilPosition(s),c={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:l.startColumn,endColumn:l.endColumn},u=a.getLineContent(s.lineNumber).substring(l.startColumn-2,l.endColumn);return{suggestions:[...le.keywords.map(i=>({label:i,kind:e.languages.CompletionItemKind.Function,documentation:i,insertText:i,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c})),...le.quickKey.map(i=>({label:i.label,kind:e.languages.CompletionItemKind.Function,documentation:i.content,insertText:u.startsWith("#")?i.content.replace(/#/,""):i.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c}))]}}}),e.languages.registerCompletionItemProvider("python",{provideCompletionItems:function(a,s){var l=a.getWordUntilPosition(s),c={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:l.startColumn,endColumn:l.endColumn},u=a.getLineContent(s.lineNumber).substring(l.startColumn-2,l.endColumn);return{suggestions:[...Q.keywords.map(i=>({label:i,kind:e.languages.CompletionItemKind.Function,documentation:i,insertText:i,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c})),...Q.quickKey.map(i=>({label:i.label,kind:e.languages.CompletionItemKind.Function,documentation:i.content,insertText:u.startsWith("#")?i.content.replace(/#/,""):i.content,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c}))]}}})};const Fe="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var Ae=Object.defineProperty,Be=(e,t,n)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,He=(e,t,n)=>(Be(e,typeof t!="symbol"?t+"":t,n),n);const de=class{constructor(e,t,n){this.placeholder=e,this.editor=t,this.monaco=n,t.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return de.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};let pe=de;He(pe,"ID","editor.widget.placeholderHint");var Ve=pe,qe=w(96236),$e=w(8591),ze=w(89392),Ue=w(44259),Ze=Object.defineProperty,Ge=Object.defineProperties,Je=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,me=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,fe=(e,t,n)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t)=>{for(var n in t||(t={}))me.call(t,n)&&fe(e,n,t[n]);if(F)for(var n of F(t))ge.call(t,n)&&fe(e,n,t[n]);return e},he=(e,t)=>Ge(e,Je(t)),Qe=(e,t)=>{var n={};for(var m in e)me.call(e,m)&&t.indexOf(m)<0&&(n[m]=e[m]);if(e!=null&&F)for(var m of F(e))t.indexOf(m)<0&&ge.call(e,m)&&(n[m]=e[m]);return n},_e=(e,t,n)=>new Promise((m,a)=>{var s=u=>{try{c(n.next(u))}catch(i){a(i)}},l=u=>{try{c(n.throw(u))}catch(i){a(i)}},c=u=>u.done?m(u.value):Promise.resolve(u.value).then(s,l);c((n=n.apply(e,t)).next())});function B(e){return/^\d+$/.test(e)?`${e}px`:e}function H(){}let ve=!1;const be={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function Y(e=[]){let t=e;if(Array.isArray(e)){for(let n=0;n<e.length;n++){let m=be[e[n]];if(m)return m}return t[0]}return be[t]||t}let b=null;var Xe=e=>{var t=e,{width:n="100%",height:m="100%",value:a,language:s="javascript",style:l={},options:c={},overrideServices:u={},theme:i="vs-dark",onEditBlur:V,onSave:q,autoHeight:ee=!1,forbidCopy:j=!1,onChange:P=H,editorDidMount:K=H,onFocus:R=H,onBreakPoint:et=H,breakPointValue:te=[],filename:tt="educoder.txt",errorLine:ne,errorContent:nt="",highlightLine:E,openBreakPoint:re=!1,placeholder:oe=""}=t,vt=Qe(t,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder"]);const D=(0,g.useRef)(),d=(0,g.useRef)({}),rt=(0,g.useRef)(),ie=(0,g.useRef)(),$=(0,g.useRef)([]),ye=(0,g.useRef)(!1),Ce=(0,g.useRef)(),we=(0,g.useRef)(),[y,ot]=(0,g.useState)(!1);function it(){let o;return D.current&&(o=new se.Z(r=>{for(let p of r)(p.target.offsetHeight>0||p.target.offsetWidth>0)&&d.current.instance.layout()}),o.observe(D.current)),o}function at(){$e.ZP.warning({content:decodeURIComponent(Fe),key:"monaco-editor-tip"})}const st=()=>{let o=d.current.instance;if(a!=null&&o&&y){const r=o.getModel();r&&a!==r.getValue()&&(ve=!0,r.setValue(a),o.layout(),ve=!1)}};(0,g.useEffect)(()=>{const o=Ue.Z.subscribe("formatDocument",r=>{var p;let v=d.current.instance;(p=v==null?void 0:v.getAction)==null||p.call(v,"editor.action.formatDocument").run()});return window.updateMonacoValue=r=>{P(r)},o},[]),(0,g.useEffect)(()=>{var o;let r=d.current.instance;ie.current&&clearTimeout(ie.current),ie.current=setTimeout(()=>{st()},500),a&&(a!=null&&a.length)&&((o=r==null?void 0:r.updateOptions)==null||o.call(r,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(a.split(/\r\n|\r|\n/g).length))+3,5)}))},[a,y,d.current]),(0,g.useEffect)(()=>{if(ne&&d.current&&d.current.instance){let r=d.current.instance;r.changeViewZones(function(p){var v=document.createElement("div");v.style.padding="10px 20px",v.style.width="calc(100% - 20px)",v.className="my-error-line-wrp",v.innerHTML=nt,p.addZone({afterLineNumber:ne||11,heightInLines:3,domNode:v})});var o={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};r.addOverlayWidget(o),r.revealPositionInCenter({lineNumber:20,column:1})}},[ne,d.current,y]);const ae=(o="",r)=>{if(!o||o.trim()==="")return!0;const v=d.current.instance.getModel().getLineTokens(r);let C=!1;for(let T=0;T<2;T++)v.getStandardTokenType(T)===1&&(C=!0);return C};(0,g.useEffect)(()=>{var o;if((o=d.current)!=null&&o.instance&&y&&re){let r=d.current.instance,p=r.getModel();if(!p)return;(()=>{var h;let f=[],_=[];const N=p.getAllDecorations();for(let L of N)L.options.className==="highlighted-line"&&(f.push((h=L==null?void 0:L.range)==null?void 0:h.startLineNumber),_.push(L==null?void 0:L.id));if(E===f[0])return;p.deltaDecorations(_,[]);const I=p.getLineCount();E&&E<=I&&(r.deltaDecorations([],[{range:new b.Range(E,1,E,p.getLineMaxColumn(E)),options:{isWholeLine:!0,className:"highlighted-line"}}]),r.revealLineInCenter(E))})();const C=(h=!1)=>{var f;let _=[],N=[];const I=p.getAllDecorations();for(let L of I)L.options.linesDecorationsClassName==="breakpoints-select"&&(_.push((f=L==null?void 0:L.range)==null?void 0:f.startLineNumber),N.push(L==null?void 0:L.id));if(h)return{lines:_,ids:N};et(_)},T=h=>_e(void 0,null,function*(){let f={range:new b.Range(h,1,h,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield p.deltaDecorations([],[f]),C()}),W=h=>_e(void 0,null,function*(){let f=[];const _=r.getLineDecorations(h);for(let N of _)N.options.linesDecorationsClassName==="breakpoints-select"&&f.push(N.id);yield p.deltaDecorations(f,[]),C()}),Z=h=>{let f=r.getLineDecorations(h);for(let _ of f)if(_.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,ze.isEqual)(te,C(!0).lines)){p.deltaDecorations(C(!0).ids,[]);const h=te.map(f=>({range:new b.Range(f,1,f,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));p.deltaDecorations([],h)}const x=r.onDidChangeModelContent(h=>{let f=r.getPosition();if(f){let _=f.lineNumber;clearTimeout(we.current),we.current=setTimeout(()=>{ae(p.getLineContent(_),_)?W(_):Z(_)?(W(_),T(_)):C()},100)}}),k=r.onMouseDown(h=>{var f,_,N;if(h.target.detail&&((N=(_=(f=h.target)==null?void 0:f.element)==null?void 0:_.className)!=null&&N.includes("line-numbers"))){let I=h.target.position.lineNumber;if(ae(p.getLineContent(I),I))return;Z(I)?W(I):T(I)}}),S=h=>{let f={range:new b.Range(h,1,h,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};$.current=r.deltaDecorations($.current,[f])},M=()=>{$.current=r.deltaDecorations($.current,[])},O=r.onMouseMove(h=>{var f,_,N;if(M(),h.target.detail&&((N=(_=(f=h.target)==null?void 0:f.element)==null?void 0:_.className)!=null&&N.includes("line-numbers"))){let I=h.target.position.lineNumber;if(ae(p.getLineContent(I),I))return;S(I)}}),Ie=r.onMouseLeave(()=>{M()});return()=>{x.dispose(),k.dispose(),O.dispose(),Ie.dispose()}}},[d.current,y,te,E,re,s]),(0,g.useEffect)(()=>{var o;(o=d.current)!=null&&o.instance&&re&&d.current.instance.setPosition({lineNumber:0,column:0})},[E]);function bt(){let o=d.current.instance;if(o){const r=o.getSelection(),p=d.current.pastePos||{},v=new b.Range(p.startLineNumber||r.endLineNumber,p.startColumn||r.endColumn,p.endLineNumber||r.endLineNumber,p.endColumn||r.endColumn);setTimeout(()=>{o.executeEdits("",[{range:v,text:""}])},300)}}function xe(o){(window.navigator.platform.match("Mac")?o.metaKey:o.ctrlKey)&&o.keyCode==83&&(o.preventDefault(),q())}const z=()=>{if(ee&&d.current.instance){const o=d.current.instance.getContentHeight();Ne(o<m?m:o)}else Ne(m)};function lt(o){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),o.dispatchEvent(r)}const U=o=>{const{keyCode:r,ctrlKey:p,metaKey:v,target:C,type:T}=o;return(T==="paste"||(r===67||r===86)&&(v||p))&&C.nodeName==="TEXTAREA"&&(at(),o.preventDefault()),!1};function ut(o,r){var p=window.URL||window.webkitURL||window,v=new Blob([r]),C=document.createElementNS("http://www.w3.org/1999/xhtml","a");C.href=p.createObjectURL(v),C.download=o,lt(C)}(0,g.useEffect)(()=>{z()},[z]),(0,g.useEffect)(()=>{D.current&&!y&&w.e(1216).then(w.bind(w,71448)).then(o=>{try{b=o,d.current.instance=b.editor.create(D.current,{value:a,language:Y(s),theme:i,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0},u);const r=d.current.instance;let C=[...qe.BH._menuItems].find(x=>x[0]._debugName=="EditorContext")[1],T=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],W=(x,k)=>{var S,M;let O=x._first;do k.includes((M=(S=O.element)==null?void 0:S.command)==null?void 0:M.id)&&x._remove(O);while(O=O.next)};if(K(r,b),setTimeout(()=>{z(),d.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{ut(tt||"educoder.txt",r.getValue())}})},500),d.current.subscription=r.onDidChangeModelContent(x=>{ye.current?clearTimeout(Ce.current):(z(),P(r.getValue(),x)),Ce.current=setTimeout(()=>{ye.current=!1},500)}),window.Monaco||We(b,Y(s)),j&&(W(C,T),D.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",U),window.removeEventListener("paste",U),window.addEventListener("keydown",U),window.addEventListener("paste",U)),window.Monaco=b,V&&r.onDidBlurEditorWidget(()=>{V(r.getValue())}),R&&r.onDidFocusEditorText(()=>{R(r.getValue())}),j)try{r.onDidPaste(x=>{const k=r.getSelection(),S=d.current.pastePos||{},M=new b.Range(S.startLineNumber||k.endLineNumber,S.startColumn||k.endColumn,S.endLineNumber||k.endLineNumber,S.endColumn||k.endColumn);r.executeEdits("",[{range:x.range,text:""}])})}catch(x){}let Z=it();return oe&&typeof oe=="string"&&new Ve(oe,r,b),ot(!0),()=>{const x=d.current.instance;x.dispose();const k=x.getModel();k&&k.dispose(),d.current.subscription&&d.current.subscription.dispose(),Z.unobserve(D.current)}}catch(r){}})},[]),(0,g.useEffect)(()=>{if(d.current.instance&&y)return document.addEventListener("keydown",xe,!1),()=>{document.removeEventListener("keydown",xe)}},[q,y]),(0,g.useEffect)(()=>{let o=d.current.instance;if(o&&y){let r=Y(s);b.editor.setModelLanguage(o.getModel(),r)}},[s,y]),(0,g.useEffect)(()=>{d.current.instance&&y&&b.editor.setTheme(i)},[i,y]),(0,g.useEffect)(()=>{let o=d.current.instance;rt.current=c,o&&y&&(o.updateOptions(A({},c)),setTimeout(()=>{o.getModel().updateOptions(A({},c))},200))},[JSON.stringify(c),y]),(0,g.useEffect)(()=>{let o=d.current.instance;o&&y&&o.layout()},[n,m,y]);const[ct,yt]=(0,g.useState)(B(n)),[dt,Ne]=(0,g.useState)(B(m)),pt=he(A({},l),{width:ct,height:dt});return g.createElement("div",{className:"my-monaco-editor",ref:D,style:pt})};function Ye({width:e="100%",height:t="100%",original:n,modified:m,language:a,options:s={}}){const l=(0,g.useRef)(),[c,u]=(0,g.useState)(null);function i(j){let P;return l.current&&(P=new se.Z(K=>{for(let R of K)(R.target.offsetHeight>0||R.target.offsetWidth>0)&&j.layout()}),P.observe(l.current)),P}(0,g.useEffect)(()=>(l.current&&w.e(1216).then(w.bind(w,2550)).then(j=>{b=j;const P=b.editor.createDiffEditor(l.current,he(A({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},s),{wordWrap:!0}));u(P);let K=i(P);return()=>{P.dispose();const R=P.getModel();R&&R.dispose(),K.unobserve(l.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,g.useEffect)(()=>{c&&c.setModel({original:b.editor.createModel(n,a),modified:b.editor.createModel(m,a)})},[n,m,a,c]);const V=B(e),q=B(t),ee={width:V,height:q};return g.createElement("div",{className:"my-diff-editor",ref:l,style:ee})}}}]);
|