Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria

Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaakko Vanhala
2026-04-09 20:17:39 +03:00
parent e3fdb91ac5
commit a8c4af0975
9617 changed files with 996171 additions and 5349 deletions

View File

@@ -0,0 +1,5 @@
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Hy\",\"name\":\"hy\",\"patterns\":[{\"include\":\"#all\"}],\"repository\":{\"all\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constants\"},{\"include\":\"#keywords\"},{\"include\":\"#strings\"},{\"include\":\"#operators\"},{\"include\":\"#keysym\"},{\"include\":\"#builtin\"},{\"include\":\"#symbol\"}]},\"builtin\":{\"patterns\":[{\"match\":\"(?<![-!$%\\\\&*./:<-@^_\\\\w])(abs|all|any|ascii|bin|breakpoint|callable|chr|compile|delattr|dir|divmod|eval|exec|format|getattr|globals|hasattr|hash|hex|id|input|isinstance|issubclass|iter|aiter|len|locals|max|min|next|anext|oct|ord|pow|print|repr|round|setattr|sorted|sum|vars|False|None|True|NotImplemented|bool|memoryview|bytearray|bytes|classmethod|complex|dict|enumerate|filter|float|frozenset|property|int|list|map|object|range|reversed|set|slice|staticmethod|str|super|tuple|type|zip|open|quit|exit|copyright|credits|help)(?![-!$%\\\\&*./:<-@^_\\\\w])\",\"name\":\"storage.builtin.hy\"},{\"match\":\"(?<=\\\\(\\\\s*)\\\\.\\\\.\\\\.(?![-!$%\\\\&*./:<-@^_\\\\w])\",\"name\":\"storage.builtin.dots.hy\"}]},\"comment\":{\"patterns\":[{\"match\":\"(;).*$\",\"name\":\"comment.line.hy\"}]},\"constants\":{\"patterns\":[{\"match\":\"(?<=[(\\\\[{\\\\s])([0-9]+(\\\\.[0-9]+)?|(#x)\\\\h+|(#o)[0-7]+|(#b)[01]+)(?=[]\\\"'(),;\\\\[{}\\\\s])\",\"name\":\"constant.numeric.hy\"}]},\"keysym\":{\"match\":\"(?<![-!$%\\\\&*./:<-@^_\\\\w]):[-!$%\\\\&*./:<-@^_\\\\w]*\",\"name\":\"variable.other.constant\"},\"keywords\":{\"patterns\":[{\"match\":\"(?<![-!$%\\\\&*./:<-@^_\\\\w])(and|await|match|let|annotate|assert|break|chainc|cond|continue|deftype|do|except\\\\*?|finally|else|defreader|([dgls])?for|set[vx]|defclass|defmacro|del|export|eval-and-compile|eval-when-compile|get|global|if|import|(de)?fn|nonlocal|not-in|or|(quasi)?quote|require|return|cut|raise|try|unpack-iterable|unpack-mapping|unquote|unquote-splice|when|while|with|yield|local-macros|in|is|py(s)?|pragma|nonlocal|(is-)?not)(?![-!$%\\\\&*./:<-@^_\\\\w])\",\"name\":\"keyword.control.hy\"},{\"match\":\"(?<=\\\\(\\\\s*)\\\\.(?![-!$%\\\\&*./:<-@^_\\\\w])\",\"name\":\"keyword.control.dot.hy\"}]},\"operators\":{\"patterns\":[{\"match\":\"(?<![-!$%\\\\&*./:<-@^_\\\\w])(\\\\+=?|//?=?|\\\\*\\\\*?=?|--?=?|[!<>]?=|@=?|%=?|<<?=?|>>?=?|&=?|\\\\|=?|\\\\^|~@|~=?|#\\\\*\\\\*?)(?![-!$%\\\\&*./:<-@^_\\\\w])\",\"name\":\"keyword.control.hy\"}]},\"strings\":{\"begin\":\"(f?\\\"|}(?=\\\\N*?[\\\"{]))\",\"end\":\"(\\\"|(?<=[\\\"}]\\\\N*?)\\\\{)\",\"name\":\"string.quoted.double.hy\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.hy\"}]},\"symbol\":{\"match\":\"(?<![-!#-\\\\&*./:<-@^_\\\\w])[-!#$%*./<-Z^_a-zΑ-Ωα-ω][-!#-\\\\&*./:<-@^_\\\\w]*\",\"name\":\"variable.other.hy\"}},\"scopeName\":\"source.hy\"}"))
export default [
lang
]