Support full menu completion like auto-fu #15

Closed
PythonNut opened this Issue Jan 17, 2014 · 6 comments

6 participants

@PythonNut

auto-fu is a set of scripts that lists all of the completions menu-style. I love the zsh-autosuggestions async method and the whole idea of history based completion. Is it possible to menu-complete asynchronously in the spirit of auto-fu? I have several conditions to make sure auto-fu isn't too slow:

  • Number of matches N
  • Number of displayed lines N
  • Percent lines of whole terminal

It's really cool being able too see all of the completions available (including contextual information too) and be able to choose from them. History based suggestions are also cool, but only when they're correct. Having both would be awesome.

If this isn't possible, is there a way I can have zsh-autosuggestions supply only history suggestions and have auto-fu do the rest?

Thanks for the awesome code!
PythonNut

@tarruda

Actually the asynchronous completion is disabled in this version. I had to disable it because of a bug in zsh 5.0.2. I think that bug has been fixed in in 5.0.3 so I will probably give another try soon.

As for integrating with auto-fu, I dont know. Maybe its possible if its output is easy to parse, I will have to try later

@257
257 commented Apr 7, 2014

me too wants this. think vimperator/google-style suggestion for zsh.

@PythonNut PythonNut changed the title from [feature] Support full menu completion like auto-fu to Support full menu completion like auto-fu Jul 26, 2014
@faceleg faceleg added the enhancement label Dec 9, 2014
@jirutka

+1

@257

fish-shell/fish-shell#1465

i just don't understand why no shell has implemented this yet. it feels wired that i have to post pictures from a gui application to explain it to command-line developers. this should have come from a shell to firefox not the other way around...

@PythonNut

Something like this?

auto-fu

(please ignore the other oddities optimizations of my config)

@257

something like that but put the first candidate/suggestion in front of the cursor, preferably in a different colour and make the first backspace remove only the suggestion. consecutive backspace(s) shall remove what user has typed.
so in the screenshot above, say 'acs' is the winning candidate and put in front of the 'em' which what's already typed by user. now first backspace will remove 'acs' altogether and second backspace removes 'm' (from 'em') and so on.
this is very much akin to how webkit-based browser (safari, chrome) auto-complete their address bar (will post screenshots later).

see here too: hchbaw/auto-fu.zsh#36

@ericfreese ericfreese closed this Mar 10, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment