Rev 9010 | Rev 9060 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9010 | Rev 9050 | ||
---|---|---|---|
Line 78... | Line 78... | ||
78 | enc*: INTEGER; |
78 | enc*: INTEGER; |
79 | table: Search.IdxTable; |
79 | table: Search.IdxTable; |
80 | foundList: List.tList; |
80 | foundList: List.tList; |
81 | idxData: Search.tBuffer; |
81 | idxData: Search.tBuffer; |
82 | foundSel: INTEGER; |
82 | foundSel: INTEGER; |
83 | searchText: tString |
83 | searchText: tString; |
- | 84 | chLog*: ChangeLog.tLog; |
|
- | 85 | maxLength*: INTEGER |
|
84 | END; |
86 | END; |
Line 85... | Line 87... | ||
85 | 87 | ||
Line 391... | Line 393... | ||
391 | PrintLex(text, line, i, n, y, colors.comment, backColor); |
393 | PrintLex(text, line, i, n, y, colors.comment, backColor); |
392 | i := n |
394 | i := n |
393 | ELSIF (c = "'") OR (c = '"') THEN |
395 | ELSIF (c = "'") OR (c = '"') THEN |
394 | String(text, line, i, y, backColor) |
396 | String(text, line, i, y, backColor) |
395 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
397 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
396 | ident(text, i, i, y, line, backColor, FALSE) |
398 | ident(text, i, i, y, line, backColor, Lang.isCS(lang)) |
397 | ELSIF isFASMdelim(c) THEN |
399 | ELSIF isFASMdelim(c) THEN |
398 | PrintLex(text, line, i, i, y, colors.delim, backColor) |
400 | PrintLex(text, line, i, i, y, colors.delim, backColor) |
399 | ELSIF U.isDigit(c) THEN |
401 | ELSIF U.isDigit(c) THEN |
400 | hex := FALSE; |
402 | hex := FALSE; |
401 | k := i; |
403 | k := i; |
Line 436... | Line 438... | ||
436 | cond := 0 |
438 | cond := 0 |
437 | ELSIF (c = "'") OR (c = '"') THEN |
439 | ELSIF (c = "'") OR (c = '"') THEN |
438 | String(text, line, i, y, backColor); |
440 | String(text, line, i, y, backColor); |
439 | cond := 0 |
441 | cond := 0 |
440 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
442 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
441 | ident(text, i, i - ORD((i > 0) & (getChar(line, i - 1) = "#")), y, line, backColor, TRUE); |
443 | ident(text, i, i - ORD((i > 0) & (getChar(line, i - 1) = "#")), y, line, backColor, Lang.isCS(lang)); |
442 | cond := 0 |
444 | cond := 0 |
443 | ELSIF U.isDigit(c) THEN |
445 | ELSIF U.isDigit(c) THEN |
444 | k := i; |
446 | k := i; |
445 | INC(i); |
447 | INC(i); |
446 | c := getChar(line, i); |
448 | c := getChar(line, i); |
Line 555... | Line 557... | ||
555 | END; |
557 | END; |
556 | DEC(i); |
558 | DEC(i); |
557 | PrintLex(text, line, k, i, y, color, backColor); |
559 | PrintLex(text, line, k, i, y, color, backColor); |
558 | cond := 0 |
560 | cond := 0 |
559 | ELSIF (depth = 0) & (U.isLetter(c) OR (c = "_")) THEN |
561 | ELSIF (depth = 0) & (U.isLetter(c) OR (c = "_")) THEN |
560 | ident(text, i, i, y, line, backColor, TRUE); |
562 | ident(text, i, i, y, line, backColor, Lang.isCS(lang)); |
561 | cond := 0 |
563 | cond := 0 |
562 | ELSIF c = "(" THEN |
564 | ELSIF c = "(" THEN |
563 | cond := 1 |
565 | cond := 1 |
564 | ELSIF c = "*" THEN |
566 | ELSIF c = "*" THEN |
565 | IF cond = 1 THEN |
567 | IF cond = 1 THEN |
Line 643... | Line 645... | ||
643 | END; |
645 | END; |
644 | DEC(i); |
646 | DEC(i); |
645 | PrintLex(text, line, k, i, y, colors.num, backColor); |
647 | PrintLex(text, line, k, i, y, colors.num, backColor); |
646 | cond := 0 |
648 | cond := 0 |
647 | ELSIF U.isLetter(c) OR (c = "_") THEN |
649 | ELSIF U.isLetter(c) OR (c = "_") THEN |
648 | ident(text, i, i, y, line, backColor, TRUE); |
650 | ident(text, i, i, y, line, backColor, Lang.isCS(lang)); |
649 | cond := 0 |
651 | cond := 0 |
650 | ELSE |
652 | ELSE |
651 | cond := 0 |
653 | cond := 0 |
652 | END |
654 | END |
Line 742... | Line 744... | ||
742 | END; |
744 | END; |
743 | DEC(i); |
745 | DEC(i); |
744 | PrintLex(text, line, k, i, y, colors.num, backColor); |
746 | PrintLex(text, line, k, i, y, colors.num, backColor); |
745 | cond := 0 |
747 | cond := 0 |
746 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
748 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
747 | ident(text, i, i, y, line, backColor, FALSE); |
749 | ident(text, i, i, y, line, backColor, Lang.isCS(lang)); |
748 | cond := 0 |
750 | cond := 0 |
749 | ELSE |
751 | ELSE |
750 | cond := 0 |
752 | cond := 0 |
751 | END |
753 | END |
752 | ELSIF depth IN {1, 3} THEN |
754 | ELSIF depth IN {1, 3} THEN |
Line 784... | Line 786... | ||
784 | INC(i) |
786 | INC(i) |
785 | END; |
787 | END; |
786 | DEC(i); |
788 | DEC(i); |
787 | PrintLex(text, line, k, i, y, colors.num, backColor) |
789 | PrintLex(text, line, k, i, y, colors.num, backColor) |
788 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
790 | ELSIF (U.isLetter(c) OR (c = "_")) THEN |
789 | ident(text, i, i, y, line, backColor, TRUE) |
791 | ident(text, i, i, y, line, backColor, Lang.isCS(lang)) |
790 | END |
792 | END |
791 | ELSIF depth = 1 THEN |
793 | ELSIF depth = 1 THEN |
792 | IF c = "]" THEN |
794 | IF c = "]" THEN |
793 | depth := 0 |
795 | depth := 0 |
794 | END |
796 | END |
Line 1177... | Line 1179... | ||
1177 | 1179 | ||
1178 | PROCEDURE scroll* (text: tText; h, v: INTEGER); |
1180 | PROCEDURE scroll* (text: tText; h, v: INTEGER); |
1179 | BEGIN |
1181 | BEGIN |
1180 | INC(text.scroll.X, h); |
1182 | INC(text.scroll.X, h); |
1181 | INC(text.scroll.Y, v); |
1183 | INC(text.scroll.Y, v); |
1182 | text.scroll.X := MIN(MAX(text.scroll.X, 0), Lines.maxLength); |
1184 | text.scroll.X := MIN(MAX(text.scroll.X, 0), text.maxLength); |
1183 | text.scroll.Y := MIN(MAX(text.scroll.Y, 0), text.count - 1) |
1185 | text.scroll.Y := MIN(MAX(text.scroll.Y, 0), text.count - 1) |
Line 1184... | Line 1186... | ||
1184 | END scroll; |
1186 | END scroll; |
Line 1262... | Line 1264... | ||
1262 | guard := item(tGuard); |
1264 | guard := item(tGuard); |
1263 | text.edition := guard; |
1265 | text.edition := guard; |
1264 | text.modified := TRUE |
1266 | text.modified := TRUE |
1265 | END; |
1267 | END; |
Line 1266... | Line 1268... | ||
1266 | 1268 | ||
1267 | item := ChangeLog.Log.first; |
1269 | item := ChangeLog.CL.Log.first; |
1268 | WHILE item # guard DO |
1270 | WHILE item # guard DO |
1269 | ChangeLog.redo(item); |
1271 | ChangeLog.redo(item); |
1270 | item := item.next |
1272 | item := item.next |
1271 | END; |
1273 | END; |
Line 1577... | Line 1579... | ||
1577 | ((x1 > 0) & isWordChar(getChar(curLine, x1 - 1))) OR |
1579 | ((x1 > 0) & isWordChar(getChar(curLine, x1 - 1))) OR |
1578 | ((x2 < curLine.length) & isWordChar(getChar(curLine, x2))) THEN |
1580 | ((x2 < curLine.length) & isWordChar(getChar(curLine, x2))) THEN |
1579 | str := "" |
1581 | str := "" |
1580 | END |
1582 | END |
1581 | END; |
1583 | END; |
1582 | IF search(text, str, TRUE, TRUE) THEN END |
1584 | IF search(text, str, Lang.isCS(text.lang), TRUE) THEN END |
1583 | END wordSel; |
1585 | END wordSel; |
Line 1584... | Line 1586... | ||
1584 | 1586 | ||
1585 | 1587 | ||
Line 1807... | Line 1809... | ||
1807 | IF (text.lang # Lang.langNone) & text.comments THEN |
1809 | IF (text.lang # Lang.langNone) & text.comments THEN |
1808 | Comments(text) |
1810 | Comments(text) |
1809 | END; |
1811 | END; |
1810 | IF text.guard THEN |
1812 | IF text.guard THEN |
1811 | NEW(guard); |
1813 | NEW(guard); |
1812 | List.append(ChangeLog.Log, guard); |
1814 | List.append(ChangeLog.CL.Log, guard); |
1813 | text.edition := guard; |
1815 | text.edition := guard; |
1814 | text.guard := FALSE; |
1816 | text.guard := FALSE; |
1815 | ELSE |
1817 | ELSE |
1816 | guard := text.edition |
1818 | guard := text.edition |
1817 | END; |
1819 | END; |
Line 1942... | Line 1944... | ||
1942 | G.SetColor(canvas, K.borderColor); |
1944 | G.SetColor(canvas, K.borderColor); |
1943 | G.Rect(canvas, 0, 0, size.X - 1, size.Y - 1); |
1945 | G.Rect(canvas, 0, 0, size.X - 1, size.Y - 1); |
1944 | END draw; |
1946 | END draw; |
Line -... | Line 1947... | ||
- | 1947 | ||
- | 1948 | ||
- | 1949 | PROCEDURE switch* (text: tText); |
|
- | 1950 | BEGIN |
|
- | 1951 | ChangeLog.set(text.chLog); |
|
- | 1952 | Lines.setMaxLength(text.maxLength) |
|
- | 1953 | END switch; |
|
1945 | 1954 | ||
1946 | 1955 | ||
1947 | PROCEDURE create (fileName: RW.tFileName): tText; |
1956 | PROCEDURE create (fileName: RW.tFileName): tText; |
1948 | VAR |
1957 | VAR |
1949 | text: tText; |
1958 | text: tText; |
- | 1959 | BEGIN |
|
- | 1960 | NEW(text); |
|
1950 | BEGIN |
1961 | text.maxLength := 64; |
1951 | NEW(text); |
1962 | text.chLog := ChangeLog.create(text.maxLength); |
1952 | NEW(text.cursor); |
1963 | NEW(text.cursor); |
1953 | NEW(text.select2); |
1964 | NEW(text.select2); |
1954 | text.cursor.X := 0; |
1965 | text.cursor.X := 0; |