🙃 A delightful community-driven (with 2,500+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.
293 matches across 13 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | plugins/man/man.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/man/man.plugin.zsh | 7 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/man/man.plugin.zsh | 13 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 12 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 14 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 19 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 21 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 55 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 57 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 64 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 66 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 89 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/per-directory-history/per-directory-history.zsh | 91 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 12 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 14 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 19 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 21 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 55 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 57 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 64 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 66 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 89 | #------------------------------------------------------------------------------- |
| MEDIUM | …per-directory-history/per-directory-history.plugin.zsh | 91 | #------------------------------------------------------------------------------- |
| MEDIUM | plugins/gitfast/git-completion.bash | 207 | # ============================================================================== |
| MEDIUM | plugins/n98-magerun/n98-magerun.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/n98-magerun/n98-magerun.plugin.zsh | 7 | # ------------------------------------------------------------------------------ |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 42 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 44 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 53 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 55 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 70 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 72 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 97 | #----------------------------------------------------------------------------- |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 99 | #----------------------------------------------------------------------------- |
| MEDIUM | plugins/emotty/emotty.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/emotty/emotty.plugin.zsh | 11 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/grunt/grunt.plugin.zsh | 3 | # ----------------------------------------------------------------------------- |
| MEDIUM | plugins/grunt/grunt.plugin.zsh | 10 | # ----------------------------------------------------------------------------- |
| MEDIUM | plugins/grunt/grunt.plugin.zsh | 20 | # ----------------------------------------------------------------------------- |
| MEDIUM | plugins/grunt/grunt.plugin.zsh | 48 | # ----------------------------------------------------------------------------- |
| MEDIUM | plugins/sfffe/sfffe.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sfffe/sfffe.plugin.zsh | 7 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/wd/wd.plugin.zsh | 4 | # ============== |
| MEDIUM | plugins/wd/wd.sh | 4 | # ============== |
| MEDIUM | plugins/systemadmin/systemadmin.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/systemadmin/systemadmin.plugin.zsh | 3 | # ----------- |
| MEDIUM | plugins/systemadmin/systemadmin.plugin.zsh | 7 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/systemadmin/systemadmin.plugin.zsh | 13 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/emoji-clock/emoji-clock.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/emoji-clock/emoji-clock.plugin.zsh | 8 | # ----------------------------------------------------------------------------- |
| MEDIUM | plugins/gnu-utils/gnu-utils.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/gnu-utils/gnu-utils.plugin.zsh | 6 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sbt/sbt.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sbt/sbt.plugin.zsh | 6 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sudo/sudo.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sudo/sudo.plugin.zsh | 3 | # ----------- |
| MEDIUM | plugins/sudo/sudo.plugin.zsh | 7 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/sudo/sudo.plugin.zsh | 16 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/compleat/compleat.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| MEDIUM | plugins/compleat/compleat.plugin.zsh | 6 | # ------------------------------------------------------------------------------ |
| 6 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/changelog.sh | 181 | fi |
| LOW | tools/changelog.sh | 241 | |
| LOW | tools/install.sh | 1 | #!/bin/sh |
| LOW | tools/install.sh | 21 | # [2] https://zsh.sourceforge.io/Doc/Release/Files.html#index-ZDOTDIR_002c-use-of |
| LOW | tools/install.sh | 41 | # |
| LOW | tools/install.sh | 101 | # |
| LOW | tools/install.sh | 121 | is_tty() { |
| LOW | tools/upgrade.sh | 61 | # |
| LOW | plugins/man/man.plugin.zsh | 1 | # ------------------------------------------------------------------------------ |
| LOW | plugins/per-directory-history/per-directory-history.zsh | 1 | #!/usr/bin/env zsh |
| LOW | plugins/per-directory-history/per-directory-history.zsh | 21 | #------------------------------------------------------------------------------- |
| LOW | plugins/per-directory-history/per-directory-history.zsh | 41 | # freely, subject to the following restrictions: |
| LOW | …per-directory-history/per-directory-history.plugin.zsh | 1 | #!/usr/bin/env zsh |
| LOW | …per-directory-history/per-directory-history.plugin.zsh | 21 | #------------------------------------------------------------------------------- |
| LOW | …per-directory-history/per-directory-history.plugin.zsh | 41 | # freely, subject to the following restrictions: |
| LOW | plugins/gitfast/git-prompt.sh | 1 | # bash/zsh git prompt support |
| LOW | plugins/gitfast/git-prompt.sh | 21 | # you would put in $PS1 before and after the status string |
| LOW | plugins/gitfast/git-prompt.sh | 41 | # bash.showDirtyState variable, which defaults to true once |
| LOW | plugins/gitfast/git-prompt.sh | 61 | # |
| LOW | plugins/gitfast/git-prompt.sh | 81 | # |
| LOW | plugins/gitfast/git-prompt.sh | 101 | # If you would like a colored hint about the current dirty state, set |
| LOW | plugins/gitfast/git-prompt.sh | 361 | # set PS1 to a plain prompt so that we can |
| LOW | plugins/gitfast/git-prompt.sh | 381 | # This protects the user from arbitrary code execution via |
| LOW | plugins/gitfast/git-completion.bash | 1 | # bash/zsh completion support for core Git. |
| LOW | plugins/gitfast/git-completion.bash | 21 | # |
| LOW | plugins/gitfast/git-completion.bash | 41 | # __git_complete gk gitk |
| LOW | plugins/gitfast/git-completion.bash | 61 | # When set to "1" suggest all options, including options which are |
| LOW | plugins/gitfast/git-completion.bash | 101 | # 2: A prefix to be added to each possible completion word (optional). |
| LOW | plugins/gitfast/git-completion.bash | 121 | |
| LOW | plugins/gitfast/git-completion.bash | 541 | local fer_pfx="${pfx//\%/%%}" # "escape" for-each-ref format specifiers |
| LOW | plugins/gitfast/git-completion.bash | 681 | # |
| LOW | plugins/gitfast/git-completion.bash | 1721 | } |
| LOW | plugins/gitfast/git-completion.bash | 3421 | if [[ -n ${ZSH_VERSION-} && -z ${GIT_SOURCING_ZSH_COMPLETION-} ]]; then |
| LOW | plugins/gitfast/git-completion.bash | 3441 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| LOW | plugins/pow/pow.plugin.zsh | 1 | # Restart a rack app running under pow |
| LOW | plugins/dotenv/dotenv.plugin.zsh | 121 | # READER'S NOTE: this is actually a "best effort" check (works in tests), but |
| LOW | plugins/dirhistory/dirhistory.plugin.zsh | 1 | ## |
| LOW | plugins/gulp/gulp.plugin.zsh | 1 | #!/usr/bin/env zsh |
| LOW | plugins/kube-ps1/kube-ps1.plugin.zsh | 1 | #!/usr/bin/env bash |
| LOW | plugins/symfony6/symfony6.plugin.zsh | 1 | #compdef console |
| LOW | …/history-substring-search/history-substring-search.zsh | 1 | #!/usr/bin/env zsh |
| LOW | …/history-substring-search/history-substring-search.zsh | 21 | # disclaimer in the documentation and/or other materials provided |
| LOW | …/history-substring-search/history-substring-search.zsh | 101 | zmodload -F zsh/parameter |
| LOW | …/history-substring-search/history-substring-search.zsh | 121 | if [[ $KEYS == [[:print:]] ]]; then |
| LOW | …/history-substring-search/history-substring-search.zsh | 141 | ( autoload -U +X -- "$1" 2>/dev/null ) |
| LOW | …/history-substring-search/history-substring-search.zsh | 181 | fi |
| LOW | …/history-substring-search/history-substring-search.zsh | 281 | # query string. |
| LOW | …/history-substring-search/history-substring-search.zsh | 301 | local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*" |
| LOW | …/history-substring-search/history-substring-search.zsh | 321 | # In order to stay as responsive as possible, we will process the raw |
| LOW | …/history-substring-search/history-substring-search.zsh | 341 | # are beyond the end of $_history_substring_search_matches and that we |
| LOW | …/history-substring-search/history-substring-search.zsh | 401 | "$(($highlight_start_index - 1)) $(($highlight_end_index - 1)) ${_history_substring_search_query_highlight}${h |
| LOW | …/history-substring-search/history-substring-search.zsh | 421 | # before removing search highlight and exiting. This ensures no highlights |
| LOW | …/history-substring-search/history-substring-search.zsh | 461 | _history-substring-search-down-buffer() { |
| LOW | …/history-substring-search/history-substring-search.zsh | 541 | |
| LOW | …/history-substring-search/history-substring-search.zsh | 601 | _history-substring-search-has-next() { |
| LOW | …/history-substring-search/history-substring-search.zsh | 641 | # We are at the beginning of the processed list. We do not have any more |
| LOW | …/history-substring-search/history-substring-search.zsh | 661 | |
| LOW | …/history-substring-search/history-substring-search.zsh | 681 | # |
| LOW | …/history-substring-search/history-substring-search.zsh | 701 | # $#_history_substring_search_raw_matches, then we need to further process |
| LOW | …/history-substring-search/history-substring-search.zsh | 721 | fi |
| 82 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | oh-my-zsh.sh | 41 | # Check if in emulation mode, if so early return |
| LOW | oh-my-zsh.sh | 53 | # Set ZSH_CUSTOM to the path where your custom config files |
| LOW | oh-my-zsh.sh | 57 | # Set ZSH_CACHE_DIR to the path where cache files should be created |
| LOW | tools/check_for_upgrade.sh | 214 | # Check if there are updates available before proceeding |
| LOW | tools/install.sh | 89 | # Check if sudo is installed |
| LOW | tools/install.sh | 428 | # Check if we're running on Termux |
| LOW | tools/install.sh | 466 | # Check if user has sudo privileges to run `chsh` with or without `sudo` |
| LOW | tools/install.sh | 482 | # Check if the shell change was successful |
| LOW | tools/upgrade.sh | 246 | # Check if it was really updated or not |
| LOW | tools/require_tool.sh | 13 | # Set d1 to be the next thing to compare from v1, and likewise for d2. |
| LOW | plugins/autoenv/autoenv.plugin.zsh | 5 | # Check if activate.sh is in $PATH |
| LOW | …/history-substring-search/history-substring-search.zsh | 127 | # Check if $1 denotes the name of a callable function, i.e. it is fully |
| LOW | …/history-substring-search/history-substring-search.zsh | 434 | # Check if the UP arrow was pressed to move the cursor within a multi-line |
| LOW | …/history-substring-search/history-substring-search.zsh | 463 | # Check if the DOWN arrow was pressed to move the cursor within a multi-line |
| LOW | plugins/python/python.plugin.zsh | 27 | # Check if command exists |
| LOW | plugins/emoji/update_emoji.py | 183 | # Check if there is an alias available in the Gemoji DB |
| LOW | plugins/wd/wd.sh | 270 | # Check if fzf is installed |
| LOW | plugins/wd/wd.sh | 281 | # Check if config file exists |
| LOW | plugins/wd/wd.sh | 324 | # Check if config file exists |
| LOW | plugins/emacs/emacsclient.sh | 13 | # Check if there are suitable frames |
| LOW | plugins/ssh-agent/ssh-agent.plugin.zsh | 5 | # Check if ssh-agent is already running |
| LOW | plugins/vim-interaction/vim-interaction.plugin.zsh | 51 | # Open files passed (:A means abs path resolving symlinks, :q means quoting special chars) |
| LOW | plugins/mercurial/mercurial.plugin.zsh | 99 | # Check if there are modifications |
| LOW | plugins/tmux/tmux.plugin.zsh | 20 | # Set term to screen or screen-256color based on current terminal support |
| LOW | plugins/nestjs/nestjs.plugin.zsh | 3 | # Check if nest command exists |
| LOW | plugins/sudo/sudo.plugin.zsh | 58 | # Check if the typed command is really an alias to $EDITOR |
| LOW | plugins/vscode/vscode.plugin.zsh | 8 | # Verify if any manual user choice of VS Code exists first. |
| LOW | plugins/drush/drush.complete.sh | 27 | # Set DRUSH_PS1_SHOWCOLORHINTS to a non-empty value and define a |
| LOW | plugins/drush/drush.complete.sh | 40 | # Set IFS to newline (locally), since we only use newline separators, and |
| LOW | plugins/bundler/bundler.plugin.zsh | 59 | # Check if in the root or a subdirectory of a bundled project |
| LOW | plugins/git/git.plugin.zsh | 76 | # Check if a commit without "--wip--" was found and it's not the same as HEAD |
| LOW | plugins/cake/cake.plugin.zsh | 1 | # Set this to 1 if you want to cache the tasks |
| LOW | lib/async_prompt.zsh | 61 | # Close the file descriptor and remove the handler |
| LOW | lib/git.zsh | 164 | # Check if git_prompt_info is used in a prompt variable |
| LOW | lib/cli.zsh | 510 | # Check if its a valid plugin |
| LOW | lib/cli.zsh | 519 | # Check if it has completion to reload compinit |
| LOW | lib/cli.zsh | 566 | # Check if there are PR branches |
| LOW | lib/cli.zsh | 630 | # Check if Pull Request has the "testers needed" label |
| LOW | lib/cli.zsh | 645 | # Check if the label is present with jq or grep |
| LOW | lib/cli.zsh | 886 | # Check if git command is available |
| LOW | lib/cli.zsh | 892 | # Check if --unattended was passed |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | plugins/gitfast/git-completion.bash | 70 | # The following functions are meant to modify COMPREPLY, which should not be |
| MEDIUM | plugins/gitfast/git-completion.bash | 331 | # This function is equivalent to |
| MEDIUM | plugins/gitfast/git-completion.bash | 3426 | # The following function is based on code from: |
| MEDIUM | plugins/debian/debian.plugin.zsh | 151 | # Create a basic .deb package |
| MEDIUM | plugins/symfony6/symfony6.plugin.zsh | 3 | # This file is part of the Symfony package. |
| MEDIUM | …/history-substring-search/history-substring-search.zsh | 153 | # The following code is based on the zsh-syntax-highlighting plugin. |
| MEDIUM | plugins/python/python.plugin.zsh | 90 | # Create a new virtual environment using the specified name. |
| MEDIUM | plugins/meteor/meteor.plugin.zsh | 10 | alias mc='meteor create' # Create a new project. |
| MEDIUM | plugins/safe-paste/safe-paste.plugin.zsh | 34 | # Create a new keymap to use while pasting |
| MEDIUM | plugins/emoji/update_emoji.py | 20 | # This file is auto-generated by update_emoji.py. Do not edit it manually. |
| MEDIUM | plugins/emoji/emoji-char-definitions.zsh | 4 | # This file is auto-generated by update_emoji.py. Do not edit it manually. |
| MEDIUM | plugins/emacs/emacsclient.sh | 29 | # Create a tempfile to hold stdin |
| MEDIUM | plugins/extract/extract.plugin.zsh | 45 | # Create an extraction directory based on the file name |
| MEDIUM | plugins/ubuntu/ubuntu.plugin.zsh | 60 | # Create a basic .deb package |
| MEDIUM | .github/workflows/dependencies/updater.py | 281 | # Create a GitHub issue to notify maintainer |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | plugins/gitfast/git-prompt.sh | 362 | # simply return early if the prompt should not |
| LOW | plugins/debian/debian.plugin.zsh | 2 | # You can just set apt_pref='apt-get' to override it. |
| LOW | …/history-substring-search/history-substring-search.zsh | 618 | # returns whether any more matches were available, so just return |
| MEDIUM | plugins/emoji/emoji.plugin.zsh | 23 | # These additional emoji are not in the definition file, but are useful in conjunction with it |
| MEDIUM | plugins/vi-mode/vi-mode.plugin.zsh | 123 | # See zsh-autosuggestions.zsh for a more generic and more robust wrapper |
| MEDIUM | lib/diagnostics.zsh | 52 | # * Consider whether to move default output file location to TMPDIR. More robust |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | plugins/debian/debian.plugin.zsh | 172 | # Usage: |
| LOW | plugins/forklift/forklift.plugin.zsh | 7 | # Usage: |
| LOW | plugins/pip/pip.plugin.zsh | 1 | # Usage: |
| LOW | plugins/ubuntu/ubuntu.plugin.zsh | 83 | # Usage: |
| LOW | lib/diagnostics.zsh | 9 | # Usage: |
| LOW | lib/clipboard.zsh | 25 | # Usage: |
| LOW | lib/clipboard.zsh | 35 | # Usage: |
| LOW | lib/functions.zsh | 168 | # Usage: |
| LOW | lib/functions.zsh | 252 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/uninstall.sh | 41 | echo "Don't forget to restart your terminal!" |
| MEDIUM | plugins/gitfast/git-completion.bash | 28 | # If you use complex aliases of form '!f() { ... }; f', you can use the null |
| MEDIUM | plugins/gitfast/git-completion.bash | 35 | # like completion, you can use __git_complete: |
| LOW | plugins/opentofu/opentofu.plugin.zsh | 18 | # make sure to escape % signs in the workspace name to prevent command injection |
| LOW | plugins/opentofu/opentofu.plugin.zsh | 26 | # make sure to escape % signs in the version string to prevent command injection |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | plugins/gitfast/git-completion.bash | 1383 | # logic, as requested by the user. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | .github/workflows/dependencies/updater.py | 244 | Git.push(branch) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | plugins/git-prompt/gitstatus.py | 2 | |
| LOW | plugins/aliases/termcolor.py | 26 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/workflows/dependencies/updater.py | 270 | print(f"Error copying files: {e}", file=sys.stderr) |
| LOW | .github/workflows/dependencies/updater.py | 294 | except Exception as e: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .github/workflows/dependencies/updater.py | 147 | def update_dependency_version(path: str, version: str) -> DependencyYAML: |
| LOW | .github/workflows/dependencies/updater.py | 368 | def checkout_or_create_branch(branch_name: str): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .github/workflows/dependencies/updater.py | 201 |