[v2.3.0]
- Add a
preset:directive setting fallback annotations for every later entry of a bundle, sopin:and the like need not repeat on each line. Keyed by clone directory, so the short, https, and ssh spellings share one set. Line-level andusing:values win. - Speed up dynamic mode by resolving
antidote initin the parent shell instead of a subprocess, and dropping four forks from everyantidoteinvocation. A warmsource <(antidote init)startup goes from roughly 50ms to 35ms, andantidote inititself from 13.5ms to 1ms. - Read the config file once per shell instead of once per command.
antidote-setupsources it into the parent shell so parent-side code sees its zstyles; anything set before antidote loads still wins. - Make a lone
antidote.zshusable when sourced, falling back to a shim that routes commands to the subprocess.antidote loadand dynamic mode still need the full install. - Fix a config file's
zstyle ':antidote:home' dir ...being invisible to parent-shell code.antidote homereported the default path and the rebundle checkfile landed there, soantidote updatenever cleared it and the forced rebundle after an update stopped happening. - Fix a static
.zwcbuilt by a different Zsh version never being rebuilt, leaving every shell on that version silently parsing the source. - Fix
kind:autoloadfunctions never loading underksh_arrays. The generated script indexed$fpath[1], which is not a subscript under that option, soautoloadgot no arguments. - Fix nested dispatch (
loadcallingbundle) dropping the user'sKSH_ARRAYSandSH_GLOB. - Fix
ANTIDOTE_CONFIGnot crossing the process boundary, and an exportedANTIDOTE_TMPDIRbeing clobbered byTMPDIR. - Fix
antidote updateand bundle zcompilation failing whenANTIDOTE_HOMEcontains spaces. - Fix
antidote installwriting:valuegarbage to the plugins file for unknown long flags. It now errors. - Fix a
preset:not carrying across dynamic-modeantidote bundlecalls. - Fix bundles that failed to parse still being cloned, and parse errors on a path-style
using:line being lost with the dropped entry. - Add misc/grammar.md documenting the plugins file format: tokenization, directives, annotations, bundle type resolution, and errors. Document
using:andpreset:in theantidote-bundleman page and the syntax highlighter. - Internal: discover parser contexts by name instead of listing each by hand in four places, where a missed edit failed silently.
Full Changelog: v2.2.2...v2.3.0