diff options
-rw-r--r-- | main.c | 2 | ||||
-rw-r--r-- | ted.h | 3 | ||||
-rw-r--r-- | ui.c | 1 |
3 files changed, 4 insertions, 2 deletions
@@ -1,6 +1,5 @@ /* @TODO: -- handle mouse clicks in "go to definition..." menu - ted.h documentation - document lsp.h and lsp.c. - debug-lsp option (which logs LSP messages) @@ -25,6 +24,7 @@ - make buffer->path NULL for untitled buffers & fix resulting mess - rust-analyzer bug reports: - bad json can give "Unexpected error: client exited without proper shutdown sequence" + - containerName not always given - clangd bug report: - textDocumemt/definition on ted.h declarations just gives you the declaration FUTURE FEATURES: @@ -1130,7 +1130,8 @@ void selector_up(Ted *ted, Selector *s, i64 n); void selector_down(Ted *ted, Selector *s, i64 n); // sort entries alphabetically void selector_sort_entries_by_name(Selector *s); -// returns a null-terminated UTF-8 string of the option selected, or NULL if none was. +// returns a null-terminated UTF-8 string of the entry selected, or NULL if none was. +// also, sel->cursor will be set to the index of the entry, even if the mouse was used. // you should call free() on the return value. char *selector_update(Ted *ted, Selector *s); // NOTE: also renders the line buffer @@ -82,6 +82,7 @@ char *selector_update(Ted *ted, Selector *s) { for (uint c = 0; c < ted->nmouse_clicks[SDL_BUTTON_LEFT]; ++c) { if (rect_contains_point(entry_rect, ted->mouse_clicks[SDL_BUTTON_LEFT][c])) { // this option was selected + s->cursor = i; // indicate the index of the selected entry using s->cursor ret = str_dup(s->entries[i].name); break; } |