elisp.h (3676B)
1 #ifndef ELISP_H 2 #define ELISP_H 3 4 #include "emacs-module.h" 5 #include "vterm.h" 6 7 // Emacs symbols 8 extern emacs_value Qt; 9 extern emacs_value Qnil; 10 extern emacs_value Qnormal; 11 extern emacs_value Qbold; 12 extern emacs_value Qitalic; 13 extern emacs_value Qforeground; 14 extern emacs_value Qbackground; 15 extern emacs_value Qweight; 16 extern emacs_value Qunderline; 17 extern emacs_value Qslant; 18 extern emacs_value Qreverse; 19 extern emacs_value Qstrike; 20 extern emacs_value Qextend; 21 extern emacs_value Qface; 22 extern emacs_value Qbox; 23 extern emacs_value Qbar; 24 extern emacs_value Qhbar; 25 extern emacs_value Qcursor_type; 26 extern emacs_value Qemacs_major_version; 27 extern emacs_value Qvterm_line_wrap; 28 extern emacs_value Qrear_nonsticky; 29 extern emacs_value Qvterm_prompt; 30 31 // Emacs functions 32 extern emacs_value Fblink_cursor_mode; 33 extern emacs_value Fsymbol_value; 34 extern emacs_value Flength; 35 extern emacs_value Flist; 36 extern emacs_value Fnth; 37 extern emacs_value Ferase_buffer; 38 extern emacs_value Finsert; 39 extern emacs_value Fgoto_char; 40 extern emacs_value Fforward_char; 41 extern emacs_value Fforward_line; 42 extern emacs_value Fgoto_line; 43 extern emacs_value Fdelete_lines; 44 extern emacs_value Frecenter; 45 extern emacs_value Fset_window_point; 46 extern emacs_value Fwindow_body_height; 47 extern emacs_value Fpoint; 48 49 extern emacs_value Fput_text_property; 50 extern emacs_value Fadd_text_properties; 51 extern emacs_value Fset; 52 extern emacs_value Fvterm_flush_output; 53 extern emacs_value Fget_buffer_window_list; 54 extern emacs_value Fselected_window; 55 extern emacs_value Fvterm_set_title; 56 extern emacs_value Fvterm_set_directory; 57 extern emacs_value Fvterm_invalidate; 58 extern emacs_value Feq; 59 extern emacs_value Fvterm_get_color; 60 extern emacs_value Fvterm_eval; 61 extern emacs_value Fvterm_set_selection; 62 63 // Utils 64 void bind_function(emacs_env *env, const char *name, emacs_value Sfun); 65 void provide(emacs_env *env, const char *feature); 66 emacs_value symbol_value(emacs_env *env, emacs_value symbol); 67 int string_bytes(emacs_env *env, emacs_value string); 68 emacs_value length(emacs_env *env, emacs_value string); 69 emacs_value list(emacs_env *env, emacs_value elements[], ptrdiff_t len); 70 emacs_value nth(emacs_env *env, int idx, emacs_value list); 71 void put_text_property(emacs_env *env, emacs_value string, emacs_value property, 72 emacs_value value); 73 void add_text_properties(emacs_env *env, emacs_value string, 74 emacs_value property); 75 void erase_buffer(emacs_env *env); 76 void insert(emacs_env *env, emacs_value string); 77 void goto_char(emacs_env *env, int pos); 78 void forward_line(emacs_env *env, int n); 79 void goto_line(emacs_env *env, int n); 80 void set_cursor_type(emacs_env *env, emacs_value cursor_type); 81 void set_cursor_blink(emacs_env *env, bool blink); 82 void delete_lines(emacs_env *env, int linenum, int count, bool del_whole_line); 83 void recenter(emacs_env *env, emacs_value pos); 84 void set_window_point(emacs_env *env, emacs_value win, emacs_value point); 85 emacs_value window_body_height(emacs_env *env, emacs_value win); 86 emacs_value point(emacs_env *env); 87 bool eq(emacs_env *env, emacs_value e1, emacs_value e2); 88 void forward_char(emacs_env *env, emacs_value n); 89 emacs_value get_buffer_window_list(emacs_env *env); 90 emacs_value selected_window(emacs_env *env); 91 void set_title(emacs_env *env, emacs_value string); 92 void set_directory(emacs_env *env, emacs_value string); 93 void vterm_invalidate(emacs_env *env); 94 emacs_value vterm_get_color(emacs_env *env, int index); 95 emacs_value vterm_eval(emacs_env *env, emacs_value string); 96 emacs_value vterm_set_selection(emacs_env *env, emacs_value selection_target, 97 emacs_value selection_data); 98 99 #endif /* ELISP_H */