diff options
| author | Albert Cervin <albert@acervin.com> | 2024-01-29 23:34:07 +0100 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2024-01-30 15:04:44 +0100 |
| commit | dda591fa33ac10c433289aa3ee862c3ded41eed3 (patch) | |
| tree | 9a25edbc810fd5d8fbc20f367c71ebcd81bb6026 /src/main | |
| parent | 880199011075afd4f2d9bd16c7ce42a04741b5b7 (diff) | |
| download | dged-dda591fa33ac10c433289aa3ee862c3ded41eed3.tar.gz dged-dda591fa33ac10c433289aa3ee862c3ded41eed3.tar.xz dged-dda591fa33ac10c433289aa3ee862c3ded41eed3.zip | |
Syntax highlight is a go
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/cmds.c | 1 | ||||
| -rw-r--r-- | src/main/completion.c | 2 | ||||
| -rw-r--r-- | src/main/main.c | 21 |
3 files changed, 21 insertions, 3 deletions
diff --git a/src/main/cmds.c b/src/main/cmds.c index c137ed1..5a1d7b6 100644 --- a/src/main/cmds.c +++ b/src/main/cmds.c @@ -68,6 +68,7 @@ int32_t run_interactive(struct command_ctx ctx, int argc, const char *argv[]) { } int32_t do_switch_buffer(struct command_ctx ctx, int argc, const char *argv[]) { + disable_completion(minibuffer_buffer()); const char *bufname = argv[0]; if (argc == 0) { // switch back to prev buffer diff --git a/src/main/completion.c b/src/main/completion.c index 7382805..414df9c 100644 --- a/src/main/completion.c +++ b/src/main/completion.c @@ -203,6 +203,7 @@ static void update_completions(struct buffer *buffer, } static void on_buffer_delete(struct buffer *buffer, struct region deleted, + uint32_t start_idx, uint32_t end_idx, void *userdata) { struct active_completion_ctx *ctx = (struct active_completion_ctx *)userdata; @@ -212,6 +213,7 @@ static void on_buffer_delete(struct buffer *buffer, struct region deleted, } static void on_buffer_insert(struct buffer *buffer, struct region inserted, + uint32_t start_idx, uint32_t end_idx, void *userdata) { struct active_completion_ctx *ctx = (struct active_completion_ctx *)userdata; diff --git a/src/main/main.c b/src/main/main.c index 02afd2b..7b9a812 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -20,6 +20,10 @@ #include "dged/reactor.h" #include "dged/settings.h" +#ifdef SYNTAX_ENABLE +#include "dged/syntax.h" +#endif + #include "bindings.h" #include "cmds.h" #include "completion.h" @@ -213,11 +217,20 @@ int main(int argc, char *argv[]) { struct buffers buflist = {0}; buffers_init(&buflist, 32); + struct buffer minibuffer = buffer_create("minibuffer"); + minibuffer.lazy_row_add = false; + minibuffer_init(&minibuffer, &buflist); + buffers_add_add_hook(&buflist, watch_file, (void *)reactor); +#ifdef SYNTAX_ENABLE + syntax_init(); +#endif + struct buffer initial_buffer = buffer_create("welcome"); if (filename != NULL) { buffer_destroy(&initial_buffer); initial_buffer = buffer_from_file(filename); + free((void *)filename); } else { const char *welcome_txt = "Welcome to the editor for datagubbar 👴\n"; buffer_set_text(&initial_buffer, (uint8_t *)welcome_txt, @@ -225,9 +238,6 @@ int main(int argc, char *argv[]) { } struct buffer *ib = buffers_add(&buflist, initial_buffer); - struct buffer minibuffer = buffer_create("minibuffer"); - minibuffer.lazy_row_add = false; - minibuffer_init(&minibuffer); windows_init(display_height(display), display_width(display), ib, &minibuffer); @@ -383,6 +393,11 @@ int main(int argc, char *argv[]) { minibuffer_destroy(); buffer_destroy(&minibuffer); buffers_destroy(&buflist); + +#ifdef SYNTAX_ENABLE + syntax_teardown(); +#endif + display_clear(display); display_destroy(display); destroy_bindings(); |
