summaryrefslogtreecommitdiffstats
path: root/tmux.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/tmux.h b/tmux.h
index d95ba597..758713e5 100644
--- a/tmux.h
+++ b/tmux.h
@@ -618,6 +618,15 @@ enum utf8_state {
UTF8_ERROR
};
+/* UTF-8 combine state. */
+enum utf8_combine_state {
+ UTF8_DISCARD_NOW, /* discard immediately */
+ UTF8_WRITE_NOW, /* do not combine, write immediately */
+ UTF8_COMBINE_NOW, /* combine immediately */
+ UTF8_WRITE_MAYBE_COMBINE, /* write but try to combine the next */
+ UTF8_DISCARD_MAYBE_COMBINE /* discard but try to combine the next */
+};
+
/* Colour flags. */
#define COLOUR_FLAG_256 0x01000000
#define COLOUR_FLAG_RGB 0x02000000
@@ -890,7 +899,7 @@ struct screen_write_ctx {
int flags;
#define SCREEN_WRITE_SYNC 0x1
-#define SCREEN_WRITE_ZWJ 0x2
+#define SCREEN_WRITE_COMBINE 0x2
screen_write_init_ctx_cb init_ctx_cb;
void *arg;
@@ -898,6 +907,7 @@ struct screen_write_ctx {
struct screen_write_citem *item;
u_int scrolled;
u_int bg;
+ struct utf8_data previous;
};
/* Box border lines option. */
@@ -3285,6 +3295,12 @@ char *utf8_padcstr(const char *, u_int);
char *utf8_rpadcstr(const char *, u_int);
int utf8_cstrhas(const char *, const struct utf8_data *);
+/* utf8-combined.c */
+void utf8_build_combined(void);
+int utf8_try_combined(const struct utf8_data *,
+ const struct utf8_data *, const struct utf8_data **,
+ u_int *width);
+
/* procname.c */
char *get_proc_name(int, char *);
char *get_proc_cwd(int);