This commit is contained in:
Matej Drobnič 2025-12-17 21:00:19 +01:00 committed by GitHub
commit c2d4bf82fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 17 additions and 2 deletions

View file

@ -452,6 +452,10 @@ Environment variables[^2] can be used for configuration. They must be set before
- `_ZO_RESOLVE_SYMLINKS`
- When set to 1, `z` will resolve symlinks before adding directories to the
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

View file

@ -99,6 +99,11 @@ the database. By default, this is set to 10000.
.B _ZO_RESOLVE_SYMLINKS
When set to 1, \fBz\fR will resolve symlinks before adding directories to
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
.TP
.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_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_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 {
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 crate::config;
use crate::db::{Database, Dir, Epoch};
use crate::util::{self, MONTH};
@ -65,7 +66,7 @@ impl<'a> Stream<'a> {
}
fn filter_by_exists(&self, path: &str) -> bool {
if !self.options.exists {
if !self.options.exists || config::disable_existence_filter() {
return true;
}