This package displays keyword entries from source code comments and Org files in the Magit status buffer. Activating an item jumps to it in its file. By default, it uses keywords from hl-todo, minus a few (like NOTE
).
Org headings can optionally be fontified as such, and sorting can be customized (this shows sorting by filename, then keyword, then buffer position):
Items can also be automatically grouped in a customizable way, which can be helpful in large repos:
This shows grouping items by the first path component, then keyword, then filename, and with optional keyword header fontification:
If you installed from MELPA, you’re done!
Install these required packages:
a
anaphora
async
dash
f
hl-todo
magit
pcre2el
s
Then put this file in your load-path
, and put this in your init file:
(require 'magit-todos)
Run magit-todos-mode
, then open a Magit status buffer.
- Customize settings in the
magit-todos
group. - Jump to the to-do list in a Magit status buffer by pressing j T. If the section is empty (e.g. when using manual updates), it will scan for items.
- When configured for manual updates, manually update the to-do list by pressing j T with point in the to-do list, or with the
magit-todos-update
command. - With point on a to-do item:
- Show the item by pressing RET
- Peek at the item by pressing SPC
Fixes
regexp-quote
item keywords when jumping to an item. (Fixes #36. Thanks to Derek Feichtinger.)- Ensure
grep
supports--perl-regexp
. - Warn when unable to find a suitable scanner (i.e.
rg
, or a PCRE-compatible version ofgit
orgrep
).
Fixes
- Test whether
git grep
supports--perl-regexp
by checking its--help
output, rather than doing a search and checking for an error. message
instead oferror
for weird behavior. (This message exists to help track down an inconsequential bug.)- Remove unused
magit-todos-ignore-directories
option. (To be replaced in a future release.)
Initial release.
- This package was inspired by magit-org-todos.
- The
ag
support was made much simpler by the great pcre2el package by Jon Oddie. - Thanks to Jiangbin Zhao for his extensive testing and feedback.
GPLv3