aboutsummaryrefslogtreecommitdiff
path: root/scripts/bin/macho
blob: 93b8f8fe1924eddc3eacfc3e543047d0c67e9f82 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh

export FZF_DEFAULT_OPTS='
--height=30%
--layout=reverse
--prompt="Manual: "
--preview="echo {1} | sed -E \"s/^\((.+)\)/\1/\" | xargs -I{S} man -Pcat {S} {2} 2>/dev/null"';

while getopts ":s:" opt; do
    case $opt in
        s ) SECTION=$OPTARG; shift; shift;;
        \?) echo "Invalid option: -$OPTARG" >&2; exit 1;;
        : ) echo "Option -$OPTARG requires an argument" >&2; exit 1;;
    esac;
done;

manual=$(apropos -s ${SECTION:-''} ${@:-.} | \
    grep -v -E '^.+ \(0\)' |\
    awk '{print $2 "    " $1}' | \
    sort | \
    fzf  | \
    sed -E 's/^\((.+)\)/\1/');

[ -z "$manual" ] && exit 0;
man $manual;