From 04f5e134b404c3655c152d5bce7b2211d1e1ec17 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Tue, 6 Jul 2021 09:22:02 +0000 Subject: [PATCH] cedit: new version by akron1 git-svn-id: svn://kolibrios.org@9010 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/cedit/CEDIT | Bin 28682 -> 29205 bytes programs/develop/cedit/CEDIT.INI | 5 ++ programs/develop/cedit/README.TXT | 4 + programs/develop/cedit/SRC/CEdit.ob07 | 12 ++- programs/develop/cedit/SRC/Lines.ob07 | 6 ++ programs/develop/cedit/SRC/List.ob07 | 29 +++++++ programs/develop/cedit/SRC/Text.ob07 | 107 +++++++++++++++++++++++--- 7 files changed, 149 insertions(+), 14 deletions(-) diff --git a/programs/develop/cedit/CEDIT b/programs/develop/cedit/CEDIT index 3b4f16b51bd728bf5282de69eca6ced836daa757..94946da8ee2e56fe794cecf9dedb7630f9a36f42 100644 GIT binary patch literal 29205 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

l37xcQt%+NFj5tuQzmq;&OBwp^`FUC% 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 literal 28682 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 diff --git a/programs/develop/cedit/CEDIT.INI b/programs/develop/cedit/CEDIT.INI index d26ed5c9f1..130b3e0c64 100644 --- a/programs/develop/cedit/CEDIT.INI +++ b/programs/develop/cedit/CEDIT.INI @@ -1,3 +1,8 @@ +[paths] +build= +run= +debug= + [color_Dark] text=207,208,209 back=31,34,39 diff --git a/programs/develop/cedit/README.TXT b/programs/develop/cedit/README.TXT index 1b9dcc717e..666674cc22 100644 --- a/programs/develop/cedit/README.TXT +++ b/programs/develop/cedit/README.TXT @@ -13,6 +13,10 @@ ctrl+Z отменить ctrl+Y вернуть ctrl+G перейти на строку... + ctrl+Del удалить строку + ctrl+D дублировать строку + ctrl+Up переместить строку вверх + ctrl+Down переместить строку вниз ctrl+S сохранить ctrl+O открыть diff --git a/programs/develop/cedit/SRC/CEdit.ob07 b/programs/develop/cedit/SRC/CEdit.ob07 index 6e007d379b..f8d1c06624 100644 --- a/programs/develop/cedit/SRC/CEdit.ob07 +++ b/programs/develop/cedit/SRC/CEdit.ob07 @@ -28,7 +28,7 @@ IMPORT RW, Ini, box_lib, Icons; CONST - header = "CEdit (15-jun-2021)"; + header = "CEdit (06-jul-2021)"; ShellFilter = ""; EditFilter = "SH|ASM|TXT|INC|OB07|C|CPP|H|PAS|PP|LUA|INI"; @@ -345,6 +345,9 @@ BEGIN K.DeleteButton(btnNo); confirm := FALSE END; + IF ~search THEN + T.wordSel(text) + END; T.draw(text); K.ClientSize(width, height); y := height - (BOTTOM - scrollWidth) + (BOTTOM - scrollWidth - 16) DIV 2; @@ -1286,11 +1289,11 @@ BEGIN cs := FALSE; whole := FALSE; replaced := 0; + Ini.getStr("paths", "build", buildScript); + Ini.getStr("paths", "run", runScript); + Ini.getStr("paths", "debug", debugScript); draw_window; repaint; - buildScript := ""; - runScript := ""; - debugScript := ""; WHILE TRUE DO CASE K.WaitForEvent() OF |1: @@ -1405,6 +1408,7 @@ BEGIN |30: key := ORD("A") |31: key := -1; save + |32: key := ORD("D") |38: key := ORD("L") |44: T.undo(text); key := -1 diff --git a/programs/develop/cedit/SRC/Lines.ob07 b/programs/develop/cedit/SRC/Lines.ob07 index e1338e2c1c..27b79acade 100644 --- a/programs/develop/cedit/SRC/Lines.ob07 +++ b/programs/develop/cedit/SRC/Lines.ob07 @@ -210,6 +210,12 @@ BEGIN END setChar; +PROCEDURE move* (src, dst: tLine); +BEGIN + SYSTEM.MOVE(src.ptr, dst.ptr, (MIN(src.length, dst.length) + 1)*WCHAR_SIZE) +END move; + + PROCEDURE concat* (line: tLine; s: ARRAY OF WCHAR); VAR Len: INTEGER; diff --git a/programs/develop/cedit/SRC/List.ob07 b/programs/develop/cedit/SRC/List.ob07 index c93b8434c7..a4309a44f7 100644 --- a/programs/develop/cedit/SRC/List.ob07 +++ b/programs/develop/cedit/SRC/List.ob07 @@ -164,6 +164,35 @@ BEGIN END _insert; +PROCEDURE _exchange* (list: tList; a, b: tItem); +VAR + a0, b0: tItem; +BEGIN + IF (a # NIL) & (b # NIL) THEN + ASSERT((a.next = b) & (b.prev = a)); + a0 := a.prev; + b0 := b.next; + movPtr(b.prev, a0); + movPtr(a.next, b0); + movPtr(b.next, a); + movPtr(a.prev, b); + IF (a0 # NIL) & (b0 # NIL) THEN + movPtr(a0.next, b); + movPtr(b0.prev, a); + ELSIF (a0 # NIL) & (b0 = NIL) THEN + movPtr(a0.next, b); + movPtr(list.last, a) + ELSIF (a0 = NIL) & (b0 # NIL) THEN + movPtr(b0.prev, a); + movPtr(list.first, b) + ELSIF (a0 = NIL) & (b0 = NIL) THEN + movPtr(list.first, b); + movPtr(list.last, a) + END + END +END _exchange; + + PROCEDURE append* (list: tList; item: tItem); BEGIN item.prev := list.last; diff --git a/programs/develop/cedit/SRC/Text.ob07 b/programs/develop/cedit/SRC/Text.ob07 index 321e07040d..f66cae6f4b 100644 --- a/programs/develop/cedit/SRC/Text.ob07 +++ b/programs/develop/cedit/SRC/Text.ob07 @@ -1506,6 +1506,83 @@ BEGIN END delLine; +PROCEDURE dupLine (text: tText); +VAR + newLine, curLine: tLine; +BEGIN + curLine := text.curLine; + newLine := Lines.create(FALSE); + Lines.modify(newLine); + modify(text); + Lines.insert3(newLine, 0, curLine.length); + List._insert(text, curLine, newLine); + Lines.move(curLine, newLine) +END dupLine; + + +PROCEDURE exchange (text: tText; first, second: tLine); +BEGIN + List._exchange(text, first, second); + Lines.modify(text.curLine); + modify(text); + UpDown(text, 0) +END exchange; + + +PROCEDURE upLine (text: tText); +BEGIN + IF text.cursor.Y > 0 THEN + DEC(text.cursor.Y); + exchange(text, text.curLine.prev(tLine), text.curLine) + END +END upLine; + + +PROCEDURE downLine (text: tText); +BEGIN + IF text.cursor.Y < text.count - 1 THEN + INC(text.cursor.Y); + exchange(text, text.curLine, text.curLine.next(tLine)) + END +END downLine; + + +PROCEDURE isWordChar (c: WCHAR): BOOLEAN; + RETURN U.isLetter(c) OR U.isDigit(c) OR (c = "_") +END isWordChar; + + +PROCEDURE wordSel* (text: tText); +VAR + n, i, x1, x2: INTEGER; + selBeg, selEnd: tPoint; + str: tString; + curLine: tLine; +BEGIN + curLine := text.curLine; + IF selected(text) & (text.cursor.Y = text.select.Y) THEN + getSelect(text, selBeg, selEnd); + x1 := selBeg.X; + x2 := selEnd.X; + n := getString(curLine, x1, x2 - x1, str); + ELSE + str := "" + END; + IF str # "" THEN + i := 0; + WHILE (i < n) & isWordChar(str[i]) DO + INC(i) + END; + IF (i # n) OR + ((x1 > 0) & isWordChar(getChar(curLine, x1 - 1))) OR + ((x2 < curLine.length) & isWordChar(getChar(curLine, x2))) THEN + str := "" + END + END; + IF search(text, str, TRUE, TRUE) THEN END +END wordSel; + + PROCEDURE key* (text: tText; code: INTEGER; shift: SET); BEGIN IF SHIFT IN shift THEN @@ -1550,7 +1627,11 @@ BEGIN SetPos(text, text.cursor.X - 1, text.cursor.Y) END |38: - UpDown(text, -1) + IF CTRL IN shift THEN + upLine(text) + ELSE + UpDown(text, -1) + END |39: IF (text.cursor.X = text.curLine.length) & (text.curLine.next # NIL) THEN SetPos(text, 0, text.cursor.Y + 1) @@ -1558,10 +1639,17 @@ BEGIN SetPos(text, text.cursor.X + 1, text.cursor.Y) END |40: - UpDown(text, 1) - - |46: delete(text); ShowCursor; drawCursor := TRUE - + IF CTRL IN shift THEN + downLine(text) + ELSE + UpDown(text, 1) + END + |46: + IF CTRL IN shift THEN + delLine(text) + ELSE + delete(text); ShowCursor; drawCursor := TRUE + END |ORD("C"): IF CTRL IN shift THEN IF selected(text) THEN @@ -1592,6 +1680,10 @@ BEGIN IF CTRL IN shift THEN changeCase(text, code = ORD("U")) END + |ORD("D"): + IF CTRL IN shift THEN + dupLine(text) + END ELSE END END key; @@ -1612,11 +1704,6 @@ PROCEDURE selectWord* (text: tText); VAR cursorX, x1, x2: INTEGER; line: tLine; - - PROCEDURE isWordChar (c: WCHAR): BOOLEAN; - RETURN U.isLetter(c) OR U.isDigit(c) OR (c = "_") - END isWordChar; - BEGIN resetSelect(text); cursorX := text.cursor.X;