diff options
Diffstat (limited to 'include/ecex.h')
| -rw-r--r-- | include/ecex.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/include/ecex.h b/include/ecex.h new file mode 100644 index 0000000..cefee9b --- /dev/null +++ b/include/ecex.h @@ -0,0 +1,124 @@ +#ifndef ECEX_H +#define ECEX_H + +#include "types.h" +#include "buffers.h" +#include "eval.h" + +ecex_t *ecex_new(void); +void ecex_free(ecex_t *ed); + +int ecex_reserve_buffers(ecex_t *ed, size_t needed); +int ecex_add_buffer(ecex_t *ed, buffer_t *buffer); + +buffer_t *ecex_create_buffer(ecex_t *ed, + const char *name, + const char *path, + int read_only); + +buffer_t *ecex_find_buffer(ecex_t *ed, const char *name); +int ecex_switch_buffer(ecex_t *ed, const char *name); + +buffer_t *ecex_current_buffer(ecex_t *ed); +ecex_window_t *ecex_current_window(ecex_t *ed); +size_t ecex_window_count(ecex_t *ed); +int ecex_sync_current_buffer(ecex_t *ed); + +int ecex_split_window_vertically(ecex_t *ed); +int ecex_split_window_horizontally(ecex_t *ed); +int ecex_other_window(ecex_t *ed); +int ecex_previous_window(ecex_t *ed); +int ecex_delete_window(ecex_t *ed); +int ecex_delete_other_windows(ecex_t *ed); +int ecex_balance_windows(ecex_t *ed); + +int ecex_next_buffer(ecex_t *ed); +int ecex_previous_buffer(ecex_t *ed); +int ecex_kill_buffer(ecex_t *ed, const char *name); + +int ecex_keep_jit_module(ecex_t *ed, void *module); + +int ecex_set_config_path(ecex_t *ed, const char *path); +const char *ecex_config_path(ecex_t *ed); +int ecex_reload_config(ecex_t *ed); + +int ecex_register_command(ecex_t *ed, const char *name, ecex_command_fn fn); +int ecex_execute_command(ecex_t *ed, const char *name); +void ecex_set_clipboard_callbacks(ecex_t *ed, + ecex_clipboard_get_fn get_fn, + ecex_clipboard_set_fn set_fn, + void *userdata); +const char *ecex_clipboard_get(ecex_t *ed); +int ecex_clipboard_set(ecex_t *ed, const char *text); + +int ecex_bind_key(ecex_t *ed, const char *key, const char *command); +const char *ecex_lookup_key(ecex_t *ed, const char *key); + +int ecex_define_major_mode(ecex_t *ed, const char *name); +int ecex_major_mode_by_name(ecex_t *ed, const char *name); +const char *ecex_major_mode_name(ecex_t *ed, int mode); +int ecex_buffer_set_major_mode(buffer_t *buffer, int mode); +int ecex_buffer_set_major_mode_by_name(ecex_t *ed, buffer_t *buffer, const char *name); +const char *ecex_buffer_major_mode_name(ecex_t *ed, buffer_t *buffer); +int ecex_bind_mode_key(ecex_t *ed, const char *mode_name, const char *key, const char *command); +const char *ecex_lookup_key_for_buffer(ecex_t *ed, buffer_t *buffer, const char *key); +int ecex_key_sequence_has_prefix_for_buffer(ecex_t *ed, buffer_t *buffer, const char *prefix); +int ecex_auto_set_major_mode(ecex_t *ed, buffer_t *buffer); + +int ecex_list_commands(ecex_t *ed); +int ecex_list_buffers(ecex_t *ed); + +buffer_t *ecex_create_interactive_buffer(ecex_t *ed, const char *name); +int ecex_interactive_append_line(ecex_t *ed, + buffer_t *buffer, + const char *text, + ecex_interactive_line_fn fn, + const char *payload, + void *userdata); +int ecex_interactive_activate_current_line(ecex_t *ed); + +int ecex_find_file(ecex_t *ed, const char *path); +int ecex_save_current_buffer(ecex_t *ed); +int ecex_write_current_buffer(ecex_t *ed, const char *path); +int ecex_compile(ecex_t *ed, const char *command); +int ecex_grep(ecex_t *ed, const char *command); +int ecex_rerun_compile(ecex_t *ed); +int ecex_rerun_grep(ecex_t *ed); +int ecex_next_interactive_action(ecex_t *ed); +int ecex_previous_interactive_action(ecex_t *ed); +int ecex_comment_region(ecex_t *ed); +int ecex_uncomment_region(ecex_t *ed); +void ecex_request_prompt(ecex_t *ed, ecex_prompt_request_t request, const char *message); +void ecex_clear_prompt_request(ecex_t *ed); + +const char *ecex_complete_command(ecex_t *ed, const char *query); + +int ecex_set_font(ecex_t *ed, const char *path); +float ecex_get_font_size(ecex_t *ed); +int ecex_set_font_size(ecex_t *ed, float size); +int ecex_adjust_font_size(ecex_t *ed, float delta); + +void ecex_set_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_fg_color(ecex_t *ed, float r, float g, float b); + +void ecex_set_status_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_status_fg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_status_border_color(ecex_t *ed, float r, float g, float b); + +void ecex_set_cursor_color(ecex_t *ed, float r, float g, float b); +void ecex_set_region_bg_color(ecex_t *ed, float r, float g, float b); + +void ecex_set_minibuffer_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_minibuffer_fg_color(ecex_t *ed, float r, float g, float b); + +void ecex_set_completion_fg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_completion_enabled(ecex_t *ed, int enabled); + +void ecex_set_interactive_highlight_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_interactive_highlight_fg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_current_line_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_search_bg_color(ecex_t *ed, float r, float g, float b); +void ecex_set_line_numbers_enabled(ecex_t *ed, int enabled); +void ecex_set_current_line_enabled(ecex_t *ed, int enabled); + +#endif |
