File Tree Diff Viewer.
ftdv (File Tree Diff Viewer) is a terminal-based diff viewer built with Rust that combines the best features of existing tools like diffnav and lazygit. It provides an interactive file tree interface for navigating git diffs, allowing developers to review changes file-by-file with a clean, organized workflow. The tool stands out with its flexible configuration system that supports multiple diff tools including delta, bat, ydiff, and difftastic.
Key features include interactive file tree navigation with directory folding, checkbox functionality to track reviewed files, persistent state management, and vim-style keyboard shortcuts. The tool integrates directly with git operations, supporting various comparison modes from working directory changes to branch comparisons. It also offers customizable themes, ANSI color support, and real-time search functionality.
ftdv is designed for developers who want a more interactive and organized way to review git diffs compared to traditional command-line tools. Its template variable system allows for sophisticated diff tool configuration, while the file tree interface makes it easy to navigate through large changesets systematically. The persistent review tracking feature is particularly useful for thorough code reviews where you need to mark files as reviewed across multiple sessions.
# via Cargo
cargo install ftdv