Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/koki-develop/go-fzf

🔍 Fuzzy Finder CLI and Library.
https://github.com/koki-develop/go-fzf

cli fzf golang terminal

Last synced: 14 days ago
JSON representation

🔍 Fuzzy Finder CLI and Library.

Awesome Lists containing this project

README

        

🔍 go-fzf


Go Reference
GitHub release (latest by date)
GitHub Workflow Status
Maintainability
Go Report Card
LICENSE


Fuzzy Finder CLI and Library.


English | 日本語

## 目次

- [使い方](#使い方)
- [CLI](#cli-として使用する)
- [ライブラリ](#ライブラリとして使用する)
- [ライセンス](#ライセンス)

## 使い方

### CLI として使用する

go-fzf で何ができるのかを知りたい場合は `gofzf` CLI を試してください。
`gofzf` CLI は go-fzf で作られており、 go-fzf のほとんどの機能を利用可能です。

![](/docs/cli/demo.gif)

詳しい情報は[ドキュメント](./docs/cli/README.ja.md)をご参照ください。

### ライブラリとして使用する

go-fzf を使用するとカスタマイズ性の高い Fuzzy Finder を簡単に作ることができます。
例えば、たったこれだけのコードで以下のような Fuzzy Finder を作ることができます。

```go
package main

import (
"fmt"
"log"

"github.com/koki-develop/go-fzf"
)

func main() {
items := []string{"hello", "world", "foo", "bar"}

f, _ := fzf.New()
if err != nil {
log.Fatal(err)
}

idxs, err := f.Find(items, func(i int) string { return items[i] })
if err != nil {
log.Fatal(err)
}

for _, i := range idxs {
fmt.Println(items[i])
}
}
```

![](./examples/basic/demo.gif)

詳しい情報は[ドキュメント](./docs/library/README.ja.md)をご参照ください。

#### 使用例

[examples](./examples/) には go-fzf の使い方の様々な例が用意されています。

## ライセンス

[MIT](./LICENSE)