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.
Files changed (3) hide show
  1. package/README.md +2 -0
  2. package/fpf +32 -11
  3. 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|winget|choco|scoop|snap|flatpak|npm|bun)
621
+ apt|dnf|pacman|zypper|emerge|choco|scoop|snap|flatpak)
622
622
  effective_query="a"
623
623
  ;;
624
- brew)
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
- brew search "${effective_query}" 2>/dev/null |
691
- awk 'NF > 0 { print $1 "\t-" }'
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=500 --parseable 2>/dev/null |
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 bun search "${effective_query}" >/dev/null 2>&1; then
767
- bun search "${effective_query}" 2>/dev/null |
768
- awk 'NR > 1 && NF > 0 { name=$1; $1=""; sub(/^[[:space:]]+/, "", $0); if ($0 == "") $0="-"; print name "\t" $0 }'
769
- elif command_exists npm; then
770
- npm search "${effective_query}" --searchlimit=500 --parseable 2>/dev/null |
771
- awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
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
  ;;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fpf-cli",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "Cross-platform fuzzy package finder powered by fzf",
5
5
  "bin": {
6
6
  "fpf": "fpf"