Gruntfuggly / todo-tree

Use ripgrep to find TODO tags and display the results in a tree view
Other
1.4k stars 133 forks source link

Feature Request: Setting or command to show only todos that were added, modified, or removed since a specific parent commit/branch #800

Open Nezteb opened 7 months ago

Nezteb commented 7 months ago

As an example, there's an Elixir static analysis tool called credo that supports flags related to git diffs like:

Name Description
--from-dir Diff from the given directory
--from-git-ref Diff from the given Git ref
--from-git-merge-base Diff from where the current HEAD branched off from the given merge base
--since Diff from the given point in time (using Git)

It'd be cool of Todo Tree supported this. Sometimes I'm in a large project with many existing todos and I want to double check if I've added or modified any of them.

HebaruSan commented 7 months ago

I'd also use this if it existed; use case details:

I frequently work on code with lots of old TODOs, but I have a personal rule about never committing a new one because I use them to track progress in my current projects. Currently my workflow to check pending tasks is to run git diff and git diff --staged and search for "TODO", and it would be amazing if I could configure old and new TODOs (distinguished by whether they're committed to HEAD) to be in separate buckets, a la:

    "todo-tree.general.tagGroups": {
        "PENDING": ["new:TODO", "new:[ ]", "new:XXX", "new:HACK", "new:FIXME"],
        "XXX": ["XXX", "HACK", "FIXME"],
        "TODO": ["TODO", "[ ]"]
    },

That way I could simply check the PENDING list for tasks remaining in the current project, without losing the ability to review old ones if desired.

Nezteb commented 7 months ago

I found a thing today that reminded me of this issue that could be helpful: https://github.com/CompSciLauren/awesome-git-hooks/blob/master/pre-commit-hooks/search-term.hook

rexgarland commented 1 month ago

Looks like something related was scoped a bit here, could be a big change: https://github.com/Gruntfuggly/todo-tree/issues/219