Find all your notes with one command!

Todo_r is a simple rust command line utility that keeps track of your todo items in code

Todo_r

. It is pronounced "todoer" like someone that does todos.

Find all your TODO notes with one command!

A lot is adapted from leasot but runs much faster.

Installation

The latest release can be downloaded from the releases page.

If you use macOS Homebrew or Linuxbrew you can currently install the latest version using

$ brew tap lavifb/todo_r https://github.com/lavifb/todo_r.git
$ brew install todor

Features

  • Reads TODO comments that are on their own line.
// TODO: do this
/* TODO: do that */

Note: comments that are not on their own line are not supported.

  • User references are tracked and can be found using --user flag.
// TODO(user1): item
// TODO: tagging @user2 and @user3
// TODO(user1): @user3 both are also found!

Comments 1 and 3 are found with todor -u user1.

  • Custom tags can be searched using the -t flag.
  • Interactive mode for deleting comments is launched using the -d flag.
  • If files are not provided for input, todo_r searches the entire git repository.
    • .gitignore files are respected
    • More ignores can be added using .todorignore files that use the same syntax
    • If you are not using git, you can instead use a .todor file in the root directory

Config files

Create a .todor file in the root of your workspace with todor init.

.todor files can also used as a config file to set custom tags, comments types, output styles, etc.

Todo_r also supports a global config file at $XDG_CONFIG_HOME/todor/todor.conf (default ~/.config/todor/todor.conf) for Mac/Linux and ~\AppData\Roaming\lavifb\todor\todor.conf on Windows.

A deeper explanation of config files can be found at config.md.

Default Language Support

These common languages are supported by default. More support can be added using config files above.

Filetype Extensions Comment Types
C/C++ .c,.h,.cpp //,/* */
C# .cs //,/* */
CoffeeScript .coffee #
Go .go //,/* */
Haskell .hs --
HTML .html,.htm <!-- -->
Java .java //,/* */
JavaScript .js,.es,.es6 //,/* */
Obj-C/C++ .m,.mm //,/* */
Less .less //,/* */
Markdown .md <!-- -->
Perl .pl,.pm #
PHP .php //,/* */
Python .py #,""" """
Ruby .rb #
Rust .rs //,/* */
Sass .sass,scss //,/* */
Scala .scala //,/* */
Shell .sh,.bash,.zsh #
SQL .sql --,/* */
Stylus .styl //,/* */
Swift .swift //,/* */
TeX .tex %
TypeScript .ts,.tsx //,/* */
YAML .yaml,.yml #

If there are any more languages/extensions that you feel should supported by default, feel free to submit an issue/pull request.


written by Lavi Blumberg

Versions

Find the latest versions by id

v0.7.3 - Jan 17, 2020

Added

  • Support for empty TODOs

v0.7.2 - Feb 10, 2019

Changed

  • Global config file on MacOS now follows XDG standard so its location can be changed by setting XDG_CONFIG_HOME

v0.7.1 - Jan 14, 2019

Added

  • improved help when using -h and --help tags

v0.7.0 - Jan 11, 2019

Added

  • More formatting options for -f flag
    • default prints in the normal ANSI style
    • usermarkdown prints a markdown tables organized by tagged users
    • csv prints a csv table
  • -e tag for reading piped content from stdin

Changed

  • filtering now occurs at the parsing stage instead of while printing
  • rewrite of hashmap that handles extensions for a small performance gain.
  • internal rewrite of formatting printing that may slightly improve performance

Library changes

  • all TodoR methods that with _filtered_ in the name are removed. Instead filter while parsing using open_filtered_todos().
  • full rewrite of printer.rs and iterators of Todo and TodoFile
  • renamed what is left of printer mod as format
  • added maps.rs to handle specialized HashMaps

v0.6.0 - Jan 03, 2019

Added

  • completions for bash, zsh, fish, and powershell
  • formula for brew package manager
  • global config support
  • formatted output formats using -f flag
    • JSON
    • Pretty JSON
    • Markdown

Changed

  • ignore paths are now entirely handled by todor bin

Deprecated

  • ignore config option
    • use a .todorignore file or -i flag to ignore paths

Fixed

  • ANSI style support for numbered ANSI colors

v0.5.1 - Dec 19, 2018

Fixed

  • output when tags are styled to be underlined
  • --check output when you use --user to filter output

v0.5.0 - Dec 16, 2018

Added

  • user tagging
    • Types
      1. // TODO(user): item
      2. // TODO: @user1 item @user2 @user3
    • User tags are color highlighted in output
    • output only specific users using -u or --user flag
  • regex caching to not rebuild the same regexs over and over again
  • support for changing ANSI printing styles in config files

Changed

  • stderr output using --verbose flag

Library changes

  • debug statements using log crate
  • pulled bin/todor.rs into separate files for potentially better compilation optimization
  • moved Todo and TodoFile types into todo module
  • pulled config related types out of comments.rs and into configs.rs

v0.4.2 - Dec 10, 2018

Added

  • Windows release
  • --check tag to exit nicely only when no TODOs are found

v0.4.1 - Dec 09, 2018

Added

  • releases on Github using Travis CI

Information - Updated May 03, 2022

Stars: 34
Forks: 1
Issues: 0

Repositories & Extras

An open source Gameboy emulator written in Rust that can use a command line interface...

An open source Gameboy emulator written in Rust that can use a command line interface as a screen and input device

An open source Gameboy emulator written in Rust that can use a command line interface...

gip is a command-line tool and Rust library to check global IP address

Currently built-in service providers are the followings

gip is a command-line tool and Rust library to check global IP address
CLI

317

electron-hardener

A Rust library and command line tool to harden Electron binaries against runtime behavior modifications

electron-hardener

This is the repository of CLI commands written in Rust, it is for my practices

This repository contains the following commands (Typical commands in UNIX)

This is the repository of CLI commands written in Rust, it is for my practices

This is a Rust command line tool that calculates a histogram of the separate types...

This is a Rust command line tool that calculates a histogram of the separate types of JSON records in an input JSON log file (one...

This is a Rust command line tool that calculates a histogram of the separate types...

cmsis-pack-manager

is a python module, Rust crate and command line utility for managing current device information that is stored in many CMSIS PACKs

cmsis-pack-manager

First, complete the basic Rust setup instructions

Use Rust's native cargo command to build and launch the template node:

First, complete the basic Rust setup instructions
Facebook Instagram Twitter GitHub Dribbble
Privacy