Skip to content

Commit 247a517

Browse files
committed
Fix completions for alias fdfind in deb package for bash, zsh and fish.
Closes #1888
1 parent 40d8eb3 commit 247a517

6 files changed

Lines changed: 35 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
- #1667
1616
- #1813
1717

18+
- Fix completions for alias `fdfind` in deb release, see #1888 (@skane-lukas)
19+
1820
## Changes
1921

2022
- Minimum required rust version has been increased to 1.90.0. Notably, this means dropping fully support for intel Mac and Windows 7.

Makefile

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ $(EXE): Cargo.toml src/**/*.rs
99
cargo build --profile $(PROFILE) --locked
1010

1111
.PHONY: completions
12-
completions: autocomplete/fd.bash autocomplete/fd.fish autocomplete/_fd.ps1 autocomplete/_fd
12+
completions: autocomplete/fd.bash autocomplete/fd.fish autocomplete/_fd.ps1 autocomplete/_fd autocomplete/_fdfind autocomplete/fdfind.bash autocomplete/fdfind.fish
1313

1414
comp_dir=@mkdir -p autocomplete
1515

@@ -29,9 +29,24 @@ autocomplete/_fd: contrib/completion/_fd
2929
$(comp_dir)
3030
cp $< $@
3131

32+
autocomplete/_fdfind: contrib/completion/_fdfind
33+
$(comp_dir)
34+
cp $< $@
35+
36+
autocomplete/fdfind.bash: contrib/completion/fdfind.bash
37+
$(comp_dir)
38+
cp $< $@
39+
40+
autocomplete/fdfind.fish: contrib/completion/fdfind.fish
41+
$(comp_dir)
42+
cp $< $@
43+
3244
install: $(EXE) completions
3345
install -Dm755 $(EXE) $(DESTDIR)$(bindir)/fd
3446
install -Dm644 autocomplete/fd.bash $(DESTDIR)/$(datadir)/bash-completion/completions/$(exe_name)
3547
install -Dm644 autocomplete/fd.fish $(DESTDIR)/$(datadir)/fish/vendor_completions.d/$(exe_name).fish
36-
install -Dm644 autocomplete/_fd $(DESTDIR)/$(datadir)/zsh/site-functions/_$(exe_name)
48+
install -Dm644 autocomplete/_fd $(DESTDIR)/$(datadir)/zsh/site-functions/_fd
49+
install -Dm644 autocomplete/fdfind.bash $(DESTDIR)/$(datadir)/zsh/site-functions/fdfind.bash
50+
install -Dm644 autocomplete/fdfind.fish $(DESTDIR)/$(datadir)/zsh/site-functions/fdfind.fish
51+
install -Dm644 autocomplete/_fdfind $(DESTDIR)/$(datadir)/zsh/site-functions/_fdfind
3752
install -Dm644 doc/fd.1 $(DESTDIR)/$(datadir)/man/man1/$(exe_name).1

contrib/completion/_fdfind

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#compdef fdfind
2+
_fd "$@"

contrib/completion/fdfind.bash

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Source fd completions
2+
source /usr/share/bash-completion/completions/fd
3+
4+
if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
5+
complete -F _fd -o nosort -o bashdefault -o default fdfind
6+
else
7+
complete -F _fd -o bashdefault -o default fdfind
8+
fi

contrib/completion/fdfind.fish

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
complete -c fdfind --wraps fd

scripts/create-deb.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,12 @@ install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICE
5757
install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
5858
gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
5959

60-
# Create symlinks so fdfind can be used as well:
60+
# Create symlink and completions so fdfind can be used as well:
6161
ln -s "/usr/bin/fd" "${DPKG_DIR}/usr/bin/fdfind"
62-
ln -s './fd.bash' "${DPKG_DIR}/usr/share/bash-completion/completions/fdfind"
63-
ln -s './fd.fish' "${DPKG_DIR}/usr/share/fish/vendor_completions.d/fdfind.fish"
64-
ln -s './_fd' "${DPKG_DIR}/usr/share/zsh/vendor-completions/_fdfind"
62+
63+
install -Dm644 'autocomplete/fdfind.bash' "${DPKG_DIR}/usr/share/bash-completion/completions/fdfind"
64+
install -Dm644 'autocomplete/fdfind.fish' "${DPKG_DIR}/usr/share/fish/vendor_completions.d/fdfind.fish"
65+
install -Dm644 'autocomplete/_fdfind' "${DPKG_DIR}/usr/share/zsh/vendor-completions/_fdfind"
6566

6667
cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF
6768
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

0 commit comments

Comments
 (0)