From bf5eb54932ef9c20a251e9cdf9d1f89578eac91a Mon Sep 17 00:00:00 2001 From: Yura Dupyn <2153100+omedusyo@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:26:32 +0100 Subject: [PATCH] Reorganize ui --- src/ui/{ => Component}/CodeEditor.tsx | 0 src/ui/{ => Component}/Expr.tsx | 2 +- src/ui/{ => Component}/LineView.tsx | 0 src/ui/{ => Component}/ParseError.tsx | 0 src/ui/{ => Component}/Value.tsx | 2 +- src/ui/{Controls.tsx => Controls/index.tsx} | 2 +- src/ui/{ => Digith}/DigithError.tsx | 2 +- src/ui/{ => Digith}/Function/FunctionDigith.tsx | 12 ++++++------ src/ui/{ => Digith}/Function/Helpers.tsx | 2 +- .../Function/NewFunctionDraftDigith.tsx | 14 ++++++++------ src/ui/{ => Digith}/REPL.tsx | 8 ++++---- src/ui/{Digith.tsx => Digith/index.tsx} | 2 +- src/ui/Function.tsx | 0 src/ui/FunctionList.tsx | 0 src/ui/{Scrowl.tsx => Scrowl/index.tsx} | 8 ++++---- src/ui/{ => Scrowl}/scrowlStore.ts | 2 +- src/ui/Sidebar.tsx | 2 +- src/ui/validation.ts | 1 + 18 files changed, 31 insertions(+), 28 deletions(-) rename src/ui/{ => Component}/CodeEditor.tsx (100%) rename src/ui/{ => Component}/Expr.tsx (98%) rename src/ui/{ => Component}/LineView.tsx (100%) rename src/ui/{ => Component}/ParseError.tsx (100%) rename src/ui/{ => Component}/Value.tsx (96%) rename src/ui/{Controls.tsx => Controls/index.tsx} (91%) rename src/ui/{ => Digith}/DigithError.tsx (98%) rename src/ui/{ => Digith}/Function/FunctionDigith.tsx (92%) rename src/ui/{ => Digith}/Function/Helpers.tsx (95%) rename src/ui/{ => Digith}/Function/NewFunctionDraftDigith.tsx (91%) rename src/ui/{ => Digith}/REPL.tsx (92%) rename src/ui/{Digith.tsx => Digith/index.tsx} (90%) delete mode 100644 src/ui/Function.tsx delete mode 100644 src/ui/FunctionList.tsx rename src/ui/{Scrowl.tsx => Scrowl/index.tsx} (90%) rename src/ui/{ => Scrowl}/scrowlStore.ts (98%) diff --git a/src/ui/CodeEditor.tsx b/src/ui/Component/CodeEditor.tsx similarity index 100% rename from src/ui/CodeEditor.tsx rename to src/ui/Component/CodeEditor.tsx diff --git a/src/ui/Expr.tsx b/src/ui/Component/Expr.tsx similarity index 98% rename from src/ui/Expr.tsx rename to src/ui/Component/Expr.tsx index 427234f..afe2dae 100644 --- a/src/ui/Expr.tsx +++ b/src/ui/Component/Expr.tsx @@ -1,4 +1,4 @@ -import { Expr, FieldAssignment, FieldPattern, Literal, Pattern, ProductPattern } from "../lang/expr"; +import { Expr, FieldAssignment, FieldPattern, Literal, Pattern, ProductPattern } from "src/lang/expr"; export function Expression(prop: { expr: Expr }) { return ( diff --git a/src/ui/LineView.tsx b/src/ui/Component/LineView.tsx similarity index 100% rename from src/ui/LineView.tsx rename to src/ui/Component/LineView.tsx diff --git a/src/ui/ParseError.tsx b/src/ui/Component/ParseError.tsx similarity index 100% rename from src/ui/ParseError.tsx rename to src/ui/Component/ParseError.tsx diff --git a/src/ui/Value.tsx b/src/ui/Component/Value.tsx similarity index 96% rename from src/ui/Value.tsx rename to src/ui/Component/Value.tsx index e41b350..08dec9c 100644 --- a/src/ui/Value.tsx +++ b/src/ui/Component/Value.tsx @@ -1,4 +1,4 @@ -import { Closure, Value, Env, EnvFrame } from '../lang/eval/value'; +import { Closure, Value, Env, EnvFrame } from 'src/lang/eval/value'; import { exprToString, productPatternToString } from './Expr'; export function Val(prop: { value: Value }) { diff --git a/src/ui/Controls.tsx b/src/ui/Controls/index.tsx similarity index 91% rename from src/ui/Controls.tsx rename to src/ui/Controls/index.tsx index 97d5110..e8111ad 100644 --- a/src/ui/Controls.tsx +++ b/src/ui/Controls/index.tsx @@ -1,4 +1,4 @@ -import { spawnNewFunctionDraftDigith } from "./scrowlStore"; +import { spawnNewFunctionDraftDigith } from "src/ui/Scrowl/scrowlStore"; type Props = { // TODO diff --git a/src/ui/DigithError.tsx b/src/ui/Digith/DigithError.tsx similarity index 98% rename from src/ui/DigithError.tsx rename to src/ui/Digith/DigithError.tsx index a395925..231cd4a 100644 --- a/src/ui/DigithError.tsx +++ b/src/ui/Digith/DigithError.tsx @@ -1,7 +1,7 @@ import { For, Match, Show, Switch } from "solid-js"; import { ParseError } from "src/lang/parser/parser"; import { SourceText } from "src/lang/parser/source_text"; -import { ShowParseError } from "./ParseError"; +import { ShowParseError } from 'src/ui/Component/ParseError'; import { Program } from "src/lang/program"; export type DigithError = { diff --git a/src/ui/Function/FunctionDigith.tsx b/src/ui/Digith/Function/FunctionDigith.tsx similarity index 92% rename from src/ui/Function/FunctionDigith.tsx rename to src/ui/Digith/Function/FunctionDigith.tsx index b5bbbbd..22cb4d6 100644 --- a/src/ui/Function/FunctionDigith.tsx +++ b/src/ui/Digith/Function/FunctionDigith.tsx @@ -1,13 +1,13 @@ import { createSignal, Show } from "solid-js"; -import { Digith } from "../Digith"; -import { useProgram } from "../ProgramProvider"; -import { CodeEditor } from "../CodeEditor"; +import { Digith } from "src/ui/Digith"; +import { useProgram } from "src/ui/ProgramProvider"; +import { CodeEditor } from "src/ui/Component/CodeEditor"; import { sourceText } from "src/lang/parser/source_text"; import { Program } from "src/lang/program"; -import { V, Validation, letValidate } from "../validation"; +import { V, Validation, letValidate } from "src/ui/validation"; import { validateExprRaw, validateParamsRaw } from "./Helpers"; -import { updateDigith } from "../scrowlStore"; -import { DigithError } from "../DigithError"; +import { updateDigith } from "src/ui/Scrowl/scrowlStore"; +import { DigithError } from "src/ui/Digith/DigithError"; type Input = { raw_params: string, diff --git a/src/ui/Function/Helpers.tsx b/src/ui/Digith/Function/Helpers.tsx similarity index 95% rename from src/ui/Function/Helpers.tsx rename to src/ui/Digith/Function/Helpers.tsx index f2aa286..2df31b4 100644 --- a/src/ui/Function/Helpers.tsx +++ b/src/ui/Digith/Function/Helpers.tsx @@ -1,7 +1,7 @@ import { ParseError, parseExpr, parseFunctionName, parseFunctionParameters } from "src/lang/parser/parser"; import { sourceText } from "src/lang/parser/source_text"; import { Expr, FunctionName, ProductPattern } from "src/lang/expr"; -import { V } from "../validation"; +import { V } from "src/ui/validation"; // === Parser wrappers === export function validateNameRaw(input: string): V { diff --git a/src/ui/Function/NewFunctionDraftDigith.tsx b/src/ui/Digith/Function/NewFunctionDraftDigith.tsx similarity index 91% rename from src/ui/Function/NewFunctionDraftDigith.tsx rename to src/ui/Digith/Function/NewFunctionDraftDigith.tsx index 59868ac..8c9bef6 100644 --- a/src/ui/Function/NewFunctionDraftDigith.tsx +++ b/src/ui/Digith/Function/NewFunctionDraftDigith.tsx @@ -1,13 +1,15 @@ import { createSignal } from "solid-js"; -import { Digith } from "../Digith"; -import { useProgram } from "../ProgramProvider"; -import { CodeEditor } from "../CodeEditor"; +import { Digith } from "src/ui/Digith"; +import { useProgram } from "src/ui/ProgramProvider"; +import { CodeEditor } from "src/ui/Component/CodeEditor"; import { sourceText } from "src/lang/parser/source_text"; import { Program } from "src/lang/program"; -import { V, Validation, letValidate } from "../validation"; +import { V, Validation, letValidate } from "src/ui/validation"; import { validateExprRaw, validateNameRaw, validateParamsRaw } from "./Helpers"; -import { spawnFunctionDigith } from "../scrowlStore"; -import { DigithError } from "../DigithError"; +import { spawnFunctionDigith } from "src/ui/Scrowl/scrowlStore"; +import { DigithError } from "src/ui/Digith/DigithError"; + + type Input = { raw_name: string, diff --git a/src/ui/REPL.tsx b/src/ui/Digith/REPL.tsx similarity index 92% rename from src/ui/REPL.tsx rename to src/ui/Digith/REPL.tsx index 451f84b..7dc9cd0 100644 --- a/src/ui/REPL.tsx +++ b/src/ui/Digith/REPL.tsx @@ -1,13 +1,13 @@ import { createSignal, Match, Switch } from 'solid-js'; -import { useProgram } from './ProgramProvider'; +import { useProgram } from 'src/ui/ProgramProvider'; import { eval_start } from 'src/lang/eval/evaluator'; import { Value } from 'src/lang/eval/value'; import { RuntimeError } from 'src/lang/eval/error'; import { SourceText, sourceText } from 'src/lang/parser/source_text'; import { ParseError, parseExpr } from 'src/lang/parser/parser'; -import { ShowParseError } from './ParseError'; -import { Val } from './Value'; -import { CodeEditor } from './CodeEditor'; +import { ShowParseError } from 'src/ui/Component/ParseError'; +import { Val } from 'src/ui/Component/Value'; +import { CodeEditor } from 'src/ui/Component/CodeEditor'; namespace ReplResult { export type Idle = diff --git a/src/ui/Digith.tsx b/src/ui/Digith/index.tsx similarity index 90% rename from src/ui/Digith.tsx rename to src/ui/Digith/index.tsx index 93b8ae5..db13e64 100644 --- a/src/ui/Digith.tsx +++ b/src/ui/Digith/index.tsx @@ -1,5 +1,5 @@ import { FunctionName } from "src/lang/expr"; -import { DigithId } from "./scrowlStore"; +import { DigithId } from "src/ui/Scrowl/scrowlStore"; export type Digith = | Digith.Repl diff --git a/src/ui/Function.tsx b/src/ui/Function.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/ui/FunctionList.tsx b/src/ui/FunctionList.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/ui/Scrowl.tsx b/src/ui/Scrowl/index.tsx similarity index 90% rename from src/ui/Scrowl.tsx rename to src/ui/Scrowl/index.tsx index 197389e..8ca1bc5 100644 --- a/src/ui/Scrowl.tsx +++ b/src/ui/Scrowl/index.tsx @@ -1,9 +1,9 @@ import { createEffect, For, Match, onMount, Switch } from "solid-js"; -import { ExprREPL } from "./REPL"; +import { ExprREPL } from "src/ui/Digith/REPL"; import { clearFocus, DigithId, scrowl } from "./scrowlStore"; -import { NewFunctionDraftDigith } from "./Function/NewFunctionDraftDigith"; -import { FunctionDigith } from "./Function/FunctionDigith"; -import { Digith } from "./Digith"; +import { NewFunctionDraftDigith } from "src/ui/Digith/Function/NewFunctionDraftDigith"; +import { FunctionDigith } from "src/ui/Digith/Function/FunctionDigith"; +import { Digith } from "src/ui/Digith"; // WTF are these names? // Scrowl diff --git a/src/ui/scrowlStore.ts b/src/ui/Scrowl/scrowlStore.ts similarity index 98% rename from src/ui/scrowlStore.ts rename to src/ui/Scrowl/scrowlStore.ts index 4c7756d..ba85929 100644 --- a/src/ui/scrowlStore.ts +++ b/src/ui/Scrowl/scrowlStore.ts @@ -1,5 +1,5 @@ import { createStore } from "solid-js/store"; -import { Digith } from "./Digith"; +import { Digith } from "src/ui/Digith"; import { Program } from "src/lang/program"; import { FunctionName } from "src/lang/expr"; diff --git a/src/ui/Sidebar.tsx b/src/ui/Sidebar.tsx index 996f852..c835aff 100644 --- a/src/ui/Sidebar.tsx +++ b/src/ui/Sidebar.tsx @@ -1,4 +1,4 @@ -import { Controls } from "./Controls"; +import { Controls } from "./Controls/index"; import { ProgramMeta } from "./ProgramMeta"; export function Sidebar() { diff --git a/src/ui/validation.ts b/src/ui/validation.ts index 6cc54cd..8c2148d 100644 --- a/src/ui/validation.ts +++ b/src/ui/validation.ts @@ -98,3 +98,4 @@ export function letValidate, E, B>( } }; } +