diff options
| author | Lukas Fürmetz <fuermetz@mailbox.org> | 2017-11-15 22:13:55 +0100 |
|---|---|---|
| committer | Lukas Fürmetz <fuermetz@mailbox.org> | 2017-11-16 12:05:24 +0100 |
| commit | 14ef6c59279d6fde95e70db924e376ea9bb57516 (patch) | |
| tree | 9cde46df7a480a9da0458526d6168e9f5111db9b /elisp.h | |
| parent | 865528b34398ee4ad9d7dcfa86e54e27106bd4d5 (diff) | |
Extract elisp related functionality into elisp.c
Diffstat (limited to 'elisp.h')
| -rw-r--r-- | elisp.h | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#include <emacs-module.h> +#include "vterm.h" + +// Emacs symbols +emacs_value Qt; +emacs_value Qnil; +emacs_value Qnormal; +emacs_value Qbold; +emacs_value Qitalic; +emacs_value Qforeground; +emacs_value Qbackground; +emacs_value Qweight; +emacs_value Qunderline; +emacs_value Qslant; +emacs_value Qreverse; +emacs_value Qstrike; +emacs_value Qface; + +// Emacs functions +emacs_value Flength; +emacs_value Flist; +emacs_value Ferase_buffer; +emacs_value Finsert; +emacs_value Fgoto_char; +emacs_value Fput_text_property; + +// Utils +void bind_function(emacs_env *env, const char *name, emacs_value Sfun); +void provide(emacs_env *env, const char *feature); +int string_bytes(emacs_env *env, emacs_value string); +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); +void insert(emacs_env *env, emacs_value string); +void goto_char(emacs_env *env, int pos); |
