Open Issues Need Help
View All on GitHubAI Summary: The task is to improve the mbake Makefile formatter to correctly handle indentation in complex Makefile scenarios, specifically addressing issues with `if` statements, left-aligned comments, and continuation lines. This involves analyzing the provided examples from the Verilator project and modifying mbake's formatting rules to produce correctly indented Makefiles while preserving user intent and avoiding unintended changes.
mbake is a Makefile formatter and linter. It only took 50 years!
AI Summary: Enhance the mbake Makefile formatter and linter to support complex Makefile systems, including recursive Makefiles, CMAKE-generated Makefiles, and those following best practices as exemplified by the llamafile project. This involves adding comprehensive test cases covering these scenarios, potentially improving error handling and warnings for recursive Makefile issues, and documenting these enhancements.
mbake is a Makefile formatter and linter. It only took 50 years!
AI Summary: Develop an Emacs integration for the `mbake` Makefile formatter, similar to the `emacs-ruff-format` example. This involves creating an Emacs package that allows users to format their Makefiles using `mbake` directly within Emacs, potentially addressing performance concerns if necessary.
mbake is a Makefile formatter and linter. It only took 50 years!
AI Summary: Debug a performance issue in the `mbake` Makefile formatter. The issue involves a long line in a Makefile causing the formatter to hang or experience extremely slow performance. The task requires identifying the root cause of the performance bottleneck within the formatter's codebase related to handling long lines, potentially involving line continuation processing or other relevant parts of the formatting logic. Debugging will likely involve profiling the code, examining the formatter's algorithm for handling long lines, and potentially implementing optimizations or fixes.
mbake is a Makefile formatter and linter. It only took 50 years!
AI Summary: Modify the `mbake` CLI to support specifying the target shell for completion script generation, instead of relying on detecting the current shell using `ps`. This involves adding a command-line option (e.g., `--shell` or similar) to accept the shell type (e.g., `bash`, `zsh`, `fish`) and updating the completion script generation logic to use the specified shell.
mbake is a Makefile formatter and linter. It only took 50 years!
AI Summary: The task requires modifying the `mbake` tool to accept Makefile content via standard input (stdin) and output the formatted result to standard output (stdout). This change will enable seamless integration with the conform.nvim Neovim plugin.
mbake is a Makefile formatter and linter. It only took 50 years!