summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/main.go b/main.go
index 1e05345c..8ba0aed2 100644
--- a/main.go
+++ b/main.go
@@ -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)