Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#61770 - [fish] Missing completion items

Attached to Project: Community Packages
Opened by EFanZh (EFanZh) - Friday, 15 February 2019, 07:52 GMT
Last edited by Levente Polyak (anthraxx) - Saturday, 16 February 2019, 17:31 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

fish 3.0.1 is missing some TAB completions. For example, typing `curl -<TAB>` doesn't show anything; typing `man 1 <TAB>` only show built-in commands.

I have tested fish 3.0.1 in Debian, and it seems to work.

I have attached two Dockerfiles for reproducing the problem, one of which is the Debian version that works without problem, the other one is Arch Linux version that is missing completions.
This task depends upon

Closed by  Levente Polyak (anthraxx)
Saturday, 16 February 2019, 17:31 GMT
Reason for closing:  Upstream
Comment by Levente Polyak (anthraxx) - Friday, 15 February 2019, 10:46 GMT
you need to call fish_update_completions that generates the manpage completions for your user, this is documented in the wiki page. i have 3625 completions for manpages.
curl does come like that from vanilla upstream: https://github.com/fish-shell/fish-shell/blob/72d80c3d91bbd35bed0aafb5514c9834bb48e256/share/completions/curl.fish
Please report upstream if you want more curl completions
Comment by EFanZh (EFanZh) - Friday, 15 February 2019, 12:09 GMT
I did call fish_update_completions, but there is still no completion. Also, if I source ~/.local/share/fish/generated_completions/curl.fish manually, completion for curl begin to work for the current fish process.

In my attached Dockerfiles, I have called fish_update_completions, but there is no completion in the Arch Linux container.
Comment by Levente Polyak (anthraxx) - Friday, 15 February 2019, 12:20 GMT
did you restart your shell? it works here, quite definitively
Comment by EFanZh (EFanZh) - Friday, 15 February 2019, 14:12 GMT
Yes, I did restart my shell.
Comment by EFanZh (EFanZh) - Saturday, 16 February 2019, 00:06 GMT
I have tried fresh installation of Arch Linux:

# pacstrap /mnt base fish python
# arch-chroot /mnt fish -c fish_update_completions
# arch-chroot /mnt fish

I got no completion for `curl -<Tab>`.
Comment by Levente Polyak (anthraxx) - Saturday, 16 February 2019, 11:34 GMT
Again: This is how upstream ships the curl completions, you should report upstream.
echo $fish_complete_path
/usr/share/fish/completions take precedence over the manually generated completions in /root/.local/share/fish/generated_completions and therefor the extended completion parsed from man page will not be shown. This is an upstream issue that should be fixed
Comment by EFanZh (EFanZh) - Saturday, 16 February 2019, 16:33 GMT
OK, this bug can be close now.

Bug 1 has been fixed by upstream (https://github.com/fish-shell/fish-shell/commit/dbeaa0c8de4f25e6a72a215abc8d4fa0c117c967).

As for the second bug, I find out that I need to run `mandb` manually to make `man 1 ` completions show up.
Comment by Levente Polyak (anthraxx) - Saturday, 16 February 2019, 17:31 GMT
there is man-db.timer and man-db.service for it

Loading...