tweaks to playground

This commit is contained in:
2024-11-08 19:50:26 -08:00
parent ed44d427cd
commit adc967c464
6 changed files with 18 additions and 10 deletions

View File

@@ -8,6 +8,8 @@
- [x] tabs for source, compiler output - [x] tabs for source, compiler output
- [x] Show errors in editor - [x] Show errors in editor
- [x] show tabs on rhs - [x] show tabs on rhs
- [ ] editor is a tab on mobile - [ ] make editor a tab on mobile
- [ ] publish / host on github - (or possibly put the tab bar under the keyboard)
- [ ] multiple files - [x] publish / host on github
- [ ] multiple persistent files
- [x] kill return for autocomplete

View File

@@ -1,6 +1,5 @@
module Day1 module Day1
-- Need to visit Lib.newt for this to work in playground
import Lib import Lib
digits1 : List Char -> List Int digits1 : List Char -> List Int

View File

@@ -1,6 +1,5 @@
module Day2 module Day2
-- Need to visit Lib.newt for this to work in playground
import Lib import Lib
Draw : U Draw : U

View File

@@ -73,7 +73,6 @@ TooBig l u h = Sg Nat (\ x => T23 l (N x) h * T23 (N x) u h)
insert : {h : Nat} {l u : Bnd} -> Intv l u -> T23 l u h -> TooBig l u h + T23 l u h insert : {h : Nat} {l u : Bnd} -> Intv l u -> T23 l u h -> TooBig l u h + T23 l u h
-- Agda is yellow here, needs h = x on each leaf -- Agda is yellow here, needs h = x on each leaf
-- The second arg to the second _,_ is unsolved and pi-typed
insert (intv x lx xu) (leaf lu) = inl (x , (leaf {_} {_} {x} lx , leaf {_} {_} {x} xu)) insert (intv x lx xu) (leaf lu) = inl (x , (leaf {_} {_} {x} lx , leaf {_} {_} {x} xu))
insert (intv x lx xu) (node2 y tly tyu) = case cmp x y of insert (intv x lx xu) (node2 y tly tyu) = case cmp x y of
-- u := N y is not solved at this time -- u := N y is not solved at this time

View File

@@ -74,6 +74,7 @@ function Editor({ initialValue }: EditorProps) {
language: "newt", language: "newt",
theme: "vs", theme: "vs",
automaticLayout: true, automaticLayout: true,
acceptSuggestionOnEnter: "off",
unicodeHighlight: { ambiguousCharacters: false }, unicodeHighlight: { ambiguousCharacters: false },
minimap: { enabled: false }, minimap: { enabled: false },
}); });

View File

@@ -64,9 +64,7 @@ let shim: any = {
let buf2 = new TextEncoder().encode(line); let buf2 = new TextEncoder().encode(line);
handle.buf = Buffer.concat([handle.buf, buf2]) handle.buf = Buffer.concat([handle.buf, buf2])
}, },
chmodSync(fn: string, mode: number) { chmodSync(fn: string, mode: number) { },
console.log('chmod', fn, mode)
},
readSync(fd: number, buf: Buffer, start: number, len: number) { readSync(fd: number, buf: Buffer, start: number, len: number) {
let hand = fds[fd]; let hand = fds[fd];
let avail = hand.buf.byteLength - hand.pos; let avail = hand.buf.byteLength - hand.pos;
@@ -118,8 +116,18 @@ let stdout = ''
process.stdout.write = (s) => { process.stdout.write = (s) => {
stdout += s stdout += s
}; };
// hack for now
const preload = ["Lib.newt"]
onmessage = async function (e) {
for (let fn of preload) {
onmessage = function (e) { if (!files['src/'+fn]) {
console.log('preload', fn)
let res = await fetch(fn)
let text = await res.text()
files['src/'+fn] = text
}
}
let {src} = e.data let {src} = e.data
let module = 'Main' let module = 'Main'
let m = src.match(/module (\w+)/) let m = src.match(/module (\w+)/)