Skip to content

Commit

Permalink
Fix odd text input issue
Browse files Browse the repository at this point in the history
  • Loading branch information
crummy committed Dec 19, 2024
1 parent b922679 commit b292794
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,17 @@ const initialExample = examples.find(e => e.highlighted)?.title
const option = document.querySelector<HTMLOptionElement>(`#option-${selected}`)!
const grammar = option.dataset.grammar
const input = option.dataset.input
document.querySelector<HTMLDivElement>('#grammar')!.textContent = grammar ?? "";
document.querySelector<HTMLDivElement>('#input')!.textContent = input ?? "";
document.querySelector<HTMLTextAreaElement>('#grammar')!.value = grammar ?? "";
document.querySelector<HTMLTextAreaElement>('#input')!.value = input ?? "";
window.run()
}

window.run = () => {
const grammar = document.querySelector<HTMLDivElement>('#grammar')!
const parser = ppeg.compile(grammar.textContent)
const input = document.querySelector<HTMLDivElement>('#input')!
const parse = parser.parse(input.innerText)
const grammar = document.querySelector<HTMLTextAreaElement>('#grammar')!
const parser = ppeg.compile(grammar.value)
const input = document.querySelector<HTMLTextAreaElement>('#input')!
console.log(grammar.value)
const parse = parser.parse(input.value)
const output = document.querySelector<HTMLDivElement>('#output')!;
const showJson = document.querySelector<HTMLInputElement>('#json')!.checked
if (parse.ok) output.textContent = parse.show_ptree(showJson);
Expand Down Expand Up @@ -151,13 +152,13 @@ const initialExample = examples.find(e => e.highlighted)?.title
</select>
</span>
</div>
<div id='grammar' contenteditable='true' oninput="autoparse()"></div>
<textarea id='grammar' contenteditable='true' oninput="autoparse()"></textarea>
</div>
<div class='input'>
<div class='header'>
<label for="input">Input</label>
</div>
<div id='input' contenteditable='true' oninput="autoparse()"></div>
<textarea id='input' contenteditable='true' oninput="autoparse()"></textarea>
</div>
<div class='output'>
<div class='header'>Parse Tree
Expand Down

0 comments on commit b292794

Please sign in to comment.