| Crates.io | zed-todo-tree |
| lib.rs | zed-todo-tree |
| version | 0.3.0 |
| created_at | 2025-12-10 21:37:18.797754+00 |
| updated_at | 2026-01-07 13:33:07.551347+00 |
| description | Zed editor extension that provides syntax highlighting for TODO-style comments and integrates with the todo-tree CLI via tasks. |
| homepage | https://github.com/alexandretrotel/zed-todo-tree |
| repository | https://github.com/alexandretrotel/zed-todo-tree |
| max_upload_size | |
| id | 1978823 |
| size | 42,606 |
A Zed editor extension that provides syntax highlighting for TODO-style comments and integrates with the todo-tree CLI via Zed's task system.
The CLI is maintained as a separate repository at todo-tree repository.
Check the original repository for more information.
The extension provides syntax highlighting for TODO-style comments directly in your code editor. Tags like TODO, FIXME, BUG, HACK, NOTE, and others are highlighted with distinct colors, making them easy to spot while browsing your code.
This feature uses Tree-sitter for parsing and is based on the zed-comment extension's highlighting structure, with additional support for TODO-specific tags.
You can override the default highlight colors in your Zed theme. Refer to the zed-comment extension documentation for details on customizing theme colors for syntax highlighting.
The extension integrates with Zed's task system to run the todo-tree CLI. You can define tasks in your project's .zed/tasks.json or global tasks.json to scan for TODOs, view statistics, and more.
See TASKS.md for detailed documentation, examples, and best practices.
This extension requires the todo-tree CLI to be installed on your system.
Install using Cargo:
cargo install todo-tree
After installation, verify it works:
tt --version
# or
todo-tree --version
Cmd+Shift+X on macOS)For development or testing:
Clone the repository:
git clone https://github.com/alexandretrotel/zed-todo-tree.git
cd zed-todo-tree
In Zed, open the command palette (Cmd+Shift+P)
Run "zed: install dev extension"
Select the cloned directory
The extension works through Zed's task system. You can define tasks to scan for TODOs in your project.
For comprehensive task documentation, examples, and tips, see TASKS.md
Create a .zed/tasks.json file in your project root (or add to your global tasks with zed: open tasks):
[
{
"label": "List TODOs",
"command": "tt",
"args": ["scan", "$ZED_WORKTREE_ROOT"],
"reveal": "always"
},
{
"label": "List TODOs (JSON)",
"command": "tt",
"args": ["scan", "--json", "$ZED_WORKTREE_ROOT"],
"reveal": "always"
},
{
"label": "List TODOs by tag",
"command": "tt",
"args": ["scan", "$ZED_WORKTREE_ROOT", "--tags", "TODO,FIXME,BUG"],
"reveal": "always"
}
]
Cmd+Shift+P on macOS)task: spawn and press EnterYou can also bind tasks to keyboard shortcuts in your keymap.json:
{
"context": "Workspace",
"bindings": {
"alt-t": ["task::Spawn", { "task_name": "List TODOs" }]
}
}
To filter by specific tags, use the --tags argument:
{
"label": "List critical TODOs",
"command": "tt",
"args": ["scan", "$ZED_WORKTREE_ROOT", "--tags", "FIXME,BUG"]
}
For a statistical summary, you can create a task that pipes the JSON output through a formatter, or simply review the JSON output from the --json flag.
The Todo Tree Zed extension requires certain capabilities that you may need to accept when first using it. Zed extensions operate under a capability system for security.
When prompted, you may need to grant the following permissions:
| Capability | Purpose |
|---|---|
process:exec |
Execute todo-tree or tt CLI for slash commands |
You can manage these permissions in your Zed settings under granted_extension_capabilities. Add the following to your settings.json:
{
"granted_extension_capabilities": [
{
"kind": "process:exec",
"command": "tt",
"args": ["**"]
},
{
"kind": "process:exec",
"command": "todo-tree",
"args": ["**"]
},
]
}
If you restrict these capabilities, the extension may not function properly.
The extension provides two main features:
todo-tree CLI (tt or todo-tree) to be executed through Zed's task systemWhen you run a task that calls the CLI:
tt or todo-tree from your PATHThe CLI respects .gitignore rules and supports many programming languages and comment styles.
Make sure the CLI is installed and available in your PATH:
which tt
# or
which todo-tree
If installed via Cargo, ensure ~/.cargo/bin is in your PATH.
//, #, /* */, etc.).gitignore$ZED_WORKTREE_ROOT)highlights.scm structure with additional tags support. For details about overriding theme colors for syntax highlighting, refer to the zed-comment extension.Contributions are welcome! Please see the zed-todo-tree repository for contribution guidelines.
MIT License - see LICENSE for details.