Giter VIP home page Giter VIP logo

zsh-snap's Introduction

⚡️Znap!

Znap is a fast, light-weight set of tools to ease the use of Zsh plugins & Git repos and reduce your shell's startup time.

Enjoy using this software? Become a sponsor!

Requirements

Tested with:

  • Zsh 5.8.1
  • Git 2.39.1

Installation

Put this in your .zshrc file (replacing ~/Repos with wherever you want to keep your Zsh plugins and/or Git repos):

# Download Znap, if it's not there yet.
[[ -r ~/Repos/znap/znap.zsh ]] ||
    git clone --depth 1 -- \
        https://github.com/marlonrichert/zsh-snap.git ~/Repos/znap
source ~/Repos/znap/znap.zsh  # Start Znap

Then restart your shell.

To uninstall, simply remove the above from your .zshrc file and remove Znap's repo.

Znap will automatically manage the repos found in its parent directory. To change the directory it should manage, add the following to your .zshrc file:

zstyle ':znap:*' repos-dir <path>

Updating

To update Znap and all of your plugins/repos simultaneously, run

% znap pull

Note, that if you told Znap not to manage its parent directory (see the previous section), then it will not update itself with this. You will have to manually cd to its directory and run git pull.

If there are repos that you do not want to be included by znap pull, add the following to your .zshrc file:

zstyle ':znap:pull:*' exclude <repo> ...

To run znap pull on specific repos only, including ones you have set to be excluded, pass them as an arguments:

% znap pull <repo> ...

.zshrc optimization

Using Znap to optimize your Zsh config can be as simple as this:

[[ -r ~/Repos/znap/znap.zsh ]] ||
    git clone --depth 1 -- https://github.com/marlonrichert/zsh-snap.git ~/Repos/znap
source ~/Repos/znap/znap.zsh

# `znap prompt` makes your prompt visible in just 15-40ms!
znap prompt sindresorhus/pure

# `znap source` starts plugins.
znap source marlonrichert/zsh-autocomplete

# `znap eval` makes evaluating generated command output up to 10 times faster.
znap eval iterm2 'curl -fsSL https://iterm2.com/shell_integration/zsh'

# `znap function` lets you lazy-load features you don't always need.
znap function _pyenv pyenv "znap eval pyenv 'pyenv init - --no-rehash'"
compctl -K    _pyenv pyenv

# `znap install` adds new commands and completions.
znap install aureliojargas/clitest zsh-users/zsh-completions

For more examples of what Znap can do for your dotfiles, please see the included .zshrc file.

Additionaly, Znap makes it so that you actually need to have less in your .zshrc file, by automating several tasks for you.

Faster eval

Use znap eval ... <command> to cache the output of <command>, compile it, and then source it (instead of eval it):

znal eval <name> '<command>'

This can be up 10 times faster than a regular eval "$( <command> )" statement! If you pass a repo as the first argument, then Znap will eval the command output inside the given repo and will invalidate the cache whenever the repo is update. Otherwise, the cache will be invalidated whenever <command> changes. Caches are stored in ${XDG_CACHE_HOME:-$HOME/.cache}/zsh-snap/eval.

Automatic compinit and bashcompinit

Note that the above example does not include any call to complist, compinit, or bashcompinit in the .zshrc file. That is because Znap will run these for you as needed.

Znap also regenerates your comp dump file automatically whenever you update a repo, install a repo, or change your .zshrc file.

If necessary, you can let Znap pass arguments to compinit as follows:

zstyle '*:compinit' arguments -D -i -u -C -w

Asynchronous compilation

Znap compiles your scripts and functions in the background. This way, your shell will start up even faster next time!

Should you not want this feature, you can disable it with

zstyle ':znap:*' auto-compile no

In any case, you can compile sources manually at any time with znap compile [ <dir> | <file> ] ....

Automatic git maintenance

When using git 2.31.0 or newer, Znap automatically enables git maintenance in each repo that it manages. This automatically optimizes your repos in the background, so that your git and znap commands will run faster.

To selectively disable this feature, add

zstyle ':znap:*:<glob pattern>' git-maintenance off

to your .zshrc file. Next time you run znap pull, git maintenance will then be disabled for each repo whose name matches <glob pattern>.

Use * as your glob pattern to opt out of this feature completely.

Command-Line Usage

Znap also makes life on the command line easier. For a full list of available commands, run

% znap

For more help on a particular command, run

% znap help <command>

Exhaustive tab completion is available, too. For examples of the most important command-line features, see below.

Note:

  • The examples below you should run on the command line, not add to your .zshrc file!
  • % represents the prompt. You shouldn't type that part. 🙂

Check Git status of all repos

To check the Git status of all repos managed by Znap, run

% znap status

If there are repos that you do not want to be included by znap status, add the following to your .zshrc file:

zstyle ':znap:status:*' exclude <repo> ...

To run znap status on specific repos only, including ones you have set to be excluded, pass them as an arguments:

% znap status <repo> ...

Removing repos

To remove one or more repos, use znap uninstall:

% znap uninstall asdf-vm/asdf ohmyzsh/ohmyzsh

Install generated functions

Some commands generate output that should be loaded as a function. You can install these generated functions with znap fpath <function> '<command>'. For example:

% znap fpath _kubectl 'kubectl completion  zsh'
% znap fpath _rustup  'rustup  completions zsh'
% znap fpath _cargo   'rustup  completions zsh cargo'

This will save them to ${XDG_DATA_HOME:-$HOME/.local/share}/zsh/site-functions.

Named dirs

Znap makes all of the repos it manages available as named directories:

% cd ~[zsh-snap] # `cd` to a repo
% ls ~[asdf]/completions    # `ls` a subdir in a repo

Author

© 2020-2021 Marlon Richert

License

This project is licensed under the MIT License. See the LICENSE file for details.

zsh-snap's People

Contributors

antonkesy avatar fardeencodes avatar gee19 avatar huguesbr avatar marlonrichert avatar mattmc3 avatar ominitay avatar ppwwyyxx avatar rcloran avatar schrej avatar sedlund avatar yuzu3886 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zsh-snap's Issues

How can one setup Rust lang completions using znap

So I'm slowly trying to move as much of zsh control over to znap and when I try to generate completions for rust with the code below I get the error _arguments:comparguments:325: can only be called from completion function

# rust and cargo completions
znap eval rust-completion 'rustup completions zsh'
znap eval cargo-completion 'rustup completions zsh cargo'

I wondering how you'll go about it.

znap rm <package> error

I tried to remove "fast-syntax-highlighting" using znap rm fast-syntax-highlighting got following error message:

trash -F fast-syntax-highlighting
Specify at least one path

From the command prompt and within the plugins directory, I typed trash fast-syntax-highlighting and it worked. I think the the -F flag has something to do with it. znap.rm

ITerm and Terminal not usable anymore after commit d1b5fb0a9ebdf3c2516f0e4da98271924243567e

Both terminals iTerm and Terminal app have become unusable since commit d1b5fb0.

For iTerm any command I type even znap pull closes the app/window. And for the Terminal app, the command does nothing and then when I press Enter again, it displays the message [Process competed].

As it stands I'm not even able to downgrade since every command crashes the terminals.

[update]
Hold on with this, I'm not sure zsh-snap is the cause becuase when I did znap pull, I it updated zsh-snap, zsh-autocomplete, powerlevel10k and zsh-hist. I'm looking further to find which one actually causes the issue. Will report back.

[investigation report]
So I deleted the whole zsh plugin folder and started adding the plugins one after another. The first was zsh-snap of course. That worked fine. Then I installed powerlevel10k and that went well too. After which I installed zsh-autocomplete then all hell broke loose 😄 So your honor I'm charging zsh-autocomplete as the cause of the terminal crash. I'll close this issue and open it under zsh-autocomplete.

Add feature to install generated completion functions

Judging from discussion #35 and issue #51, it seems to be a common pattern for CLI tools to generate a completion function that must be saved to a file and then added to $fpath, before calling compinit.

Add a feature that makes this easier, with automatic cache invalidation.

Using prompt repos that aren't "zsh themes"

Is it possible to use znap prompt to load something like agkozak-zsh-prompt?

It has a .plugin.zsh script instead of a .zsh-theme one, but the install instructions say it can be installed for use with OMZ by creating a symlink to point a zsh-theme link at the plugin.zsh file, so I'm curious if there's a way for Znap! to handle this.

Thanks!

Feature request: Give priority to .plugin.zsh files when sourcing for OMZ compatibility

Some OMZ plugins have multiple files ending in .zsh, and Znap currently just uses the first if a specific one isn't given. The OMZ framework uses the .plugin.zsh extension to indicate which file actually needs to be sourced to run the plugin, for instance in their bundled copy of history-substring-search.

When automatically finding a file to source, would Znap be able to prioritise .plugin.zsh files over plain .zsh? This would improve compatibility with OMZ plugins, and as far as I can tell wouldn't break the existing behaviour with other frameworks like Prezto.

Shell randomly shuts down terminal

Hi,

I am fairly new to zsh and customisations. I installed znap and have the following for my .zshrc file:

# start znap
source ~/git/zsh-snap/znap.zsh

# `znap prompt` makes your prompt appear in ~40ms. You can start typing right away!
znap prompt denysdovhan/spaceship-prompt

# Use `znap source` to load only those parts of Oh-My-Zsh or Prezto that you really need:
znap source sorin-ionescu/prezto
znap source sorin-ionescu/prezto \
  modules/{environment,completion,terminal,editor,history,directory,syntax-highlighting,history-substring-search,utilit
y}

znap source ohmyzsh/ohmyzsh \
  lib/{git,theme-and-appearance} \
  plugins/git

# Use `znap source` to load your plugins:
znap source zsh-users/zsh-completions
znap source zsh-users/zsh-syntax-highlighting
znap source momo-lab/zsh-abbrev-alias
znap source ael-code/zsh-colored-man-pages

SPACESHIP_PROMPT_SEPARATE_LINE=false
SPACESHIP_USER_SHOW=always

For some reason I am getting random crashes of my shell where it just shuts down in the middle of a session (sometimes at the start too) - I cannot see a pattern that is causing it to shutdown. What is the easiest way to debug the shell? Is there a way of seeing a log to see what is causing the shutdown?

Thank you,

Martyn

"No such keymap 'menuselect'" errors when using prezto/editor module

  • zsh-autocomplete version: fdc21c0bdf4be5ae5ddbfa5c781ddf07b73c4d0b
  • Zsh version: debian/5.8-6
  • Framework: Mixed. Mainly prezto loaded via znap
  • Plugin manager: Znap
$ git -C ~zsh-autocomplete switch main  # Make sure you test with the `main` branch.
$ git -C ~zsh-autocomplete pull         # Update to the latest commit.
$ cd $(mktemp -d)                       # Create a temp dir and enter it.
$ unset _comp_dumpfile ZDOTDIR XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME
$ HOME=$PWD exec zsh -f       # Restart Zsh without config files in this dir.
$ source /path/to/znap/znap.zsh
$ znap source sorin-ionescu/prezto modules/editor
$ znap source marlonrichert/zsh-autocomplete

Error message right after you source this project.

.autocomplete.key-binding:bindkey:66: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:67: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:70: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:71: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:72: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:73: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:82: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:83: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:84: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:85: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:86: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:87: no such keymap `menuselect'
.autocomplete.async:bindkey:13: no such keymap `menuselect'
.autocomplete.async:bindkey:14: no such keymap `menuselect'
.autocomplete.key-binding.precmd:bindkey:31: no such keymap `menuselect'
.autocomplete.key-binding.precmd:bindkey:32: no such keymap `menuselect'

znap attempts to delete files from zsh-common on first use

I am currently running zsh 5.7.1 on Debian Buster, and I have just installed znap using the recommended method in the README.

On the very first usage of znap (znap clone to be precise), it attempted to remove several completion files provided by the zsh-common package :

rm: cannot remove '/usr/share/zsh/functions/Completion/AIX.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Base.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/BSD.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Cygwin.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Darwin.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Debian.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Linux.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Mandriva.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/openSUSE.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Redhat.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Solaris.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Unix.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/X.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/Completion/Zsh.zwc': Permission denied
rm: cannot remove '/usr/share/zsh/functions/VCS_Info/Backends.zwc': Permission denied

I've successfully reproduced the issue on another Debian Buster install.

Steps to reproduce :

  • Install znap using the recommended way (mkdir -p ~/.zsh && git clone https://github.com/marlonrichert/zsh-snap.git zsh-snap with the related source command inside .zshrc)
  • Run znap clone with any repository

Please let me know if you need any additional information.

Filenames with colons can't be checked out on Windows

I'm working on moving from antibody, which I use across mac/linux/windows, to znap.

Unfortunately, your function files are named with :'s in them, which make it impossible to use this on windows.
You can't do a checkout with git because filenames with :'s in them are not allowed at all.

Any way to avoid using them?

It otherwise works great as a replacement, and glad to see it :)

Parse out command line options

Currently, none of Znap's commands expect any options. This can lead to silly situations, such as when you type znap prompt -h, you are shown the help text of the prompt function, which is misleading.

This needs to be handled somehow.

Instant prompt issue with kitty

I have a very basic config and it works with gnome-terminal but with kitty I get the error

.znap.prompt.precmd:echoti:5: no such terminfo capability: invis

I don't get the error when I remove the prompt line from my zshrc. I can also load the prompt manually without an error.

Here is my zshrc

source ~/.zsh/zsh-snap/znap.zsh
znap prompt agnoster

Clone plugins in parallel

I'm not sure, but it seems the first plugins installation (git clone) is not done in parallel.

Any chance to silence the output of git if not error occur and run those clones in parallel ?

Cursor not visible in Terminal.app on MacOS when running znap prompt

When running znap prompt pure from .zshrc, the cursor starts out invisible. I have tried with multiple prompts with the same result:

  • sindresorhus/pure
  • miekg/lean
  • agnoster/agnoster-zsh-theme
  • romkatv/powerlevel10k

If I run reset or call .znap.prompt.echoti cnorm manually in the terminal, the cursor then shows up.


Diagnostics:

znap version: Latest

$ zsh --version                
zsh 5.8 (arm-apple-darwin20.1.0)

MacOS version: 11.1

Unable to use znap pull or znap clone on fresh install

I've been having issues with custom completions not working while using a custom repos-dir for znap, so I wanted to try a fresh install. However, I've run into two issues (both of these examples are from a freshly started zsh shell, with ZDOTDIR set to ~/zsh which contains nothing but an empty .zshrc)

  1. The installer gets confused on dirs with hyphens (the name gets garbled):
silver% cat .zshrc
silver% git clone --depth 1 -- https://github.com/marlonrichert/zsh-snap.git
Cloning into 'zsh-snap'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 42 (delta 0), reused 10 (delta 0), pack-reused 0
Unpacking objects: 100% (42/42), 18.32 KiB | 6.11 MiB/s, done.
silver% source ./zsh-snap/install.zsh 

Configuring Znap...

Where do you (want to) keep your repos and/or plugins?
> ~/Downloads/test-dir
No such dir ~/Downloads/test$'\233'dir. Create? [yn] y
Move Znap's own repo to ~/Downloads/test$'\233'dir, too? [yn] y

Updating ~/zsh/zshrc.basic...
Installation complete.

Validating dotfiles...
Validation failed with the following errors:
(anon):.:32: no such file or directory: /home/evan/Downloads/test\M-^[dir/zsh-snap/.znap.opts.zsh
(anon):36: no matches found: /home/evan/Downloads/test\M-^[dir/zsh-snap/functions/(|.).znap.*~*.zwc
Restart aborted.
silver% cat .zshrc 
source ~/Downloads/test$'\233'dir/zsh-snap/znap.zsh


  1. If the install dir is left untouched, znap source and clone don't seem to take effect
silver% cat .zshrc 
silver% git clone --depth 1 -- https://github.com/marlonrichert/zsh-snap.git
Cloning into 'zsh-snap'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 42 (delta 0), reused 10 (delta 0), pack-reused 0
Unpacking objects: 100% (42/42), 18.32 KiB | 4.58 MiB/s, done.
silver% source zsh-snap/install.zsh 

Configuring Znap...

Where do you (want to) keep your repos and/or plugins?
> ~/zsh

Updating ~/zsh/zshrc.basic...
Installation complete.

Validating dotfiles...
Restarting Zsh...
silver% znap source zsh-users/zsh-completions
(anon):3: no directory expansion: ~[zsh-users/zsh-completions]
silver% znap source https://github.com/Tarrasch/zsh-autoenv
(anon):3: no directory expansion: ~[https://github.com/Tarrasch/zsh-autoenv]
silver% znap clone https://github.com/Tarrasch/zsh-autoenv
silver% ls
zsh-snap
silver% znap status
zsh-snap ✓
silver% znap pull
silver% cat .zshrc
source ~/zsh/zsh-snap/znap.zsh

This is on Pop OS 20.10, zsh version 5.8
Let me know if you need any more info!

OhMyZsh Plugin error "can only be called from completion function"

This is My part of .zshrc

  source ~/.znap/zsh-snap/znap.zsh

  #znap prompt romkatv/powerlevel10k
  znap source ohmyzsh/ohmyzsh
  znap source ohmyzsh/ohmyzsh lib/completion
  znap source ohmyzsh/ohmyzsh plugins/git
  znap source ohmyzsh/ohmyzsh plugins/command-not-found
  znap source ohmyzsh/ohmyzsh plugins/docker
  znap source ohmyzsh/ohmyzsh plugins/fasd
  znap source ohmyzsh/ohmyzsh plugins/fzf

  znap source ohmyzsh/ohmyzsh plugins/fd
  znap source ohmyzsh/ohmyzsh plugins/ripgrep

  znap source ohmyzsh/ohmyzsh plugins/osx
  znap source ohmyzsh/ohmyzsh plugins/tmux
  znap source ohmyzsh/ohmyzsh plugins/tmuxinator
  znap source ohmyzsh/ohmyzsh plugins/thefuck

  znap source ohmyzsh/ohmyzsh plugins/colored-man-pages
  znap source ohmyzsh/ohmyzsh plugins/pyenv
  # znap source ohmyzsh/ohmyzsh plugins/virtualenv
  # znap source ohmyzsh/ohmyzsh plugins/virtualenvwrapper

  znap source zsh-users/zsh-completions
  znap source zsh-users/zsh-autosuggestions

  ZSH_HIGHLIGHT_HIGHLIGHTERS=( main brackets )
  znap source zsh-users/zsh-syntax-highlighting

  znap source zsh-users/zsh-history-substring-search
  znap source djui/alias-tips
  znap source lukechilds/zsh-nvm
  znap source jhipster/jhipster-oh-my-zsh-plugin

  znap eval brew-shellenv 'brew shellenv'
  znap eval pyenv-init ${${:-=pyenv}:A}' init -'
  znap eval pip-completion 'pip completion --zsh'
  znap eval pipx-completion 'register-python-argcomplete pipx'

  znap compdef _kubectl 'kubectl completion zsh'
  znap compdef _rustup  'rustup completions zsh'
  znap compdef _cargo   'rustup completions zsh cargo'

It Make problems when I put this line

  znap source ohmyzsh/ohmyzsh plugins/fd
  znap source ohmyzsh/ohmyzsh plugins/ripgrep

Error Message

_arguments:comparguments:325: can only be called from completion function
_arguments:comparguments:325: can only be called from completion function

Feature request: it would be nice to have a Znap command to ask if a plugin is cloned

Maybe I'm thinking about this wrong and don't know the "znap way" of doing this, but currently I have code like this in my .zshrc:

if [[ ! -d $(znap path)/zsh-autosuggestions ]]; then
    znap clone zsh-users/zsh-autosuggestions
fi
znap source zsh-autosuggestions

It seems like that pattern might be better served with a convenience command within znap. One idea I had was adding an 'exists' subcommand.

if ! znap exists zsh-autosuggestions; then
    znap clone zsh-users/zsh-autosuggestions
fi
znap source zsh-autosuggestions

Another option would be to revamp the znap ls command to not actually ls, but return a list that can be properly stored in a list.

plugins=$(\ls $(znap path))
# or, if ls returned a simple list...
# plugins=$(znap ls)
if ! (($plugins[(Ie)zsh-autosuggestions])); then
    znap clone zsh-users/zsh-autosuggestions
fi
znap source zsh-autosuggestions

And, finally, perhaps an all-in-one-command would be another possibility:

# bundle does a clone if it has to, and sources the plugin
znap bundle zsh-users/zsh-autosuggestions

Is there a canonical znap way to accomplish what I'm doing, or is there a feature we can get added to znap to achieve this better?

Partial lines

I'm 100% not sure that znap is involved in this bug but it's the most likely explaination.

When a command issues a partial line (a line without a final \n), zsh used to display a bold %. Now, and I believe since I've started using znap, my 2-line prompt overwrites the partial line.

Do you have an idea if this may be because of znap or if I should look elsewhere ?

Following Symlinks on WSL in Windows FS

On WSL when I run 'znap clean' or 'znap compile' it takes a very long time to complete or eventually outputs errors. I think it is trying to compile/clean files on the Windows filesystem. Is it possible to set znap to not follow symlinks, or limit how far it recurses into directories? Here is an example of the compile error I got.

.znap.compile.next:17: too many levels of symbolic links: Application Data
.znap.compile.next:17: too many levels of symbolic links: History
.znap.compile.next:17: too many levels of symbolic links: Temporary Internet Files

Thanks.

Prompt issue: set_prompt:100: command not found: prompt_spaceship-prompt_setup

I recently ran znap pull and after opening a new terminal see the following output:

..znap.auto-compile () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
..znap.compinit () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
..znap.dirname () {
	local repo
	case $1 in
		(n) () {
				emulate -L zsh
				setopt extendedglob
				repo=~znap/$2 
				if [[ $2 == */* ]]
				then
					repo=~znap/${${2##*/}%.git} 
					[[ -d $repo ]] || .znap.clone $2
				fi
				if [[ -d $repo ]]
				then
					reply=($repo) 
					return 0
				fi
				return 66
			} "$@" ;;
		(d) () {
				emulate -L zsh
				setopt extendedglob
				if [[ $2 == ~znap/* ]]
				then
					repo=${${2#~znap/}:h1} 
					reply=($repo ${#:-~znap/$repo}) 
					return 0
				fi
				return 66
			} "$@" ;;
		(c) local expl tag='named-directories' group='named directory' 
			_tags $tag
			_tags && _requested $tag expl $group && compadd "$expl[@]" -I ']' -Q - ~znap/*(on-/:t)
			return ;;
	esac
}
.znap.clean () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.clone () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.close-fd () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.compile () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.eval () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.help () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.ignore () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.multi () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.pull () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.rm () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.source () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
.znap.status () {
	# undefined
	builtin autoload -XUz /home/david.hancock/.znap/zsh-snap/functions
}
_SUSEconfig () {
	# undefined
	builtin autoload -XUz
}
_a2ps () {
	# undefined
	builtin autoload -XUz
}
_a2utils () {
	# undefined
	builtin autoload -XUz
}
_aap () {
	# undefined
	builtin autoload -XUz
}
_abcde () {
	# undefined
	builtin autoload -XUz
}
_absolute_command_paths () {
	# undefined
	builtin autoload -XUz
}
_ack () {
	# undefined
	builtin autoload -XUz
}
_acpi () {
	# undefined
	builtin autoload -XUz
}
_acpitool () {
	# undefined
	builtin autoload -XUz
}
_acroread () {
	# undefined
	builtin autoload -XUz
}
_adb () {
	# undefined
	builtin autoload -XUz
}
_add-zle-hook-widget () {
	# undefined
	builtin autoload -XUz
}
_add-zsh-hook () {
	# undefined
	builtin autoload -XUz
}
_alias () {
	# undefined
	builtin autoload -XUz
}
_aliases () {
	# undefined
	builtin autoload -XUz
}
_all_labels () {
	# undefined
	builtin autoload -XUz
}
_all_matches () {
	# undefined
	builtin autoload -XUz
}
_alsa-utils () {
	# undefined
	builtin autoload -XUz
}
_alternative () {
	# undefined
	builtin autoload -XUz
}
_analyseplugin () {
	# undefined
	builtin autoload -XUz
}
_ansible () {
	# undefined
	builtin autoload -XUz
}
_ant () {
	# undefined
	builtin autoload -XUz
}
_antiword () {
	# undefined
	builtin autoload -XUz
}
_apachectl () {
	# undefined
	builtin autoload -XUz
}
_apm () {
	# undefined
	builtin autoload -XUz
}
_approximate () {
	# undefined
	builtin autoload -XUz
}
_apt () {
	# undefined
	builtin autoload -XUz
}
_apt-file () {
	# undefined
	builtin autoload -XUz
}
_apt-move () {
	# undefined
	builtin autoload -XUz
}
_apt-show-versions () {
	# undefined
	builtin autoload -XUz
}
_aptitude () {
	# undefined
	builtin autoload -XUz
}
_arch_archives () {
	# undefined
	builtin autoload -XUz
}
_arch_namespace () {
	# undefined
	builtin autoload -XUz
}
_arg_compile () {
	# undefined
	builtin autoload -XUz
}
_arguments () {
	# undefined
	builtin autoload -XUz
}
_arp () {
	# undefined
	builtin autoload -XUz
}
_arping () {
	# undefined
	builtin autoload -XUz
}
_arrays () {
	# undefined
	builtin autoload -XUz
}
_asciidoctor () {
	# undefined
	builtin autoload -XUz
}
_asciinema () {
	# undefined
	builtin autoload -XUz
}
_assign () {
	# undefined
	builtin autoload -XUz
}
_at () {
	# undefined
	builtin autoload -XUz
}
_attr () {
	# undefined
	builtin autoload -XUz
}
_augeas () {
	# undefined
	builtin autoload -XUz
}
_auto-apt () {
	# undefined
	builtin autoload -XUz
}
_autocd () {
	# undefined
	builtin autoload -XUz
}
_avahi () {
	# undefined
	builtin autoload -XUz
}
_awk () {
	# undefined
	builtin autoload -XUz
}
_axi-cache () {
	# undefined
	builtin autoload -XUz
}
_base64 () {
	# undefined
	builtin autoload -XUz
}
_basename () {
	# undefined
	builtin autoload -XUz
}
_bash () {
	# undefined
	builtin autoload -XUz
}
_bash_completions () {
	# undefined
	builtin autoload -XUz
}
_baudrates () {
	# undefined
	builtin autoload -XUz
}
_baz () {
	# undefined
	builtin autoload -XUz
}
_be_name () {
	# undefined
	builtin autoload -XUz
}
_beadm () {
	# undefined
	builtin autoload -XUz
}
_beep () {
	# undefined
	builtin autoload -XUz
}
_bibtex () {
	# undefined
	builtin autoload -XUz
}
_bind_addresses () {
	# undefined
	builtin autoload -XUz
}
_bindkey () {
	# undefined
	builtin autoload -XUz
}
_bison () {
	# undefined
	builtin autoload -XUz
}
_bittorrent () {
	# undefined
	builtin autoload -XUz
}
_bogofilter () {
	# undefined
	builtin autoload -XUz
}
_bootctl () {
	# undefined
	builtin autoload -XUz
}
_bpf_filters () {
	# undefined
	builtin autoload -XUz
}
_bpython () {
	# undefined
	builtin autoload -XUz
}
_brace_parameter () {
	# undefined
	builtin autoload -XUz
}
_brctl () {
	# undefined
	builtin autoload -XUz
}
_bsd_disks () {
	# undefined
	builtin autoload -XUz
}
_bsd_pkg () {
	# undefined
	builtin autoload -XUz
}
_bsdconfig () {
	# undefined
	builtin autoload -XUz
}
_bsdinstall () {
	# undefined
	builtin autoload -XUz
}
_btrfs () {
	# undefined
	builtin autoload -XUz
}
_bts () {
	# undefined
	builtin autoload -XUz
}
_bug () {
	# undefined
	builtin autoload -XUz
}
_builtin () {
	# undefined
	builtin autoload -XUz
}
_busctl () {
	# undefined
	builtin autoload -XUz
}
_bzip2 () {
	# undefined
	builtin autoload -XUz
}
_bzr () {
	# undefined
	builtin autoload -XUz
}
_cabal () {
	# undefined
	builtin autoload -XUz
}
_cache_invalid () {
	# undefined
	builtin autoload -XUz
}
_caffeinate () {
	# undefined
	builtin autoload -XUz
}
_cal () {
	# undefined
	builtin autoload -XUz
}
_calendar () {
	# undefined
	builtin autoload -XUz
}
_call_function () {
	# undefined
	builtin autoload -XUz
}
_call_program () {
	local curcontext="${curcontext}" tmp err_fd=-1 clocale='_comp_locale;' 
	local -a prefix
	if [[ "$1" = -p ]]
	then
		shift
		if (( $#_comp_priv_prefix ))
		then
			curcontext="${curcontext%:*}/${${(@M)_comp_priv_prefix:#^*[^\\]=*}[1]}:" 
			zstyle -t ":completion:${curcontext}:${1}" gain-privileges && prefix=($_comp_priv_prefix) 
		fi
	elif [[ "$1" = -l ]]
	then
		shift
		clocale='' 
	fi
	if (( ${debug_fd:--1} > 2 )) || [[ ! -t 2 ]]
	then
		exec {err_fd}>&2
	else
		exec {err_fd}> /dev/null
	fi
	{
		if zstyle -s ":completion:${curcontext}:${1}" command tmp
		then
			if [[ "$tmp" = -* ]]
			then
				eval $clocale "$tmp[2,-1]" "$argv[2,-1]"
			else
				eval $clocale $prefix "$tmp"
			fi
		else
			eval $clocale $prefix "$argv[2,-1]"
		fi 2>&$err_fd
	} always {
		exec {err_fd}>&-
	}
}
_canonical_paths () {
	# undefined
	builtin autoload -XUz
}
_cat () {
	# undefined
	builtin autoload -XUz
}
_ccal () {
	# undefined
	builtin autoload -XUz
}
_cd () {
	# undefined
	builtin autoload -XUz
}
_cdbs-edit-patch () {
	# undefined
	builtin autoload -XUz
}
_cdcd () {
	# undefined
	builtin autoload -XUz
}
_cdr () {
	# undefined
	builtin autoload -XUz
}
_cdrdao () {
	# undefined
	builtin autoload -XUz
}
_cdrecord () {
	# undefined
	builtin autoload -XUz
}
_chattr () {
	# undefined
	builtin autoload -XUz
}
_chcon () {
	# undefined
	builtin autoload -XUz
}
_chflags () {
	# undefined
	builtin autoload -XUz
}
_chkconfig () {
	# undefined
	builtin autoload -XUz
}
_chmod () {
	# undefined
	builtin autoload -XUz
}
_chown () {
	# undefined
	builtin autoload -XUz
}
_chroot () {
	# undefined
	builtin autoload -XUz
}
_chrt () {
	# undefined
	builtin autoload -XUz
}
_chsh () {
	# undefined
	builtin autoload -XUz
}
_cksum () {
	# undefined
	builtin autoload -XUz
}
_clay () {
	# undefined
	builtin autoload -XUz
}
_cmdambivalent () {
	# undefined
	builtin autoload -XUz
}
_cmdstring () {
	# undefined
	builtin autoload -XUz
}
_cmp () {
	# undefined
	builtin autoload -XUz
}
_code () {
	# undefined
	builtin autoload -XUz
}
_column () {
	# undefined
	builtin autoload -XUz
}
_combination () {
	# undefined
	builtin autoload -XUz
}
_comm () {
	# undefined
	builtin autoload -XUz
}
_command () {
	# undefined
	builtin autoload -XUz
}
_command_names () {
	# undefined
	builtin autoload -XUz
}
_comp_locale () {
	# undefined
	builtin autoload -XUz
}
_compadd () {
	# undefined
	builtin autoload -XUz
}
_compdef () {
	# undefined
	builtin autoload -XUz
}
_complete () {
	# undefined
	builtin autoload -XUz
}
_complete_debug () {
	# undefined
	builtin autoload -XUz
}
_complete_help () {
	# undefined
	builtin autoload -XUz
}
_complete_help_generic () {
	# undefined
	builtin autoload -XUz
}
_complete_tag () {
	# undefined
	builtin autoload -XUz
}
_completers () {
	# undefined
	builtin autoload -XUz
}
_composer () {
	# undefined
	builtin autoload -XUz
}
_compress () {
	# undefined
	builtin autoload -XUz
}
_condition () {
	# undefined
	builtin autoload -XUz
}
_configure () {
	# undefined
	builtin autoload -XUz
}
_coreadm () {
	# undefined
	builtin autoload -XUz
}
_correct () {
	# undefined
	builtin autoload -XUz
}
_correct_filename () {
	# undefined
	builtin autoload -XUz
}
_correct_word () {
	# undefined
	builtin autoload -XUz
}
_cowsay () {
	# undefined
	builtin autoload -XUz
}
_cp () {
	# undefined
	builtin autoload -XUz
}
_cpio () {
	# undefined
	builtin autoload -XUz
}
_cplay () {
	# undefined
	builtin autoload -XUz
}
_cpupower () {
	# undefined
	builtin autoload -XUz
}
_crontab () {
	# undefined
	builtin autoload -XUz
}
_cryptsetup () {
	# undefined
	builtin autoload -XUz
}
_cscope () {
	# undefined
	builtin autoload -XUz
}
_cssh () {
	# undefined
	builtin autoload -XUz
}
_csup () {
	# undefined
	builtin autoload -XUz
}
_ctags_tags () {
	# undefined
	builtin autoload -XUz
}
_cu () {
	# undefined
	builtin autoload -XUz
}
_curl () {
	# undefined
	builtin autoload -XUz
}
_cut () {
	# undefined
	builtin autoload -XUz
}
_cvs () {
	# undefined
	builtin autoload -XUz
}
_cvsup () {
	# undefined
	builtin autoload -XUz
}
_cygcheck () {
	# undefined
	builtin autoload -XUz
}
_cygpath () {
	# undefined
	builtin autoload -XUz
}
_cygrunsrv () {
	# undefined
	builtin autoload -XUz
}
_cygserver () {
	# undefined
	builtin autoload -XUz
}
_cygstart () {
	# undefined
	builtin autoload -XUz
}
_dak () {
	# undefined
	builtin autoload -XUz
}
_darcs () {
	# undefined
	builtin autoload -XUz
}
_date () {
	# undefined
	builtin autoload -XUz
}
_date_formats () {
	# undefined
	builtin autoload -XUz
}
_dates () {
	# undefined
	builtin autoload -XUz
}
_dbus () {
	# undefined
	builtin autoload -XUz
}
_dchroot () {
	# undefined
	builtin autoload -XUz
}
_dchroot-dsa () {
	# undefined
	builtin autoload -XUz
}
_dconf () {
	# undefined
	builtin autoload -XUz
}
_dcop () {
	# undefined
	builtin autoload -XUz
}
_dcut () {
	# undefined
	builtin autoload -XUz
}
_dd () {
	# undefined
	builtin autoload -XUz
}
_deb_architectures () {
	# undefined
	builtin autoload -XUz
}
_deb_codenames () {
	# undefined
	builtin autoload -XUz
}
_deb_files () {
	# undefined
	builtin autoload -XUz
}
_deb_packages () {
	# undefined
	builtin autoload -XUz
}
_debbugs_bugnumber () {
	# undefined
	builtin autoload -XUz
}
_debchange () {
	# undefined
	builtin autoload -XUz
}
_debcheckout () {
	# undefined
	builtin autoload -XUz
}
_debdiff () {
	# undefined
	builtin autoload -XUz
}
_debfoster () {
	# undefined
	builtin autoload -XUz
}
_deborphan () {
	# undefined
	builtin autoload -XUz
}
_debsign () {
	# undefined
	builtin autoload -XUz
}
_debuild () {
	# undefined
	builtin autoload -XUz
}
_default () {
	# undefined
	builtin autoload -XUz
}
_defaults () {
	# undefined
	builtin autoload -XUz
}
_delimiters () {
	# undefined
	builtin autoload -XUz
}
_describe () {
	# undefined
	builtin autoload -XUz
}
_description () {
	# undefined
	builtin autoload -XUz
}
_devtodo () {
	# undefined
	builtin autoload -XUz
}
_df () {
	# undefined
	builtin autoload -XUz
}
_dhclient () {
	# undefined
	builtin autoload -XUz
}
_dhcpinfo () {
	# undefined
	builtin autoload -XUz
}
_dict () {
	# undefined
	builtin autoload -XUz
}
_dict_words () {
	# undefined
	builtin autoload -XUz
}
_diff () {
	# undefined
	builtin autoload -XUz
}
_diff3 () {
	# undefined
	builtin autoload -XUz
}
_diff_options () {
	# undefined
	builtin autoload -XUz
}
_diffstat () {
	# undefined
	builtin autoload -XUz
}
_dig () {
	# undefined
	builtin autoload -XUz
}
_dir_list () {
	# undefined
	builtin autoload -XUz
}
_directories () {
	# undefined
	builtin autoload -XUz
}
_directory_stack () {
	# undefined
	builtin autoload -XUz
}
_dirs () {
	# undefined
	builtin autoload -XUz
}
_disable () {
	# undefined
	builtin autoload -XUz
}
_dispatch () {
	# undefined
	builtin autoload -XUz
}
_django () {
	# undefined
	builtin autoload -XUz
}
_dkms () {
	# undefined
	builtin autoload -XUz
}
_dladm () {
	# undefined
	builtin autoload -XUz
}
_dlocate () {
	# undefined
	builtin autoload -XUz
}
_dmesg () {
	# undefined
	builtin autoload -XUz
}
_dmidecode () {
	# undefined
	builtin autoload -XUz
}
_dnf () {
	# undefined
	builtin autoload -XUz
}
_dns_types () {
	# undefined
	builtin autoload -XUz
}
_doas () {
	# undefined
	builtin autoload -XUz
}
_docker () {
	# undefined
	builtin autoload -XUz
}
_domains () {
	# undefined
	builtin autoload -XUz
}
_dos2unix () {
	# undefined
	builtin autoload -XUz
}
_dpatch-edit-patch () {
	# undefined
	builtin autoload -XUz
}
_dpkg () {
	# undefined
	builtin autoload -XUz
}
_dpkg-buildpackage () {
	# undefined
	builtin autoload -XUz
}
_dpkg-cross () {
	# undefined
	builtin autoload -XUz
}
_dpkg-repack () {
	# undefined
	builtin autoload -XUz
}
_dpkg_source () {
	# undefined
	builtin autoload -XUz
}
_dput () {
	# undefined
	builtin autoload -XUz
}
_drill () {
	# undefined
	builtin autoload -XUz
}
_dsh () {
	# undefined
	builtin autoload -XUz
}
_dtrace () {
	# undefined
	builtin autoload -XUz
}
_dtruss () {
	# undefined
	builtin autoload -XUz
}
_du () {
	# undefined
	builtin autoload -XUz
}
_dumpadm () {
	# undefined
	builtin autoload -XUz
}
_dumper () {
	# undefined
	builtin autoload -XUz
}
_dupload () {
	# undefined
	builtin autoload -XUz
}
_dvi () {
	# undefined
	builtin autoload -XUz
}
_dynamic_directory_name () {
	# undefined
	builtin autoload -XUz
}
_e2label () {
	# undefined
	builtin autoload -XUz
}
_ecasound () {
	# undefined
	builtin autoload -XUz
}
_echotc () {
	# undefined
	builtin autoload -XUz
}
_echoti () {
	# undefined
	builtin autoload -XUz
}
_ed () {
	# undefined
	builtin autoload -XUz
}
_elfdump () {
	# undefined
	builtin autoload -XUz
}
_elinks () {
	# undefined
	builtin autoload -XUz
}
_email_addresses () {
	# undefined
	builtin autoload -XUz
}
_emulate () {
	# undefined
	builtin autoload -XUz
}
_enable () {
	# undefined
	builtin autoload -XUz
}
_enscript () {
	# undefined
	builtin autoload -XUz
}
_entr () {
	# undefined
	builtin autoload -XUz
}
_env () {
	# undefined
	builtin autoload -XUz
}
_eog () {
	# undefined
	builtin autoload -XUz
}
_equal () {
	# undefined
	builtin autoload -XUz
}
_espeak () {
	# undefined
	builtin autoload -XUz
}
_etags () {
	# undefined
	builtin autoload -XUz
}
_ethtool () {
	# undefined
	builtin autoload -XUz
}
_evince () {
	# undefined
	builtin autoload -XUz
}
_exec () {
	# undefined
	builtin autoload -XUz
}
_expand () {
	# undefined
	builtin autoload -XUz
}
_expand_alias () {
	# undefined
	builtin autoload -XUz
}
_expand_word () {
	# undefined
	builtin autoload -XUz
}
_extensions () {
	# undefined
	builtin autoload -XUz
}
_external_pwds () {
	# undefined
	builtin autoload -XUz
}
_fakeroot () {
	# undefined
	builtin autoload -XUz
}
_fbsd_architectures () {
	# undefined
	builtin autoload -XUz
}
_fbsd_device_types () {
	# undefined
	builtin autoload -XUz
}
_fc () {
	# undefined
	builtin autoload -XUz
}
_feh () {
	# undefined
	builtin autoload -XUz
}
_fetch () {
	# undefined
	builtin autoload -XUz
}
_fetchmail () {
	# undefined
	builtin autoload -XUz
}
_ffmpeg () {
	# undefined
	builtin autoload -XUz
}
_figlet () {
	# undefined
	builtin autoload -XUz
}
_file_descriptors () {
	# undefined
	builtin autoload -XUz
}
_file_flags () {
	# undefined
	builtin autoload -XUz
}
_file_modes () {
	# undefined
	builtin autoload -XUz
}
_file_systems () {
	# undefined
	builtin autoload -XUz
}
_files () {
	# undefined
	builtin autoload -XUz
}
_find () {
	# undefined
	builtin autoload -XUz
}
_find_net_interfaces () {
	# undefined
	builtin autoload -XUz
}
_findmnt () {
	# undefined
	builtin autoload -XUz
}
_finger () {
	# undefined
	builtin autoload -XUz
}
_fink () {
	# undefined
	builtin autoload -XUz
}
_first () {
	# undefined
	builtin autoload -XUz
}
_flac () {
	# undefined
	builtin autoload -XUz
}
_flex () {
	# undefined
	builtin autoload -XUz
}
_floppy () {
	# undefined
	builtin autoload -XUz
}
_flowadm () {
	# undefined
	builtin autoload -XUz
}
_fmadm () {
	# undefined
	builtin autoload -XUz
}
_fmt () {
	# undefined
	builtin autoload -XUz
}
_fold () {
	# undefined
	builtin autoload -XUz
}
_fortune () {
	# undefined
	builtin autoload -XUz
}
_free () {
	# undefined
	builtin autoload -XUz
}
_freebsd-update () {
	# undefined
	builtin autoload -XUz
}
_fs_usage () {
	# undefined
	builtin autoload -XUz
}
_fsh () {
	# undefined
	builtin autoload -XUz
}
_fstat () {
	# undefined
	builtin autoload -XUz
}
_functions () {
	# undefined
	builtin autoload -XUz
}
_fuse_arguments () {
	# undefined
	builtin autoload -XUz
}
_fuse_values () {
	# undefined
	builtin autoload -XUz
}
_fuser () {
	# undefined
	builtin autoload -XUz
}
_fusermount () {
	# undefined
	builtin autoload -XUz
}
_fw_update () {
	# undefined
	builtin autoload -XUz
}
_gcc () {
	# undefined
	builtin autoload -XUz
}
_gcore () {
	# undefined
	builtin autoload -XUz
}
_gdb () {
	# undefined
	builtin autoload -XUz
}
_geany () {
	# undefined
	builtin autoload -XUz
}
_gem () {
	# undefined
	builtin autoload -XUz
}
_generic () {
	# undefined
	builtin autoload -XUz
}
_genisoimage () {
	# undefined
	builtin autoload -XUz
}
_getclip () {
	# undefined
	builtin autoload -XUz
}
_getconf () {
	# undefined
	builtin autoload -XUz
}
_getent () {
	# undefined
	builtin autoload -XUz
}
_getfacl () {
	# undefined
	builtin autoload -XUz
}
_getmail () {
	# undefined
	builtin autoload -XUz
}
_getopt () {
	# undefined
	builtin autoload -XUz
}
_ghostscript () {
	# undefined
	builtin autoload -XUz
}
_git () {
	# undefined
	builtin autoload -XUz
}
_git-buildpackage () {
	# undefined
	builtin autoload -XUz
}
_global () {
	# undefined
	builtin autoload -XUz
}
_global_tags () {
	# undefined
	builtin autoload -XUz
}
_globflags () {
	# undefined
	builtin autoload -XUz
}
_globqual_delims () {
	# undefined
	builtin autoload -XUz
}
_globquals () {
	# undefined
	builtin autoload -XUz
}
_gnome-gv () {
	# undefined
	builtin autoload -XUz
}
_gnu_generic () {
	# undefined
	builtin autoload -XUz
}
_gnupod () {
	# undefined
	builtin autoload -XUz
}
_gnutls () {
	# undefined
	builtin autoload -XUz
}
_go () {
	# undefined
	builtin autoload -XUz
}
_gpasswd () {
	# undefined
	builtin autoload -XUz
}
_gpg () {
	# undefined
	builtin autoload -XUz
}
_gphoto2 () {
	# undefined
	builtin autoload -XUz
}
_gprof () {
	# undefined
	builtin autoload -XUz
}
_gqview () {
	# undefined
	builtin autoload -XUz
}
_gradle () {
	# undefined
	builtin autoload -XUz
}
_graphicsmagick () {
	# undefined
	builtin autoload -XUz
}
_grep () {
	# undefined
	builtin autoload -XUz
}
_grep-excuses () {
	# undefined
	builtin autoload -XUz
}
_groff () {
	# undefined
	builtin autoload -XUz
}
_groups () {
	# undefined
	builtin autoload -XUz
}
_growisofs () {
	# undefined
	builtin autoload -XUz
}
_gsettings () {
	# undefined
	builtin autoload -XUz
}
_gstat () {
	# undefined
	builtin autoload -XUz
}
_guard () {
	# undefined
	builtin autoload -XUz
}
_guilt () {
	# undefined
	builtin autoload -XUz
}
_gv () {
	# undefined
	builtin autoload -XUz
}
_gzip () {
	# undefined
	builtin autoload -XUz
}
_hash () {
	# undefined
	builtin autoload -XUz
}
_have_glob_qual () {
	# undefined
	builtin autoload -XUz
}
_hdiutil () {
	# undefined
	builtin autoload -XUz
}
_head () {
	# undefined
	builtin autoload -XUz
}
_hexdump () {
	# undefined
	builtin autoload -XUz
}
_history () {
	# undefined
	builtin autoload -XUz
}
_history_complete_word () {
	# undefined
	builtin autoload -XUz
}
_history_modifiers () {
	# undefined
	builtin autoload -XUz
}
_host () {
	# undefined
	builtin autoload -XUz
}
_hostname () {
	# undefined
	builtin autoload -XUz
}
_hostnamectl () {
	# undefined
	builtin autoload -XUz
}
_hosts () {
	# undefined
	builtin autoload -XUz
}
_htop () {
	# undefined
	builtin autoload -XUz
}
_hwinfo () {
	# undefined
	builtin autoload -XUz
}
_iconv () {
	# undefined
	builtin autoload -XUz
}
_iconvconfig () {
	# undefined
	builtin autoload -XUz
}
_id () {
	# undefined
	builtin autoload -XUz
}
_ifconfig () {
	# undefined
	builtin autoload -XUz
}
_iftop () {
	# undefined
	builtin autoload -XUz
}
_ignored () {
	# undefined
	builtin autoload -XUz
}
_imagemagick () {
	# undefined
	builtin autoload -XUz
}
_in_vared () {
	# undefined
	builtin autoload -XUz
}
_inetadm () {
	# undefined
	builtin autoload -XUz
}
_init_d () {
	# undefined
	builtin autoload -XUz
}
_initctl () {
	# undefined
	builtin autoload -XUz
}
_install () {
	# undefined
	builtin autoload -XUz
}
_invoke-rc.d () {
	# undefined
	builtin autoload -XUz
}
_ionice () {
	# undefined
	builtin autoload -XUz
}
_iostat () {
	# undefined
	builtin autoload -XUz
}
_ip () {
	# undefined
	builtin autoload -XUz
}
_ipadm () {
	# undefined
	builtin autoload -XUz
}
_ipsec () {
	# undefined
	builtin autoload -XUz
}
_ipset () {
	# undefined
	builtin autoload -XUz
}
_iptables () {
	# undefined
	builtin autoload -XUz
}
_irssi () {
	# undefined
	builtin autoload -XUz
}
_ispell () {
	# undefined
	builtin autoload -XUz
}
_iwconfig () {
	# undefined
	builtin autoload -XUz
}
_jail () {
	# undefined
	builtin autoload -XUz
}
_jails () {
	# undefined
	builtin autoload -XUz
}
_java () {
	# undefined
	builtin autoload -XUz
}
_java_class () {
	# undefined
	builtin autoload -XUz
}
_jexec () {
	# undefined
	builtin autoload -XUz
}
_jls () {
	# undefined
	builtin autoload -XUz
}
_jobs () {
	# undefined
	builtin autoload -XUz
}
_jobs_bg () {
	# undefined
	builtin autoload -XUz
}
_jobs_builtin () {
	# undefined
	builtin autoload -XUz
}
_jobs_fg () {
	# undefined
	builtin autoload -XUz
}
_joe () {
	# undefined
	builtin autoload -XUz
}
_join () {
	# undefined
	builtin autoload -XUz
}
_jot () {
	# undefined
	builtin autoload -XUz
}
_journalctl () {
	# undefined
	builtin autoload -XUz
}
_jq () {
	# undefined
	builtin autoload -XUz
}
_kdeconnect () {
	# undefined
	builtin autoload -XUz
}
_kernel-install () {
	# undefined
	builtin autoload -XUz
}
_kfmclient () {
	# undefined
	builtin autoload -XUz
}
_kill () {
	# undefined
	builtin autoload -XUz
}
_killall () {
	# undefined
	builtin autoload -XUz
}
_kld () {
	# undefined
	builtin autoload -XUz
}
_knock () {
	# undefined
	builtin autoload -XUz
}
_kpartx () {
	# undefined
	builtin autoload -XUz
}
_kvno () {
	# undefined
	builtin autoload -XUz
}
_last () {
	# undefined
	builtin autoload -XUz
}
_ld_debug () {
	# undefined
	builtin autoload -XUz
}
_ldap () {
	# undefined
	builtin autoload -XUz
}
_ldconfig () {
	# undefined
	builtin autoload -XUz
}
_ldd () {
	# undefined
	builtin autoload -XUz
}
_less () {
	# undefined
	builtin autoload -XUz
}
_lha () {
	# undefined
	builtin autoload -XUz
}
_libvirt () {
	# undefined
	builtin autoload -XUz
}
_lighttpd () {
	# undefined
	builtin autoload -XUz
}
_limit () {
	# undefined
	builtin autoload -XUz
}
_limits () {
	# undefined
	builtin autoload -XUz
}
_links () {
	# undefined
	builtin autoload -XUz
}
_lintian () {
	# undefined
	builtin autoload -XUz
}
_list () {
	# undefined
	builtin autoload -XUz
}
_list_files () {
	# undefined
	builtin autoload -XUz
}
_lldb () {
	# undefined
	builtin autoload -XUz
}
_ln () {
	# undefined
	builtin autoload -XUz
}
_loadkeys () {
	# undefined
	builtin autoload -XUz
}
_locale () {
	# undefined
	builtin autoload -XUz
}
_localectl () {
	# undefined
	builtin autoload -XUz
}
_localedef () {
	# undefined
	builtin autoload -XUz
}
_locales () {
	# undefined
	builtin autoload -XUz
}
_locate () {
	# undefined
	builtin autoload -XUz
}
_logical_volumes () {
	# undefined
	builtin autoload -XUz
}
_loginctl () {
	# undefined
	builtin autoload -XUz
}
_look () {
	# undefined
	builtin autoload -XUz
}
_losetup () {
	# undefined
	builtin autoload -XUz
}
_lp () {
	# undefined
	builtin autoload -XUz
}
_ls () {
	# undefined
	builtin autoload -XUz
}
_lsattr () {
	# undefined
	builtin autoload -XUz
}
_lsblk () {
	# undefined
	builtin autoload -XUz
}
_lscfg () {
	# undefined
	builtin autoload -XUz
}
_lsdev () {
	# undefined
	builtin autoload -XUz
}
_lslv () {
	# undefined
	builtin autoload -XUz
}
_lsof () {
	# undefined
	builtin autoload -XUz
}
_lspv () {
	# undefined
	builtin autoload -XUz
}
_lsusb () {
	# undefined
	builtin autoload -XUz
}
_lsvg () {
	# undefined
	builtin autoload -XUz
}
_ltrace () {
	# undefined
	builtin autoload -XUz
}
_lua () {
	# undefined
	builtin autoload -XUz
}
_luarocks () {
	# undefined
	builtin autoload -XUz
}
_lynx () {
	# undefined
	builtin autoload -XUz
}
_lz4 () {
	# undefined
	builtin autoload -XUz
}
_lzop () {
	# undefined
	builtin autoload -XUz
}
_mac_applications () {
	# undefined
	builtin autoload -XUz
}
_mac_files_for_application () {
	# undefined
	builtin autoload -XUz
}
_madison () {
	# undefined
	builtin autoload -XUz
}
_mail () {
	# undefined
	builtin autoload -XUz
}
_mailboxes () {
	# undefined
	builtin autoload -XUz
}
_main_complete () {
	# undefined
	builtin autoload -XUz
}
_make () {
	# undefined
	builtin autoload -XUz
}
_make-kpkg () {
	# undefined
	builtin autoload -XUz
}
_man () {
	# undefined
	builtin autoload -XUz
}
_match () {
	# undefined
	builtin autoload -XUz
}
_math () {
	# undefined
	builtin autoload -XUz
}
_math_params () {
	# undefined
	builtin autoload -XUz
}
_matlab () {
	# undefined
	builtin autoload -XUz
}
_md5sum () {
	# undefined
	builtin autoload -XUz
}
_mdadm () {
	# undefined
	builtin autoload -XUz
}
_mdfind () {
	# undefined
	builtin autoload -XUz
}
_mdls () {
	# undefined
	builtin autoload -XUz
}
_mdutil () {
	# undefined
	builtin autoload -XUz
}
_members () {
	# undefined
	builtin autoload -XUz
}
_mencal () {
	# undefined
	builtin autoload -XUz
}
_menu () {
	# undefined
	builtin autoload -XUz
}
_mere () {
	# undefined
	builtin autoload -XUz
}
_mergechanges () {
	# undefined
	builtin autoload -XUz
}
_message () {
	# undefined
	builtin autoload -XUz
}
_mh () {
	# undefined
	builtin autoload -XUz
}
_mii-tool () {
	# undefined
	builtin autoload -XUz
}
_mime_types () {
	# undefined
	builtin autoload -XUz
}
_mixerctl () {
	# undefined
	builtin autoload -XUz
}
_mkdir () {
	# undefined
	builtin autoload -XUz
}
_mkfifo () {
	# undefined
	builtin autoload -XUz
}
_mknod () {
	# undefined
	builtin autoload -XUz
}
_mkshortcut () {
	# undefined
	builtin autoload -XUz
}
_mktemp () {
	# undefined
	builtin autoload -XUz
}
_mkzsh () {
	# undefined
	builtin autoload -XUz
}
_module () {
	# undefined
	builtin autoload -XUz
}
_module-assistant () {
	# undefined
	builtin autoload -XUz
}
_module_math_func () {
	# undefined
	builtin autoload -XUz
}
_modutils () {
	# undefined
	builtin autoload -XUz
}
_mondo () {
	# undefined
	builtin autoload -XUz
}
_monotone () {
	# undefined
	builtin autoload -XUz
}
_moosic () {
	# undefined
	builtin autoload -XUz
}
_mosh () {
	# undefined
	builtin autoload -XUz
}
_most_recent_file () {
	# undefined
	builtin autoload -XUz
}
_mount () {
	# undefined
	builtin autoload -XUz
}
_mozilla () {
	# undefined
	builtin autoload -XUz
}
_mpc () {
	# undefined
	builtin autoload -XUz
}
_mplayer () {
	# undefined
	builtin autoload -XUz
}
_mt () {
	# undefined
	builtin autoload -XUz
}
_mtools () {
	# undefined
	builtin autoload -XUz
}
_mtr () {
	# undefined
	builtin autoload -XUz
}
_multi_parts () {
	# undefined
	builtin autoload -XUz
}
_mupdf () {
	# undefined
	builtin autoload -XUz
}
_mutt () {
	# undefined
	builtin autoload -XUz
}
_mv () {
	# undefined
	builtin autoload -XUz
}
_my_accounts () {
	# undefined
	builtin autoload -XUz
}
_myrepos () {
	# undefined
	builtin autoload -XUz
}
_mysql_utils () {
	# undefined
	builtin autoload -XUz
}
_mysqldiff () {
	# undefined
	builtin autoload -XUz
}
_nautilus () {
	# undefined
	builtin autoload -XUz
}
_nbsd_architectures () {
	# undefined
	builtin autoload -XUz
}
_ncftp () {
	# undefined
	builtin autoload -XUz
}
_nedit () {
	# undefined
	builtin autoload -XUz
}
_net_interfaces () {
	# undefined
	builtin autoload -XUz
}
_netcat () {
	# undefined
	builtin autoload -XUz
}
_netscape () {
	# undefined
	builtin autoload -XUz
}
_netstat () {
	# undefined
	builtin autoload -XUz
}
_networkctl () {
	# undefined
	builtin autoload -XUz
}
_networkmanager () {
	# undefined
	builtin autoload -XUz
}
_networksetup () {
	# undefined
	builtin autoload -XUz
}
_newsgroups () {
	# undefined
	builtin autoload -XUz
}
_next_label () {
	# undefined
	builtin autoload -XUz
}
_next_tags () {
	# undefined
	builtin autoload -XUz
}
_nginx () {
	# undefined
	builtin autoload -XUz
}
_ngrep () {
	# undefined
	builtin autoload -XUz
}
_nice () {
	# undefined
	builtin autoload -XUz
}
_nkf () {
	# undefined
	builtin autoload -XUz
}
_nl () {
	# undefined
	builtin autoload -XUz
}
_nm () {
	# undefined
	builtin autoload -XUz
}
_nmap () {
	# undefined
	builtin autoload -XUz
}
_normal () {
	# undefined
	builtin autoload -XUz
}
_nothing () {
	# undefined
	builtin autoload -XUz
}
_npm () {
	# undefined
	builtin autoload -XUz
}
_nslookup () {
	# undefined
	builtin autoload -XUz
}
_numfmt () {
	# undefined
	builtin autoload -XUz
}
_nvram () {
	# undefined
	builtin autoload -XUz
}
_objdump () {
	# undefined
	builtin autoload -XUz
}
_object_classes () {
	# undefined
	builtin autoload -XUz
}
_object_files () {
	# undefined
	builtin autoload -XUz
}
_obsd_architectures () {
	# undefined
	builtin autoload -XUz
}
_od () {
	# undefined
	builtin autoload -XUz
}
_okular () {
	# undefined
	builtin autoload -XUz
}
_oldlist () {
	# undefined
	builtin autoload -XUz
}
_open () {
	# undefined
	builtin autoload -XUz
}
_openstack () {
	# undefined
	builtin autoload -XUz
}
_opkg () {
	# undefined
	builtin autoload -XUz
}
_options () {
	# undefined
	builtin autoload -XUz
}
_options_set () {
	# undefined
	builtin autoload -XUz
}
_options_unset () {
	# undefined
	builtin autoload -XUz
}
_osascript () {
	# undefined
	builtin autoload -XUz
}
_osc () {
	# undefined
	builtin autoload -XUz
}
_other_accounts () {
	# undefined
	builtin autoload -XUz
}
_otool () {
	# undefined
	builtin autoload -XUz
}
_pack () {
	# undefined
	builtin autoload -XUz
}
_pandoc () {
	# undefined
	builtin autoload -XUz
}
_parameter () {
	# undefined
	builtin autoload -XUz
}
_parameters () {
	# undefined
	builtin autoload -XUz
}
_paste () {
	# undefined
	builtin autoload -XUz
}
_patch () {
	# undefined
	builtin autoload -XUz
}
_patchutils () {
	# undefined
	builtin autoload -XUz
}
_path_commands () {
	# undefined
	builtin autoload -XUz
}
_path_files () {
	# undefined
	builtin autoload -XUz
}
_pax () {
	# undefined
	builtin autoload -XUz
}
_pbcopy () {
	# undefined
	builtin autoload -XUz
}
_pbm () {
	# undefined
	builtin autoload -XUz
}
_pbuilder () {
	# undefined
	builtin autoload -XUz
}
_pdf () {
	# undefined
	builtin autoload -XUz
}
_pdftk () {
	# undefined
	builtin autoload -XUz
}
_perforce () {
	# undefined
	builtin autoload -XUz
}
_perl () {
	# undefined
	builtin autoload -XUz
}
_perl_basepods () {
	# undefined
	builtin autoload -XUz
}
_perl_modules () {
	# undefined
	builtin autoload -XUz
}
_perldoc () {
	# undefined
	builtin autoload -XUz
}
_pfctl () {
	# undefined
	builtin autoload -XUz
}
_pfexec () {
	# undefined
	builtin autoload -XUz
}
_pgrep () {
	# undefined
	builtin autoload -XUz
}
_php () {
	# undefined
	builtin autoload -XUz
}
_physical_volumes () {
	# undefined
	builtin autoload -XUz
}
_pick_variant () {
	# undefined
	builtin autoload -XUz
}
_picocom () {
	# undefined
	builtin autoload -XUz
}
_pidof () {
	# undefined
	builtin autoload -XUz
}
_pids () {
	# undefined
	builtin autoload -XUz
}
_pine () {
	# undefined
	builtin autoload -XUz
}
_ping () {
	# undefined
	builtin autoload -XUz
}
_piuparts () {
	# undefined
	builtin autoload -XUz
}
_pkg-config () {
	# undefined
	builtin autoload -XUz
}
_pkg5 () {
	# undefined
	builtin autoload -XUz
}
_pkg_instance () {
	# undefined
	builtin autoload -XUz
}
_pkgadd () {
	# undefined
	builtin autoload -XUz
}
_pkgin () {
	# undefined
	builtin autoload -XUz
}
_pkginfo () {
	# undefined
	builtin autoload -XUz
}
_pkgrm () {
	# undefined
	builtin autoload -XUz
}
_pkgtool () {
	# undefined
	builtin autoload -XUz
}
_plutil () {
	# undefined
	builtin autoload -XUz
}
_pmap () {
	# undefined
	builtin autoload -XUz
}
_pon () {
	# undefined
	builtin autoload -XUz
}
_portaudit () {
	# undefined
	builtin autoload -XUz
}
_portlint () {
	# undefined
	builtin autoload -XUz
}
_portmaster () {
	# undefined
	builtin autoload -XUz
}
_ports () {
	# undefined
	builtin autoload -XUz
}
_portsnap () {
	# undefined
	builtin autoload -XUz
}
_postfix () {
	# undefined
	builtin autoload -XUz
}
_postgresql () {
	# undefined
	builtin autoload -XUz
}
_postscript () {
	# undefined
	builtin autoload -XUz
}
_powerd () {
	# undefined
	builtin autoload -XUz
}
_precommand () {
	# undefined
	builtin autoload -XUz
}
_prefix () {
	# undefined
	builtin autoload -XUz
}
_print () {
	# undefined
	builtin autoload -XUz
}
_printenv () {
	# undefined
	builtin autoload -XUz
}
_printers () {
	# undefined
	builtin autoload -XUz
}
_process_names () {
	# undefined
	builtin autoload -XUz
}
_procstat () {
	# undefined
	builtin autoload -XUz
}
_prompt () {
	# undefined
	builtin autoload -XUz
}
_prove () {
	# undefined
	builtin autoload -XUz
}
_prstat () {
	# undefined
	builtin autoload -XUz
}
_ps () {
	# undefined
	builtin autoload -XUz
}
_ps1234 () {
	# undefined
	builtin autoload -XUz
}
_pscp () {
	# undefined
	builtin autoload -XUz
}
_pspdf () {
	# undefined
	builtin autoload -XUz
}
_psutils () {
	# undefined
	builtin autoload -XUz
}
_ptree () {
	# undefined
	builtin autoload -XUz
}
_pulseaudio () {
	# undefined
	builtin autoload -XUz
}
_pump () {
	# undefined
	builtin autoload -XUz
}
_putclip () {
	# undefined
	builtin autoload -XUz
}
_pv () {
	# undefined
	builtin autoload -XUz
}
_pwgen () {
	# undefined
	builtin autoload -XUz
}
_pydoc () {
	# undefined
	builtin autoload -XUz
}
_python () {
	# undefined
	builtin autoload -XUz
}
_python_modules () {
	# undefined
	builtin autoload -XUz
}
_qdbus () {
	# undefined
	builtin autoload -XUz
}
_qemu () {
	# undefined
	builtin autoload -XUz
}
_qiv () {
	# undefined
	builtin autoload -XUz
}
_qpdf () {
	# undefined
	builtin autoload -XUz
}
_qtplay () {
	# undefined
	builtin autoload -XUz
}
_quilt () {
	# undefined
	builtin autoload -XUz
}
_rake () {
	# undefined
	builtin autoload -XUz
}
_ranlib () {
	# undefined
	builtin autoload -XUz
}
_rar () {
	# undefined
	builtin autoload -XUz
}
_rcctl () {
	# undefined
	builtin autoload -XUz
}
_rclone () {
	# undefined
	builtin autoload -XUz
}
_rcs () {
	# undefined
	builtin autoload -XUz
}
_rdesktop () {
	# undefined
	builtin autoload -XUz
}
_read () {
	# undefined
	builtin autoload -XUz
}
_read_comp () {
	# undefined
	builtin autoload -XUz
}
_readelf () {
	# undefined
	builtin autoload -XUz
}
_readlink () {
	# undefined
	builtin autoload -XUz
}
_readshortcut () {
	# undefined
	builtin autoload -XUz
}
_rebootin () {
	# undefined
	builtin autoload -XUz
}
_redirect () {
	# undefined
	builtin autoload -XUz
}
_regex_arguments () {
	# undefined
	builtin autoload -XUz
}
_regex_words () {
	# undefined
	builtin autoload -XUz
}
_remote_files () {
	# undefined
	builtin autoload -XUz
}
_renice () {
	# undefined
	builtin autoload -XUz
}
_reprepro () {
	# undefined
	builtin autoload -XUz
}
_requested () {
	# undefined
	builtin autoload -XUz
}
_resolvectl () {
	# undefined
	builtin autoload -XUz
}
_retrieve_cache () {
	# undefined
	builtin autoload -XUz
}
_retrieve_mac_apps () {
	# undefined
	builtin autoload -XUz
}
_ri () {
	# undefined
	builtin autoload -XUz
}
_rlogin () {
	# undefined
	builtin autoload -XUz
}
_rm () {
	# undefined
	builtin autoload -XUz
}
_rmdir () {
	# undefined
	builtin autoload -XUz
}
_route () {
	# undefined
	builtin autoload -XUz
}
_rpm () {
	# undefined
	builtin autoload -XUz
}
_rrdtool () {
	# undefined
	builtin autoload -XUz
}
_rsync () {
	# undefined
	builtin autoload -XUz
}
_rubber () {
	# undefined
	builtin autoload -XUz
}
_ruby () {
	# undefined
	builtin autoload -XUz
}
_run-help () {
	# undefined
	builtin autoload -XUz
}
_runit () {
	# undefined
	builtin autoload -XUz
}
_samba () {
	# undefined
	builtin autoload -XUz
}
_savecore () {
	# undefined
	builtin autoload -XUz
}
_say () {
	# undefined
	builtin autoload -XUz
}
_sbuild () {
	# undefined
	builtin autoload -XUz
}
_sc_usage () {
	# undefined
	builtin autoload -XUz
}
_sccs () {
	# undefined
	builtin autoload -XUz
}
_sched () {
	# undefined
	builtin autoload -XUz
}
_schedtool () {
	# undefined
	builtin autoload -XUz
}
_schroot () {
	# undefined
	builtin autoload -XUz
}
_scl () {
	# undefined
	builtin autoload -XUz
}
_scons () {
	# undefined
	builtin autoload -XUz
}
_screen () {
	# undefined
	builtin autoload -XUz
}
_script () {
	# undefined
	builtin autoload -XUz
}
_scselect () {
	# undefined
	builtin autoload -XUz
}
_scutil () {
	# undefined
	builtin autoload -XUz
}
_sd_hosts_or_user_at_host () {
	# undefined
	builtin autoload -XUz
}
_sd_outputmodes () {
	# undefined
	builtin autoload -XUz
}
_sd_unit_files () {
	# undefined
	builtin autoload -XUz
}
_seafile () {
	# undefined
	builtin autoload -XUz
}
_sed () {
	# undefined
	builtin autoload -XUz
}
_selinux_contexts () {
	# undefined
	builtin autoload -XUz
}
_selinux_roles () {
	# undefined
	builtin autoload -XUz
}
_selinux_types () {
	# undefined
	builtin autoload -XUz
}
_selinux_users () {
	# undefined
	builtin autoload -XUz
}
_sep_parts () {
	# undefined
	builtin autoload -XUz
}
_seq () {
	# undefined
	builtin autoload -XUz
}
_sequence () {
	# undefined
	builtin autoload -XUz
}
_service () {
	# undefined
	builtin autoload -XUz
}
_services () {
	# undefined
	builtin autoload -XUz
}
_set () {
	# undefined
	builtin autoload -XUz
}
_set_command () {
	# undefined
	builtin autoload -XUz
}
_setfacl () {
	# undefined
	builtin autoload -XUz
}
_setopt () {
	# undefined
	builtin autoload -XUz
}
_setsid () {
	# undefined
	builtin autoload -XUz
}
_setup () {
	# undefined
	builtin autoload -XUz
}
_setxkbmap () {
	# undefined
	builtin autoload -XUz
}
_sh () {
	# undefined
	builtin autoload -XUz
}
_shasum () {
	# undefined
	builtin autoload -XUz
}
_showmount () {
	# undefined
	builtin autoload -XUz
}
_shred () {
	# undefined
	builtin autoload -XUz
}
_shuf () {
	# undefined
	builtin autoload -XUz
}
_shutdown () {
	# undefined
	builtin autoload -XUz
}
_signals () {
	# undefined
	builtin autoload -XUz
}
_signify () {
	# undefined
	builtin autoload -XUz
}
_sisu () {
	# undefined
	builtin autoload -XUz
}
_slabtop () {
	# undefined
	builtin autoload -XUz
}
_slrn () {
	# undefined
	builtin autoload -XUz
}
_smartmontools () {
	# undefined
	builtin autoload -XUz
}
_smit () {
	# undefined
	builtin autoload -XUz
}
_snap () {
	# undefined
	builtin autoload -XUz
}
_snoop () {
	# undefined
	builtin autoload -XUz
}
_socket () {
	# undefined
	builtin autoload -XUz
}
_sockstat () {
	# undefined
	builtin autoload -XUz
}
_softwareupdate () {
	# undefined
	builtin autoload -XUz
}
_sort () {
	# undefined
	builtin autoload -XUz
}
_source () {
	# undefined
	builtin autoload -XUz
}
_spamassassin () {
	# undefined
	builtin autoload -XUz
}
_split () {
	# undefined
	builtin autoload -XUz
}
_sqlite () {
	# undefined
	builtin autoload -XUz
}
_sqsh () {
	# undefined
	builtin autoload -XUz
}
_ss () {
	# undefined
	builtin autoload -XUz
}
_ssh () {
	# undefined
	builtin autoload -XUz
}
_ssh_hosts () {
	# undefined
	builtin autoload -XUz
}
_sshfs () {
	# undefined
	builtin autoload -XUz
}
_stat () {
	# undefined
	builtin autoload -XUz
}
_stdbuf () {
	# undefined
	builtin autoload -XUz
}
_stgit () {
	# undefined
	builtin autoload -XUz
}
_store_cache () {
	# undefined
	builtin autoload -XUz
}
_stow () {
	# undefined
	builtin autoload -XUz
}
_strace () {
	# undefined
	builtin autoload -XUz
}
_strftime () {
	# undefined
	builtin autoload -XUz
}
_strings () {
	# undefined
	builtin autoload -XUz
}
_strip () {
	# undefined
	builtin autoload -XUz
}
_stty () {
	# undefined
	builtin autoload -XUz
}
_su () {
	# undefined
	builtin autoload -XUz
}
_sub_commands () {
	# undefined
	builtin autoload -XUz
}
_sublimetext () {
	# undefined
	builtin autoload -XUz
}
_subscript () {
	# undefined
	builtin autoload -XUz
}
_subversion () {
	# undefined
	builtin autoload -XUz
}
_sudo () {
	# undefined
	builtin autoload -XUz
}
_suffix_alias_files () {
	# undefined
	builtin autoload -XUz
}
_surfraw () {
	# undefined
	builtin autoload -XUz
}
_svcadm () {
	# undefined
	builtin autoload -XUz
}
_svccfg () {
	# undefined
	builtin autoload -XUz
}
_svcprop () {
	# undefined
	builtin autoload -XUz
}
_svcs () {
	# undefined
	builtin autoload -XUz
}
_svcs_fmri () {
	# undefined
	builtin autoload -XUz
}
_svn-buildpackage () {
	# undefined
	builtin autoload -XUz
}
_sw_vers () {
	# undefined
	builtin autoload -XUz
}
_swaks () {
	# undefined
	builtin autoload -XUz
}
_swanctl () {
	# undefined
	builtin autoload -XUz
}
_swift () {
	# undefined
	builtin autoload -XUz
}
_sys_calls () {
	# undefined
	builtin autoload -XUz
}
_sysctl () {
	# undefined
	builtin autoload -XUz
}
_sysrc () {
	# undefined
	builtin autoload -XUz
}
_sysstat () {
	# undefined
	builtin autoload -XUz
}
_systat () {
	# undefined
	builtin autoload -XUz
}
_system_profiler () {
	# undefined
	builtin autoload -XUz
}
_systemctl () {
	# undefined
	builtin autoload -XUz
}
_systemd () {
	# undefined
	builtin autoload -XUz
}
_systemd-analyze () {
	# undefined
	builtin autoload -XUz
}
_systemd-delta () {
	# undefined
	builtin autoload -XUz
}
_systemd-inhibit () {
	# undefined
	builtin autoload -XUz
}
_systemd-run () {
	# undefined
	builtin autoload -XUz
}
_systemd-tmpfiles () {
	# undefined
	builtin autoload -XUz
}
_tac () {
	# undefined
	builtin autoload -XUz
}
_tags () {
	# undefined
	builtin autoload -XUz
}
_tail () {
	# undefined
	builtin autoload -XUz
}
_tar () {
	# undefined
	builtin autoload -XUz
}
_tar_archive () {
	# undefined
	builtin autoload -XUz
}
_tardy () {
	# undefined
	builtin autoload -XUz
}
_tcpdump () {
	# undefined
	builtin autoload -XUz
}
_tcpsys () {
	# undefined
	builtin autoload -XUz
}
_tcptraceroute () {
	# undefined
	builtin autoload -XUz
}
_tee () {
	# undefined
	builtin autoload -XUz
}
_telnet () {
	# undefined
	builtin autoload -XUz
}
_terminals () {
	# undefined
	builtin autoload -XUz
}
_tex () {
	# undefined
	builtin autoload -XUz
}
_texi () {
	# undefined
	builtin autoload -XUz
}
_texinfo () {
	# undefined
	builtin autoload -XUz
}
_the_silver_searcher () {
	# undefined
	builtin autoload -XUz
}
_tidy () {
	# undefined
	builtin autoload -XUz
}
_tiff () {
	# undefined
	builtin autoload -XUz
}
_tilde () {
	# undefined
	builtin autoload -XUz
}
_tilde_files () {
	# undefined
	builtin autoload -XUz
}
_time_zone () {
	# undefined
	builtin autoload -XUz
}
_timedatectl () {
	# undefined
	builtin autoload -XUz
}
_timeout () {
	# undefined
	builtin autoload -XUz
}
_tin () {
	# undefined
	builtin autoload -XUz
}
_tla () {
	# undefined
	builtin autoload -XUz
}
_tload () {
	# undefined
	builtin autoload -XUz
}
_tmux () {
	# undefined
	builtin autoload -XUz
}
_todo.sh () {
	# undefined
	builtin autoload -XUz
}
_toilet () {
	# undefined
	builtin autoload -XUz
}
_toolchain-source () {
	# undefined
	builtin autoload -XUz
}
_top () {
	# undefined
	builtin autoload -XUz
}
_topgit () {
	# undefined
	builtin autoload -XUz
}
_totd () {
	# undefined
	builtin autoload -XUz
}
_touch () {
	# undefined
	builtin autoload -XUz
}
_tpb () {
	# undefined
	builtin autoload -XUz
}
_tput () {
	# undefined
	builtin autoload -XUz
}
_tr () {
	# undefined
	builtin autoload -XUz
}
_tracepath () {
	# undefined
	builtin autoload -XUz
}
_transmission () {
	# undefined
	builtin autoload -XUz
}
_trap () {
	# undefined
	builtin autoload -XUz
}
_trash () {
	# undefined
	builtin autoload -XUz
}
_tree () {
	# undefined
	builtin autoload -XUz
}
_truss () {
	# undefined
	builtin autoload -XUz
}
_tty () {
	# undefined
	builtin autoload -XUz
}
_ttyctl () {
	# undefined
	builtin autoload -XUz
}
_ttys () {
	# undefined
	builtin autoload -XUz
}
_tune2fs () {
	# undefined
	builtin autoload -XUz
}
_twidge () {
	# undefined
	builtin autoload -XUz
}
_twisted () {
	# undefined
	builtin autoload -XUz
}
_typeset () {
	# undefined
	builtin autoload -XUz
}
_ubuntu-report () {
	# undefined
	builtin autoload -XUz
}
_udevadm () {
	# undefined
	builtin autoload -XUz
}
_ulimit () {
	# undefined
	builtin autoload -XUz
}
_uml () {
	# undefined
	builtin autoload -XUz
}
_umountable () {
	# undefined
	builtin autoload -XUz
}
_unace () {
	# undefined
	builtin autoload -XUz
}
_uname () {
	# undefined
	builtin autoload -XUz
}
_unexpand () {
	# undefined
	builtin autoload -XUz
}
_unhash () {
	# undefined
	builtin autoload -XUz
}
_uniq () {
	# undefined
	builtin autoload -XUz
}
_unison () {
	# undefined
	builtin autoload -XUz
}
_units () {
	# undefined
	builtin autoload -XUz
}
_update-alternatives () {
	# undefined
	builtin autoload -XUz
}
_update-rc.d () {
	# undefined
	builtin autoload -XUz
}
_uptime () {
	# undefined
	builtin autoload -XUz
}
_urls () {
	# undefined
	builtin autoload -XUz
}
_urpmi () {
	# undefined
	builtin autoload -XUz
}
_urxvt () {
	# undefined
	builtin autoload -XUz
}
_uscan () {
	# undefined
	builtin autoload -XUz
}
_user_admin () {
	# undefined
	builtin autoload -XUz
}
_user_at_host () {
	# undefined
	builtin autoload -XUz
}
_user_expand () {
	# undefined
	builtin autoload -XUz
}
_user_math_func () {
	# undefined
	builtin autoload -XUz
}
_users () {
	# undefined
	builtin autoload -XUz
}
_users_on () {
	# undefined
	builtin autoload -XUz
}
_valgrind () {
	# undefined
	builtin autoload -XUz
}
_value () {
	# undefined
	builtin autoload -XUz
}
_values () {
	# undefined
	builtin autoload -XUz
}
_vared () {
	# undefined
	builtin autoload -XUz
}
_vars () {
	# undefined
	builtin autoload -XUz
}
_vcsh () {
	# undefined
	builtin autoload -XUz
}
_vim () {
	# undefined
	builtin autoload -XUz
}
_vim-addons () {
	# undefined
	builtin autoload -XUz
}
_visudo () {
	# undefined
	builtin autoload -XUz
}
_vlc () {
	# undefined
	builtin autoload -XUz
}
_vmctl () {
	# undefined
	builtin autoload -XUz
}
_vmstat () {
	# undefined
	builtin autoload -XUz
}
_vnc () {
	# undefined
	builtin autoload -XUz
}
_volume_groups () {
	# undefined
	builtin autoload -XUz
}
_vorbis () {
	# undefined
	builtin autoload -XUz
}
_vpnc () {
	# undefined
	builtin autoload -XUz
}
_vserver () {
	# undefined
	builtin autoload -XUz
}
_w () {
	# undefined
	builtin autoload -XUz
}
_w3m () {
	# undefined
	builtin autoload -XUz
}
_wait () {
	# undefined
	builtin autoload -XUz
}
_wajig () {
	# undefined
	builtin autoload -XUz
}
_wakeup_capable_devices () {
	# undefined
	builtin autoload -XUz
}
_wanna-build () {
	# undefined
	builtin autoload -XUz
}
_wanted () {
	# undefined
	builtin autoload -XUz
}
_watch () {
	# undefined
	builtin autoload -XUz
}
_watch-snoop () {
	# undefined
	builtin autoload -XUz
}
_wc () {
	# undefined
	builtin autoload -XUz
}
_webbrowser () {
	# undefined
	builtin autoload -XUz
}
_wget () {
	# undefined
	builtin autoload -XUz
}
_whereis () {
	# undefined
	builtin autoload -XUz
}
_which () {
	# undefined
	builtin autoload -XUz
}
_who () {
	# undefined
	builtin autoload -XUz
}
_whois () {
	# undefined
	builtin autoload -XUz
}
_widgets () {
	# undefined
	builtin autoload -XUz
}
_wiggle () {
	# undefined
	builtin autoload -XUz
}
_wipefs () {
	# undefined
	builtin autoload -XUz
}
_wpa_cli () {
	# undefined
	builtin autoload -XUz
}
_x_arguments () {
	# undefined
	builtin autoload -XUz
}
_x_borderwidth () {
	# undefined
	builtin autoload -XUz
}
_x_color () {
	# undefined
	builtin autoload -XUz
}
_x_colormapid () {
	# undefined
	builtin autoload -XUz
}
_x_cursor () {
	# undefined
	builtin autoload -XUz
}
_x_display () {
	# undefined
	builtin autoload -XUz
}
_x_extension () {
	# undefined
	builtin autoload -XUz
}
_x_font () {
	# undefined
	builtin autoload -XUz
}
_x_geometry () {
	# undefined
	builtin autoload -XUz
}
_x_keysym () {
	# undefined
	builtin autoload -XUz
}
_x_locale () {
	# undefined
	builtin autoload -XUz
}
_x_modifier () {
	# undefined
	builtin autoload -XUz
}
_x_name () {
	# undefined
	builtin autoload -XUz
}
_x_resource () {
	# undefined
	builtin autoload -XUz
}
_x_selection_timeout () {
	# undefined
	builtin autoload -XUz
}
_x_title () {
	# undefined
	builtin autoload -XUz
}
_x_utils () {
	# undefined
	builtin autoload -XUz
}
_x_visual () {
	# undefined
	builtin autoload -XUz
}
_x_window () {
	# undefined
	builtin autoload -XUz
}
_xargs () {
	# undefined
	builtin autoload -XUz
}
_xauth () {
	# undefined
	builtin autoload -XUz
}
_xautolock () {
	# undefined
	builtin autoload -XUz
}
_xclip () {
	# undefined
	builtin autoload -XUz
}
_xcode-select () {
	# undefined
	builtin autoload -XUz
}
_xdvi () {
	# undefined
	builtin autoload -XUz
}
_xfig () {
	# undefined
	builtin autoload -XUz
}
_xft_fonts () {
	# undefined
	builtin autoload -XUz
}
_xloadimage () {
	# undefined
	builtin autoload -XUz
}
_xmlsoft () {
	# undefined
	builtin autoload -XUz
}
_xmlstarlet () {
	# undefined
	builtin autoload -XUz
}
_xmms2 () {
	# undefined
	builtin autoload -XUz
}
_xmodmap () {
	# undefined
	builtin autoload -XUz
}
_xournal () {
	# undefined
	builtin autoload -XUz
}
_xpdf () {
	# undefined
	builtin autoload -XUz
}
_xrandr () {
	# undefined
	builtin autoload -XUz
}
_xscreensaver () {
	# undefined
	builtin autoload -XUz
}
_xset () {
	# undefined
	builtin autoload -XUz
}
_xt_arguments () {
	# undefined
	builtin autoload -XUz
}
_xt_session_id () {
	# undefined
	builtin autoload -XUz
}
_xterm () {
	# undefined
	builtin autoload -XUz
}
_xv () {
	# undefined
	builtin autoload -XUz
}
_xwit () {
	# undefined
	builtin autoload -XUz
}
_xxd () {
	# undefined
	builtin autoload -XUz
}
_xz () {
	# undefined
	builtin autoload -XUz
}
_yafc () {
	# undefined
	builtin autoload -XUz
}
_yast () {
	# undefined
	builtin autoload -XUz
}
_yodl () {
	# undefined
	builtin autoload -XUz
}
_yp () {
	# undefined
	builtin autoload -XUz
}
_yum () {
	# undefined
	builtin autoload -XUz
}
_zargs () {
	# undefined
	builtin autoload -XUz
}
_zattr () {
	# undefined
	builtin autoload -XUz
}
_zcalc () {
	# undefined
	builtin autoload -XUz
}
_zcalc_line () {
	# undefined
	builtin autoload -XUz
}
_zcat () {
	# undefined
	builtin autoload -XUz
}
_zcompile () {
	# undefined
	builtin autoload -XUz
}
_zdump () {
	# undefined
	builtin autoload -XUz
}
_zeal () {
	# undefined
	builtin autoload -XUz
}
_zed () {
	# undefined
	builtin autoload -XUz
}
_zfs () {
	# undefined
	builtin autoload -XUz
}
_zfs_dataset () {
	# undefined
	builtin autoload -XUz
}
_zfs_keysource_props () {
	# undefined
	builtin autoload -XUz
}
_zfs_pool () {
	# undefined
	builtin autoload -XUz
}
_zftp () {
	# undefined
	builtin autoload -XUz
}
_zip () {
	# undefined
	builtin autoload -XUz
}
_zle () {
	# undefined
	builtin autoload -XUz
}
_zlogin () {
	# undefined
	builtin autoload -XUz
}
_zmodload () {
	# undefined
	builtin autoload -XUz
}
_zmv () {
	# undefined
	builtin autoload -XUz
}
_zoneadm () {
	# undefined
	builtin autoload -XUz
}
_zones () {
	# undefined
	builtin autoload -XUz
}
_zparseopts () {
	# undefined
	builtin autoload -XUz
}
_zpool () {
	# undefined
	builtin autoload -XUz
}
_zpty () {
	# undefined
	builtin autoload -XUz
}
_zsh () {
	# undefined
	builtin autoload -XUz
}
_zsh-mime-handler () {
	# undefined
	builtin autoload -XUz
}
_zsocket () {
	# undefined
	builtin autoload -XUz
}
_zstyle () {
	# undefined
	builtin autoload -XUz
}
_ztodo () {
	# undefined
	builtin autoload -XUz
}
_zypper () {
	# undefined
	builtin autoload -XUz
}
add-zsh-hook () {
	emulate -L zsh
	local -a hooktypes
	hooktypes=(chpwd precmd preexec periodic zshaddhistory zshexit zsh_directory_name) 
	local usage="Usage: add-zsh-hook hook function\nValid hooks are:\n  $hooktypes" 
	local opt
	local -a autoopts
	integer del list help
	while getopts "dDhLUzk" opt
	do
		case $opt in
			(d) del=1  ;;
			(D) del=2  ;;
			(h) help=1  ;;
			(L) list=1  ;;
			([Uzk]) autoopts+=(-$opt)  ;;
			(*) return 1 ;;
		esac
	done
	shift $(( OPTIND - 1 ))
	if (( list ))
	then
		typeset -mp "(${1:-${(@j:|:)hooktypes}})_functions"
		return $?
	elif (( help || $# != 2 || ${hooktypes[(I)$1]} == 0 ))
	then
		print -u$(( 2 - help )) $usage
		return $(( 1 - help ))
	fi
	local hook="${1}_functions" 
	local fn="$2" 
	if (( del ))
	then
		if (( ${(P)+hook} ))
		then
			if (( del == 2 ))
			then
				set -A $hook ${(P)hook:#${~fn}}
			else
				set -A $hook ${(P)hook:#$fn}
			fi
			if (( ! ${(P)#hook} ))
			then
				unset $hook
			fi
		fi
	else
		if (( ${(P)+hook} ))
		then
			if (( ${${(P)hook}[(I)$fn]} == 0 ))
			then
				typeset -ga $hook
				set -A $hook ${(P)hook} $fn
			fi
		else
			typeset -ga $hook
			set -A $hook $fn
		fi
		autoload $autoopts -- $fn
	fi
}
compaudit () {
	# undefined
	builtin autoload -XUz
}
compdump () {
	# undefined
	builtin autoload -XUz
}
compinit () {
	# undefined
	builtin autoload -XUz
}
compinstall () {
	# undefined
	builtin autoload -XUz
}
run-help () {
	# undefined
	builtin autoload -XUz
}
set_prompt:100: command not found: prompt_spaceship-prompt_setup

I assume the last line is the one we care about here: set_prompt:100: command not found: prompt_spaceship-prompt_setup.

I ran git bisect within the zsh-snap repo locally and it resulted in:

3514612231a66696bd3552cfcee2dc9c8e64e523 is the first bad commit
commit 3514612231a66696bd3552cfcee2dc9c8e64e523
Author: Marlon Richert <[email protected]>
Date:   Fri Mar 12 22:04:02 2021 +0200

    Improve caching logic

 functions/..znap.init  |  2 ++
 functions/.znap.eval   | 32 ++++++++++++++++++--------------
 functions/.znap.prompt | 24 ++++++++++++++++++------
 functions/.znap.rm     |  2 +-
 4 files changed, 39 insertions(+), 21 deletions(-)

It seems that there is some form of regression in 3514612.

My config is as follows (I have tried other prompts and they all fail since this commit).

# load zsnap and installed plugins
source ~/.znap/zsh-snap/znap.zsh

znap prompt denysdovhan/spaceship-prompt

zsh version: zsh 5.8 (x86_64-ubuntu-linux-gnu)

Let me know if there is any more info you require and thanks for this awesome plugin!

prompt prints twice

Using znap prompt sindresorhus/pure my prompt always prints twice when opening a new session, once without git info and once with. maybe because of the use of async?

image

source does not seem to support multiple files.

logically I wanted to specify what to source from repo, so was hoping to do

znap source asdf asdf.sh completions/_asdf

which does not work.

however

znap source asdf
znap source asdf completions

does work

kubectl completions - "no such builtin"

while trying to migrate to zsh-snap, I ran into a weird issue with the kubectl completions. As soon as I source zsh-snap, the usual completions fail to load:

source <(kubectl completion zsh)
source:1: no such builtin: __kubectl_bash_source

This can be reproduced even with a minimal zshrc:

source ~/git/zsh-snap/znap.zsh
source <(kubectl completion zsh)

I dont really understand whats going on here, the completion script generated by kubectl is fairly complex/unreadable. Doesn't seem to be tied to a specific kubectl version, but I'm using kubectl 1.20.2 atm. I'd appreciate any help with this!

znap eval doesn't seem to run.

I tried to install LS_COLOR according to the README but not possible. There is no LS_COLOR variable output in the shell after startup.
Same thing for other znap eval .. command.

Feature request: Add zstyle configuration option for excluding znap compile paths

I am really loving znap - this is such a great project! I can finally ditch antibody (which is go based and doesn't work on the new M1 Macs yet.) Thanks for all your work on it.

One thing I'm running into that I would love to see a feature for is more fine grained control of what gets zcompiled. Specifically, it would be really nice to be able to exclude directories. Having a .zwc file cached can cause subtle issues in your ZSH configuration when you are making changes.

Right now, znap takes an all-or-nothing approach to compiling with the zstyle ':znap:*' auto-compile no setting. I would love to see an optional zstyle setting like "auto-compile-exclude-dirs" that would add directories to a block list that znap compile would ignore. That way you could do something like this to protect some more volatile directories in your ZSH config, but still get the benefits of having the more static plugin code compiled:

zstyle ':znap:*' auto-compile-exclude-dirs ${ZDOTDIR:-$HOME}/.zshrc.d ${ZDOTDIR:-$HOME}/zfunctions

Thanks for considering!

znap pull sends my fans spinning

Whenever I issue the command znap pull, the fans on my 2019, 12 core macbook pro starts spinning hard. I tried it multiple times and each time I have to kill all zsh processes to make it stop.

Terminal is unusable after commit 61296c

I don't quite know how to explain this but I did a znap pull and restared my terminal and now when I start to type anything, I get a line for every character typed with the message sleep: invalid option --0 Try 'sleep --help' for more information.

I thought, I may have some weird entries in my config so I downloaded and tried your personal zshrc had the same message. See below:

Screenshot 2020-12-21 at 03 00 28

Possible interoperability issue with example .zshrc

I think there may be an interoperability issue with the given example .zshrc file.

Line 49:

znap eval trapd00r/LS_COLORS 'gdircolors -b LS_COLORS'

Example eval is gdircolors, I think this may OSX specific. I realize it's just an example, but in the spirit of a plugin manager that is easy to comprehend I thought it might be worth making this issue.

Add xtrace flag/verbose option

Some cases that users report are difficult to debug from a distance. It would help if they could pass a flag to Znap to get more output.

znap.init command not found

  • I'm getting the following error with the last commits in termux:
(anon):zf_mkdir:14: not enough arguments
..znap.init: command not found
  • Untill commit e1e94b6 it was working fine.
  • Zsh version 5.8-5
  • My .zshrc: zshrc.txt

Cannot get theme to work

So I tried to get the agnoster theme (as in your README example), but the only thing i get is:

.znap.source:shift:4: shift count must be <= $#
.znap.source:.:16: not enough arguments

when I try to source .zshrc or just restart the shell.

Is there something I missed?

Also, how would one go about adding a custom theme?

Thank you

Unexpected change to .zshrc file after running `install.zsh`

I wanted to give Znap! a try since I'm looking for a plugin manager that is fast, and without undue complexity.

Here's what happened:

localhost git % source zsh-snap/install.zsh

Configuring Znap...

Where do you (want to) keep your repos and/or plugins?
> ~/.config/zsh/repos                                                                       [leave blank to use ~/git/]
No such dir ~/.config/zsh/repos. Create? [yn] y
Move Znap's own repo to ~/.config/zsh/repos, too? [yn] y

Updating ~/.config/zsh/.zshrc...
Installation complete.

/Users/me/.config/zsh/.zshrc:zf_mkdir:99: cannot make directory `': no such file or directory
-init-macos-paths:10: read-only file system: /init-macos-paths.tmp.10876
localhost git % 

When this was done, all the blank lines from my .zshrc were gone. 😮

For reference, because of the errors above, I note that I have these lines in my .zshrc:

zmodload -F zsh/files b:{zf_mkdir,zf_mv,zf_rm,zf_rmdir,zf_ln}

# make sure the cache directory exists
[[ ! -d "$ZCACHEDIR" ]] && zf_mkdir -p "$ZCACHEDIR"

if (( ISMAC )); then
    if [[ ! -e $ZCACHEDIR/init-macos-paths ]] || ! source $ZCACHEDIR/init-macos-paths; then
        -init-macos-paths && source $ZCACHEDIR/init-macos-paths
    fi
fi

and the extent of my .zshenv is:

export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$XDG_CONFIG_HOME/cache"
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"

# the colon here allows using parameter expansiosn side-effects without doing anything else
: "${ZCACHEDIR:=${XDG_CACHE_HOME:-$HOME/.config/cache}/zsh}"

Besides the blank lines being removed, the line:

source ~/.config/zsh/repos/zsh-snap/znap.zsh

was added to the top of ~/.config/zsh/.zshrc, and Znap! seems to be "installed".

Just wanted to make you aware in case it helps improves the installer.

Autoload of functions

Seems, name definition fails to load functions from $fdir:
:znap:auto-compile:8: no matches found: /home/user/.zsh/zsh-edit/functions/*~*.zwc(-^/)
There are currently 4 files in $fdir with names similar to _[a-z] _[a-z]
How to adjust the autoload function?

znap clone command doesn't indicate end of cloning

I issued the znap clone clone command from the prompt to download some plugins line so:

$ znap clone \
     [email protected]:romkatv/powerlevel10k.git \
     [email protected]:ekalinin/github-markdown-toc.git \
     [email protected]:marlonrichert/{zsh-autocomplete,zsh-edit,zsh-hist}.git \
     [email protected]:zsh-users/{zsh-autosuggestions,zsh-history-substring-search,zsh-completions}.git \
     [email protected]:zdharma/fast-syntax-highlighting \
     [email protected]:ael-code/zsh-colored-man-pages.git \
     [email protected]:momo-lab/zsh-abbrev-alias.git \
     [email protected]:Aloxaf/fzf-tab.git \
     [email protected]:MichaelAquilina/zsh-you-should-use.git

After a while the screen showed clonning zsh-users/zsh-autosuggestions and just stayed that way until I ended it with ctrl-c. The only line in my .zshrc was source ~/.zsh/zsh-snap/znap.zsh nothing else.

I was expecting the cloning to fininsh and a message letting me know it's done. I need to get work done so for the mean time I've reverted back to my previous .zshrc config.

Auto-remove unused plugins

This would help like cleaning and reference checking when starting a new prompt.
Right now old plugins are left behind, even when removed from .zshrc.
It doesn't have to be intelligent, could just be purging the plugins folder and fetching everything again.

Feature Request - Local Plugin and Non git Plugin

I want to use a part of oh my zsh
and dont want to install full oh my zsh
so i want local plugins( so that i can install using curl or wget
and load it ) or non git plugins(similar to zinit's snippet).

Document/Confirm Minimum Supported ZSH Version

I've been trying to use znap on RHEL7 and have discovered that it doesn't work with ZSH 5.0.2. I managed to change a few things, but haven't gotten it to work.

Things that I found:

  • The typeset keyword doesn't exist, so typeset -gHa _znap_opts=(...) (and similarly for the other arrays) has to be split over two lines:
typeset -gHa _znap_opts
_znap_opts=(...)
  • the globstarshort option doesn't exist (so I just removed it)
  • $funcdir/*znap*~*.zwc doesn't match anything (as a result of removing globstarshort I assume), but I don't understand what the .zwc does/means, so I haven't been able to figure out how to get past this (if you remove NO_nomatch, you get further, but :zinit: isn't defined).

Naturally, support for zsh 5.0 would be awesome, but it would be good to note a minimum supported version in the README. (I can confirm 5.7.1 and 5.8 (on Catalina and Big Sur, respectively) are fine.)

Unable to use `geometry-zsh/geometry` as a prompt without errors

Not sure if this is one for them or you but when using geometry with snap I get some errors on second start, which to me look like it's trying to source .zwc files, but I'm not particularly familiar with the inner workings (magic) of zsh.

I've attached the output I get on startup, and the zshrc which generated it. Happy to do any digging and playing but the configuration is fairly basic.

znap-output.txt
zshrc.txt

znap eval doesn't regenerate cached code

I have this code in my .zshrc: znap eval asdf-direnv 'asdf exec direnv hook zsh' that hooks direnv into asdf-vm. At the time of using znap the version of direnv was 2.23.1 so it created the file asdf-direnv with the following code in it:

_direnv_hook() {
  trap -- '' SIGINT;
  eval "$("/Users/user/.asdf/installs/direnv/2.23.1/bin/direnv" export zsh)";
  trap - SIGINT;
}
typeset -ag precmd_functions;
if [[ -z ${precmd_functions[(r)_direnv_hook]} ]]; then
  precmd_functions=( _direnv_hook ${precmd_functions[@]} )
fi
typeset -ag chpwd_functions;
if [[ -z ${chpwd_functions[(r)_direnv_hook]} ]]; then
  chpwd_functions=( _direnv_hook ${chpwd_functions[@]} )
fi

Now I've just updated direnv to 2.25.2 and the zsh now throws the error _direnv_hook:2: no such file or directory: /Users/nahiable/.asdf/installs/direnv/2.23.1/bin/direnv at the prompt every time. This is because the 2.23.1 in the above code needs to be 2.25.2.

It appears the code znap eval caches the code once and doesn't regenerate it again even when the underlyting package changes version.

znap eval usage

I'm guessing that I'm just using it incorrectly but I'm having trouble running commands with znap eval.

Sourcing the zsh-autosuggestions installed on my system works just fine:

source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh

But if I try to source it with znap eval it doesn't function:

znap eval zsh-autosuggestions 'source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh'

It does generate a file in my plugins directory:

% cd plugins && ls
zsh-autosuggestions.zsh
zsh-autosuggestions.zsh.zwc

% cat zsh-autosuggestions.zsh
#source\ /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh

Am I missing something?

znap clone command not cloning repos for me anymore

Today I tried to clone a repo https://github.com/dmy/elm-sh-completion.git with the commands znap clone https://github.com/dmy/elm-sh-completion.git and later with znap clone [email protected]:/dmy/elm-sh-completion.git when first one didn't work, but although the command seems to fininsh successfully, the repo is not acutally cloned. However an entry is added to ~/.config/zsh/znap-repos

I am able to successfully clone the repo with git clone https://github.com/dmy/elm-sh-completion.git however.

An as aside when znap rm <repo> finishes, the entry for <repo> in znap-repos is not removed.

behavior for .zwc files

I don't know if its the the intended behavior of znap to put all the .zwc files in whatever dir the standard file is located. if it is not then I probably messed up the install trying to keep my settings etc. If it is the intended behavior I would suggest maybe a folder inside the zsh-snap folder that stores these files, simply so that if like me you split up your zsh files you dont have duplicate .zwc files all over your zsh dir.

How would one use zsh-snap to install and configure powerlevel10k prompt

Thanks for your package. I was shocked when I saw how little code there actually was in your source file. I feel like with time I can come to understand it completely.

I use powerlevel10K for my prompt with antibody and I'm considering trying out your pluggin manager however I'm not sure how to configure powerlevel10K in my .zshrc seeing that it's got a bit more to its configuration than pure prompt.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.