quick_search/README.md
Jeremy Karst fe832109d7
Some checks failed
CI / windows-cross (push) Has been cancelled
CI / release (push) Has been cancelled
CI / linux (push) Has been cancelled
Added system-wide shortcut to launch app and search even while not running on both Windows and Linux.
2026-09-04 21:49:51 -04:00

91 lines
3.7 KiB
Markdown

# QuickSearch
A fast local file search tool. QuickSearch indexes the folders you choose,
keeps that index fresh automatically. It finds files by name or by text
content as fast as you type.
## AI Disclaimer
QuickSearch has a core designed by its developer and built by hand, however
the majority of its codebase including its GUI was designed by a human and
built using AI agents with human review, improvements, and testing.
## Home & GitHub Mirror
The primary home of this software is:
- https://quicksearch.karsttech.com
- https://code.karsttech.com/jeremy/quick_search
The code is also mirrored to GitHub for easier bug reporting and issue
tracking: https://github.com/DataScienceDIY/quick_search
## Features
- **Search as you type** — ranked results appear instantly and update with
every keystroke, matching file names, folder paths, and file contents.
- **Typo tolerance** — an optional fuzzy mode finds `repot` when you meant
`report`.
- **Query filters** — narrow a search by kind, date, or location, e.g.
`budget type:Document modified:>=2024-01-01`, with wildcards and regular
expressions for power users. The in-app "?" popup documents the syntax.
- **Live results** — results on screen notice renames, edits, and deletions
within a second, even while indexing is paused.
- **Duplicate finder** — groups files that appear identical, and can verify
any group byte for byte on request. It only reports; it never deletes.
- **Always fresh** — folders are watched for changes and reindexed
periodically, or switch to manual mode and index only when you say so.
- **Password protection** — optionally encrypt the index, since it contains
the names and text of everything indexed. The password can be remembered
in your system keychain.
- **Global shortcut** — Ctrl+Shift+F brings up the window from anywhere
while QuickSearch is running, and `quicksearch --toggle` can be bound in
your desktop's keyboard settings to also start it.
- **Terminal search** — `quicksearch <query>` prints ranked, pipe-friendly
paths; `--long` adds sizes, dates, and highlighted snippets.
- **Portable mode** — keep the program, its config, and its index together
in one folder that can be moved between devices.
The in-app Help tab and first-start tour cover usage; every setting is
explained on hover in the Settings tab.
## Build & run
```sh
./build.sh # Linux
build.bat # Windows
```
These take a fresh machine to a running app: they install missing build
dependencies (with your permission), build a release binary, and launch it.
```sh
cargo build --release -p quicksearch-gui # binaries: target/release/quicksearch{,-cli}
cargo run -p quicksearch-gui # or just run it
cargo test -p quicksearch-core # test suite
```
## Install
- **Debian / Ubuntu**: `./packaging/build-deb.sh`, then
`sudo apt install ./dist/quicksearch_<version>_amd64.deb`.
- **Other Linux**: download the AppImage from the release page, make it
executable, and run it. If your distribution lacks FUSE, run it with
`APPIMAGE_EXTRACT_AND_RUN=1`.
- **Windows**: run the setup `.exe` from the release page, or unpack the
`.zip` anywhere for an install-free copy.
## Configuration
Settings live in `~/.config/quicksearch/config.toml` (Windows:
`%APPDATA%\quicksearch\config.toml`), created on first run and edited live
by the GUI. [config_example.toml](config_example.toml) is the full
reference for every key. A `config.toml` placed next to the binary enables
portable mode.
## More
Design choices and the reasoning behind them are described in
[DESIGN.md](DESIGN.md); the code and its comments are the detailed
reference. QuickSearch is open source under the terms in
[LICENSE](LICENSE).