From 748bf89911359bffbfafe354e522f7d656488146 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 13 Sep 2022 20:39:27 +0200 Subject: refactor(language): clarify containment hierarchy --- subprojects/frontend/src/language/problem.grammar | 21 +++++++++++++++------ .../frontend/src/language/problemLanguageSupport.ts | 3 ++- subprojects/frontend/src/theme/ThemeProvider.tsx | 10 +++++----- 3 files changed, 22 insertions(+), 12 deletions(-) (limited to 'subprojects/frontend/src') 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 { (EnumBody { "{" sep<",", IndividualNodeName> "}" } | ".") } | PredicateDefinition { - (ckw<"error"> ckw<"pred">? | ckw<"pred">) + ( + (ckw<"error"> | ckw<"contained"> | ckw<"containment">) ckw<"pred">? | + ckw<"pred"> + ) RelationName ParameterList? PredicateBody { ("<->" sep)? "." } } | @@ -28,23 +31,29 @@ statement { RuleBody { ":" sep "==>" sep "." } } | Assertion { - kw<"default">? (NotOp | UnknownOp)? RelationName + ckw<"default">? (NotOp | UnknownOp)? RelationName ParameterList (":" LogicValue)? "." } | NodeValueAssertion { - IndividualNodeName ":" Constant "." + QualifiedName ":" Constant "." } | IndividualDeclaration { ckw<"indiv"> sep<",", IndividualNodeName> "." } | ScopeDeclaration { - kw<"scope"> sep<",", ScopeElement> "." + ckw<"scope"> sep<",", ScopeElement> "." } } ReferenceDeclaration { - (kw<"refers"> | kw<"contains">)? - RelationName + ( + ExplicitContainmentReference[@dynamicPrecedence=1] { + (ckw<"refers"> | ckw<"contains"> | ckw<"container">) RelationName ~containment + } | + ImplicitContainmentReference { + RelationName ~containment + } + ) ("[" Multiplicity? "]")? RelationName (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({ LineComment: t.lineComment, BlockComment: t.blockComment, 'problem class enum pred rule indiv scope': t.definitionKeyword, - 'abstract extends refers contains opposite error default': t.modifier, + 'abstract extends refers contains container opposite': t.modifier, + 'default error contained containment': t.modifier, 'true false unknown error': t.operatorKeyword, 'may must current count': t.operatorKeyword, '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 = { fontFamily: '"InterVariable", "Inter", "Roboto", "Helvetica", "Arial", sans-serif', fontWeightMedium: 600, - fontWeightEditorNormal: 450, - fontWeightEditorBold: 650, + fontWeightEditorNormal: 400, + fontWeightEditorBold: 700, editor: { fontFamily: '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace', @@ -173,7 +173,7 @@ const lightTheme = createResponsiveTheme({ divider: alpha('#19202b', 0.16), outer: { background: '#f5f5f5', - border: '#d6d7d9', + border: '#c8c8c8', }, highlight: { number: '#0084bc', @@ -200,8 +200,8 @@ const lightTheme = createResponsiveTheme({ const darkTheme = createResponsiveTheme({ typography: { ...typography, - fontWeightEditorNormal: 400, - fontWeightEditorBold: 600, + fontWeightEditorNormal: 350, + fontWeightEditorBold: 650, }, components: { ...components, -- cgit v1.2.3-54-g00ecf