aboutsummaryrefslogtreecommitdiffstats
path: root/language-web/src
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-10-30 21:25:41 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-10-31 19:26:15 +0100
commitac73c31388afdffe7e56236cd619a7a08eb1fac8 (patch)
treed36537cd22412960e49b5c5ef47f349c545edef9 /language-web/src
parentfeat(web): semantic highlighting (diff)
downloadrefinery-ac73c31388afdffe7e56236cd619a7a08eb1fac8.tar.gz
refinery-ac73c31388afdffe7e56236cd619a7a08eb1fac8.tar.zst
refinery-ac73c31388afdffe7e56236cd619a7a08eb1fac8.zip
feat(web): use 4 space for indentation
Diffstat (limited to 'language-web/src')
-rw-r--r--language-web/src/main/js/index.tsx22
-rw-r--r--language-web/src/main/js/language/indentation.ts2
-rw-r--r--language-web/src/main/js/language/problemLanguageSupport.ts5
3 files changed, 16 insertions, 13 deletions
diff --git a/language-web/src/main/js/index.tsx b/language-web/src/main/js/index.tsx
index 13a62af0..595498fc 100644
--- a/language-web/src/main/js/index.tsx
+++ b/language-web/src/main/js/index.tsx
@@ -9,27 +9,27 @@ import { ThemeProvider } from './theme/ThemeProvider';
9import '../css/index.scss'; 9import '../css/index.scss';
10 10
11const initialValue = `class Family { 11const initialValue = `class Family {
12 contains Person[] members 12 contains Person[] members
13} 13}
14 14
15class Person { 15class Person {
16 Person[] children opposite parent 16 Person[] children opposite parent
17 Person[0..1] parent opposite children 17 Person[0..1] parent opposite children
18 int age 18 int age
19 TaxStatus taxStatus 19 TaxStatus taxStatus
20} 20}
21 21
22enum TaxStatus { 22enum TaxStatus {
23 child, student, adult, retired 23 child, student, adult, retired
24} 24}
25 25
26% A child cannot have any dependents. 26% A child cannot have any dependents.
27pred invalidTaxStatus(Person p) <-> 27pred invalidTaxStatus(Person p) <->
28 taxStatus(p, child), 28 taxStatus(p, child),
29 children(p, _q) 29 children(p, _q)
30; taxStatus(p, retired), 30 ; taxStatus(p, retired),
31 parent(p, q), 31 parent(p, q),
32 !taxStatus(q, retired). 32 !taxStatus(q, retired).
33 33
34unique family. 34unique family.
35Family(family). 35Family(family).
diff --git a/language-web/src/main/js/language/indentation.ts b/language-web/src/main/js/language/indentation.ts
index b2f0134b..973b4a80 100644
--- a/language-web/src/main/js/language/indentation.ts
+++ b/language-web/src/main/js/language/indentation.ts
@@ -78,7 +78,7 @@ export function indentDeclaration(context: TreeIndentContext): number {
78export function indentPredicate(context: TreeIndentContext): number { 78export function indentPredicate(context: TreeIndentContext): number {
79 const clauseIndent = indentDeclarationStrategy(context, 1); 79 const clauseIndent = indentDeclarationStrategy(context, 1);
80 if (/^\s+(;|\.)/.exec(context.textAfter) !== null) { 80 if (/^\s+(;|\.)/.exec(context.textAfter) !== null) {
81 return clauseIndent - context.unit; 81 return clauseIndent - 2;
82 } 82 }
83 return clauseIndent; 83 return clauseIndent;
84} 84}
diff --git a/language-web/src/main/js/language/problemLanguageSupport.ts b/language-web/src/main/js/language/problemLanguageSupport.ts
index c9e61b31..80d25d71 100644
--- a/language-web/src/main/js/language/problemLanguageSupport.ts
+++ b/language-web/src/main/js/language/problemLanguageSupport.ts
@@ -3,6 +3,7 @@ import {
3 foldInside, 3 foldInside,
4 foldNodeProp, 4 foldNodeProp,
5 indentNodeProp, 5 indentNodeProp,
6 indentUnit,
6 LanguageSupport, 7 LanguageSupport,
7 LRLanguage, 8 LRLanguage,
8} from '@codemirror/language'; 9} from '@codemirror/language';
@@ -79,5 +80,7 @@ const problemLanguage = LRLanguage.define({
79}); 80});
80 81
81export function problemLanguageSupport(): LanguageSupport { 82export function problemLanguageSupport(): LanguageSupport {
82 return new LanguageSupport(problemLanguage); 83 return new LanguageSupport(problemLanguage, [
84 indentUnit.of(' '),
85 ]);
83} 86}