ct
cargo-todo
cargo install cargo-todo
ct

cargo-todo

Cargo tool to display TODOs

by Clément Guiton

0.2.0 (see all)License:MIT OR Apache-2.0
cargo install cargo-todo
Readme

A tool to view every TODOs in the rust code

Installation

$ cargo install cargo-todo

Usage

you can add parameters to you TODOs

//todo 18-11-2001 5 !clement implement getters

The supported parameters are :

  • Priority : A number between 1 and 9
  • Deadline : A date format yyyy/mm/dd
  • Member : A text that begin with '!'
  • Content : Every text other thant the previouses will be considered as content

Those parameters can be added in any order as long as they follow the syntax they will be automaticaly added

run

$cargo todo
src/main.rs line: 331 //todo 
Member: clement
Priority: 5
Deadline: 2020-08-14
implement getters

Default supported regex

  • ^s*//s*todo\b (//todo)
  • ^s*//s*fix\b (//fix)
  • ^s*//s*fixme\b (//fixme)

cargo todo now support customizable regex

add all your customs regex in the ~/.cargo/todo_config file (will be created at launch)
all regex are case-insensitive

Features

  • -i, --inline : display todo in one line

    $cargo todo -i src/main.rs line: 331 //todo Member: clement Priority: 5 Deadline: 2020-08-14 implement getters

  • -v, --verbose : Sets the level of verbosity
    default or -vv
    full verbose -v less verbose

    $cargo todo -v src/main.rs line: 331 //todo implement getters

  • -x, --exclude ... : Exclude some todos from the list

    $cargo todo -x //fix //wil display every todos expect those having the '//fix' keyword

  • -f, --filter ... : Filter todos to show

    $cargo todo -f //fix //wil only display todos having the '//fix' keyword

  • -l, --list : Number of values to display

    $cargo todo -l 5 ///wil display the first 5 todos

  • m, --member ... : Filter from member

    $cargo todo -m clement ///wil only display todos having as member clement

  • -s, --sort : Sort todos [possible values: priority, deadline, member]

    $cargo todo -s priority ///wil display todos sorted by their priority

Legacy mode

Can be used for legacy code base as it's support todo!() and unimplemented!()

Will display every line with a supported token (listed below) and the inside of the macro

/!\ Legacy mode is way slower the the default mode and lacks a lot of cool features

Example

code base

todo!("implement getters");

run

$ cargo todo --legacy
src/main.rs TODO Line  125 : implement getters

Supported tokens

  • //todo
  • todo!()
  • unimplemented!()
  • fix

/!\ WARNING

cargo todo will no longer use regex but only the default tokens listed above

GitHub Stars

21

LAST COMMIT

2yrs ago

MAINTAINERS

1

CONTRIBUTORS

1

OPEN ISSUES

7

OPEN PRs

1
VersionTagPublished
0.2.0
2yrs ago
0.1.7
2yrs ago
0.1.6
2yrs ago
0.1.5
2yrs ago
No alternatives found
No tutorials found
Add a tutorial