Search files instantly: configurable, interactive, Rust-powered.
Remember part of a filename? Find it instantly in milliseconds, open it in your default app or jump straight into vim.
$ cargo install quickfindUsage
$ quickfind index$ quickfind <your-query>
# OR
$ quickfindWhy quickfind?
Since I started using Linux, I always felt one essential tool was missing: a fast, reliable file finder like Everything Search on Windows.
So I built quickfind in Rust. Its configurable indexing and interactive TUI make finding files fast, reliable, and effortless.
Features
- Configurable: Customize search locations, ignored paths, and search depth via a simple config file.
- Efficient Indexing: Traverses directories once and stores paths in a local database for lightning-fast searching.
- Interactive Interface: Browse results with a minimal TUI, open files in default apps or
vim.
Install from Source
1. Clone the repository:$ git clone https://github.com/0xsecaas/quickfind- Build the project:
$ cd quickfind
$ cargo build --release- Run the application:
$ ./target/release/quickfind
# OR
$ cargo run Configuration
Config file: ~/.quickfind/config.toml
include = [
"/path/to/your/directory",
"/another/path/to/search"
]
ignore = "**/node_modules/**"
depth = 10
editor = "vim" # "vi" or "code" or "subl" or any editor of your choiceinclude: Absolute paths to directories you want to index.ignore: Glob patterns for paths to exclude.depth: Maximum directory depth to traverse.
Interactive Mode
Tab: Switch between search input and resultsArrow Keys: Navigate resultsEnter: Open selected file/directory with default appv: Open selected file with vimd: Open containing directoryEsc: Exit interactive mode
Architecture
main.rs: CLI parsing and orchestrationconfig.rs: Loads and manages user configs (~/.quickfind/config.toml)db.rs: Handles persistent file indexing storageindexing.rs: Traverses directories and populates the databasetui.rs: Interactive Text User Interface
Future Plans
- Background Sync: Automatically update the index as files change
Contributing
Open issues, submit PRs, or suggest features.
License
MIT License