#!/bin/sh -eu fzf_doc_preview() { file=$1 extension=${file##*.} case "$extension" in md) mdcat -l "$file" ;; html) w3m -dump "$file" ;; pdf) pdftotext "$file" - ;; *) grep -hi -B 10 -A 10 . "${file}" ;; esac } [ "${1-}" = "--preview" ] && fzf_doc_preview "${2-}" && exit; grep -lRi \ --include=*.md \ --include=*.txt \ --include=*.pdf \ --include=*.html \ "${1-.}" /etc/documentation \ | fzf --preview "fzf-doc --preview {}" \ | while read -r file do extension=${file##*.} case "$extension" in md) mdcat -cl "$file" | vim - ;; html) w3m -dump "$file" | vim - ;; pdf) pdftotext "$file" - | vim - ;; *) vim "$file" ;; esac done