Skip to content
/ doto Public

Track, filter, sort code comment anchors directly from your terminal.

License

Notifications You must be signed in to change notification settings

utakotoba/doto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doto_header

doto · comment mark tracker

Track, filter, and navigate code comment anchors like TODO, NOTE and FIXME directly from your terminal.

Features

  • Fast workspace scanning with low memory usage
  • Built-in mark detection (TODO, FIXME, NOTE, WARN, ERROR, INFO)
  • Filters by mark, language, path, and folder
  • Sort and group by mark, language, path, or folder in pipeline
  • Respects .gitignore and common build/artifact directories
  • Cancellation and progress support

Plan to do:

  • Support custom marks and ignore glob

Install

Currently, we only support to install by cargo.

cargo install doto --locked

Or, using Homebrew for both macOS and Linux.

brew install utakotoba/tap/doto

Basic usage

Scan the current directory:

# Scan the current directory.
doto

Scan specific paths:

# Scan only the specified paths.
doto crates/cli crates/core

Limit to specific marks or languages:

# Filter to specific marks and languages.
doto --filter-mark TODO --filter-mark FIXME --filter-language rs

Sorting pipeline

Sort and group via a pipeline of stages. Stages are: mark, language, path, folder.

# Group by mark, then language, then folder.
doto --sort mark,language,folder

Stage overrides only apply when that stage exists in the pipeline:

# Override mark priority inside the mark stage.
doto --sort mark --sort-mark-priority "FIXME=0,TODO=1"

# Change language grouping order.
doto --sort language --sort-lang-order name

# Path grouping order.
doto --sort path --sort-path-order desc

# Folder grouping: depth relative to scan root, and order.
doto --sort folder --sort-folder-depth 2 --sort-folder-order desc

Performance Notes

On a Chromium-sized repo (~7M SLOC), scanning completes in ~3s with ~55MB peak memory on a modern laptop.

We are going to add detailed benchmark here...

License

Copyright © 2026 Ly (Ling Yu). Licensed under the MIT.

About

Track, filter, sort code comment anchors directly from your terminal.

Resources

License

Stars

Watchers

Forks

Languages