Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .jules/bolt.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
## 2024-11-20 - Use Zsh Native Extended Globbing for File Staleness
**Learning:** Checking file age by spawning `stat` and `date` as subprocesses adds unnecessary overhead and degrades shell startup performance. In this codebase, avoiding subprocesses is a critical optimization pattern.
**Action:** Use native Zsh extended globbing (e.g., `(#qN.ms+seconds)`) coupled with `setopt local_options extended_glob` to perform file age evaluations natively within the shell, bypassing process spawning altogether.

## 2024-07-28 - Avoid Redundant `compinit` When Using Znap
**Learning:** The `znap` plugin manager automatically handles `compinit` and `compdump` files natively out of the box. Manually executing `compinit` (e.g. inside `znap.zsh`) or redundantly running it alongside plugins like `zsh-autocomplete` degrades Zsh shell startup performance by ~17% (~21ms) due to redundant executions and security path checking.
**Action:** Remove redundant manual `compinit` invocations when using plugin managers that manage completions automatically, adding inline comments to preserve the context and prevent accidental reintroduction.
19 changes: 3 additions & 16 deletions zsh/znap.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,9 @@ zstyle ':znap:*' repos-dir ~/.zsh-snap
# Extend cache TTL to reduce network requests and speed up shell startup
zstyle ':znap:*:*' ttl 604800 # Cache for 7 days (in seconds)

autoload -Uz compinit
# Run full compinit when:
# - the dump doesn't exist yet (first run), OR
# - the dump is older than 24h (mh+24 = modified more than 24h ago)
# Otherwise use -C to skip the fpath security scan for faster startup.
() {
# Optimization: Use native Zsh extended globbing qualifiers efficiently
setopt local_options extended_glob
local _zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
local -a stale_dump=($_zcompdump(#qN.mh+24))
if [[ ! -f $_zcompdump ]] || (( ${#stale_dump} > 0 )); then
compinit # no dump or stale: rebuild and re-check fpath security
else
compinit -C # dump is fresh: skip security scan for faster startup
fi
}
# Optimization: Removed redundant manual compinit execution.
# The Znap plugin manager automatically handles compinit and comp dumps out of the box.
# Manually calling it degrades shell startup performance and is unnecessary.

# Download Znap, if it's not there yet.
[[ -f ~/git/zsh-snap/znap.zsh ]] ||
Expand Down
Loading