fpf-cli 1.1.0 → 1.2.0

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 +42 -10
  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 Linux, default auto mode uses your distro manager plus installed cross-platform managers (`snap`, `flatpak`, `brew`, `npm`, `bun`).
40
+
39
41
  ## Supported Managers
40
42
 
41
43
  - Linux: `apt`, `dnf`, `pacman`, `zypper`, `emerge`
package/fpf CHANGED
@@ -204,24 +204,56 @@ detect_default_manager() {
204
204
 
205
205
  detect_default_managers() {
206
206
  local os
207
+ local emitted=""
208
+ local primary_manager=""
209
+
210
+ add_detected_manager() {
211
+ local manager_name="$1"
212
+ [[ -n "${manager_name}" ]] || return
213
+ case " ${emitted} " in
214
+ *" ${manager_name} "*)
215
+ return
216
+ ;;
217
+ esac
218
+ if manager_command_ready "${manager_name}"; then
219
+ printf "%s\n" "${manager_name}"
220
+ emitted+=" ${manager_name}"
221
+ fi
222
+ }
223
+
207
224
  os="$(uname -s)"
208
225
 
209
226
  if [[ "${os}" == "Darwin" ]]; then
210
- local found=0
211
- if command_exists brew; then
212
- printf "brew\n"
213
- found=1
214
- fi
215
- if command_exists bun; then
216
- printf "bun\n"
217
- found=1
227
+ add_detected_manager "brew"
228
+ add_detected_manager "bun"
229
+ if [[ -n "${emitted}" ]]; then
230
+ return
218
231
  fi
219
- if [[ "${found}" -eq 1 ]]; then
232
+ fi
233
+
234
+ if [[ "${os}" == "Linux" ]]; then
235
+ primary_manager="$(detect_default_manager)"
236
+ add_detected_manager "${primary_manager}"
237
+
238
+ add_detected_manager "snap"
239
+ add_detected_manager "flatpak"
240
+ add_detected_manager "brew"
241
+ add_detected_manager "npm"
242
+ add_detected_manager "bun"
243
+
244
+ if [[ -n "${emitted}" ]]; then
220
245
  return
221
246
  fi
222
247
  fi
223
248
 
224
- printf "%s\n" "$(detect_default_manager)"
249
+ primary_manager="$(detect_default_manager)"
250
+ add_detected_manager "${primary_manager}"
251
+
252
+ if [[ -n "${emitted}" ]]; then
253
+ return
254
+ fi
255
+
256
+ die "Unable to auto-detect supported package managers. Use --manager."
225
257
  }
226
258
 
227
259
  join_manager_labels() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fpf-cli",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Cross-platform fuzzy package finder powered by fzf",
5
5
  "bin": {
6
6
  "fpf": "fpf"