#todo #workflow #command-line-tool #plain-text #output-format #text-processing #cli

app dowhatagain

Simple cli tool to extract todos from piped in files and output to various formats

4 releases

0.1.3 May 31, 2024
0.1.2 May 24, 2024
0.1.1 May 23, 2024
0.1.0 May 23, 2024

#398 in Command line utilities

MIT license

11KB
229 lines

Dowhatagain

Simple tool for filtering todos from a piped in list of files and outputting to various formats.

TODO comments in code have a tendency to be just left there yet they also have their value when building complicated things.

image

Installation

Manual:

  • Clone the repository
  • Install the rust toolchain
  • Run cargo install --path .

Via cargo: cargo install dowhatagain

Features

  • Output in Markdown and plain text
  • Group by filename
  • Simple display or detailed with filename and line number
  • Way faster than needed using buffered parallel processing

Example usage

Get all TODOs in a repository:

$ fd . | dowhatagain

file1.rs:3: Do thing
file2.rs:4: Other thing

Get all TODOs for the current changeset and output to markdown: git diff master --name-only | dowhatagain --output markdown --group-by file --detail just-task

file.rs

- [ ] Do thing
- [ ] Do other thing

other_file.rs

- [ ] Do thing
- [ ] Do other thing

Great for PR checks, commit hooks and custom workflows.

Dependencies

~5.5–7MB
~130K SLoC