mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-08 11:23:47 -05:00
1.9 KiB
1.9 KiB
Building fzf
Build instructions
Prerequisites
- Go 1.23 or above
Using Makefile
# Build fzf binary for your platform in target
make
# Build fzf binary and copy it to bin directory
make install
# Build fzf binaries and archives for all platforms using goreleaser
make build
# Publish GitHub release
make release
Warning
Makefile uses git commands to determine the version and the revision information for
fzf --version. So if you're building fzf from an environment where its git information is not available, you have to manually set$FZF_VERSIONand$FZF_REVISION.e.g.
FZF_VERSION=0.24.0 FZF_REVISION=tarball make
Tip
To build fzf with profiling options enabled, set
TAGS=pprofTAGS=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
Running tests
# Run go unit tests
make test
# Run integration tests (requires to be on tmux)
make itest
# Run a single test case
ruby test/runner.rb --name test_something
Third-party libraries used
- rivo/uniseg
- Licensed under MIT
- mattn/go-shellwords
- Licensed under MIT
- mattn/go-isatty
- Licensed under MIT
- tcell
- Licensed under Apache License 2.0
- fastwalk
- Licensed under MIT