FileView 3.0 focuses on finding files, searching their contents, and reading large text files. Most of the work is under the hood, so you can keep using the controls you already know.
Search
Ctrl+P now uses a background workspace index that updates as files change. You can narrow filename results by extension, file type, or Git status. For example, ext:rs git:changed finds Rust files with Git changes.
You can also search inside files. Enter text:TODO, choose a result, and press Enter to open the file at the matching line and column. If you change your query while a search is running, older results won't replace the newer ones.
The same queries work in the new fv search command and the search_workspace MCP tool. Use --json when you need the results in a script.
fv search main
fv search 'ext:rs git:changed' . --json
fv search 'text:TODO' . --jsonText previews
Large text files are read in pages as you scroll. In preview mode, g takes you to the beginning and G to the end. Syntax highlighting is added in the background where supported. If highlighting reaches its processing limits, the text stays readable without it.
A few things to know when upgrading
Ctrl+Pnow respects.gitignoreand.ignore, so ignored files that used to appear may no longer show up. Equally ranked filename results are sorted by relative path.- Content search requires ripgrep (
rg) on yourPATH. Filename search doesn't need it. text:is a literal, case-sensitive search. Everything after the prefix is part of the search text, so it can't be combined with filename filters.- Paged previews keep FileView's text buffers bounded, but ripgrep can still use more memory when searching extremely long lines.
Existing keybindings and configuration still work.
Dependency changes
Package: fileview
dirs: 6.0.0 → 7.0.0toml: 1.1.4 → 1.1.6ratatui-image: 11.0.6 → 11.1.0trash: 5.2.6 → 5.2.9thiserror: 2.0.20 → 2.0.21tiktoken-rs: 0.12.0 → 0.12.1
What's Changed
- feat: Release FileView 3.0 search and preview core by @Hiro-Chiba in #250
- docs: Simplify the README and refine 3.0 release notes by @Hiro-Chiba in #251
Full Changelog: v2.8.4...v3.0.0