summaryrefslogtreecommitdiffstats
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go43
1 files changed, 42 insertions, 1 deletions
diff --git a/main.go b/main.go
index d0350601..debd2408 100644
--- a/main.go
+++ b/main.go
@@ -1,6 +1,10 @@
package main
import (
+ _ "embed"
+ "fmt"
+ "strings"
+
fzf "github.com/junegunn/fzf/src"
"github.com/junegunn/fzf/src/protector"
)
@@ -8,7 +12,44 @@ import (
var version string = "0.47"
var revision string = "devel"
+//go:embed shell/key-bindings.bash
+var bashKeyBindings []byte
+
+//go:embed shell/completion.bash
+var bashCompletion []byte
+
+//go:embed shell/key-bindings.zsh
+var zshKeyBindings []byte
+
+//go:embed shell/completion.zsh
+var zshCompletion []byte
+
+//go:embed shell/key-bindings.fish
+var fishKeyBindings []byte
+
+func printScript(label string, content []byte) {
+ fmt.Println("### " + label + " ###")
+ fmt.Println(strings.TrimSpace(string(content)))
+ fmt.Println("### end: " + label + " ###")
+}
+
func main() {
protector.Protect()
- fzf.Run(fzf.ParseOptions(), version, revision)
+ options := fzf.ParseOptions()
+ if options.Bash {
+ printScript("key-bindings.bash", bashKeyBindings)
+ printScript("completion.bash", bashCompletion)
+ return
+ }
+ if options.Zsh {
+ printScript("key-bindings.zsh", zshKeyBindings)
+ printScript("completion.zsh", zshCompletion)
+ return
+ }
+ if options.Fish {
+ printScript("key-bindings.fish", fishKeyBindings)
+ fmt.Println("fzf_key_bindings")
+ return
+ }
+ fzf.Run(options, version, revision)
}