fpf-cli 1.6.4 → 1.6.5

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 (2) hide show
  1. package/fpf +40 -6
  2. package/package.json +1 -1
package/fpf CHANGED
@@ -579,11 +579,38 @@ join_query() {
579
579
  printf "%s" "${query}"
580
580
  }
581
581
 
582
+ query_is_single_token() {
583
+ local query="$1"
584
+ [[ -n "${query}" && "${query}" != *[[:space:]]* ]]
585
+ }
586
+
587
+ exact_match_entry() {
588
+ local manager="$1"
589
+ local query="$2"
590
+
591
+ if ! query_is_single_token "${query}"; then
592
+ return 0
593
+ fi
594
+
595
+ case "${manager}" in
596
+ brew)
597
+ if brew info --formula "${query}" >/dev/null 2>&1 || brew info --cask "${query}" >/dev/null 2>&1; then
598
+ printf "%s\t-\n" "${query}"
599
+ fi
600
+ ;;
601
+ npm|bun)
602
+ if command_exists npm && npm view "${query}" name >/dev/null 2>&1; then
603
+ printf "%s\t-\n" "${query}"
604
+ fi
605
+ ;;
606
+ esac
607
+ }
608
+
582
609
  manager_search_entries() {
583
610
  local manager="$1"
584
611
  local query="$2"
585
612
  local effective_query="${query}"
586
- local npm_search_limit=200
613
+ local npm_search_limit=500
587
614
  local line_limit=0
588
615
 
589
616
  if [[ -z "${query}" ]]; then
@@ -592,7 +619,7 @@ manager_search_entries() {
592
619
  fi
593
620
 
594
621
  if ! [[ "${npm_search_limit}" =~ ^[0-9]+$ ]] || [[ "${npm_search_limit}" -eq 0 ]]; then
595
- npm_search_limit=200
622
+ npm_search_limit=500
596
623
  fi
597
624
 
598
625
  if ! [[ "${line_limit}" =~ ^[0-9]+$ ]]; then
@@ -673,8 +700,11 @@ manager_search_entries() {
673
700
  '
674
701
  ;;
675
702
  brew)
676
- brew search "${effective_query}" 2>/dev/null |
677
- awk 'NF > 0 { print $1 "\t-" }'
703
+ {
704
+ brew search "${effective_query}" 2>/dev/null |
705
+ awk 'NF > 0 && $1 != "==>" { print $1 "\t-" }'
706
+ exact_match_entry "${manager}" "${query}"
707
+ }
678
708
  ;;
679
709
  winget)
680
710
  winget search "${effective_query}" --source winget --accept-source-agreements --disable-interactivity 2>/dev/null |
@@ -744,8 +774,11 @@ manager_search_entries() {
744
774
  fi
745
775
  ;;
746
776
  npm)
747
- npm search "${effective_query}" --searchlimit="${npm_search_limit}" --parseable 2>/dev/null |
748
- awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
777
+ {
778
+ npm search "${effective_query}" --searchlimit="${npm_search_limit}" --parseable 2>/dev/null |
779
+ awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
780
+ exact_match_entry "${manager}" "${query}"
781
+ }
749
782
  ;;
750
783
  bun)
751
784
  {
@@ -756,6 +789,7 @@ manager_search_entries() {
756
789
  npm search "${effective_query}" --searchlimit="${npm_search_limit}" --parseable 2>/dev/null |
757
790
  awk -F'\t' 'NF >= 2 { print $1 "\t" $2 }'
758
791
  fi
792
+ exact_match_entry "${manager}" "${query}"
759
793
  } || true
760
794
  ;;
761
795
  esac | awk -F'\t' 'NF >= 1 { if ($2 == "") $2 = "-"; print $1 "\t" $2 }' | sort -u | {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fpf-cli",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "Cross-platform fuzzy package finder powered by fzf",
5
5
  "bin": {
6
6
  "fpf": "fpf"