diff --git a/web/src/languages/asm.ts b/web/src/languages/asm.ts index 9599bd849..b458852ff 100644 --- a/web/src/languages/asm.ts +++ b/web/src/languages/asm.ts @@ -1,16 +1,13 @@ import * as monaco from "monaco-editor/esm/vs/editor/editor.api"; import { base } from "./base"; -export const CmpLanguage: monaco.languages.IMonarchLanguage = { +export const AsmLanguage: monaco.languages.IMonarchLanguage = { tokenizer: { root: [ - // identifiers and keywords - [/@[\w_]+/, "identifier"], - [/\([\w_]+)/, "identifier"], - [ - /([AMD]+=)?(0|-?1|!?[ADM][-+&|][ADM])(;J(GT|EQ|LT|NE|LE|MP))?/, - "identifier", - ], + [/(JGT|JLT|JGE|JLE|JEQ|JMP|[AMD]{1,3}|R\d+)/, "keyword"], + [/(\+|-|!|=|&&|\|\|)/, "operators"], + [/[\d]+/, "number"], + [/[\w_]+/, "identifier"], // whitespace { include: "@whitespace" }, diff --git a/web/src/languages/base.ts b/web/src/languages/base.ts index 46eb4cf25..37f6628f7 100644 --- a/web/src/languages/base.ts +++ b/web/src/languages/base.ts @@ -10,7 +10,6 @@ export const base: monaco.languages.IMonarchLanguage = { string: [ [/[^\\"]+/, "string"], - [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [/"/, { token: "string.quote", bracket: "@close", next: "@pop" }], ], diff --git a/web/src/languages/hdl.ts b/web/src/languages/hdl.ts index a5eba24b4..24b18222a 100644 --- a/web/src/languages/hdl.ts +++ b/web/src/languages/hdl.ts @@ -108,6 +108,7 @@ export const HdlLanguage: monaco.languages.IMonarchLanguage = { // characters [/'[^\\']'/, "string"], [/(')(@escapes)(')/, ["string", "string.escape", "string"]], + [/@escapes/, "string.escape"], [/'/, "string.invalid"], ], diff --git a/web/src/languages/loader.js b/web/src/languages/loader.js index fdc161358..47c6af486 100644 --- a/web/src/languages/loader.js +++ b/web/src/languages/loader.js @@ -2,11 +2,13 @@ import { loader } from "@monaco-editor/react"; import { CmpLanguage } from "./cmp"; import { HdlLanguage } from "./hdl"; import { TstLanguage } from "./tst"; +import { AsmLanguage } from "./asm"; const LANGUAGES = { hdl: HdlLanguage, cmp: CmpLanguage, tst: TstLanguage, + asm: AsmLanguage, }; export async function registerLanguages() { diff --git a/web/src/pages/vm.tsx b/web/src/pages/vm.tsx index 616a17edf..d0ebebe41 100644 --- a/web/src/pages/vm.tsx +++ b/web/src/pages/vm.tsx @@ -212,7 +212,6 @@ const VM = () => { tst={[tst, setTst, state.test.highlight]} out={[out, setOut]} cmp={[cmp, setCmp]} - onLoadTest={actions.loadTest} onSpeedChange={onSpeedChange} /> )}