zsh: add completionInit option (#2046) (#2296)

Factored out from original .zshrc construction.

(cherry picked from commit 42847469b3)

Co-authored-by: bb010g <me@bb010g.com>
This commit is contained in:
crazymanjinn 2021-08-27 10:57:07 -04:00 committed by GitHub
parent 9f2b766d0f
commit f5adb9be82
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -279,6 +279,12 @@ in
type = types.bool;
};
completionInit = mkOption {
default = "autoload -U compinit && compinit";
description = "Initialization commands to run when completion is enabled.";
type = types.lines;
};
enableAutosuggestions = mkOption {
default = false;
description = "Enable zsh autosuggestions";
@ -469,7 +475,7 @@ in
# calling it twice causes slight start up slowdown
# as all $fpath entries will be traversed again.
${optionalString (cfg.enableCompletion && !cfg.oh-my-zsh.enable && !cfg.prezto.enable)
"autoload -U compinit && compinit"
cfg.completionInit
}
${optionalString cfg.enableAutosuggestions
@ -500,7 +506,7 @@ in
(builtins.readFile "${pkgs.zsh-prezto}/share/zsh-prezto/runcoms/zshrc")}
${concatStrings (map (plugin: ''
if [ -f "$HOME/${pluginsDir}/${plugin.name}/${plugin.file}" ]; then
if [[ -f "$HOME/${pluginsDir}/${plugin.name}/${plugin.file}" ]]; then
source "$HOME/${pluginsDir}/${plugin.name}/${plugin.file}"
fi
'') cfg.plugins)}