A Neovim plugin to highlight, list, and search for TODO, FIX, HACK, and other comment annotations in your code.
todo-comments.nvim is a Neovim plugin designed to highlight, list, and search for todo comments (such as TODO, FIX, HACK) in your codebase. It helps developers keep track of annotations and pending tasks directly within their editor, improving code maintenance and collaboration.
Neovim users, particularly software developers and teams who use todo comments for tracking bugs, improvements, and notes in their code.
It offers deep integration with Neovim's ecosystem, including Telescope and Trouble, providing a fast, customizable, and visually intuitive way to manage code annotations without leaving the editor.
✅ Highlight, list and search todo comments in your projects
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Customizes colors and icons for different keywords (e.g., TODO, FIX) with options like 'wide' or 'bg' styles, making annotations stand out directly in the editor as shown in the README screenshots.
Seamlessly integrates with popular plugins like Telescope for search and Trouble for listing todos, leveraging existing tools for a cohesive workflow without reinventing the wheel.
Supports defining custom keywords (e.g., PERF, TEST) and alternative spellings via the 'alt' property, allowing adaptation to various team conventions and coding styles.
Optionally uses TreeSitter to restrict highlighting to actual comments only, reducing false positives that can occur with regex-based matching in code strings.
Requires optional dependencies like ripgrep, Telescope, or Trouble for full functionality, which adds setup overhead and may bloat simpler Neovim configurations.
Exclusively for Neovim >= 0.8.0 (with a branch for older versions), making it unsuitable for users of other editors or those on older Vim setups without Neovim features.
The extensive Lua-based setup with multiple options (e.g., highlight patterns, sign priorities) can be overwhelming for beginners or those unfamiliar with Neovim's customization ecosystem.
Without TreeSitter enabled, the default regex pattern might match keywords outside of comments, as admitted in the README's alternative pattern note about false positives.