MakeMe simplifies mobile app development by providing an intuitive interface for navigating and searching through make targets, making it easier to streamline your workflow. This innovative cross-platform tool is available on macOS, Linux, and Windows, offering seamless shell integration.
One of the key features of MakeMe is its type-ahead searching functionality, allowing you to quickly filter out irrelevant targets by writing just a few characters. Additionally, when selecting a target, an excerpt of the target will be shown in the makefile, with match highlighting for added clarity. With MakeMe, you can work faster and more efficiently.
To get started, install MakeMe using the following commands:
brew tap OakNinja/tap
brew install mm
For the latest development version:
brew install OakNinja/tap/mm --HEAD
Run the installation script to build the binary and set up shell integration:
# For Bash and Zsh
./install.sh
# For Fish
./install.fish
Alternatively, you can manually source the appropriate script in your shell configuration:
Zsh (~/.zshrc):
source /path/to/MakeMe/misc/mm.zsh
Note: In Zsh, the selected command is placed on the command line buffer for editing.
Bash (~/.bashrc):
source /path/to/MakeMe/misc/mm.bash
Note: In Bash, the selected command is executed immediately and added to history.
Fish (~/.config/fish/config.fish):
source /path/to/MakeMe/misc/mm.fish
Basic usage:
type mm
If there is a Makefile in the current working directory, all targets will be listed. Start typing to filter targets.
mm Parameters:
-h or --help to print the help.
-f
-i to start MakeMe in interactive mode. In interactive mode, the selected target will be executed and you will then be returned to the selection prompt. Please note that executed commands won't be added to your command history.
mm
All flags and parameters can be combined, and added in any order, eg., mm foo -i -f MyFancyMakeFile is equivalent to mm -f MyFancyMakeFile foo -i.
For testing:
# Run Go tests
go test ./...
# Run installation tests
./tests/test_install.sh
If you're looking to integrate fzf as a library in your own Go projects, MakeMe is an excellent starting point. The codebase is small, straightforward, and demonstrates how to integrate fzf effectively.