frontend: switch to new bluelib tty interface

This commit is contained in:
2024-11-20 22:14:35 +00:00
parent 92f407ac09
commit 17ee2b6b57
14 changed files with 86 additions and 1666 deletions

View File

@@ -3,20 +3,19 @@
#define LINE_MAX 4096
#include "tty.h"
#include <blue/term/tty.h>
#include <blue/core/queue.h>
#include <blue/object/array.h>
#include <ivy/line-source.h>
#include <stddef.h>
struct s_tty;
struct s_tty_vmode;
struct b_tty_vmode;
struct line_ed;
struct line_ed_hook {
void (*hook_keypress)(struct line_ed *, struct line_ed_hook *, s_keycode);
void (*hook_keypress)(struct line_ed *, struct line_ed_hook *, b_keycode);
void (*hook_buffer_modified)(struct line_ed *, struct line_ed_hook *);
b_queue_entry hook_entry;
};
@@ -58,7 +57,7 @@ struct line_ed {
struct ivy_line_source l_line_source;
/* pointer to tty interface */
struct s_tty *l_tty;
b_tty *l_tty;
/* the lexical scope that we are currently in.
* this is provided by components further up the input pipeline,
@@ -83,7 +82,7 @@ extern void line_ed_set_scope_type(struct line_ed *ed, const char *scope_type);
extern void line_ed_put_highlight(
struct line_ed *ed, unsigned long start_x, unsigned long start_y,
unsigned long end_x, unsigned long end_y, const struct s_tty_vmode *vmode);
unsigned long end_x, unsigned long end_y, const struct b_tty_vmode *vmode);
extern void line_ed_clear_highlights(struct line_ed *ed);
extern void line_ed_print_highlights(struct line_ed *ed);