so://phie

so-term

An easy-to-use terminal library
git clone git://soophie.de/so-term

blob: 8de5b71e3a68762d85e89b5d2f2b08990e81e4ee (596 bytes)[doc][blame][raw]

1#pragma once

2

3typedef enum {

4 ESC = 27,

5 BACKSPACE = 127,

6 ARROW_LEFT = 1000,

7 ARROW_RIGHT,

8 ARROW_UP,

9 ARROW_DOWN,

10 DEL_KEY,

11 HOME_KEY,

12 END_KEY,

13 PAGE_UP,

14 PAGE_DOWN,

15} keycode_t;

16

17typedef struct {

18 char *buffer;

19 int len;

20} term_t;

21

22void term_panic(const char *s);

23void term_disable_raw_mode(void);

24void term_enable_raw_mode(void);

25int term_read_cursor_pos(int *rows, int *cols);

26int term_read_window_size(int *rows, int *cols);

27int term_poll_key(int timeout);

28int term_read_key(void);

29void term_write(char *str);

30void term_writef(const char *format, ...);

31void term_flush(void);