ichange global movement commands -- g+[gGmhjkl] - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70
1Log /scm/gramscii/log.gph bitreich.org 70
1Files /scm/gramscii/files.gph bitreich.org 70
1Refs /scm/gramscii/refs.gph bitreich.org 70
1Tags /scm/gramscii/tag bitreich.org 70
1README /scm/gramscii/file/README.md.gph bitreich.org 70
1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 557124afa12af33f8453f04beab1ebfbe1e7a593 /scm/gramscii/commit/557124afa12af33f8453f04beab1ebfbe1e7a593.gph bitreich.org 70
1parent f73faa7a82282660413e4056486e452af61832c0 /scm/gramscii/commit/f73faa7a82282660413e4056486e452af61832c0.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Mon, 22 Jul 2019 13:54:48 +0100 Err bitreich.org 70
i Err bitreich.org 70
ichange global movement commands -- g+[gGmhjkl] Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M TODO | 25 +++++++++++++++---------- Err bitreich.org 70
i M gramscii.c | 49 ++++++++++++++++++++++++------- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 54 insertions(+), 20 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/TODO b/TODO /scm/gramscii/file/TODO.gph bitreich.org 70
i@@ -1,27 +1,32 @@ Err bitreich.org 70
i + optimize redraws (i.e., avoid to redraw if possible) Err bitreich.org 70
i - move configs in config.h Err bitreich.org 70
i - add Makefile Err bitreich.org 70
i-- auto-arrow 'A' (automatic end-char) Err bitreich.org 70
i-- change screen management (i.e., use an array of lines) Err bitreich.org 70
i+- change screen management (i.e., dynamic array of lines) Err bitreich.org 70
i+- get screen geometry Err bitreich.org 70
i+- add action multiplier (e.g., "7h" moves left by 7 cols) Err bitreich.org 70
i+- use [ENTER] to confirm arrow, boxes, and text (useful for scripting) Err bitreich.org 70
i+- add scripting mode option ("-s"?) Err bitreich.org 70
i+- add screen geometry option (-g 25x80?) Err bitreich.org 70
i - read file at point Err bitreich.org 70
i - parse control characters Err bitreich.org 70
i - parse arrows (text-mode will allow movements as well) Err bitreich.org 70
i-- implement CTRL+G as abort (aside ESC) Err bitreich.org 70
i-- change "g" command: Err bitreich.org 70
i- - g-g (goto top-left) Err bitreich.org 70
i- - g-G (goto bottom-right) Err bitreich.org 70
i- - g-m (goto middle) Err bitreich.org 70
i- - g-[hjkl] (goto leftmost, bottom, top, rightmost) Err bitreich.org 70
i+- (?) implement CTRL+G as abort (aside ESC) Err bitreich.org 70
i+- add crop command (c) Err bitreich.org 70
i + visual selection Err bitreich.org 70
i- - crop Err bitreich.org 70
i+ - crop-to Err bitreich.org 70
i - yank/put Err bitreich.org 70
i * fill Err bitreich.org 70
i * delete Err bitreich.org 70
i - undo (by storing lines changed across insert/remove operations) Err bitreich.org 70
i - manage special chars (DEL/CANC) during text insert Err bitreich.org 70
i (also do not print unmanaged chars!) Err bitreich.org 70
i-- get screen geometry Err bitreich.org 70
i - allow scrolling (both vertical and horizontal) Err bitreich.org 70
i+- auto-arrow 'A' (automatic end-char) Err bitreich.org 70
i+* change "g" command: Err bitreich.org 70
i+ - g-g (goto top-left) Err bitreich.org 70
i+ - g-G (goto bottom-right) Err bitreich.org 70
i+ - g-m (goto middle) Err bitreich.org 70
i+ - g-[hjkl] (goto leftmost, bottom, top, rightmost) Err bitreich.org 70
i * move style commands in a separate function Err bitreich.org 70
i (and allow style change in all the modes...) Err bitreich.org 70
i * add "vis" (for visual) in mode strings Err bitreich.org 70
1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70
i@@ -273,6 +273,44 @@ void go_to(int where){ Err bitreich.org 70
i show_cursor(); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i+void handle_goto(){ Err bitreich.org 70
i+ char c; Err bitreich.org 70
i+ c=getchar(); Err bitreich.org 70
i+ switch(c){ Err bitreich.org 70
i+ case 'h': Err bitreich.org 70
i+ dir = DIR_L; Err bitreich.org 70
i+ x = 0; Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'l': Err bitreich.org 70
i+ dir = DIR_R; Err bitreich.org 70
i+ x = WIDTH - 1; Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'j': Err bitreich.org 70
i+ dir = DIR_D; Err bitreich.org 70
i+ y = HEIGHT - 1; Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'k': Err bitreich.org 70
i+ dir = DIR_U; Err bitreich.org 70
i+ y = 0; Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'g': Err bitreich.org 70
i+ dir = DIR_N; Err bitreich.org 70
i+ go_to(HOME); Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'G': Err bitreich.org 70
i+ dir = DIR_N; Err bitreich.org 70
i+ go_to(END); Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ case 'm': Err bitreich.org 70
i+ dir = DIR_N; Err bitreich.org 70
i+ go_to(MIDDLE); Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ } Err bitreich.org 70
i+ check_bound(); Err bitreich.org 70
i+ show_cursor(); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i+ Err bitreich.org 70
i int move_around(char c){ Err bitreich.org 70
i Err bitreich.org 70
i switch(c){ Err bitreich.org 70
i@@ -297,16 +335,7 @@ int move_around(char c){ Err bitreich.org 70
i x += step; Err bitreich.org 70
i break; Err bitreich.org 70
i case 'g': Err bitreich.org 70
i- dir = DIR_N; Err bitreich.org 70
i- go_to(HOME); Err bitreich.org 70
i- break; Err bitreich.org 70
i- case 'G': Err bitreich.org 70
i- dir = DIR_N; Err bitreich.org 70
i- go_to(END); Err bitreich.org 70
i- break; Err bitreich.org 70
i- case 'm': Err bitreich.org 70
i- dir = DIR_N; Err bitreich.org 70
i- go_to(MIDDLE); Err bitreich.org 70
i+ handle_goto(); Err bitreich.org 70
i break; Err bitreich.org 70
i default: Err bitreich.org 70
i return 0; Err bitreich.org 70
.
Response:
text/plain