Package Details: fzf-extras-git 20180620-1

Git Clone URL: https://aur.archlinux.org/fzf-extras-git.git (read-only)
Package Base: fzf-extras-git
Description: Extra keybindings for fzf
Upstream URL: https://github.com/atweiden/fzf-extras
Licenses: MIT
Conflicts: fzf-extras
Provides: fzf-extras
Submitter: atweiden
Maintainer: None
Last Packager: atweiden
Votes: 2
Popularity: 0.000000
First Submitted: 2015-04-04 18:34
Last Updated: 2018-06-20 15:31

Dependencies (10)

Required by (1)

  • fzf-git (requires fzf-extras) (optional)

Sources (1)

Latest Comments

atweiden commented on 2015-05-12 20:57

senft:

I wasn't aware Arch's zsh sources *.sh files in /etc/profile.d automatically until an issue was raised by zsh users on the main fzf AUR pkg page, claiming that the bash functions were creating error messages in zsh. That is why I updated the main fzf pkg to install bash keybindings as /etc/profile.d/fzf.bash instead of /etc/profile.d/fzf.sh.

As it pertains to fzf-extras, if you look in the fzf wiki, there is already an example of a function that is zsh only:

Replacing `eval` with `print -z` will push the arguments onto the
editing buffer stack, allowing you to edit the command before running
it. It also means the command you run will appear in your history
rather than just `fh`. Unfortunately this only works for zsh.

https://github.com/junegunn/fzf/wiki/Examples

I do not use zsh and did not intend to maintain zsh bindings upstream, but there is at least this one difference already between bash and zsh in terms of what is a problem for directly sourcing functions.

The alternate approach might be transplanting the contents of fzf-extras.zsh to fzf-extras.sh under if [[ "$SHELL" == '/bin/zsh' ]], and installing fzf-extras.sh as /etc/profile.d/fzf-extras.sh, but then what about other shells like fish? To be consistent, I lean towards code duplication being the lesser evil as the wiki continues to grow.

Ultimately I decided it would be best not for zsh to automatically source bash functions from fzf-extras.sh, as that was never the intended behavior. If as a zsh user you were receiving bash keybindings from fzf-extras, that was by mistake. If you do want to get additional zsh capabilities in fzf-extras, I welcome PRs adding those keybindings to fzf-extras.zsh.

senft commented on 2015-05-09 18:11

Hey, not sure if this is an packaging or upstream issue, but since you are the developer I will just write here. Why does fzf-extras.zsh not source fzf-extras.bash? The bash functions are all compatible with zsh.

atweiden commented on 2015-05-09 16:51

Bash keybindings are now installed to /etc/profile.d/fzf-extras.bash (formerly /etc/profile.d/fzf-extras.sh)