From 837b4d765a259bbdcb4b9c28bc6b1c5eb1548292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haoran=20S=2E=20Diao=20=28=E5=88=81=E6=B5=A9=E7=84=B6=29?= <0@hairydiode.xyz> Date: Sat, 13 Sep 2025 01:13:25 -0700 Subject: Added safe state function --- escape.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/escape.h b/escape.h index d7c54a4..a9fe743 100644 --- a/escape.h +++ b/escape.h @@ -34,6 +34,27 @@ enum esc_state { //escape followed by an escape, has to be user generated DOUBLE_ESC, }; + +//returns 1 if the current state is safe to insert characters after, 0 if not +int safe_state(enum esc_state state) { + swtich (state) { + case CSI_END: + case ST: + case nF_END: + case C0: + case C1: + case DECSC: + case DECRC: + case DOUBLE_ESC: + case NORMAL: + return 1; + break; + default: + return 0; + break; + } +} + //global stdin -> pty ESC state enum esc_state in_state = NORMAL; //global pty -> stdout ESC state -- cgit v1.1