https://github.com/lavifb/todo_r
Find all your TODO notes with one command!
https://github.com/lavifb/todo_r
cli command-line rust tools
Last synced: 8 months ago
JSON representation
Find all your TODO notes with one command!
- Host: GitHub
- URL: https://github.com/lavifb/todo_r
- Owner: lavifb
- License: mit
- Created: 2018-10-16T17:50:22.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-05-13T15:49:53.000Z (over 3 years ago)
- Last Synced: 2025-02-28T11:45:59.635Z (9 months ago)
- Topics: cli, command-line, rust, tools
- Language: Rust
- Homepage:
- Size: 407 KB
- Stars: 36
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - lavifb/todo_r - ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (Applications / Text processing)
- awesome-rust-zh - lavifb/todo_r - 使用一个命令,查找所有 TODO 笔记 (应用 / 文本处理)
- awesome-rust - lavifb/todo_r - ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (应用 Applications / 文本处理 Text processing)
- awesome-rust-cn - lavifb/todo_r - ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (应用 / Text processing)
README
Todo_r
======
[](https://github.com/lavifb/todo_r/actions)
[](https://travis-ci.org/lavifb/todo_r)
### 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.
It is pronounced "todoer" like someone that does todos.
Find all your TODO notes with one command!
A lot is adapted from [leasot](https://github.com/pgilad/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
```console
$ 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.
```rust
// 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.
```rust
// 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](https://github.com/lavifb/todo_r/blob/master/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