Commit Briefs

Omar Polo

reset all the state functions regardless of MB_READ vs. MB_COMPLREAD

must_select otherwise is set when MB_COMPREAD but not cleared on MB_READ, yielding funny errors. While here, move also the other parts of the state out of the if (MB_COMPLREAD) to avoid this kind of issues in the future.


Omar Polo

merge the fs into the ui process

The previous separation between the fs and ui process wasn't that good. The idea was to have a `ui' process tightly sandboxed, but it was a lie actually. `ui' was one imsg away from making internet connections and accessing data on the disk, so it wasn't really limited in (almost) any way. Furthermore, having to serialize data to/from the fs proc started to become not really maneagable. As a first step to fix this situation, join the fs and ui process.




Omar Polo

don't insert current candidate in eecmd_select

after the recent 'must select' thing there's no need to call minibuffer_insert_current_candidate from eecmd_select anymore.


Omar Polo

readd forgotte NULL check


Omar Polo

readd "select first completion" when must_select is provided

The "don't automatically select the first completion" was a good change, but for commands that need a must_select policy it's annoying. This readds the automatic selection but only for those commands. It's still better than before the changes because now it's clear when and what gets automatically selected.


Omar Polo

add must_select flag for enter_minibuffer

it only makes sense when entering the minibuffer with completions. This flag is useful for functions like tag-select where the user types something but one of the completions *must* be selected.



Omar Polo

don't highlight the first completion by deafult

This is the first commit of a series to improve the handling of completions. Currently it's a mess: some commands look at the selected entry, others at what was typed in the minibuffer... it's not clear which commands does what. So, change of defaults: don't highlight anything by default to avoid confusing the user, C-n and C-p now are the obvious way to move the focus from the minibuffer to a completion. This doesn't change how the commands handle the selection, that will done in a follow-up commit.


Omar Polo

tokenize minibuffer input for better matching

instead of trying to match the given string as-is, split it into tokens (space-separated words) and try to match those. This allows to match out of order, for example "mir vid" will match gemini://vidage.rocks/blog/parliamo-di-mirror.gmi


Omar Polo

reply-last-input: reply input requests on demand

Telescope now remebers the last URL (per tab!) that replied with 1X (input request.) The new command reply-last-input allows to resend a query to that URL. It's particularly useful with capsules that make a heavy uses of 10 replies (search engines or similar, interactive pages, etc) because it both saves a network roundtrip and the user from looking for the "search" link all across the page ;-) idea from a conversation with thfr@, thanks!


Omar Polo

move util.c declarations in utils.h

it's not spelled `util.h' because otherwise it'd get included instead of /usr/include/util.h


Omar Polo

provide a way to bypass the cache

This changes the last argument of load_url to be a `mode' bitmap instead of a boolean ``nohist''. LU_MODE_NOHIST is the old 1, LU_MODE_NONE is provided just for readability and the new LU_MODE_NOCACHE allows to bypass the caching when loading a page. Telescope only uses the cache when: - re-opens a closed tab - navigates backward and forward in the history All other situations result in the usual network request.


Omar Polo

de-quirkify execute-extended-command

On RET, execute the command on the selected line rather than what the user typed. This saves a TAB (to expand the entry) and is more in line with the other completion commands.