diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -4,6 +4,7 @@ import ( _ "embed" "fmt" "os" + "os/exec" "strings" fzf "github.com/junegunn/fzf/src" @@ -28,6 +29,9 @@ var zshCompletion []byte //go:embed shell/key-bindings.fish var fishKeyBindings []byte +//go:embed man/man1/fzf.1 +var manPage []byte + func printScript(label string, content []byte) { fmt.Println("### " + label + " ###") fmt.Println(strings.TrimSpace(string(content))) @@ -76,6 +80,20 @@ func main() { } return } + if options.Man { + file := fzf.WriteTemporaryFile([]string{string(manPage)}, "\n") + if len(file) == 0 { + fmt.Print(string(manPage)) + return + } + defer os.Remove(file) + cmd := exec.Command("man", file) + cmd.Stdout = os.Stdout + if err := cmd.Run(); err != nil { + fmt.Print(string(manPage)) + } + return + } code, err := fzf.Run(options) exit(code, err) |
