diff --git a/web/package.json b/web/package.json index 3eabc0c..bf01033 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "@paddim8/kalk-component", - "version": "1.3.0", + "version": "1.3.1", "description": "A Svelte component for kalk, a calculator that supports user-defined functions and variables.", "svelte": "src/main.ts", "main": "public/build/bundle.js", diff --git a/web/src/KalkCalculator.svelte b/web/src/KalkCalculator.svelte index 12d687c..db6be15 100644 --- a/web/src/KalkCalculator.svelte +++ b/web/src/KalkCalculator.svelte @@ -46,6 +46,7 @@ let inputElement: HTMLTextAreaElement; let highlightedTextElement: HTMLElement; let hasBeenInteractedWith = false; + let ignoreNextInput = false; function setText(text: string) { const [highlighted, offset] = highlight(text); @@ -188,6 +189,11 @@ } function handleInput(e: Event) { + if (ignoreNextInput) { + ignoreNextInput = false; + return; + } + const event = e as InputEvent; const target = event.target as HTMLInputElement; setText(target.value == "\n" ? "" : target.value); @@ -249,6 +255,7 @@ input = ", "; } + ignoreNextInput = true; inputElement.setRangeText( input, inputElement.selectionStart, @@ -256,6 +263,7 @@ "end" ); setText(inputElement.value); + ignoreNextInput = false; offsetCaret(offset); inputElement.focus({ preventScroll: true }); }