Rev 8859 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8859 | Rev 9177 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | (* |
1 | (* |
2 | BSD 2-Clause License |
2 | BSD 2-Clause License |
Line 3... | Line 3... | ||
3 | 3 | ||
4 | Copyright (c) 2018-2020, Anton Krotov |
4 | Copyright (c) 2018-2021, Anton Krotov |
5 | All rights reserved. |
5 | All rights reserved. |
Line 6... | Line 6... | ||
6 | *) |
6 | *) |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | MODULE TEXTDRV; |
8 | MODULE TEXTDRV; |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 10... | Line 10... | ||
10 | IMPORT FILES, C := COLLECTIONS; |
10 | IMPORT FILES, C := COLLECTIONS; |
Line -... | Line 11... | ||
- | 11 | ||
- | 12 | ||
Line 11... | Line 13... | ||
11 | 13 | CONST |
|
Line 12... | Line 14... | ||
12 | 14 | ||
Line 43... | Line 45... | ||
43 | 45 | ||
Line 44... | Line 46... | ||
44 | 46 | ||
- | 47 | VAR |
|
Line 45... | Line 48... | ||
45 | VAR |
48 | |
46 | 49 | texts: C.COLLECTION; |
|
47 | texts: C.COLLECTION; |
50 | TabSize: INTEGER; |
Line 89... | Line 92... | ||
89 | text.eol := TRUE |
92 | text.eol := TRUE |
90 | ELSE |
93 | ELSE |
91 | text.eol := FALSE |
94 | text.eol := FALSE |
92 | END; |
95 | END; |
93 | text.CR := FALSE |
96 | text.CR := FALSE |
94 | ELSE |
97 | ELSIF c = HT THEN |
- | 98 | text.col := text.col + TabSize - text.col MOD TabSize; |
|
95 | text.eol := FALSE; |
99 | text.eol := FALSE; |
- | 100 | text.CR := FALSE |
|
- | 101 | ELSE |
|
96 | IF text.utf8 THEN |
102 | IF text.utf8 THEN |
97 | IF ORD(c) DIV 64 # 2 THEN |
103 | IF ORD(c) DIV 64 # 2 THEN |
98 | INC(text.col) |
104 | INC(text.col) |
99 | END |
105 | END |
100 | ELSE |
106 | ELSE |
101 | INC(text.col) |
107 | INC(text.col) |
102 | END; |
108 | END; |
- | 109 | text.eol := FALSE; |
|
103 | text.CR := FALSE |
110 | text.CR := FALSE |
104 | END |
111 | END |
Line 105... | Line 112... | ||
105 | 112 | ||
Line 185... | Line 192... | ||
185 | 192 | ||
186 | RETURN text |
193 | RETURN text |
Line -... | Line 194... | ||
- | 194 | END open; |
|
- | 195 | ||
- | 196 | ||
- | 197 | PROCEDURE setTabSize* (n: INTEGER); |
|
- | 198 | BEGIN |
|
- | 199 | IF (0 < n) & (n <= 64) THEN |
|
- | 200 | TabSize := n |
|
- | 201 | ELSE |
|
- | 202 | TabSize := defTabSize |
|
- | 203 | END |
|
187 | END open; |
204 | END setTabSize; |
- | 205 | ||
188 | 206 | ||
189 | 207 | BEGIN |
|
190 | BEGIN |
208 | TabSize := defTabSize; |