Browse code

Experimenting with macros

neauoire authored on 20/04/2021 17:48:55
Showing 2 changed files
... ...
@@ -32,9 +32,6 @@ contexts:
32 32
     - match: '\&(\S+)\s?'
33 33
       scope: entity.name.type
34 34
       pop: true
35
-    - match: '\=(\S+)\s?'
36
-      scope: entity.name.type
37
-      pop: true
38 35
 
39 36
     # Pushing to stack
40 37
 
... ...
@@ -53,6 +50,13 @@ contexts:
53 50
       scope: keyword.control
54 51
       pop: true
55 52
 
53
+    - match: '\[\s?'
54
+      scope: comment
55
+      pop: true
56
+    - match: '\]\s?'
57
+      scope: comment
58
+      pop: true
59
+
56 60
 
57 61
       # Blocks
58 62
 
... ...
@@ -3,6 +3,9 @@
3 3
 %++ { #0001 ADD2 } %-- { #0001 SUB2 }
4 4
 %2/ { #0002 DIV2 }
5 5
 
6
+%=>SC/ADDR { .Screen/addr IOW2 }
7
+%->SC/COLR { .Screen/color IOW }
8
+
6 9
 ( variables )
7 10
 
8 11
 @slime $1
... ...
@@ -27,8 +30,8 @@
27 30
 	( set origin )
28 31
 	.Screen/width IOR2 2/ .Screen/x IOW2
29 32
 	.Screen/height IOR2 2/ .Screen/y IOW2
30
-	;default_icn .Screen/addr IOW2
31
-	#31 .Screen/color IOW
33
+	;default_icn =>SC/ADDR
34
+	#31 ->SC/COLR
32 35
 	#2a .slime POK
33 36
 
34 37
 BRK
... ...
@@ -36,7 +39,7 @@ BRK
36 39
 @on-frame
37 40
 
38 41
 	#2a .slime POK
39
-	;default_icn .Screen/addr IOW2
42
+	;default_icn =>SC/ADDR
40 43
 
41 44
 	( hold ctrl key to change slime color )
42 45
 	.Controller/button IOR #0f AND
... ...
@@ -44,34 +47,34 @@ BRK
44 47
 		DUP #02 NEQ ,&no-alt JNZ #2f .slime POK &no-alt
45 48
 	POP
46 49
 
47
-	( clear ) #30 .Screen/color IOW
50
+	( clear ) #30 ->SC/COLR
48 51
 
49 52
 	( detect movement )
50 53
 	.Controller/button IOR #f0 AND
51 54
 		DUP #04 SFT #01 AND #01 NEQ ,&no-up JNZ 
52 55
 			( move ) 
53 56
 			.Screen/y IOR2 -- .Screen/y IOW2 
54
-			;up_icn .Screen/addr IOW2 &no-up
57
+			;up_icn =>SC/ADDR &no-up
55 58
 		DUP #05 SFT #01 AND #01 NEQ ,&no-down JNZ 
56 59
 			( move ) 
57 60
 			.Screen/y IOR2 ++ .Screen/y IOW2 
58
-			;down_icn .Screen/addr IOW2 &no-down
61
+			;down_icn =>SC/ADDR &no-down
59 62
 		DUP #06 SFT #01 AND #01 NEQ ,&no-left JNZ 
60 63
 			( move ) 
61 64
 			.Screen/x IOR2 -- .Screen/x IOW2 
62
-			;left_icn .Screen/addr IOW2 &no-left
65
+			;left_icn =>SC/ADDR &no-left
63 66
 		DUP #07 SFT #01 AND #01 NEQ ,&no-right JNZ 
64 67
 			( move ) 
65 68
 			.Screen/x IOR2 ++ .Screen/x IOW2 
66
-			;right_icn .Screen/addr IOW2 &no-right
69
+			;right_icn =>SC/ADDR &no-right
67 70
 	POP
68 71
 
69 72
 	( draw face )
70
-	#31 .Screen/color IOW
73
+	#31 ->SC/COLR
71 74
 
72 75
 	( draw slime )
73
-	;slime_icn .Screen/addr IOW2
74
-	.slime PEK .Screen/color IOW
76
+	;slime_icn =>SC/ADDR
77
+	.slime PEK ->SC/COLR
75 78
 
76 79
 BRK
77 80