fman

command module
v0.0.0-...-a352eef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2026 License: MIT Imports: 7 Imported by: 0

README

fman

fman — fuzzy-find any command on your PATH and open its man page.

Example

Install

From source
go install github.com/ImStyrene/fman@latest
With Nix (flake)
nix run github:ImStyrene/fman
With Nix (nixpkgs, once merged)
nix run nixpkgs#fman

Usage

fman
  1. Start typing to filter the list of all available commands.
  2. Press / to navigate, Enter to select.
  3. man <command> opens automatically.
  4. Press Esc or Ctrl+C to quit without selecting.

How it works

fman is a single Go binary with zero runtime dependencies:

  • listCommands() — scans every directory in $PATH, collects unique executable filenames.
  • Fuzzy matching — built-in scorer: exact position (+100), near match (+50), start-of-string (+80), word boundary (+60), consecutive (+40). Prefers shorter names as tiebreaker.
  • TUI — powered by bubbletea (no fzf, no ncurses).
  • man invocationexec.Command("man", chosen), wrapped via wrapProgram in the Nix package.

Package for nixpkgs

The default.nix in this repo is ready for pkgs/tools/misc/fman/:

# pkgs/top-level/all-packages.nix
fman = callPackage ../tools/misc/fman { };

Update the hash and vendorHash after fetching:

nix build 2>&1 | grep "got:"
# paste the hash into default.nix

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL