diff options
Diffstat (limited to 'subprojects/frontend')
-rw-r--r-- | subprojects/frontend/package.json | 16 | ||||
-rw-r--r-- | subprojects/frontend/src/language/problem.grammar | 21 | ||||
-rw-r--r-- | subprojects/frontend/src/language/problemLanguageSupport.ts | 3 | ||||
-rw-r--r-- | subprojects/frontend/src/theme/ThemeProvider.tsx | 10 |
4 files changed, 30 insertions, 20 deletions
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json index 4ecf2efb..02c6e026 100644 --- a/subprojects/frontend/package.json +++ b/subprojects/frontend/package.json | |||
@@ -23,7 +23,7 @@ | |||
23 | }, | 23 | }, |
24 | "homepage": "https://refinery.tools", | 24 | "homepage": "https://refinery.tools", |
25 | "dependencies": { | 25 | "dependencies": { |
26 | "@codemirror/autocomplete": "^6.1.1", | 26 | "@codemirror/autocomplete": "^6.2.0", |
27 | "@codemirror/commands": "^6.1.0", | 27 | "@codemirror/commands": "^6.1.0", |
28 | "@codemirror/language": "^6.2.1", | 28 | "@codemirror/language": "^6.2.1", |
29 | "@codemirror/lint": "^6.0.0", | 29 | "@codemirror/lint": "^6.0.0", |
@@ -39,7 +39,7 @@ | |||
39 | "@lezer/lr": "^1.2.3", | 39 | "@lezer/lr": "^1.2.3", |
40 | "@material-icons/svg": "^1.0.33", | 40 | "@material-icons/svg": "^1.0.33", |
41 | "@mui/icons-material": "5.10.3", | 41 | "@mui/icons-material": "5.10.3", |
42 | "@mui/material": "5.10.4", | 42 | "@mui/material": "5.10.5", |
43 | "ansi-styles": "^6.1.1", | 43 | "ansi-styles": "^6.1.1", |
44 | "escape-string-regexp": "^5.0.0", | 44 | "escape-string-regexp": "^5.0.0", |
45 | "lodash-es": "^4.17.21", | 45 | "lodash-es": "^4.17.21", |
@@ -53,7 +53,7 @@ | |||
53 | "react": "^18.2.0", | 53 | "react": "^18.2.0", |
54 | "react-dom": "^18.2.0", | 54 | "react-dom": "^18.2.0", |
55 | "xstate": "^4.33.6", | 55 | "xstate": "^4.33.6", |
56 | "zod": "^3.19.0" | 56 | "zod": "^3.19.1" |
57 | }, | 57 | }, |
58 | "devDependencies": { | 58 | "devDependencies": { |
59 | "@lezer/generator": "^1.1.1", | 59 | "@lezer/generator": "^1.1.1", |
@@ -61,16 +61,16 @@ | |||
61 | "@types/html-minifier-terser": "^7.0.0", | 61 | "@types/html-minifier-terser": "^7.0.0", |
62 | "@types/lodash-es": "^4.17.6", | 62 | "@types/lodash-es": "^4.17.6", |
63 | "@types/ms": "^0.7.31", | 63 | "@types/ms": "^0.7.31", |
64 | "@types/node": "^18.7.16", | 64 | "@types/node": "^18.7.18", |
65 | "@types/prettier": "^2.7.0", | 65 | "@types/prettier": "^2.7.0", |
66 | "@types/react": "^18.0.19", | 66 | "@types/react": "^18.0.20", |
67 | "@types/react-dom": "^18.0.6", | 67 | "@types/react-dom": "^18.0.6", |
68 | "@typescript-eslint/eslint-plugin": "^5.36.2", | 68 | "@typescript-eslint/eslint-plugin": "^5.37.0", |
69 | "@typescript-eslint/parser": "^5.36.2", | 69 | "@typescript-eslint/parser": "^5.37.0", |
70 | "@vitejs/plugin-react": "^2.1.0", | 70 | "@vitejs/plugin-react": "^2.1.0", |
71 | "@xstate/cli": "^0.3.3", | 71 | "@xstate/cli": "^0.3.3", |
72 | "cross-env": "^7.0.3", | 72 | "cross-env": "^7.0.3", |
73 | "eslint": "^8.23.0", | 73 | "eslint": "^8.23.1", |
74 | "eslint-config-airbnb": "^19.0.4", | 74 | "eslint-config-airbnb": "^19.0.4", |
75 | "eslint-config-airbnb-typescript": "^17.0.0", | 75 | "eslint-config-airbnb-typescript": "^17.0.0", |
76 | "eslint-config-prettier": "^8.5.0", | 76 | "eslint-config-prettier": "^8.5.0", |
diff --git a/subprojects/frontend/src/language/problem.grammar b/subprojects/frontend/src/language/problem.grammar index 95861110..7feb6bfe 100644 --- a/subprojects/frontend/src/language/problem.grammar +++ b/subprojects/frontend/src/language/problem.grammar | |||
@@ -18,7 +18,10 @@ statement { | |||
18 | (EnumBody { "{" sep<",", IndividualNodeName> "}" } | ".") | 18 | (EnumBody { "{" sep<",", IndividualNodeName> "}" } | ".") |
19 | } | | 19 | } | |
20 | PredicateDefinition { | 20 | PredicateDefinition { |
21 | (ckw<"error"> ckw<"pred">? | ckw<"pred">) | 21 | ( |
22 | (ckw<"error"> | ckw<"contained"> | ckw<"containment">) ckw<"pred">? | | ||
23 | ckw<"pred"> | ||
24 | ) | ||
22 | RelationName ParameterList<Parameter>? | 25 | RelationName ParameterList<Parameter>? |
23 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } | 26 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } |
24 | } | | 27 | } | |
@@ -28,23 +31,29 @@ statement { | |||
28 | RuleBody { ":" sep<OrOp, Conjunction> "==>" sep<OrOp, Consequent> "." } | 31 | RuleBody { ":" sep<OrOp, Conjunction> "==>" sep<OrOp, Consequent> "." } |
29 | } | | 32 | } | |
30 | Assertion { | 33 | Assertion { |
31 | kw<"default">? (NotOp | UnknownOp)? RelationName | 34 | ckw<"default">? (NotOp | UnknownOp)? RelationName |
32 | ParameterList<AssertionArgument> (":" LogicValue)? "." | 35 | ParameterList<AssertionArgument> (":" LogicValue)? "." |
33 | } | | 36 | } | |
34 | NodeValueAssertion { | 37 | NodeValueAssertion { |
35 | IndividualNodeName ":" Constant "." | 38 | QualifiedName ":" Constant "." |
36 | } | | 39 | } | |
37 | IndividualDeclaration { | 40 | IndividualDeclaration { |
38 | ckw<"indiv"> sep<",", IndividualNodeName> "." | 41 | ckw<"indiv"> sep<",", IndividualNodeName> "." |
39 | } | | 42 | } | |
40 | ScopeDeclaration { | 43 | ScopeDeclaration { |
41 | kw<"scope"> sep<",", ScopeElement> "." | 44 | ckw<"scope"> sep<",", ScopeElement> "." |
42 | } | 45 | } |
43 | } | 46 | } |
44 | 47 | ||
45 | ReferenceDeclaration { | 48 | ReferenceDeclaration { |
46 | (kw<"refers"> | kw<"contains">)? | 49 | ( |
47 | RelationName | 50 | ExplicitContainmentReference[@dynamicPrecedence=1] { |
51 | (ckw<"refers"> | ckw<"contains"> | ckw<"container">) RelationName ~containment | ||
52 | } | | ||
53 | ImplicitContainmentReference { | ||
54 | RelationName ~containment | ||
55 | } | ||
56 | ) | ||
48 | ("[" Multiplicity? "]")? | 57 | ("[" Multiplicity? "]")? |
49 | RelationName | 58 | RelationName |
50 | (kw<"opposite"> RelationName)? | 59 | (kw<"opposite"> RelationName)? |
diff --git a/subprojects/frontend/src/language/problemLanguageSupport.ts b/subprojects/frontend/src/language/problemLanguageSupport.ts index 07a884e7..03a7c4cc 100644 --- a/subprojects/frontend/src/language/problemLanguageSupport.ts +++ b/subprojects/frontend/src/language/problemLanguageSupport.ts | |||
@@ -27,7 +27,8 @@ const parserWithMetadata = parser.configure({ | |||
27 | LineComment: t.lineComment, | 27 | LineComment: t.lineComment, |
28 | BlockComment: t.blockComment, | 28 | BlockComment: t.blockComment, |
29 | 'problem class enum pred rule indiv scope': t.definitionKeyword, | 29 | 'problem class enum pred rule indiv scope': t.definitionKeyword, |
30 | 'abstract extends refers contains opposite error default': t.modifier, | 30 | 'abstract extends refers contains container opposite': t.modifier, |
31 | 'default error contained containment': t.modifier, | ||
31 | 'true false unknown error': t.operatorKeyword, | 32 | 'true false unknown error': t.operatorKeyword, |
32 | 'may must current count': t.operatorKeyword, | 33 | 'may must current count': t.operatorKeyword, |
33 | 'new delete': t.keyword, | 34 | 'new delete': t.keyword, |
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx index ffb18a06..550b3b30 100644 --- a/subprojects/frontend/src/theme/ThemeProvider.tsx +++ b/subprojects/frontend/src/theme/ThemeProvider.tsx | |||
@@ -70,8 +70,8 @@ const typography: TypographyVariantsOptions = { | |||
70 | fontFamily: | 70 | fontFamily: |
71 | '"InterVariable", "Inter", "Roboto", "Helvetica", "Arial", sans-serif', | 71 | '"InterVariable", "Inter", "Roboto", "Helvetica", "Arial", sans-serif', |
72 | fontWeightMedium: 600, | 72 | fontWeightMedium: 600, |
73 | fontWeightEditorNormal: 450, | 73 | fontWeightEditorNormal: 400, |
74 | fontWeightEditorBold: 650, | 74 | fontWeightEditorBold: 700, |
75 | editor: { | 75 | editor: { |
76 | fontFamily: | 76 | fontFamily: |
77 | '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace', | 77 | '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace', |
@@ -173,7 +173,7 @@ const lightTheme = createResponsiveTheme({ | |||
173 | divider: alpha('#19202b', 0.16), | 173 | divider: alpha('#19202b', 0.16), |
174 | outer: { | 174 | outer: { |
175 | background: '#f5f5f5', | 175 | background: '#f5f5f5', |
176 | border: '#d6d7d9', | 176 | border: '#c8c8c8', |
177 | }, | 177 | }, |
178 | highlight: { | 178 | highlight: { |
179 | number: '#0084bc', | 179 | number: '#0084bc', |
@@ -200,8 +200,8 @@ const lightTheme = createResponsiveTheme({ | |||
200 | const darkTheme = createResponsiveTheme({ | 200 | const darkTheme = createResponsiveTheme({ |
201 | typography: { | 201 | typography: { |
202 | ...typography, | 202 | ...typography, |
203 | fontWeightEditorNormal: 400, | 203 | fontWeightEditorNormal: 350, |
204 | fontWeightEditorBold: 600, | 204 | fontWeightEditorBold: 650, |
205 | }, | 205 | }, |
206 | components: { | 206 | components: { |
207 | ...components, | 207 | ...components, |