fpf-cli 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/fpf +32 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,6 +36,8 @@ By default, `fpf` auto-detects your package manager.
|
|
|
36
36
|
|
|
37
37
|
On macOS, default auto mode uses both `brew` and `bun` together.
|
|
38
38
|
|
|
39
|
+
On macOS with no query (`fpf`), startup uses installed package indexes for `brew` and `bun` for faster load; pass a query (`fpf ripgrep`) to search full catalogs.
|
|
40
|
+
|
|
39
41
|
On Linux, default auto mode uses your distro manager plus installed cross-platform managers (`snap`, `flatpak`, `brew`, `npm`, `bun`).
|
|
40
42
|
|
|
41
43
|
On Windows (Git Bash / MSYS / Cygwin), default auto mode uses installed Windows managers (`winget`, `choco`, `scoop`) plus `npm` and `bun`.
|
package/fpf
CHANGED
|
@@ -618,10 +618,13 @@ manager_search_entries() {
|
|
|
618
618
|
|
|
619
619
|
if [[ -z "${effective_query}" ]]; then
|
|
620
620
|
case "${manager}" in
|
|
621
|
-
apt|dnf|pacman|zypper|emerge|
|
|
621
|
+
apt|dnf|pacman|zypper|emerge|choco|scoop|snap|flatpak)
|
|
622
622
|
effective_query="a"
|
|
623
623
|
;;
|
|
624
|
-
|
|
624
|
+
npm|bun)
|
|
625
|
+
effective_query="aa"
|
|
626
|
+
;;
|
|
627
|
+
brew|winget)
|
|
625
628
|
effective_query=""
|
|
626
629
|
;;
|
|
627
630
|
esac
|
|
@@ -687,8 +690,13 @@ manager_search_entries() {
|
|
|
687
690
|
'
|
|
688
691
|
;;
|
|
689
692
|
brew)
|
|
690
|
-
|
|
691
|
-
|
|
693
|
+
if [[ -z "${query}" ]]; then
|
|
694
|
+
brew list --versions 2>/dev/null |
|
|
695
|
+
awk '{ print $1 "\tinstalled" }'
|
|
696
|
+
else
|
|
697
|
+
brew search "${effective_query}" 2>/dev/null |
|
|
698
|
+
awk 'NF > 0 { print $1 "\t-" }'
|
|
699
|
+
fi
|
|
692
700
|
;;
|
|
693
701
|
winget)
|
|
694
702
|
winget search "${effective_query}" --source winget --accept-source-agreements --disable-interactivity 2>/dev/null |
|
|
@@ -758,17 +766,30 @@ manager_search_entries() {
|
|
|
758
766
|
fi
|
|
759
767
|
;;
|
|
760
768
|
npm)
|
|
761
|
-
npm search "${effective_query}" --searchlimit=
|
|
769
|
+
npm search "${effective_query}" --searchlimit=200 --parseable 2>/dev/null |
|
|
762
770
|
awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
|
|
763
771
|
;;
|
|
764
772
|
bun)
|
|
765
773
|
{
|
|
766
|
-
if
|
|
767
|
-
bun
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
774
|
+
if [[ -z "${query}" ]]; then
|
|
775
|
+
if bun pm ls --global >/dev/null 2>&1; then
|
|
776
|
+
bun pm ls --global 2>/dev/null |
|
|
777
|
+
awk 'NR > 1 && NF > 0 { print $1 "\tinstalled" }'
|
|
778
|
+
elif bun pm ls >/dev/null 2>&1; then
|
|
779
|
+
bun pm ls 2>/dev/null |
|
|
780
|
+
awk 'NR > 1 && NF > 0 { print $1 "\tinstalled" }'
|
|
781
|
+
elif command_exists npm; then
|
|
782
|
+
npm ls -g --depth=0 --parseable 2>/dev/null |
|
|
783
|
+
awk -F'/' 'NR > 1 { print $NF "\tglobal" }'
|
|
784
|
+
fi
|
|
785
|
+
else
|
|
786
|
+
if bun search "${effective_query}" >/dev/null 2>&1; then
|
|
787
|
+
bun search "${effective_query}" 2>/dev/null |
|
|
788
|
+
awk 'NR > 1 && NF > 0 { name=$1; $1=""; sub(/^[[:space:]]+/, "", $0); if ($0 == "") $0="-"; print name "\t" $0 }'
|
|
789
|
+
elif command_exists npm; then
|
|
790
|
+
npm search "${effective_query}" --searchlimit=200 --parseable 2>/dev/null |
|
|
791
|
+
awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
|
|
792
|
+
fi
|
|
772
793
|
fi
|
|
773
794
|
} || true
|
|
774
795
|
;;
|