101 lines
3.6 KiB
C
101 lines
3.6 KiB
C
#ifndef ELISP_H
|
|
#define ELISP_H
|
|
|
|
#include "emacs-module.h"
|
|
#include "vterm.h"
|
|
|
|
// Emacs symbols
|
|
extern emacs_value Qt;
|
|
extern emacs_value Qnil;
|
|
extern emacs_value Qnormal;
|
|
extern emacs_value Qbold;
|
|
extern emacs_value Qitalic;
|
|
extern emacs_value Qforeground;
|
|
extern emacs_value Qbackground;
|
|
extern emacs_value Qweight;
|
|
extern emacs_value Qunderline;
|
|
extern emacs_value Qslant;
|
|
extern emacs_value Qreverse;
|
|
extern emacs_value Qstrike;
|
|
extern emacs_value Qextend;
|
|
extern emacs_value Qface;
|
|
extern emacs_value Qbox;
|
|
extern emacs_value Qbar;
|
|
extern emacs_value Qhbar;
|
|
extern emacs_value Qcursor_type;
|
|
extern emacs_value Qemacs_major_version;
|
|
extern emacs_value Qvterm_line_wrap;
|
|
extern emacs_value Qrear_nonsticky;
|
|
extern emacs_value Qvterm_prompt;
|
|
|
|
// Emacs functions
|
|
extern emacs_value Fapply;
|
|
extern emacs_value Fblink_cursor_mode;
|
|
extern emacs_value Fsymbol_value;
|
|
extern emacs_value Flength;
|
|
extern emacs_value Flist;
|
|
extern emacs_value Fnth;
|
|
extern emacs_value Ferase_buffer;
|
|
extern emacs_value Finsert;
|
|
extern emacs_value Fgoto_char;
|
|
extern emacs_value Fforward_char;
|
|
extern emacs_value Fforward_line;
|
|
extern emacs_value Fgoto_line;
|
|
extern emacs_value Fdelete_lines;
|
|
extern emacs_value Frecenter;
|
|
extern emacs_value Fset_window_point;
|
|
extern emacs_value Fwindow_body_height;
|
|
extern emacs_value Fpoint;
|
|
|
|
extern emacs_value Fput_text_property;
|
|
extern emacs_value Fadd_text_properties;
|
|
extern emacs_value Fset;
|
|
extern emacs_value Fvterm_flush_output;
|
|
extern emacs_value Fget_buffer_window_list;
|
|
extern emacs_value Fselected_window;
|
|
extern emacs_value Fvterm_set_title;
|
|
extern emacs_value Fvterm_set_directory;
|
|
extern emacs_value Fvterm_invalidate;
|
|
extern emacs_value Feq;
|
|
extern emacs_value Fvterm_get_color;
|
|
extern emacs_value Fvterm_eval;
|
|
extern emacs_value Fvterm_set_selection;
|
|
|
|
// Utils
|
|
void bind_function(emacs_env *env, const char *name, emacs_value Sfun);
|
|
void provide(emacs_env *env, const char *feature);
|
|
emacs_value symbol_value(emacs_env *env, emacs_value symbol);
|
|
ptrdiff_t string_bytes(emacs_env *env, emacs_value string);
|
|
emacs_value length(emacs_env *env, emacs_value string);
|
|
emacs_value list(emacs_env *env, emacs_value elements[], ptrdiff_t len);
|
|
emacs_value nth(emacs_env *env, int idx, emacs_value list);
|
|
void put_text_property(emacs_env *env, emacs_value string, emacs_value property,
|
|
emacs_value value);
|
|
void add_text_properties(emacs_env *env, emacs_value string,
|
|
emacs_value property);
|
|
void erase_buffer(emacs_env *env);
|
|
void insert(emacs_env *env, emacs_value string);
|
|
void goto_char(emacs_env *env, int pos);
|
|
void forward_line(emacs_env *env, int n);
|
|
void goto_line(emacs_env *env, int n);
|
|
void set_cursor_type(emacs_env *env, emacs_value cursor_type);
|
|
void set_cursor_blink(emacs_env *env, bool blink);
|
|
void delete_lines(emacs_env *env, int linenum, int count, bool del_whole_line);
|
|
void recenter(emacs_env *env, emacs_value pos);
|
|
void set_window_point(emacs_env *env, emacs_value win, emacs_value point);
|
|
emacs_value window_body_height(emacs_env *env, emacs_value win);
|
|
emacs_value point(emacs_env *env);
|
|
bool eq(emacs_env *env, emacs_value e1, emacs_value e2);
|
|
void forward_char(emacs_env *env, emacs_value n);
|
|
emacs_value get_buffer_window_list(emacs_env *env);
|
|
emacs_value selected_window(emacs_env *env);
|
|
void set_title(emacs_env *env, emacs_value string);
|
|
void set_directory(emacs_env *env, emacs_value string);
|
|
void vterm_invalidate(emacs_env *env);
|
|
emacs_value vterm_get_color(emacs_env *env, int index, emacs_value args);
|
|
emacs_value vterm_eval(emacs_env *env, emacs_value string);
|
|
emacs_value vterm_set_selection(emacs_env *env, emacs_value selection_target,
|
|
emacs_value selection_data);
|
|
|
|
#endif /* ELISP_H */
|