Browse code

Added erase

neauoire authored on 08/03/2021 20:35:30
Showing 1 changed files
... ...
@@ -63,24 +63,35 @@ BRK
63 63
 
64 64
 	( keys )
65 65
 
66
-	,no-keys ~dev/key #00 EQU JMP? POP2
66
+	,keys-end ~dev/key #00 EQU JMP? POP2
67
+
68
+		,no-backspace ~dev/key #08 NEQ JMP? POP2
69
+			( erase )
70
+			~position.x #0001 SUB2 =position.x ,select JSR
71
+			~document.eof #0001 SUB2 =document.eof
72
+			~selection.from =j ( start -> end )
73
+			@erase-loop
74
+				~j #0001 ADD2 LDR ~j STR
75
+				( incr ) ~j #0001 ADD2 =j
76
+				,erase-loop ~j ~document.eof LTH2 JMP? POP2
77
+			( release ) #00 =dev/key
78
+			,redraw JSR
79
+			,keys-end JMP
80
+		@no-backspace
67 81
 
68 82
 		( insert )
69 83
 		~document.eof #0001 ADD2 =document.eof
70
-
71 84
 		~document.eof =j ( end -> start )
72
-
73 85
 		@insert-loop
74
-		~j #0001 SUB2 LDR ~j STR
75
-		( decr ) ~j #0001 SUB2 =j
76
-		,insert-loop ~j ~selection.from GTH2 JMP? POP2
77
-
86
+			~j #0001 SUB2 LDR ~j STR
87
+			( decr ) ~j #0001 SUB2 =j
88
+			,insert-loop ~j ~selection.from GTH2 JMP? POP2
78 89
 		~dev/key ~selection.from STR
79 90
 		~position.x #0001 ADD2 =position.x ,select JSR
80 91
 		( release ) #00 =dev/key
81 92
 		,redraw JSR
82 93
 
83
-	@no-keys
94
+	@keys-end
84 95
 
85 96
 	( mouse )
86 97