Introduction
Introduction Statistics Contact Development Disclaimer Help
add support for comments - gramscii - A simple editor for ASCII box-and-arrow c…
Log
Files
Refs
Tags
README
LICENSE
---
commit 02c54fe6f289901f5b356ca98a81dec78fef4f36
parent 0940cd06c4a36b4794c48ebc703559caf7d53c53
Author: KatolaZ <[email protected]>
Date: Fri, 16 Aug 2019 19:36:20 +0100
add support for comments
Diffstat:
M Changelog | 9 +++++++++
M TODO | 2 +-
M draw.c | 9 +++++++++
M gramscii.1 | 4 ++++
M gramscii.c | 4 ++++
M gramscii.h | 2 ++
M screen.c | 2 ++
7 files changed, 31 insertions(+), 1 deletion(-)
---
diff --git a/Changelog b/Changelog
@@ -1,3 +1,12 @@
+0940cd0 2019-08-14 (KatolaZ) update manpage to include parallelogram
+a95019d 2019-08-14 (KatolaZ) add parallelogram mode
+257ec5d 2019-08-13 (KatolaZ) towards parallelograms
+39ec615 2019-08-12 (Quentin Rameau) Arrange makefile debug target
+3d5be35 2019-08-12 (KatolaZ) accept commands from stdin in script-mode
+0522ef6 2019-08-12 (KatolaZ) fix read of command scripts and script-mode
+a46183e 2019-08-11 (KatolaZ) replace cleanup() with exit() in usage()
+e4c527b 2019-08-09 (KatolaZ) check all mem allocations
+a6f10d6 2019-08-09 (KatolaZ) release 0.3
1ad3249 2019-08-09 (KatolaZ) bump version to 0.3
bc374cf 2019-08-09 (KatolaZ) update TODO
0c0e806 2019-08-09 (KatolaZ) small change to manpage
diff --git a/TODO b/TODO
@@ -1,5 +1,4 @@
+ optimize redraws (redraw only the modified rectangle)
-- implement comment (#: ignore everything until the end of the line)
- add screen geometry option (-g 25x80?)
- (?)maybe move "text" mode to "t"
- implement ellipse
@@ -14,6 +13,7 @@
- allow scrolling (both vertical and horizontal)
- catch SIGWINCH and react appropriately (after scrolling is
enabled)
+* implement comment (#: ignore everything until the end of the line)
* implement parallelogram mode (z/Z)
* fix bug in reading commands from files
* fix bug in visual crop
diff --git a/draw.c b/draw.c
@@ -508,3 +508,12 @@ void redo_change(){
redraw();
}
+
+/** Comments **/
+
+void get_comment(FILE *fc){
+ char c;
+ redraw();
+ while((c = fgetc(fc)) != EOF && c != '\n');
+ mode = MOVE;
+}
diff --git a/gramscii.1 b/gramscii.1
@@ -144,6 +144,10 @@ prompted for a filename to save the screen to.
Write the current screen to a new file. This commands acts like
.B w
but always prompts for a file name to use.
+.TP 5m
+.BI #
+Start a comment. Discard all the characters until a newline is
+entered. Useful to include comments in scripts.
.SS MOVEMENTS
The following movement commands are available in any mode where cursor
diff --git a/gramscii.c b/gramscii.c
@@ -138,6 +138,10 @@ void commands(FILE *fc){
mode = PAR;
get_box(fc, BOX_PARR);
break;
+ case '#':
+ mode = REM;
+ get_comment(fc);
+ break;
case 'q':
check_modified(fc);/** FALLTHROUGH **/
case 'Q':
diff --git a/gramscii.h b/gramscii.h
@@ -19,6 +19,7 @@
#define DEL 0x08
#define VIS 0x10
#define PAR 0x20
+#define REM 0x40
/**/
/* directions */
@@ -186,6 +187,7 @@ void visual_box(FILE *fc);
void paste();
void undo_change();
void redo_change();
+void get_comment(FILE *fc);
/**/
/** file-related functions **/
diff --git a/screen.c b/screen.c
@@ -37,6 +37,8 @@ char* mode_str(){
return "vis";
case PAR:
return "par";
+ case REM:
+ return "rem";
default:
return "ERR";
}
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.