This commit is contained in:
Matej Drobnič 2026-07-01 23:59:11 +08:00 committed by GitHub
commit 5f92721da0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 17 additions and 2 deletions

View File

@ -427,6 +427,10 @@ Environment variables[^2] can be used for configuration. They must be set before
- `_ZO_RESOLVE_SYMLINKS` - `_ZO_RESOLVE_SYMLINKS`
- When set to 1, `z` will resolve symlinks before adding directories to the - When set to 1, `z` will resolve symlinks before adding directories to the
database. database.
- `_ZO_DISABLE_EXISTENCE_CHECK`
- When set to 1, `z` will not filter the list for the existing files.
This improves the performance when the files on the list are on
a slow drive, such as a network drive.
## Third-party integrations ## Third-party integrations

View File

@ -99,6 +99,11 @@ the database. By default, this is set to 10000.
.B _ZO_RESOLVE_SYMLINKS .B _ZO_RESOLVE_SYMLINKS
When set to 1, \fBz\fR will resolve symlinks before adding directories to When set to 1, \fBz\fR will resolve symlinks before adding directories to
the database. the database.
.TP
.B _ZO_DISABLE_EXISTENCE_CHECK
When set to 1, \fBz\fR will not filter the list for the existing files.
This improves the performance when the files on the list are on a slow drive,
such as a network drive.
.SH ALGORITHM .SH ALGORITHM
.TP .TP
.B AGING .B AGING

View File

@ -27,7 +27,8 @@ https://github.com/ajeetdsouza/zoxide
{tab}<bold>_ZO_EXCLUDE_DIRS</bold> {tab}List of directory globs to be excluded {tab}<bold>_ZO_EXCLUDE_DIRS</bold> {tab}List of directory globs to be excluded
{tab}<bold>_ZO_FZF_OPTS</bold> {tab}Custom flags to pass to fzf {tab}<bold>_ZO_FZF_OPTS</bold> {tab}Custom flags to pass to fzf
{tab}<bold>_ZO_MAXAGE</bold> {tab}Maximum total age after which entries start getting deleted {tab}<bold>_ZO_MAXAGE</bold> {tab}Maximum total age after which entries start getting deleted
{tab}<bold>_ZO_RESOLVE_SYMLINKS</bold>{tab}Resolve symlinks when storing paths").into_resettable() {tab}<bold>_ZO_RESOLVE_SYMLINKS</bold>{tab}Resolve symlinks when storing paths
{tab}<bold>_ZO_DISABLE_EXISTENCE_CHECK</bold>{tab}Do not filter the list by existing files").into_resettable()
} }
} }

View File

@ -60,3 +60,7 @@ pub fn maxage() -> Result<Rank> {
pub fn resolve_symlinks() -> bool { pub fn resolve_symlinks() -> bool {
env::var_os("_ZO_RESOLVE_SYMLINKS").is_some_and(|var| var == "1") env::var_os("_ZO_RESOLVE_SYMLINKS").is_some_and(|var| var == "1")
} }
pub fn disable_existence_filter() -> bool {
env::var_os("_ZO_DISABLE_EXISTENCE_CHECK").is_some_and(|var| var == "1")
}

View File

@ -5,6 +5,7 @@ use std::{fs, path};
use glob::Pattern; use glob::Pattern;
use crate::config;
use crate::db::{Database, Dir, Epoch}; use crate::db::{Database, Dir, Epoch};
use crate::util::{self, MONTH}; use crate::util::{self, MONTH};
@ -65,7 +66,7 @@ impl<'a> Stream<'a> {
} }
fn filter_by_exists(&self, path: &str) -> bool { fn filter_by_exists(&self, path: &str) -> bool {
if !self.options.exists { if !self.options.exists || config::disable_existence_filter() {
return true; return true;
} }