diff options
| author | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
| commit | c91d299887d93d6e8940b80442bf6c2f10fe6a64 (patch) | |
| tree | 4669e410707026952d56f2cdae7764bf0a39773d /.zsh/omz/compfix.zsh | |
| parent | 80b4c81b618d4e75b301ac1dd5adfb47f91deca7 (diff) | |
| download | dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar.gz dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.zip | |
Added a lot of untracked files and updated other files
Diffstat (limited to '.zsh/omz/compfix.zsh')
| -rw-r--r-- | .zsh/omz/compfix.zsh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.zsh/omz/compfix.zsh b/.zsh/omz/compfix.zsh new file mode 100644 index 0000000..290760e --- /dev/null +++ b/.zsh/omz/compfix.zsh @@ -0,0 +1,40 @@ +# Handle completions insecurities (i.e., completion-dependent directories with +# insecure ownership or permissions) by: +# +# * Human-readably notifying the user of these insecurities. +function handle_completion_insecurities() { + # List of the absolute paths of all unique insecure directories, split on + # newline from compaudit()'s output resembling: + # + # There are insecure directories: + # /usr/share/zsh/site-functions + # /usr/share/zsh/5.0.6/functions + # /usr/share/zsh + # /usr/share/zsh/5.0.6 + # + # Since the ignorable first line is printed to stderr and thus not captured, + # stderr is squelched to prevent this output from leaking to the user. + local -aU insecure_dirs + insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} ) + + # If no such directories exist, get us out of here. + [[ -z "${insecure_dirs}" ]] && return + + # List ownership and permissions of all insecure directories. + print "[oh-my-zsh] Insecure completion-dependent directories detected:" + ls -ld "${(@)insecure_dirs}" + + cat <<EOD +[omz] For safety, we will not load completions from these directories until +[omz] you fix their permissions and ownership and restart zsh. +[omz] See the above list for directories with group or other writability. +[omz] To fix your permissions you can do so by disabling +[omz] the write permission of "group" and "others" and making sure that the +[omz] owner of these directories is either root or your current user. +[omz] The following command may help: +[omz] compaudit | xargs chmod g-w,o-w +[omz] If the above didn't help or you want to skip the verification of +[omz] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to +[omz] "true" before oh-my-zsh is sourced in your zshrc file. +EOD +} |
