Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 12 days 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 6 years ago)
- Default Branch: master
- Last Pushed: 2022-05-13T15:49:53.000Z (over 2 years ago)
- Last Synced: 2024-10-12T14:00:04.427Z (27 days 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-cn - lavifb/todo_r - ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (应用 / Text processing)
- 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 笔记![<img src="https://api.travis-ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (应用 / 文本处理)
- awesome-rust - lavifb/todo_r - ci.org/lavifb/todo_r.svg?branch=master">](https://travis-ci.org/lavifb/todo_r) (应用 Applications / 文本处理 Text processing)
README
Todo_r
======
[![Actions Status](https://github.com/lavifb/todo_r/workflows/Test%20Master/badge.svg)](https://github.com/lavifb/todo_r/actions)
[![Build Status](https://travis-ci.com/lavifb/todo_r.svg?branch=master)](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