commit df633e073bf3d22b63be25c4eeb82c37852bb43e
parent 7e93e8afd7d97bd2ae5af95515b4fdb5902c2a10
Author: luxferre <lux@ferre>
Date: Fri, 28 Jul 2023 16:03:44 +0300
Moved to \033 as the most compatible esc representation
Diffstat:
M | nne.c | | | 72 | ++++++++++++++++++++++++++++++++++++------------------------------------ |
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/nne.c b/nne.c
@@ -36,24 +36,24 @@
#endif
/* terminal control macros (constants) */
-#define ERESET "\x1b[0m" /* reset the styling */
-#define CLS "\x1b[2J" /* clear the entire screen */
-#define LINECLR "\x1b[2K" /* clear the current line */
-#define CURRESET "\x1b[0;0H" /* reset the visual cursor */
+#define ERESET "\033[0m" /* reset the styling */
+#define CLS "\033[2J" /* clear the entire screen */
+#define LINECLR "\033[2K" /* clear the current line */
+#define CURRESET "\033[0;0H" /* reset the visual cursor */
#ifdef NNE_NO_ALTBUF /* can be defined for legacy terminals */
#define CURSHOW ""
#define CURHIDE ""
#define ALTBUFON ""
#define ALTBUFOFF CLS /* if no altbuf, then clear the screen */
#else
-#define CURSHOW "\x1b[?25h" /* show the cursor */
-#define CURHIDE "\x1b[?25l" /* hide the cursor */
-#define ALTBUFON "\x1b[?47h\x1b%G" /* turn on alternate screen + UTF-8 */
-#define ALTBUFOFF "\x1b[?47l" /* turn off alternate screen */
+#define CURSHOW "\033[?25h" /* show the cursor */
+#define CURHIDE "\033[?25l" /* hide the cursor */
+#define ALTBUFON "\033[?47h\033%G" /* turn on alternate screen + UTF-8 */
+#define ALTBUFOFF "\033[?47l" /* turn off alternate screen */
#endif
/* terminal control macros (sprintf templates) */
-#define CURSET "\x1b[%03u;%03uH" /* set the cursor position (line;col) */
+#define CURSET "\033[%03u;%03uH" /* set the cursor position (line;col) */
/* some enums */
enum nne_modes { NNE_NORMAL = 1, NNE_CMD }; /* operation modes */
@@ -97,46 +97,46 @@ static int nne_line_offset = 0; /* offset from the start to the screen */
/* help screen */
-static char* nne_help_screen = "\x1b[s\
+static char* nne_help_screen = "\033[s\
---------------------------- nne shortcut help ---------------------------\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Save Esc Esc s, Esc Esc w Line jump Esc Esc l [num] Return |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Quit Esc Esc q Brace match Esc Esc 5 |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Tab char Esc Esc Tab Find text Esc Esc / [text] Return|\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Delete Del, Esc Esc Bksp Copy line Esc Esc y |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Page Up PgUp, Esc Esc Up Copy lines Esc Esc Y [num] Return |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Page Down PgDn, Esc Esc Down Cut line Esc Esc d |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Home Home, Esc Esc 0 Cut lines Esc Esc D [num] Return |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|End End, Esc Esc 4 Paste Esc Esc p, Esc Esc v |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Next word Esc Esc Right Discard/undo Esc Esc u |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|Prev word Esc Esc Left Run shell Esc Esc e [cmd] Return |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|File start Esc Esc 8 This help Esc Esc h |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
|File end Esc Esc 9 |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| Created by Luxferre in 2023 |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| Released into public domain |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| |\
-\x1b[1B\x1b[74D\
+\033[1B\033[74D\
| Press Return to exit this screen |\
-\x1b[1B\x1b[74D\
---------------------------------------------------------------------------\x1b[u";
+\033[1B\033[74D\
+--------------------------------------------------------------------------\033[u";
/* elementary routines */
@@ -432,7 +432,7 @@ uint nne_prompt(char *prompt) {
nne_cmdbuf[rd-1] = 0; /* zero out the character */
rd--; /* decrement the read counter */
/* move cursor back and erase until the end of the line */
- nnmsg(1, "\x1b[%uD\x1b[0K", c == '\t' ? NNE_TABWIDTH : 1);
+ nnmsg(1, "\033[%uD\033[0K", c == '\t' ? NNE_TABWIDTH : 1);
}
break;
case K_ESC: case K_MODCMD: endinput = 1; rd = 0; break; /* abort */
@@ -539,16 +539,16 @@ void render() { /* main screen rendering function */
/* platform-independent terminal size detection */
static void nne_termsize() {
- if(write(1, "\x1b[s\x1b[999C\x1b[999B", 15) != 15) return;
- if(write(1, "\x1b[6n", 4) != 4) return;
+ if(write(1, "\033[s\033[999C\033[999B", 15) != 15) return;
+ if(write(1, "\033[6n", 4) != 4) return;
char buf[32], i;
for(i=0;i<31;i++) {
if(read(0, &buf[i], 1) != 1) break;
if(buf[i] == 'R') break;
}
- if(write(1, "\x1b[u", 3) != 3) return; /* restore the cursor position */
+ if(write(1, "\033[u", 3) != 3) return; /* restore the cursor position */
buf[i] = 0;
- if(buf[0] != '\x1b' || buf[1] != '[') return;
+ if(buf[0] != '\033' || buf[1] != '[') return;
if(sscanf(&buf[2], "%hu;%hu", &nne_termh, &nne_termw) != 2) return;
nne_scrsize = (nne_termw * nne_termh) << 2; /* update the byte size */
nne_scrbuf = realloc(nne_scrbuf, nne_scrsize); /* reallocate accordingly */
@@ -851,7 +851,7 @@ int nne_action(int key) {
int main(int argc, char* argv[]) { /* editor entry point */
/* use the alternative screen buffer and enable UTF-8 */
- nnputs(ALTBUFON CLS "\x1b[?7h");
+ nnputs(ALTBUFON CLS "\033[?7h");
/* prepare screen */
tcgetattr(0, &tty_opts_backup);
atexit(&cleanup);