Rename line editing functions
parent
5bb96a79e7
commit
ea4c70dae5
42
ui.c
42
ui.c
|
@ -238,11 +238,11 @@ void uiFmt(const char *format, ...) {
|
|||
free(buf);
|
||||
}
|
||||
|
||||
static void scrollUp(void) {
|
||||
static void logUp(void) {
|
||||
if (ui.scroll == logHeight()) return;
|
||||
ui.scroll = MAX(ui.scroll - logHeight() / 2, logHeight());
|
||||
}
|
||||
static void scrollDown(void) {
|
||||
static void logDown(void) {
|
||||
if (ui.scroll == LOG_LINES) return;
|
||||
ui.scroll = MIN(ui.scroll + logHeight() / 2, LOG_LINES);
|
||||
}
|
||||
|
@ -253,19 +253,23 @@ static struct {
|
|||
} line;
|
||||
static const size_t BUF_LEN = sizeof(line.buf) / sizeof(line.buf[0]);
|
||||
|
||||
static void moveLeft(void) {
|
||||
static void left(void) {
|
||||
if (ui.cursor) ui.cursor--;
|
||||
}
|
||||
static void moveRight(void) {
|
||||
static void right(void) {
|
||||
if (ui.cursor < line.len) ui.cursor++;
|
||||
}
|
||||
static void moveHome(void) {
|
||||
static void home(void) {
|
||||
ui.cursor = 0;
|
||||
}
|
||||
static void moveEnd(void) {
|
||||
static void end(void) {
|
||||
ui.cursor = line.len;
|
||||
}
|
||||
|
||||
static void kill(void) {
|
||||
line.len = ui.cursor;
|
||||
}
|
||||
|
||||
static void insert(wchar_t ch) {
|
||||
if (!iswprint(ch)) return;
|
||||
if (line.len == BUF_LEN - 1) return;
|
||||
|
@ -298,14 +302,10 @@ static void backspace(void) {
|
|||
|
||||
static void delete(void) {
|
||||
if (ui.cursor == line.len) return;
|
||||
moveRight();
|
||||
right();
|
||||
backspace();
|
||||
}
|
||||
|
||||
static void kill(void) {
|
||||
line.len = ui.cursor;
|
||||
}
|
||||
|
||||
static void enter(void) {
|
||||
if (!line.len) return;
|
||||
line.buf[line.len] = '\0';
|
||||
|
@ -317,10 +317,10 @@ static void enter(void) {
|
|||
static void keyChar(wint_t ch) {
|
||||
switch (ch) {
|
||||
break; case CTRL('L'): uiRedraw();
|
||||
break; case CTRL('B'): moveLeft();
|
||||
break; case CTRL('F'): moveRight();
|
||||
break; case CTRL('A'): moveHome();
|
||||
break; case CTRL('E'): moveEnd();
|
||||
break; case CTRL('B'): left();
|
||||
break; case CTRL('F'): right();
|
||||
break; case CTRL('A'): home();
|
||||
break; case CTRL('E'): end();
|
||||
break; case CTRL('D'): delete();
|
||||
break; case CTRL('K'): kill();
|
||||
break; case '\b': backspace();
|
||||
|
@ -333,12 +333,12 @@ static void keyChar(wint_t ch) {
|
|||
static void keyCode(wint_t ch) {
|
||||
switch (ch) {
|
||||
break; case KEY_RESIZE: uiResize();
|
||||
break; case KEY_PPAGE: scrollUp();
|
||||
break; case KEY_NPAGE: scrollDown();
|
||||
break; case KEY_LEFT: moveLeft();
|
||||
break; case KEY_RIGHT: moveRight();
|
||||
break; case KEY_HOME: moveHome();
|
||||
break; case KEY_END: moveEnd();
|
||||
break; case KEY_PPAGE: logUp();
|
||||
break; case KEY_NPAGE: logDown();
|
||||
break; case KEY_LEFT: left();
|
||||
break; case KEY_RIGHT: right();
|
||||
break; case KEY_HOME: home();
|
||||
break; case KEY_END: end();
|
||||
break; case KEY_BACKSPACE: backspace();
|
||||
break; case KEY_DC: delete();
|
||||
break; case KEY_ENTER: enter();
|
||||
|
|
Loading…
Reference in New Issue