aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fürmetz <fuermetz@mailbox.org>2017-11-21 15:16:36 +0100
committerLukas Fürmetz <fuermetz@mailbox.org>2017-11-21 21:38:32 +0100
commit78bb438b95929d7c5ba0b6572fe58b0035f7ae41 (patch)
treef62a3498d1ef843188780cc2bb5a89d99f652ad1
parent53415af332e5e30e4910b05ebdb88d478a387eba (diff)
Move render_text into vterm-module.c
-rw-r--r--elisp.c25
-rw-r--r--elisp.h2
-rw-r--r--vterm-module.c25
-rw-r--r--vterm-module.h2
4 files changed, 27 insertions, 27 deletions
diff --git a/elisp.c b/elisp.c
index 900289b..3c9a804 100644
--- a/elisp.c
+++ b/elisp.c
@@ -41,31 +41,6 @@ void put_text_property(emacs_env *env, emacs_value string, emacs_value property,
(emacs_value[]){start, end, property, value, string});
}
-emacs_value render_text(emacs_env *env, char *buffer, int len,
- VTermScreenCell *cell) {
- emacs_value text = env->make_string(env, buffer, len);
-
- emacs_value foreground = color_to_rgb_string(env, cell->fg);
- emacs_value background = color_to_rgb_string(env, cell->bg);
- emacs_value bold = cell->attrs.bold ? Qbold : Qnormal;
- emacs_value underline = cell->attrs.underline ? Qt : Qnil;
- emacs_value italic = cell->attrs.italic ? Qitalic : Qnormal;
- emacs_value reverse = cell->attrs.reverse ? Qt : Qnil;
- emacs_value strike = cell->attrs.strike ? Qt : Qnil;
-
- // TODO: Blink, font, dwl, dhl is missing
- emacs_value properties =
- list(env,
- (emacs_value[]){Qforeground, foreground, Qbackground, background,
- Qweight, bold, Qunderline, underline, Qslant, italic,
- Qreverse, reverse, Qstrike, strike},
- 14);
-
- put_text_property(env, text, Qface, properties);
-
- return text;
-}
-
void byte_to_hex(uint8_t byte, char *hex) { snprintf(hex, 3, "%.2X", byte); }
emacs_value color_to_rgb_string(emacs_env *env, VTermColor color) {
diff --git a/elisp.h b/elisp.h
index 88edd00..a37a4c1 100644
--- a/elisp.h
+++ b/elisp.h
@@ -37,8 +37,6 @@ emacs_value string_length(emacs_env *env, emacs_value string);
emacs_value list(emacs_env *env, emacs_value *elements, ptrdiff_t len);
void put_text_property(emacs_env *env, emacs_value string, emacs_value property,
emacs_value value);
-emacs_value render_text(emacs_env *env, char *string, int len,
- VTermScreenCell *cell);
void byte_to_hex(uint8_t byte, char *hex);
emacs_value color_to_rgb_string(emacs_env *env, VTermColor color);
void erase_buffer(emacs_env *env);
diff --git a/vterm-module.c b/vterm-module.c
index 65bb1cd..4f59cd5 100644
--- a/vterm-module.c
+++ b/vterm-module.c
@@ -52,6 +52,31 @@ static int set_term_prop_cb(VTermProp prop, VTermValue *val, void *user_data) {
return 1;
}
+static emacs_value render_text(emacs_env *env, char *buffer, int len,
+ VTermScreenCell *cell) {
+ emacs_value text = env->make_string(env, buffer, len);
+
+ emacs_value foreground = color_to_rgb_string(env, cell->fg);
+ emacs_value background = color_to_rgb_string(env, cell->bg);
+ emacs_value bold = cell->attrs.bold ? Qbold : Qnormal;
+ emacs_value underline = cell->attrs.underline ? Qt : Qnil;
+ emacs_value italic = cell->attrs.italic ? Qitalic : Qnormal;
+ emacs_value reverse = cell->attrs.reverse ? Qt : Qnil;
+ emacs_value strike = cell->attrs.strike ? Qt : Qnil;
+
+ // TODO: Blink, font, dwl, dhl is missing
+ emacs_value properties =
+ list(env,
+ (emacs_value[]){Qforeground, foreground, Qbackground, background,
+ Qweight, bold, Qunderline, underline, Qslant, italic,
+ Qreverse, reverse, Qstrike, strike},
+ 14);
+
+ put_text_property(env, text, Qface, properties);
+
+ return text;
+}
+
static void term_redraw(struct Term *term, emacs_env *env) {
int i, j;
int rows, cols;
diff --git a/vterm-module.h b/vterm-module.h
index 25ea860..11c9531 100644
--- a/vterm-module.h
+++ b/vterm-module.h
@@ -17,6 +17,8 @@ struct Term {
static bool compare_cells(VTermScreenCell *a, VTermScreenCell *b);
static bool is_key(unsigned char *key, size_t len, char *key_description);
+static emacs_value render_text(emacs_env *env, char *string, int len,
+ VTermScreenCell *cell);
static int set_term_prop_cb(VTermProp prop, VTermValue *val, void *user_data);