PageSourceSearch

https://python-fiddle.com/_nuxt/BfFCKHfl.js

js python-fiddle.com collected 2026-09-24 12:12:27 UTC 6,338 bytes, 4 lines download raw bytes

1import L from"./BiPjllOI.js";import P from"./CKKvK9MD.js";import D from"./aMsh9Eq-.js";import G from"./DHbw4spx.js";import{aX as E,b as m,r as g,x as W,v as q,aY as R,l as z,e as H,B as X,c as d,o as l,k as f,aj as B,j as a,D as y,u as o,m as h,w as Y,K as J,a as Q,aT as Z,H as ee,b9 as te,ba as oe}from"#entry";import ne from"./C4P-ezb6.js";import{l as le}from"./BvDFDW5u.js";import{r as se}from"./CQVEjkK7.js";import"./DlAUqK2U.js";import"./Bd_6KxB9.js";import"./IljeZfEr.js";import"./DKKdzgsp.js";import"./CNesdacs.js";import"./BwYVVlXO.js";import"./n2VQwx6s.js";import"./Bbvo2KRq.js";import"./C-FbvkbU.js";import"./Bjg7PIEK.js";import"./CBRtWl27.js";import"./CJ5NhiWv.js";import"./DaWZu8wl.js";import"./K2LOpTrw.js";import"./CsRXNZ7D.js";import"./UGn0o4CC.js";const ae=["onKeyup"],re={key:0,class:"flex items-center flex-wrap space-x-1 my-1 mx-2"},ue=["disabled"],ie={key:1},de={class:"flex justify-end md:justify-between items-center space-x-2 mt-4 mb-2 text-xs"},ce={key:0,class:"ml-2 text-center text-default-text-lighter text-xs tracking-wide hidden md:block"},fe={key:1,class:"flex justify-end"},pe={key:1},me={class:"flex justify-center"},ge={key:0,class:"bg-default-bg-dark text-default-text-lighter w-full my-2 border-slate-700"},ye={key:0,class:"text-default-text-lighter mb-16"},Le={__name:"CodeEditor",props:E({code:{type:String,default:null},kernelId:{type:String,default:"pyodide"},filename:{type:String,default:"main.py"},highlights:{type:Array,default:()=>[]},outputs:{type:Array,default:()=>[]},triggerRun:{type:Boolean,default:!1},triggerFocus:{type:Boolean,default:!1},showCode:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},showKeyboardShortcut:{type:Boolean,default:!1},showUseCompletionsNudge:{type:Boolean,default:!1},collapsableError:{type:Boolean,default:!1},sessionId:{type:String,default:null},nc:{type:Object,required:!1,default:null}},{code:{},codeModifiers:{},outputs:{},outputsModifiers:{}}),emits:E(["runCompleted","shiftRun","aceEditorFocus"],["update:code","update:outputs"]),setup(n,{emit:T}){const s=n,F=m(()=>s.highlights.map(e=>({line:e,class:"ace-highlight-yellow"}))),v=T,k=g(null),I=m(()=>s.kernelId?oe(s.kernelId):null),N=m(()=>s.kernelId?te(s.kernelId):null),M=W(),u=q(),c=R(n,"code");c.value=c.value.trim();const r=R(n,"outputs");r.value||(r.value=[]),g(!1);const i=g(!1),p=g(!0),S=m(()=>r.value.find(t=>t.output_type==="error")?.traceback.join(`
2`)??""),U=g(!1),w=m(()=>c.value.split(`
3`).length),{$analytics:C}=z();function _(e){["error","execute_result","display_data"].includes(e.msg_type)?r.value.push({output_type:e.msg_type,...e.content}):e.msg_type==="stream"?e.content.name==="stdout"&&r.value.push({output_type:"stream",...e.content,text:le(e.content.text)}):e.msg_type==="status"?e.execution_state==="idle"?i.value=!1:e.execution_state==="busy"&&(i.value=!0):e.msg_type==="execute_reply"&&(e.content.status==="ok"?p.value=!0:p.value=!1,i.value=!1,v("runCompleted",p.value)),e.msg_type==="error"&&C.track("CODE_ERROR",{message:e.content.traceback.join(`
4`)})}async function x(){if(s.showToolbar)try{k.value&&k.value.scrollIntoView({behavior:"smooth",block:"center"}),i.value=!0,U.value=!0,r.value=[],await I.value.runCode(c.value,_,!0,!1),C.track("CODE_RUN",{code:c.value})}catch{_({msg_type:"stream",content:{name:"stderr",text:"Failed to run code"}}),i.value=!1,p.value=!1,v("runCompleted",p.value)}}function O(){s.showToolbar&&(v("shiftRun"),x())}H(async()=>{(s.language==="pyodide"||s.triggerRun)&&await x(s.code)}),X(()=>s.triggerRun,async e=>{e&&await x()});function j(){try{if(!u.currentUser.use_lsp){u.upgradeMessage="Upgrade your plan to enable code completions",u.showUpgradeModal=!0,C.track("UPGRADE_NUDGE_AUTOCOMPLETE");return}u.features.isUsingCodeCompletion=!0}catch(e){console.error(e)}}return(e,t)=>{const A=L,$=P,K=D,V=G;return l(),d("div",{onKeyup:Z(ee(O,["shift"]),["enter"])},[n.showToolbar&&s.language!=="python [main.nopy]"?(l(),d("div",re,[a("button",{class:"text-xs font-medium py-1 rounded text-emerald-700 hover:text-emerald-600",onClick:x,disabled:o(i)},[o(i)?(l(),y(A,{key:0,class:"h-5 w-5"})):(l(),y(o(se),{key:1,class:"h-5 w-5"}))],8,ue),B(e.$slots,"actions")])):f("",!0),B(e.$slots,"actions-panel"),n.showCode?(l(),d("div",ie,[(l(),y($,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=b=>c.value=b),readonly:n.readonly,"max-lines":o(w)>8?o(w):8,"min-lines":o(w),showLineNumbers:!1,fontSize:"1em",triggerFocus:n.triggerFocus,onAceEditorFocus:t[1]||(t[1]=b=>v("aceEditorFocus")),language:o(N),highlights:o(F),sessionId:n.sessionId,key:o(u).features?.isUsingCodeCompletion},null,8,["modelValue","readonly","max-lines","min-lines","triggerFocus","language","highlights","sessionId"])),o(i)?(l(),y(K,{key:0}
4)):f("",!0),a("div",de,[n.showKeyboardShortcut?(l(),d("div",ce,[...t[4]||(t[4]=[h(" Click ",-1),a("span",{class:"text-emerald-500 font-bold"},"Run",-1),h(" or press ",-1),a("span",{class:"text-pink-600 font-semibold bg-default-bg-light px-3 py-1 rounded"},"shift + ENTER",-1),h(" to run code ",-1)])])):f("",!0),n.nc&&n.showUseCompletionsNudge?(l(),d("div",fe,[o(u).loggedIn?(l(),d("div",pe,[a("button",{onClick:t[3]||(t[3]=b=>j()),class:"text-default-text-lighter hover:text-default-text-dark text-xs"}," Enable code completions ")])):(l(),y(V,{key:0,onClick:t[2]||(t[2]=b=>n.nc&&o(u).createCheckpoint(n.nc.notebookRef.value,()=>("navigateTo"in e?e.navigateTo:o(J))(`/login?redirect=${o(M).fullPath}`))),message:"Please log in to enable code completions.",actionButtonText:"Log In",actionButtonClasses:"bg-indigo-700 hover:bg-indigo-600"},{button:Y(()=>[...t[5]||(t[5]=[a("button",{class:"text-default-text-lighter hover:text-default-text-dark text-xs"}," Enable code completions ",-1)])]),_:1}))])):f("",!0)])])):f("",!0),a("div",{ref_key:"outputPanelRef",ref:k},[a("div",me,[r.value&&r.value.length>0||o(u).filesArray.length>0?(l(),d("div",ge,[o(S).includes("FileNotFoundError")?(l(),d("div",ye,[...t[6]||(t[6]=[a("span",{class:"error"},"File not found.",-1),h(),a("br",null,null,-1),h(" 💡 To use files from your computer, upload them individually or click on the folder icon to open the folder you want to use. ",-1)])])):f("",!0),Q(ne,{outputs:r.value,collapsableError:n.collapsableError},null,8,["outputs","collapsableError"])])):f("",!0)])],512)],40,ae)}}};export{Le as default};

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.