Introduction
Introduction Statistics Contact Development Disclaimer Help
replace "magic"-numbers with symbolic constants - lchat - A line oriented chat …
git clone git://git.suckless.org/lchat
Log
Files
Refs
README
---
commit 6d306ad60a3ed0d9e721a43fb121804974a41b6c
parent 6dd484ff2d2a417037e56a205fc5ae22adaa6335
Author: Tom Schwindl <[email protected]>
Date: Wed, 11 Jan 2023 09:05:39 +0100
replace "magic"-numbers with symbolic constants
Diffstat:
M slackline.c | 10 +++++-----
M slackline_emacs.c | 16 ++++++++--------
M slackline_internals.h | 17 +++++++++++++++++
3 files changed, 30 insertions(+), 13 deletions(-)
---
diff --git a/slackline.c b/slackline.c
@@ -158,20 +158,20 @@ static void
sl_default(struct slackline *sl, int key)
{
switch (key) {
- case 27: /* Escape */
+ case ESC_KEY:
sl->esc = ESC;
break;
- case 21:
+ case CTRL_U:
sl_reset(sl);
break;
- case 23: /* ctrl+w -- erase previous word */
+ case CTRL_W:
while (sl->rcur != 0 && isspace((unsigned char) *(sl->ptr-1)))
sl_backspace(sl);
while (sl->rcur != 0 && !isspace((unsigned char) *(sl->ptr-1)))
sl_backspace(sl);
break;
- case 127: /* backspace */
- case 8: /* backspace */
+ case BACKSPACE:
+ case VT_BACKSPACE:
sl_backspace(sl);
break;
default:
diff --git a/slackline_emacs.c b/slackline_emacs.c
@@ -11,16 +11,16 @@ sl_emacs(struct slackline *sl, int key)
char tmp;
switch (key) {
- case 27: /* Escape */
+ case ESC_KEY:
sl->esc = ESC;
break;
- case 1: /* ctrl+a -- start of line */
+ case CTRL_A:
sl_move(sl, HOME);
break;
- case 2: /* ctrl+b -- previous char */
+ case CTRL_B:
sl_move(sl, LEFT);
break;
- case 4: /* ctrl+d -- delete char in front of the cursor or exit */
+ case CTRL_D:
if (sl->rcur < sl->rlen) {
sl_move(sl, RIGHT);
sl_backspace(sl);
@@ -28,19 +28,19 @@ sl_emacs(struct slackline *sl, int key)
exit(EXIT_SUCCESS);
}
break;
- case 5: /* ctrl+e -- end of line */
+ case CTRL_E:
sl_move(sl, END);
break;
- case 6: /* ctrl+f -- next char */
+ case CTRL_F:
sl_move(sl, RIGHT);
break;
- case 11: /* ctrl+k -- delete line from cursor to end */
+ case CTRL_K:
for (int i = sl->rlen - sl->rcur; i > 0; --i) {
sl_move(sl, RIGHT);
sl_backspace(sl);
}
break;
- case 20: /* ctrl+t -- swap last two chars */
+ case CTRL_T:
if (sl->rcur >= 2) {
tmp = *sl_postoptr(sl, sl->rcur-1);
sl->buf[sl->rcur-1] = *sl_postoptr(sl, sl->rcur-2);
diff --git a/slackline_internals.h b/slackline_internals.h
@@ -5,6 +5,23 @@
enum direction {LEFT, RIGHT, HOME, END};
+enum {
+ CTRL_A = 1,
+ CTRL_B = 2,
+ CTRL_D = 4,
+ CTRL_E = 5,
+ CTRL_F = 6,
+ CTRL_K = 11,
+ CTRL_U = 21,
+ CTRL_T = 20,
+ CTRL_W = 23,
+
+ BACKSPACE = 127,
+ VT_BACKSPACE = 8,
+
+ ESC_KEY = 27
+};
+
size_t sl_postobyte(struct slackline *sl, size_t pos);
char *sl_postoptr(struct slackline *sl, size_t pos);
void sl_backspace(struct slackline *sl);
You are viewing proxied material from suckless.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.