2016-11-27 06:16:53 +00:00
|
|
|
Building fzf
|
|
|
|
============
|
|
|
|
|
|
|
|
Build instructions
|
|
|
|
------------------
|
|
|
|
|
|
|
|
### Prerequisites
|
|
|
|
|
2024-04-01 14:38:46 +00:00
|
|
|
- Go 1.20 or above
|
2016-11-27 06:16:53 +00:00
|
|
|
|
|
|
|
### Using Makefile
|
|
|
|
|
2017-06-02 07:32:15 +00:00
|
|
|
```sh
|
|
|
|
# Build fzf binary for your platform in target
|
2016-11-27 06:16:53 +00:00
|
|
|
make
|
|
|
|
|
|
|
|
# Build fzf binary and copy it to bin directory
|
|
|
|
make install
|
|
|
|
|
2020-10-28 01:51:32 +00:00
|
|
|
# Build fzf binaries and archives for all platforms using goreleaser
|
|
|
|
make build
|
2016-11-27 06:16:53 +00:00
|
|
|
|
2020-10-28 01:51:32 +00:00
|
|
|
# Publish GitHub release
|
|
|
|
make release
|
2016-11-27 06:16:53 +00:00
|
|
|
```
|
|
|
|
|
2024-04-13 05:58:11 +00:00
|
|
|
> [!WARNING]
|
|
|
|
> Makefile uses git commands to determine the version and the revision
|
|
|
|
> information for `fzf --version`. So if you're building fzf from an
|
2020-10-28 09:33:22 +00:00
|
|
|
> environment where its git information is not available, you have to manually
|
|
|
|
> set `$FZF_VERSION` and `$FZF_REVISION`.
|
|
|
|
>
|
|
|
|
> e.g. `FZF_VERSION=0.24.0 FZF_REVISION=tarball make`
|
|
|
|
|
2024-04-13 05:58:11 +00:00
|
|
|
> [!TIP]
|
|
|
|
> To build fzf with profiling options enabled, set `TAGS=pprof`
|
|
|
|
>
|
|
|
|
> ```sh
|
|
|
|
> TAGS=pprof make clean install
|
|
|
|
> fzf --profile-cpu /tmp/cpu.pprof --profile-mem /tmp/mem.pprof \
|
|
|
|
> --profile-block /tmp/block.pprof --profile-mutex /tmp/mutex.pprof
|
|
|
|
> ```
|
|
|
|
|
2016-11-27 06:16:53 +00:00
|
|
|
Third-party libraries used
|
|
|
|
--------------------------
|
|
|
|
|
2024-01-20 17:52:28 +00:00
|
|
|
- [rivo/uniseg](https://github.com/rivo/uniseg)
|
|
|
|
- Licensed under [MIT](https://raw.githubusercontent.com/rivo/uniseg/master/LICENSE.txt)
|
2016-11-27 06:16:53 +00:00
|
|
|
- [mattn/go-shellwords](https://github.com/mattn/go-shellwords)
|
|
|
|
- Licensed under [MIT](http://mattn.mit-license.org)
|
|
|
|
- [mattn/go-isatty](https://github.com/mattn/go-isatty)
|
|
|
|
- Licensed under [MIT](http://mattn.mit-license.org)
|
|
|
|
- [tcell](https://github.com/gdamore/tcell)
|
|
|
|
- Licensed under [Apache License 2.0](https://github.com/gdamore/tcell/blob/master/LICENSE)
|
2024-02-15 06:10:54 +00:00
|
|
|
- [fastwalk](https://github.com/charlievieth/fastwalk)
|
|
|
|
- Licensed under [MIT](https://raw.githubusercontent.com/charlievieth/fastwalk/master/LICENSE)
|
2016-11-27 06:16:53 +00:00
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
[MIT](LICENSE)
|