hello again, I solved it: it was the -S '' in compadd -S '' that was causing the trouble, I removed it and now it adds the space after the completion by itself best Il giorno ven 28 set 2018 alle ore 14:16 Pier Paolo Grassi < pierpaolog@gmail.com> ha scritto: > Hello, I have noticed that when I define a completion function, which does > something like: > > _arguments -s -S -A '-*' \ > "*:commands:->commands" > > case $state in > (commands) > compadd -S '' -V commands -a -Q -U commands_array > ;; > esac > > > (actual code stripped down a bit) > the array commands_array is populated by some code with the "commands" I > want to have completed. > All works well, but when I choose a command the cursor stops right after > the completion, instead of adding a space like _gnu_generic does when I > complete the options. > This way if I press tab again without inserting a space, the command I > choose gets substituted with the first command from the completion menu and > the menu is presented again. > > What would be a good way of achieving the same thing as _gnu_generic? is > there some completion style that can be leveraged here? > > thanks in advance > > -- > Pier Paolo Grassi > email: pierpaolog@gmail.com > linkedin: https://www.linkedin.com/in/pier-paolo-grassi-19300217 > founder: https://www.meetup.com/it-IT/Machine-Learning-TO > -- Pier Paolo Grassi email: pierpaolog@gmail.com linkedin: https://www.linkedin.com/in/pier-paolo-grassi-19300217 founder: https://www.meetup.com/it-IT/Machine-Learning-TO