diff --git a/awesome/.config/awesome/autorun.sh b/awesome/.config/awesome/autorun.sh index 9adaeb8..568fdf8 100755 --- a/awesome/.config/awesome/autorun.sh +++ b/awesome/.config/awesome/autorun.sh @@ -14,3 +14,4 @@ run keepassxc run aarchup run redshift-gtk run start-pulseaudio-x11 +run albert diff --git a/script/script/check_service.sh b/script/script/check_service.sh index 5082458..f556041 100755 --- a/script/script/check_service.sh +++ b/script/script/check_service.sh @@ -1,4 +1,4 @@ -SERVICES=("syncthing@vincent" "named" "mariadb" "nginx" "php-fpm" "gitea" "tt-rss" "named" "gunicorn-chainetv.socket" "gunicorn-supysonic" "rsyncd.socket" "fail2ban") +SERVICES=("syncthing@vincent" "named" "mariadb" "nginx" "php-fpm" "gitea" "tt-rss" "named" "gunicorn-chainetv.socket" "gunicorn-supysonic" "rsyncd.service" "fail2ban" "supysonic-daemon" "home-assistant" "radicale") HOST=$(hostname) RED='\033[0;31m' GREEN='\033[0;32m' diff --git a/ssh/.ssh/config b/ssh/.ssh/config index c5a0793..a5abd94 100644 --- a/ssh/.ssh/config +++ b/ssh/.ssh/config @@ -19,7 +19,7 @@ Host * AddKeysToAgent yes - ForwardAgent no + ForwardAgent yes # ForwardX11 no # PasswordAuthentication yes # HostbasedAuthentication no @@ -44,4 +44,10 @@ # VisualHostKey no # ProxyCommand ssh -q -W %h:%p gateway.example.com # RekeyLimit 1G 1h - + Host git.ducamps.win + HostName git.ducamps.win + User gitea + IdentityFile ~/.ssh/id_gitea +Host oscar + HostName oscar + User vincent diff --git a/wm/.config/compton.conf b/wm/.config/picom.conf similarity index 94% rename from wm/.config/compton.conf rename to wm/.config/picom.conf index f4ca8b0..6af0c61 100644 --- a/wm/.config/compton.conf +++ b/wm/.config/picom.conf @@ -47,7 +47,6 @@ glx-copy-from-front = false; # Useless with --glx-use-copysubbuffermesa. # Partially breaks --resize-damage. # Defaults to undefined. -glx-swap-method = "undefined"; ################################# # @@ -57,12 +56,7 @@ glx-swap-method = "undefined"; # Enabled client-side shadows on windows. shadow = true; -# Don't draw shadows on DND windows. -no-dnd-shadow = true; -# Avoid drawing shadows on dock/panel windows. -no-dock-shadow = true; # Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows. -clear-shadow = true; # The blur radius for shadows. (default 12) shadow-radius = 5; # The left offset for shadows. (default -15) @@ -109,12 +103,10 @@ shadow-ignore-shaped = false; # ################################# -menu-opacity = 1; inactive-opacity = 1; active-opacity = 1; frame-opacity = 1; inactive-opacity-override = false; -alpha-step = 0.06; # Dim inactive windows. (0.0 - 1.0) # inactive-dim = 0.2; @@ -184,13 +176,12 @@ refresh-rate = 0; # opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental. # opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use. # (Note some VSync methods may not be enabled at compile time.) -vsync = "opengl-swc"; +vsync = true; # Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. # Reported to have no effect, though. dbe = false; # Painting on X Composite overlay window. Recommended. -paint-on-overlay = true; # Limit compton to repaint at most once every 1 / refresh_rate second to boost performance. # This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already, @@ -218,7 +209,23 @@ detect-client-leader = true; ################################# wintypes: -{ +{ + popup_menu= + { + opacity = 1; + } + dropdown_menu = + { + opacity = 1; + } + dock = + { + shadow = false; + } + dnd = + { + shadow = false; + } tooltip = { # fade: Fade the particular type of windows. diff --git a/wm/.xinitrc b/wm/.xinitrc index e307bca..f055048 100644 --- a/wm/.xinitrc +++ b/wm/.xinitrc @@ -14,7 +14,7 @@ nvidia-settings --load-config-only & eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) export SSH_AUTH_SOCK numlockx & -compton -b & +picom -b & #config pad xinput set-prop 13 323 1 & xinput set-prop 13 307 1 & diff --git a/zsh/.oh-my-zsh/.gitignore b/zsh/.oh-my-zsh/.gitignore index 251c9dc..ec24a19 100644 --- a/zsh/.oh-my-zsh/.gitignore +++ b/zsh/.oh-my-zsh/.gitignore @@ -5,3 +5,4 @@ custom/ cache/ log/ *.swp +.DS_Store diff --git a/zsh/.oh-my-zsh/LICENSE.txt b/zsh/.oh-my-zsh/LICENSE.txt index 7431907..45ba85a 100644 --- a/zsh/.oh-my-zsh/LICENSE.txt +++ b/zsh/.oh-my-zsh/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2009-2019 Robby Russell and contributors (https://github.com/ohmyzsh/ohmyzsh/contributors) +Copyright (c) 2009-2020 Robby Russell and contributors (https://github.com/ohmyzsh/ohmyzsh/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/zsh/.oh-my-zsh/README.md b/zsh/.oh-my-zsh/README.md index bfb42c0..fddc7c2 100644 --- a/zsh/.oh-my-zsh/README.md +++ b/zsh/.oh-my-zsh/README.md @@ -2,9 +2,6 @@ Oh My Zsh

-[![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/bpXWhnN) -[![Follow @ohmyzsh](https://img.shields.io/twitter/follow/ohmyzsh?label=Follow+@ohmyzsh&style=flat)](https://twitter.com/intent/follow?screen_name=ohmyzsh) - Oh My Zsh is an open source, community-driven framework for managing your [zsh](https://www.zsh.org/) configuration. Sounds boring. Let's try again. @@ -15,7 +12,11 @@ Once installed, your terminal shell will become the talk of the town _or your mo Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often. 😬 -To learn more, visit [ohmyz.sh](https://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. +To learn more, visit [ohmyz.sh](https://ohmyz.sh), follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter, and/or join us on Discord. + +![Check Suite](https://github.com/ohmyzsh/ohmyzsh/workflows/Check%20Suite/badge.svg) +[![Follow @ohmyzsh](https://img.shields.io/twitter/follow/ohmyzsh?label=Follow+@ohmyzsh&style=flat)](https://twitter.com/intent/follow?screen_name=ohmyzsh) +[![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/bpXWhnN) ## Getting Started diff --git a/zsh/.oh-my-zsh/lib/clipboard.zsh b/zsh/.oh-my-zsh/lib/clipboard.zsh index 2c93d1b..5bba11d 100644 --- a/zsh/.oh-my-zsh/lib/clipboard.zsh +++ b/zsh/.oh-my-zsh/lib/clipboard.zsh @@ -24,7 +24,7 @@ function clipcopy() { else cat $file | pbcopy fi - elif [[ $OSTYPE == cygwin* ]]; then + elif [[ $OSTYPE == (cygwin|msys)* ]]; then if [[ -z $file ]]; then cat > /dev/clipboard else @@ -71,7 +71,7 @@ function clippaste() { emulate -L zsh if [[ $OSTYPE == darwin* ]]; then pbpaste - elif [[ $OSTYPE == cygwin* ]]; then + elif [[ $OSTYPE == (cygwin|msys)* ]]; then cat /dev/clipboard else if (( $+commands[xclip] )); then diff --git a/zsh/.oh-my-zsh/oh-my-zsh.sh b/zsh/.oh-my-zsh/oh-my-zsh.sh index 6b2662d..c3fae6e 100644 --- a/zsh/.oh-my-zsh/oh-my-zsh.sh +++ b/zsh/.oh-my-zsh/oh-my-zsh.sh @@ -32,8 +32,8 @@ fi is_plugin() { local base_dir=$1 local name=$2 - test -f $base_dir/plugins/$name/$name.plugin.zsh \ - || test -f $base_dir/plugins/$name/_$name + builtin test -f $base_dir/plugins/$name/$name.plugin.zsh \ + || builtin test -f $base_dir/plugins/$name/_$name } # Add all defined plugins to fpath. This must be done diff --git a/zsh/.oh-my-zsh/plugins/aws/aws.plugin.zsh b/zsh/.oh-my-zsh/plugins/aws/aws.plugin.zsh index 231ac5a..5673113 100644 --- a/zsh/.oh-my-zsh/plugins/aws/aws.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/aws/aws.plugin.zsh @@ -10,7 +10,8 @@ function asp() { return fi - local available_profiles=($(aws_profiles)) + local -a available_profiles + available_profiles=($(aws_profiles)) if [[ -z "${available_profiles[(r)$1]}" ]]; then echo "${fg[red]}Profile '$1' not found in '${AWS_CONFIG_FILE:-$HOME/.aws/config}'" >&2 echo "Available profiles: ${(j:, :)available_profiles:-no profiles found}${reset_color}" >&2 diff --git a/zsh/.oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh b/zsh/.oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh index ac6a946..f74105d 100644 --- a/zsh/.oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh @@ -17,7 +17,7 @@ EOF fi function colored() { - env \ + command env \ LESS_TERMCAP_mb=$(printf "\e[1;31m") \ LESS_TERMCAP_md=$(printf "\e[1;31m") \ LESS_TERMCAP_me=$(printf "\e[0m") \ diff --git a/zsh/.oh-my-zsh/plugins/colorize/README.md b/zsh/.oh-my-zsh/plugins/colorize/README.md index d374430..ee4ab80 100644 --- a/zsh/.oh-my-zsh/plugins/colorize/README.md +++ b/zsh/.oh-my-zsh/plugins/colorize/README.md @@ -17,10 +17,10 @@ plugins=(... colorize) ### Requirements -This plugin requires that either of the following tools be installed: +This plugin requires that at least one of the following tools is installed: -* Chroma: [https://github.com/alecthomas/chroma](https://github.com/alecthomas/chroma) -* Pygments be installed: [pygments.org](https://pygments.org/) +* [Chroma](https://github.com/alecthomas/chroma) +* [Pygments](https://pygments.org/download/) ### Colorize tool @@ -41,12 +41,8 @@ ZSH_COLORIZE_STYLE="colorful" ## Usage * `ccat [files]`: colorize the contents of the file (or files, if more than one are provided). - If no arguments are passed it will colorize the standard input or stdin. + If no files are passed it will colorize the standard input. -* `cless [files]`: colorize the contents of the file (or files, if more than one are provided) and - open less. If no arguments are passed it will colorize the standard input or stdin. - -Note that `cless` will behave as less when provided more than one file: you have to navigate files with -the commands `:n` for next and `:p` for previous. The downside is that less options are not supported. -But you can circumvent this by either using the LESS environment variable, or by running `ccat file1 file2|less --opts`. -In the latter form, the file contents will be concatenated and presented by less as a single file. +* `cless [less-options] [files]`: colorize the contents of the file (or files, if more than one are provided) and open less. + If no files are passed it will colorize the standard input. + The LESSOPEN and LESSCLOSE will be overwritten for this to work, but only in a local scope. diff --git a/zsh/.oh-my-zsh/plugins/colorize/colorize.plugin.zsh b/zsh/.oh-my-zsh/plugins/colorize/colorize.plugin.zsh index 3e91a9f..6ed9739 100644 --- a/zsh/.oh-my-zsh/plugins/colorize/colorize.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/colorize/colorize.plugin.zsh @@ -1,8 +1,11 @@ -# easier alias to use the plugin -alias ccat='colorize_via_pygmentize' -alias cless='colorize_via_pygmentize_less' +# Easier alias to use the plugin +alias ccat="colorize_cat" +alias cless="colorize_less" -colorize_via_pygmentize() { +# '$0:A' gets the absolute path of this file +ZSH_COLORIZE_PLUGIN_PATH=$0:A + +colorize_check_requirements() { local available_tools=("chroma" "pygmentize") if [ -z "$ZSH_COLORIZE_TOOL" ]; then @@ -23,6 +26,12 @@ colorize_via_pygmentize() { echo "Package '$ZSH_COLORIZE_TOOL' is not installed!" >&2 return 1 fi +} + +colorize_cat() { + if ! colorize_check_requirements; then + return 1 + fi # If the environment variable ZSH_COLORIZE_STYLE # is set, use that theme instead. Otherwise, @@ -32,7 +41,7 @@ colorize_via_pygmentize() { ZSH_COLORIZE_STYLE="emacs" fi - # pygmentize stdin if no arguments passed + # Use stdin if no arguments have been passed. if [ $# -eq 0 ]; then if [[ "$ZSH_COLORIZE_TOOL" == "pygmentize" ]]; then pygmentize -O style="$ZSH_COLORIZE_STYLE" -g @@ -42,12 +51,9 @@ colorize_via_pygmentize() { return $? fi - # guess lexer from file extension, or - # guess it from file contents if unsuccessful - + # Guess lexer from file extension, or guess it from file contents if unsuccessful. local FNAME lexer - for FNAME in "$@" - do + for FNAME in "$@"; do if [[ "$ZSH_COLORIZE_TOOL" == "pygmentize" ]]; then lexer=$(pygmentize -N "$FNAME") if [[ $lexer != text ]]; then @@ -61,22 +67,47 @@ colorize_via_pygmentize() { done } -colorize_via_pygmentize_less() ( - # this function is a subshell so tmp_files can be shared to cleanup function - declare -a tmp_files +# The less option 'F - Forward forever; like "tail -f".' will not work in this implementation +# caused by the lack of the ability to follow the file within pygmentize. +colorize_less() { + if ! colorize_check_requirements; then + return 1 + fi - cleanup () { - [[ ${#tmp_files} -gt 0 ]] && rm -f "${tmp_files[@]}" - exit + _cless() { + # LESS="-R $LESS" enables raw ANSI colors, while maintain already set options. + local LESS="-R $LESS" + + # This variable tells less to pipe every file through the specified command + # (see the man page of less INPUT PREPROCESSOR). + # 'zsh -ic "colorize_cat %s 2> /dev/null"' would not work for huge files like + # the ~/.zsh_history. For such files the tty of the preprocessor will be supended. + # Therefore we must source this file to make colorize_cat available in the + # preprocessor without the interactive mode. + # `2>/dev/null` will suppress the error for large files 'broken pipe' of the python + # script pygmentize, which will show up if less has not fully "loaded the file" + # (e.g. when not scrolled to the bottom) while already the next file will be displayed. + local LESSOPEN="| zsh -c 'source \"$ZSH_COLORIZE_PLUGIN_PATH\"; \ + ZSH_COLORIZE_TOOL=$ZSH_COLORIZE_TOOL ZSH_COLORIZE_STYLE=$ZSH_COLORIZE_STYLE \ + colorize_cat %s 2> /dev/null'" + + # LESSCLOSE will be set to prevent any errors by executing a user script + # which assumes that his LESSOPEN has been executed. + local LESSCLOSE="" + + LESS="$LESS" LESSOPEN="$LESSOPEN" LESSCLOSE="$LESSCLOSE" less "$@" } - trap 'cleanup' EXIT HUP TERM INT - while (( $# != 0 )); do #TODO: filter out less opts - tmp_file="$(mktemp -t "tmp.colorize.XXXX.$(sed 's/\//./g' <<< "$1")")" - tmp_files+=("$tmp_file") - colorize_via_pygmentize "$1" > "$tmp_file" - shift 1 - done - - less -f "${tmp_files[@]}" -) + if [ -t 0 ]; then + _cless "$@" + else + # The input is not associated with a terminal, therefore colorize_cat will + # colorize this input and pass it to less. + # Less has now to decide what to use. If any files have been provided, less + # will ignore the input by default, otherwise the colorized input will be used. + # If files have been supplied and the input has been redirected, this will + # lead to unnecessary overhead, but retains the ability to use the less options + # without checking for them inside this script. + colorize_cat | _cless "$@" + fi +} diff --git a/zsh/.oh-my-zsh/plugins/extract/README.md b/zsh/.oh-my-zsh/plugins/extract/README.md index d6e4fa1..81e8e1d 100644 --- a/zsh/.oh-my-zsh/plugins/extract/README.md +++ b/zsh/.oh-my-zsh/plugins/extract/README.md @@ -25,6 +25,8 @@ plugins=(... extract) | `gz` | Gzip file | | `ipsw` | iOS firmware file | | `jar` | Java Archive | +| `lrz` | LRZ archive | +| `lz4` | LZ4 archive | | `lzma` | LZMA archive | | `rar` | WinRAR archive | | `rpm` | RPM package | @@ -32,7 +34,9 @@ plugins=(... extract) | `tar` | Tarball | | `tar.bz2` | Tarball with bzip2 compression | | `tar.gz` | Tarball with gzip compression | +| `tar.lrz` | Tarball with lrzip compression | | `tar.lz` | Tarball with lzip compression | +| `tar.lz4` | Tarball with lz4 compression | | `tar.xz` | Tarball with lzma2 compression | | `tar.zma` | Tarball with lzma compression | | `tar.zst` | Tarball with zstd compression | diff --git a/zsh/.oh-my-zsh/plugins/extract/_extract b/zsh/.oh-my-zsh/plugins/extract/_extract index e9d12d4..1a263a7 100644 --- a/zsh/.oh-my-zsh/plugins/extract/_extract +++ b/zsh/.oh-my-zsh/plugins/extract/_extract @@ -3,5 +3,5 @@ _arguments \ '(-r --remove)'{-r,--remove}'[Remove archive.]' \ - "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lz|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \ + "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lrz|lz4|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \ && return 0 diff --git a/zsh/.oh-my-zsh/plugins/extract/extract.plugin.zsh b/zsh/.oh-my-zsh/plugins/extract/extract.plugin.zsh index 5cc30d1..a5594b8 100644 --- a/zsh/.oh-my-zsh/plugins/extract/extract.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/extract/extract.plugin.zsh @@ -46,9 +46,13 @@ extract() { || zstdcat "$1" | tar xvf - ;; (*.tar) tar xvf "$1" ;; (*.tar.lz) (( $+commands[lzip] )) && tar xvf "$1" ;; + (*.tar.lz4) lz4 -c -d "$1" | tar xvf - ;; + (*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$1" ;; (*.gz) (( $+commands[pigz] )) && pigz -dk "$1" || gunzip -k "$1" ;; (*.bz2) bunzip2 "$1" ;; (*.xz) unxz "$1" ;; + (*.lrz) (( $+commands[lrunzip] )) && lrunzip "$1" ;; + (*.lz4) lz4 -d "$1" ;; (*.lzma) unlzma "$1" ;; (*.z) uncompress "$1" ;; (*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk|*.aar|*.whl) unzip "$1" -d $extract_dir ;; diff --git a/zsh/.oh-my-zsh/plugins/fastfile/fastfile.plugin.zsh b/zsh/.oh-my-zsh/plugins/fastfile/fastfile.plugin.zsh index 775e948..a4229e4 100644 --- a/zsh/.oh-my-zsh/plugins/fastfile/fastfile.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/fastfile/fastfile.plugin.zsh @@ -1,15 +1,5 @@ -################################################################################ -# FILE: fastfile.plugin.zsh -# DESCRIPTION: oh-my-zsh plugin file. -# AUTHOR: Michael Varner (musikmichael@web.de) -# VERSION: 1.0.0 -# -# This plugin adds the ability to on the fly generate and access file shortcuts. -# -################################################################################ - ########################### -# Settings +# Settings # These can be overwritten any time. # If they are not set yet, they will be @@ -33,7 +23,7 @@ default fastfile_var_prefix "§" function fastfile() { test "$2" || 2="." file=$(readlink -f "$2") - + test "$1" || 1="$(basename "$file")" name=$(echo "$1" | tr " " "_") @@ -51,7 +41,7 @@ function fastfile() { # Arguments: # 1. name - The name of the shortcut # STDOUT: -# The path +# The path to the shortcut file # function fastfile_resolv() { echo "${fastfile_dir}${1}" @@ -88,12 +78,12 @@ function fastfile_print() { # (=> fastfle_print) for each shortcut # function fastfile_ls() { - for f in "${fastfile_dir}"/*; do - file=`basename "$f"` # To enable simpler handeling of spaces in file names - varkey=`echo "$file" | tr " " "_"` + for f in "${fastfile_dir}"/*; do + file=`basename "$f"` # To enable simpler handeling of spaces in file names + varkey=`echo "$file" | tr " " "_"` - # Special format for colums - echo "${fastfile_var_prefix}${varkey}|->|$(fastfile_get "$file")" + # Special format for colums + echo "${fastfile_var_prefix}${varkey}|->|$(fastfile_get "$file")" done | column -t -s "|" } @@ -102,7 +92,6 @@ function fastfile_ls() { # # Arguments: # 1. name - The name of the shortcut (default: name of the file) -# 2. file - The file or directory to make the shortcut for # STDOUT: # => fastfle_print # @@ -115,11 +104,11 @@ function fastfile_rm() { # Generate the aliases for the shortcuts # function fastfile_sync() { - for f in "${fastfile_dir}"/*; do - file=`basename "$f"` # To enable simpler handeling of spaces in file names - varkey=`echo "$file" | tr " " "_"` + for f in "${fastfile_dir}"/*; do + file=`basename "$f"` # To enable simpler handeling of spaces in file names + varkey=`echo "$file" | tr " " "_"` - alias -g "${fastfile_var_prefix}${varkey}"="'$(fastfile_get "$file")'" + alias -g "${fastfile_var_prefix}${varkey}"="'$(fastfile_get "$file")'" done } @@ -133,6 +122,6 @@ alias ffls=fastfile_ls alias ffsync=fastfile_sync ################################## -# Init +# Init -fastfile_sync \ No newline at end of file +fastfile_sync diff --git a/zsh/.oh-my-zsh/plugins/firewalld/readme.md b/zsh/.oh-my-zsh/plugins/firewalld/readme.md deleted file mode 100644 index 8b5bc74..0000000 --- a/zsh/.oh-my-zsh/plugins/firewalld/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# FirewallD Plugin - -This plugin adds some aliases and functions for FirewallD using the `firewalld-cmd` command. To use it, add firewalld to your plugins array. - -```zsh -plugins=(... firewalld) -``` - -## Aliases - -| Alias | Command | Description | -| :---- | :----------------------------------------- | :--------------------------- | -| fw | `sudo firewall-cmd` | Shorthand | -| fwr | `sudo firewall-cmd --reload` | Reload current configuration | -| fwp | `sudo firewall-cmd --permanent` | Create permanent rule | -| fwrp | `sudo firewall-cmd --runtime-to-permanent` | Save current configuration | - -## Functions - -| Function | Description | -| :------- | :--------------------------------------------------------- | -| fwl | Lists configuration from all active zones and direct rules | diff --git a/zsh/.oh-my-zsh/plugins/glassfish/glassfish.plugin.zsh b/zsh/.oh-my-zsh/plugins/glassfish/glassfish.plugin.zsh index fde2edb..e69de29 100644 --- a/zsh/.oh-my-zsh/plugins/glassfish/glassfish.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/glassfish/glassfish.plugin.zsh @@ -1,3 +0,0 @@ -# if there is a user named 'glassfish' on the system, we'll assume -# that is the user asadmin should be run as -# grep -e '^glassfish' /etc/passwd > /dev/null && alias asadmin='sudo -u glassfish asadmin' \ No newline at end of file diff --git a/zsh/.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh b/zsh/.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh index b66e25d..967b8b4 100644 --- a/zsh/.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh @@ -5,79 +5,79 @@ # VERSION: 1.0.0 # ------------------------------------------------------------------------------ - -if [[ -x "${commands[gwhoami]}" ]]; then - __gnu_utils() { - emulate -L zsh - local gcmds - local gcmd - local cmd - local prefix - - # coreutils - gcmds=('g[' 'gbase64' 'gbasename' 'gcat' 'gchcon' 'gchgrp' 'gchmod' - 'gchown' 'gchroot' 'gcksum' 'gcomm' 'gcp' 'gcsplit' 'gcut' 'gdate' - 'gdd' 'gdf' 'gdir' 'gdircolors' 'gdirname' 'gdu' 'gecho' 'genv' 'gexpand' - 'gexpr' 'gfactor' 'gfalse' 'gfmt' 'gfold' 'ggroups' 'ghead' 'ghostid' - 'gid' 'ginstall' 'gjoin' 'gkill' 'glink' 'gln' 'glogname' 'gls' 'gmd5sum' - 'gmkdir' 'gmkfifo' 'gmknod' 'gmktemp' 'gmv' 'gnice' 'gnl' 'gnohup' 'gnproc' - 'god' 'gpaste' 'gpathchk' 'gpinky' 'gpr' 'gprintenv' 'gprintf' 'gptx' 'gpwd' - 'greadlink' 'grm' 'grmdir' 'gruncon' 'gseq' 'gsha1sum' 'gsha224sum' - 'gsha256sum' 'gsha384sum' 'gsha512sum' 'gshred' 'gshuf' 'gsleep' 'gsort' - 'gsplit' 'gstat' 'gstty' 'gsum' 'gsync' 'gtac' 'gtail' 'gtee' 'gtest' - 'gtimeout' 'gtouch' 'gtr' 'gtrue' 'gtruncate' 'gtsort' 'gtty' 'guname' - 'gunexpand' 'guniq' 'gunlink' 'guptime' 'gusers' 'gvdir' 'gwc' 'gwho' - 'gwhoami' 'gyes') - - # findutils - gcmds+=('gfind' 'gxargs' 'glocate') - - # Not part of either coreutils or findutils, installed separately. - gcmds+=('gsed' 'gtar' 'gtime') - - for gcmd in "${gcmds[@]}"; do - # - # This method allows for builtin commands to be primary but it's - # lost if hash -r or rehash -f is executed. Thus, those two - # functions have to be wrapped. - # - (( ${+commands[$gcmd]} )) && hash ${gcmd[2,-1]}=${commands[$gcmd]} - - # - # This method generates wrapper functions. - # It will override shell builtins. - # - # (( ${+commands[$gcmd]} )) && \ - # eval "function $gcmd[2,-1]() { \"${prefix}/${gcmd//"["/"\\["}\" \"\$@\"; }" - - # - # This method is inflexible since the aliases are at risk of being - # overridden resulting in the BSD coreutils being called. - # - # (( ${+commands[$gcmd]} )) && \ - # alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}" - done - - return 0 - } - __gnu_utils; - - function hash() { - if [[ "$*" =~ "-(r|f)" ]]; then - builtin hash "$@" - __gnu_utils - else - builtin hash "$@" - fi - } - - function rehash() { - if [[ "$*" =~ "-f" ]]; then - builtin rehash "$@" - __gnu_utils - else - builtin rehash "$@" - fi - } +# Detect if GNU coreutils are installed by looking for gwhoami +if [[ ! -x "${commands[gwhoami]}" ]]; then + return fi +__gnu_utils() { + emulate -L zsh + local gcmds + local gcmd + local cmd + local prefix + + # coreutils + gcmds=('g[' 'gbase64' 'gbasename' 'gcat' 'gchcon' 'gchgrp' 'gchmod' + 'gchown' 'gchroot' 'gcksum' 'gcomm' 'gcp' 'gcsplit' 'gcut' 'gdate' + 'gdd' 'gdf' 'gdir' 'gdircolors' 'gdirname' 'gdu' 'gecho' 'genv' 'gexpand' + 'gexpr' 'gfactor' 'gfalse' 'gfmt' 'gfold' 'ggroups' 'ghead' 'ghostid' + 'gid' 'ginstall' 'gjoin' 'gkill' 'glink' 'gln' 'glogname' 'gls' 'gmd5sum' + 'gmkdir' 'gmkfifo' 'gmknod' 'gmktemp' 'gmv' 'gnice' 'gnl' 'gnohup' 'gnproc' + 'god' 'gpaste' 'gpathchk' 'gpinky' 'gpr' 'gprintenv' 'gprintf' 'gptx' 'gpwd' + 'greadlink' 'grm' 'grmdir' 'gruncon' 'gseq' 'gsha1sum' 'gsha224sum' + 'gsha256sum' 'gsha384sum' 'gsha512sum' 'gshred' 'gshuf' 'gsleep' 'gsort' + 'gsplit' 'gstat' 'gstty' 'gsum' 'gsync' 'gtac' 'gtail' 'gtee' 'gtest' + 'gtimeout' 'gtouch' 'gtr' 'gtrue' 'gtruncate' 'gtsort' 'gtty' 'guname' + 'gunexpand' 'guniq' 'gunlink' 'guptime' 'gusers' 'gvdir' 'gwc' 'gwho' + 'gwhoami' 'gyes') + + # findutils + gcmds+=('gfind' 'gxargs' 'glocate') + + # Not part of either coreutils or findutils, installed separately. + gcmds+=('gsed' 'gtar' 'gtime') + + for gcmd in "${gcmds[@]}"; do + # Do nothing if the command isn't found + (( ${+commands[$gcmd]} )) || continue + + # This method allows for builtin commands to be primary but it's + # lost if hash -r or rehash -f is executed. Thus, those two + # functions have to be wrapped. + # + hash ${gcmd[2,-1]}=${commands[$gcmd]} + + # This method generates wrapper functions. + # It will override shell builtins. + # + # eval "function $gcmd[2,-1]() { \"${prefix}/${gcmd//"["/"\\["}\" \"\$@\"; }" + + # This method is inflexible since the aliases are at risk of being + # overridden resulting in the BSD coreutils being called. + # + # alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}" + done + + return 0 +} +__gnu_utils + +function hash() { + if [[ "$*" =~ "-(r|f)" ]]; then + builtin hash "$@" + __gnu_utils + else + builtin hash "$@" + fi +} + +function rehash() { + if [[ "$*" =~ "-f" ]]; then + builtin rehash "$@" + __gnu_utils + else + builtin rehash "$@" + fi +} + diff --git a/zsh/.oh-my-zsh/plugins/knife/_knife b/zsh/.oh-my-zsh/plugins/knife/_knife index 0d61ff1..06b12a3 100644 --- a/zsh/.oh-my-zsh/plugins/knife/_knife +++ b/zsh/.oh-my-zsh/plugins/knife/_knife @@ -3,13 +3,13 @@ # You can override the path to knife.rb and your cookbooks by setting # KNIFE_CONF_PATH=/path/to/my/.chef/knife.rb # KNIFE_COOKBOOK_PATH=/path/to/my/chef/cookbooks -# If you want your local cookbooks path to be calculated relative to where you are then +# If you want your local cookbooks path to be calculated relative to where you are then # set the below option -# KNIFE_RELATIVE_PATH=true +# KNIFE_RELATIVE_PATH=true # Read around where these are used for more detail. # These flags should be available everywhere according to man knife -knife_general_flags=( --help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes ) +knife_general_flags=(--help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes) # knife has a very special syntax, some example calls are: # knife status @@ -25,183 +25,191 @@ _knife() { typeset -A opt_args cloudproviders=(bluebox ec2 rackspace slicehost terremark) _arguments \ - '1: :->knifecmd'\ - '2: :->knifesubcmd'\ + '1: :->knifecmd' \ + '2: :->knifesubcmd' \ '3: :->knifesubcmd2' \ '4: :->knifesubcmd3' \ '5: :->knifesubcmd4' \ '6: :->knifesubcmd5' - + case $state in knifecmd) compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff exec environment index node recipe role search ssh status upload vault windows $cloudproviders - ;; + ;; knifesubcmd) case $words[2] in - (bluebox|ec2|rackspace|slicehost|terremark) + bluebox|ec2|rackspace|slicehost|terremark) compadd "$@" server images - ;; + ;; client) compadd -Q "$@" "bulk delete" list create show delete edit reregister - ;; + ;; configure) compadd "$@" client - ;; + ;; cookbook) compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload - ;; + ;; diff) _arguments '*:file or directory:_files -g "*"' - ;; + ;; environment) compadd -Q "$@" list create delete edit show "from file" - ;; + ;; node) - compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" - ;; + compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" + ;; recipe) - compadd "$@" list - ;; + compadd "$@" list + ;; role) compadd -Q "$@" "bulk delete" create delete edit "from file" list show - ;; + ;; upload) - _arguments '*:file or directory:_files -g "*"' - ;; + _arguments '*:file or directory:_files -g "*"' + ;; vault) compadd -Q "$@" create decrypt delete edit remove "rotate all keys" "rotate keys" show update - ;; + ;; windows) compadd "$@" bootstrap - ;; + ;; *) - _arguments '2:Subsubcommands:($(_knife_options1))' + _arguments '2:Subsubcommands:($(_knife_options1))' + ;; esac - ;; - knifesubcmd2) + ;; + knifesubcmd2) case $words[3] in - server) + server) compadd "$@" list create delete - ;; - images) + ;; + images) compadd "$@" list - ;; - site) + ;; + site) compadd "$@" vendor show share search download list unshare - ;; - (show|delete|edit) - _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' - ;; - (upload|test) - _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' - ;; + ;; + show|delete|edit) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' + ;; + upload|test) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' + ;; list) - compadd -a "$@" knife_general_flags - ;; + compadd -a "$@" knife_general_flags + ;; bag) compadd -Q "$@" show edit list "from file" create delete - ;; + ;; *) _arguments '3:Subsubcommands:($(_knife_options2))' + ;; esac - ;; - knifesubcmd3) - case $words[3] in - show) - case $words[2] in - cookbook) - versioncomp=1 - _arguments '4:Cookbookversions:($(_cookbook_versions) latest)' - ;; - (node|client|role) - compadd "$@" --attribute - esac - esac - case $words[4] in - (show|edit) - _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' ;; - file) + knifesubcmd3) + case $words[3] in + show) + case $words[2] in + cookbook) + versioncomp=1 + _arguments '4:Cookbookversions:($(_cookbook_versions) latest)' + ;; + node|client|role) + compadd "$@" --attribute + ;; + esac + ;; + esac + case $words[4] in + show|edit) + _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' + ;; + file) case $words[2] in environment) _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/environments"' - ;; + ;; node) _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/nodes"' - ;; + ;; role) _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/roles"' - ;; + ;; *) _arguments '*:Subsubcommands:($(_knife_options3))' - esac - ;; - list) - compadd -a "$@" knife_general_flags - ;; - *) - _arguments '*:Subsubcommands:($(_knife_options3))' + ;; + esac + ;; + list) + compadd -a "$@" knife_general_flags + ;; + *) + _arguments '*:Subsubcommands:($(_knife_options3))' + ;; esac ;; - knifesubcmd4) - if (( versioncomp > 0 )); then - compadd "$@" attributes definitions files libraries providers recipes resources templates - else - case $words[5] in - file) - _arguments '*:directory:_path_files -/ -W "$(_chef_root)/data_bags" -qS \ ' + knifesubcmd4) + if ((versioncomp > 0)); then + compadd "$@" attributes definitions files libraries providers recipes resources templates + else + case $words[5] in + file) + _arguments '*:directory:_path_files -/ -W "$(_chef_root)/data_bags" -qS \ ' ;; - *) _arguments '*:Subsubcommands:($(_knife_options2))' + *) _arguments '*:Subsubcommands:($(_knife_options2))' ;; esac - fi - ;; - knifesubcmd5) - case $words[5] in - file) - _arguments '*:files:_path_files -g "*.json" -W "$(_chef_root)/data_bags/$words[6]"' - ;; - *) - _arguments '*:Subsubcommands:($(_knife_options3))' - esac - esac + fi + ;; + knifesubcmd5) + case $words[5] in + file) + _arguments '*:files:_path_files -g "*.json" -W "$(_chef_root)/data_bags/$words[6]"' + ;; + *) + _arguments '*:Subsubcommands:($(_knife_options3))' + ;; + esac + ;; + esac } # Helper functions to provide the argument completion for several depths of commands _knife_options1() { - ( for line in $( knife $words[2] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) + (for line in $(knife $words[2] --help | grep -v "^knife"); do echo $line | grep "\-\-"; done) } _knife_options2() { - ( for line in $( knife $words[2] $words[3] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) + (for line in $(knife $words[2] $words[3] --help | grep -v "^knife"); do echo $line | grep "\-\-"; done) } _knife_options3() { - ( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) + (for line in $(knife $words[2] $words[3] $words[4] --help | grep -v "^knife"); do echo $line | grep "\-\-"; done) } # The chef_x_remote functions use knife to get a list of objects of type x on the server _chef_roles_remote() { - (knife role list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife role list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_clients_remote() { - (knife client list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife client list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_nodes_remote() { - (knife node list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife node list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_cookbooks_remote() { - (knife cookbook list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife cookbook list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_sitecookbooks_remote() { - (knife cookbook site list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife cookbook site list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_data_bags_remote() { - (knife data bag list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') + (knife data bag list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') } _chef_environments_remote() { @@ -210,14 +218,14 @@ _chef_environments_remote() { # The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server _chef_cookbooks_local() { - if [ $KNIFE_RELATIVE_PATH ]; then + if [ $KNIFE_RELATIVE_PATH ]; then local cookbook_path="$(_chef_root)/cookbooks" - else + else local knife_rb=${KNIFE_CONF_PATH:-${HOME}/.chef/knife.rb} if [ -f ./.chef/knife.rb ]; then knife_rb="./.chef/knife.rb" fi - local cookbook_path=${KNIFE_COOKBOOK_PATH:-$(grep cookbook_path $knife_rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' )} + local cookbook_path=${KNIFE_COOKBOOK_PATH:-$(grep cookbook_path $knife_rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/')} fi (for i in $cookbook_path; do ls $i; done) } @@ -227,12 +235,11 @@ _cookbook_versions() { (knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g') } -# Searches up from current directory to find the closest folder that has a .chef folder -# Useful for the knife upload/from file commands -_chef_root () { +# Searches up from current directory to find the closest folder that has a .chef folder +# Useful for the knife upload/from file commands +_chef_root() { directory="$PWD" - while [ $directory != '/' ] - do + while [ $directory != '/' ]; do test -e "$directory/.chef" && echo "$directory" && return directory="${directory:h}" done diff --git a/zsh/.oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh b/zsh/.oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh index 7fdd42a..dc425a3 100644 --- a/zsh/.oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/knife_ssh/knife_ssh.plugin.zsh @@ -1,17 +1,17 @@ function knife_ssh() { - grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~; + grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~ ssh $(knife node show $1 | awk '/IP:/{print $2}') } _knife_ssh() { if hash knife 2>/dev/null; then if [[ ! -f ~/.knife_comp~ ]]; then - echo "\nGenerating ~/.knife_comp~..." >/dev/stderr + echo "\nGenerating ~/.knife_comp~..." >&2 knife node list > ~/.knife_comp~ fi - compadd $(<~/.knife_comp~) + compadd $(< ~/.knife_comp~) else - echo "Could not find knife" > /dev/stderr; + echo "Could not find knife" >&2 fi } diff --git a/zsh/.oh-my-zsh/plugins/kubectl/kubectl.plugin.zsh b/zsh/.oh-my-zsh/plugins/kubectl/kubectl.plugin.zsh index 6c1696d..cc447b8 100644 --- a/zsh/.oh-my-zsh/plugins/kubectl/kubectl.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/kubectl/kubectl.plugin.zsh @@ -37,6 +37,7 @@ alias kdelf='kubectl delete -f' # Pod management. alias kgp='kubectl get pods' +alias kgpa='kubectl get pods --all-namespaces' alias kgpw='kgp --watch' alias kgpwide='kgp -o wide' alias kep='kubectl edit pods' @@ -48,6 +49,7 @@ alias kgpl='kgp -l' # Service management. alias kgs='kubectl get svc' +alias kgsa='kubectl get svc --all-namespaces' alias kgsw='kgs --watch' alias kgswide='kgs -o wide' alias kes='kubectl edit svc' @@ -56,6 +58,7 @@ alias kdels='kubectl delete svc' # Ingress management alias kgi='kubectl get ingress' +alias kgia='kubectl get ingress --all-namespaces' alias kei='kubectl edit ingress' alias kdi='kubectl describe ingress' alias kdeli='kubectl delete ingress' @@ -69,17 +72,20 @@ alias kcn='kubectl config set-context $(kubectl config current-context) --namesp # ConfigMap management alias kgcm='kubectl get configmaps' +alias kgcma='kubectl get configmaps --all-namespaces' alias kecm='kubectl edit configmap' alias kdcm='kubectl describe configmap' alias kdelcm='kubectl delete configmap' # Secret management alias kgsec='kubectl get secret' +alias kgseca='kubectl get secret --all-namespaces' alias kdsec='kubectl describe secret' alias kdelsec='kubectl delete secret' # Deployment management. alias kgd='kubectl get deployment' +alias kgda='kubectl get deployment --all-namespaces' alias kgdw='kgd --watch' alias kgdwide='kgd -o wide' alias ked='kubectl edit deployment' @@ -98,6 +104,7 @@ alias kru='kubectl rollout undo' # Statefulset management. alias kgss='kubectl get statefulset' +alias kgssa='kubectl get statefulset --all-namespaces' alias kgssw='kgss --watch' alias kgsswide='kgss -o wide' alias kess='kubectl edit statefulset' @@ -115,7 +122,13 @@ alias kgaa='kubectl get all --all-namespaces' # Logs alias kl='kubectl logs' +alias kl1h='kubectl logs --since 1h' +alias kl1m='kubectl logs --since 1m' +alias kl1s='kubectl logs --since 1s' alias klf='kubectl logs -f' +alias klf1h='kubectl logs --since 1h -f' +alias klf1m='kubectl logs --since 1m -f' +alias klf1s='kubectl logs --since 1s -f' # File copy alias kcp='kubectl cp' @@ -128,6 +141,7 @@ alias kdelno='kubectl delete node' # PVC management. alias kgpvc='kubectl get pvc' +alias kgpvca='kubectl get pvc --all-namespaces' alias kgpvcw='kgpvc --watch' alias kepvc='kubectl edit pvc' alias kdpvc='kubectl describe pvc' diff --git a/zsh/.oh-my-zsh/plugins/laravel/README.md b/zsh/.oh-my-zsh/plugins/laravel/README.md index 44798b6..95f5901 100644 --- a/zsh/.oh-my-zsh/plugins/laravel/README.md +++ b/zsh/.oh-my-zsh/plugins/laravel/README.md @@ -29,6 +29,12 @@ plugins=(... laravel) | `pamc` | `php artisan make:controller` | | `pams` | `php artisan make:seeder` | | `pamt` | `php artisan make:test` | +| `pamfa` | `php artisan make:factory` | +| `pamp` | `php artisan make:policy` | +| `pame` | `php artisan make:event` | +| `pamj` | `php artisan make:job` | +| `paml` | `php artisan make:listener` | +| `pamn` | `php artisan make:notification` | ## Clears @@ -38,3 +44,14 @@ plugins=(... laravel) | `pacoc` | `php artisan config:clear` | | `pavic` | `php artisan view:clear` | | `paroc` | `php artisan route:clear` | + +## Queues + +| Alias | Description | +|:-:|:-:| +| `paqf` | `php artisan queue:failed` | +| `paqft` | `php artisan queue:failed-table` | +| `paql` | `php artisan queue:listen` | +| `paqr` | `php artisan queue:retry` | +| `paqt` | `php artisan queue:table` | +| `paqw` | `php artisan queue:work` | diff --git a/zsh/.oh-my-zsh/plugins/laravel/laravel.plugin.zsh b/zsh/.oh-my-zsh/plugins/laravel/laravel.plugin.zsh index 7ddfd85..a8382d3 100644 --- a/zsh/.oh-my-zsh/plugins/laravel/laravel.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/laravel/laravel.plugin.zsh @@ -17,6 +17,13 @@ alias pamm='php artisan make:model' alias pamc='php artisan make:controller' alias pams='php artisan make:seeder' alias pamt='php artisan make:test' +alias pamfa='php artisan make:factory' +alias pamp='php artisan make:policy' +alias pame='php artisan make:event' +alias pamj='php artisan make:job' +alias paml='php artisan make:listener' +alias pamn='php artisan make:notification' +alias pampp='php artisan make:provider' # Clears @@ -24,3 +31,11 @@ alias pacac='php artisan cache:clear' alias pacoc='php artisan config:clear' alias pavic='php artisan view:clear' alias paroc='php artisan route:clear' + +# queues +alias paqf='php artisan queue:failed' +alias paqft='php artisan queue:failed-table' +alias paql='php artisan queue:listen' +alias paqr='php artisan queue:retry' +alias paqt='php artisan queue:table' +alias paqw='php artisan queue:work' diff --git a/zsh/.oh-my-zsh/plugins/lol/README.md b/zsh/.oh-my-zsh/plugins/lol/README.md index 8fba7b7..1791de4 100644 --- a/zsh/.oh-my-zsh/plugins/lol/README.md +++ b/zsh/.oh-my-zsh/plugins/lol/README.md @@ -61,7 +61,7 @@ Plugin for adding catspeak aliases, because why not | `violenz` | `git rebase` | | `visible` | `echo` | | `wtf` | `dmesg` | -| `yolo` | `git commit -m "$(curl -s https://whatthecommit.com/index.txt)"` | +| `yolo` | `git commit -m "$(curl -s http://whatthecommit.com/index.txt)"` | ## Usage Examples @@ -78,6 +78,6 @@ nowai u=r,go= some.file # ssh root@catserver.org pwned root@catserver.org -# git commit -m "$(curl -s https://whatthecommit.com/index.txt)" +# git commit -m "$(curl -s http://whatthecommit.com/index.txt)" yolo ``` diff --git a/zsh/.oh-my-zsh/plugins/magic-enter/Readme.md b/zsh/.oh-my-zsh/plugins/magic-enter/Readme.md deleted file mode 100644 index 78514c6..0000000 --- a/zsh/.oh-my-zsh/plugins/magic-enter/Readme.md +++ /dev/null @@ -1,17 +0,0 @@ -## Magic Enter plugin - -This plugin makes your enter key magical, by binding commonly used commands to it. - -To use it, add `magic-enter` to the plugins array in your zshrc file. You can set the -commands to be run in your .zshrc, before the line containing plugins. If no command -is specified in a git directory, `git status` is executed; in other directories, `ls`. - -```zsh -# defaults -MAGIC_ENTER_GIT_COMMAND='git status -u .' -MAGIC_ENTER_OTHER_COMMAND='ls -lh .' - -plugins=(... magic-enter) -``` - -**Maintainer:** [@dufferzafar](https://github.com/dufferzafar) diff --git a/zsh/.oh-my-zsh/plugins/osx/spotify b/zsh/.oh-my-zsh/plugins/osx/spotify index 78d6c7d..663215a 100644 --- a/zsh/.oh-my-zsh/plugins/osx/spotify +++ b/zsh/.oh-my-zsh/plugins/osx/spotify @@ -148,11 +148,11 @@ if [ $# = 0 ]; then else if [ ! -d /Applications/Spotify.app ] && [ ! -d $HOME/Applications/Spotify.app ]; then echo "The Spotify application must be installed." - exit 1 + return 1 fi if [ $(osascript -e 'application "Spotify" is running') = "false" ]; then - osascript -e 'tell application "Spotify" to activate' || exit 1 + osascript -e 'tell application "Spotify" to activate' || return 1 sleep 2 fi fi @@ -170,12 +170,12 @@ while [ $# -gt 0 ]; do if [ -z "${CLIENT_ID}" ]; then cecho "Invalid Client ID, please update ${USER_CONFIG_FILE}"; showAPIHelp; - exit 1; + return 1 fi if [ -z "${CLIENT_SECRET}" ]; then cecho "Invalid Client Secret, please update ${USER_CONFIG_FILE}"; showAPIHelp; - exit 1; + return 1 fi SHPOTIFY_CREDENTIALS=$(printf "${CLIENT_ID}:${CLIENT_SECRET}" | base64 | tr -d "\n"|tr -d '\r'); SPOTIFY_PLAY_URI=""; @@ -194,7 +194,7 @@ while [ $# -gt 0 ]; do cecho "Autorization failed, please check ${USER_CONFG_FILE}" cecho "${SPOTIFY_TOKEN_RESPONSE_DATA}" showAPIHelp - exit 1 + return 1 fi SPOTIFY_ACCESS_TOKEN=$( \ printf "${SPOTIFY_TOKEN_RESPONSE_DATA}" \ @@ -307,7 +307,7 @@ while [ $# -gt 0 ]; do "quit" ) cecho "Quitting Spotify."; osascript -e 'tell application "Spotify" to quit'; - exit 0 ;; + break ;; "next" ) cecho "Going to next track." ; osascript -e 'tell application "Spotify" to next track'; @@ -358,7 +358,7 @@ while [ $# -gt 0 ]; do echo " vol down # Decreases the volume by 10%."; echo " vol [amount] # Sets the volume to an amount between 0 and 100."; echo " vol # Shows the current Spotify volume."; - exit 1; + return 1 fi osascript -e "tell application \"Spotify\" to set sound volume to $newvol"; @@ -468,9 +468,10 @@ while [ $# -gt 0 ]; do "help" ) showHelp; break ;; + * ) showHelp; - break; + return 1 ;; esac done diff --git a/zsh/.oh-my-zsh/plugins/otp/otp.plugin.zsh b/zsh/.oh-my-zsh/plugins/otp/otp.plugin.zsh index 4bce34f..8be125c 100644 --- a/zsh/.oh-my-zsh/plugins/otp/otp.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/otp/otp.plugin.zsh @@ -12,32 +12,23 @@ function ot () { return 1 fi - if [[ `uname` == 'Darwin' ]] then # MacOS X - export COPY_CMD='pbcopy' - elif command -v xsel > /dev/null 2>&1; then # Any Unix with xsel installed - export COPY_CMD='xsel --clipboard --input' - else - COPY_CMD='true' - fi + COPY_CMD='true' - if [[ "x$1" == "x" ]]; then - echo "usage: otpw " + if [[ -z "$1" ]]; then + echo "usage: $0 " return 1 elif [ ! -f $OTP_HOME/$1.otp.asc ]; then echo "missing profile $1, you might need to create it first using otp_add_device" return 1 else totpkey=$(gpg --decrypt $OTP_HOME/$1.otp.asc) - oathtool --totp --b $totpkey | tee /dev/stderr | `echo $COPY_CMD` - if [[ $COPY_CMD == 'true' ]] then - echo "Note: you might consider installing xsel for clipboard integration" - fi + oathtool --totp --b $totpkey | tee /dev/stderr | clipcopy fi } function otp_add_device () { if [[ "x$1" == "x" ]] then - echo "usage: otp_add " + echo "usage: $0 " return 1 else echo "Enter an email address attached to your GPG private key, then paste the secret configuration key followed by ^D" diff --git a/zsh/.oh-my-zsh/plugins/paver/paver.plugin.zsh b/zsh/.oh-my-zsh/plugins/paver/paver.plugin.zsh index 40bdbd1..7e70ea3 100644 --- a/zsh/.oh-my-zsh/plugins/paver/paver.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/paver/paver.plugin.zsh @@ -1,7 +1,7 @@ _paver_does_target_list_need_generating () { - [ ! -f .paver_targets ] && return 0; - [ pavement.py -nt .paver_targets ] && return 0; - return 1; + [ ! -f .paver_targets ] && return 0 + [ pavement.py -nt .paver_targets ] && return 0 + return 1 } _paver () { diff --git a/zsh/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh b/zsh/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh index 40e58b5..4c75156 100644 --- a/zsh/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/pyenv/pyenv.plugin.zsh @@ -1,7 +1,8 @@ # This plugin loads pyenv into the current shell and provides prompt info via # the 'pyenv_prompt_info' function. Also loads pyenv-virtualenv if available. -FOUND_PYENV=$+commands[pyenv] +# Load pyenv only if command not already available +command -v pyenv &> /dev/null && FOUND_PYENV=1 || FOUND_PYENV=0 if [[ $FOUND_PYENV -ne 1 ]]; then pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv" "/usr/local/opt/pyenv") diff --git a/zsh/.oh-my-zsh/plugins/repo/repo.plugin.zsh b/zsh/.oh-my-zsh/plugins/repo/repo.plugin.zsh index 33f4195..51cd32f 100644 --- a/zsh/.oh-my-zsh/plugins/repo/repo.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/repo/repo.plugin.zsh @@ -16,3 +16,15 @@ compdef _repo ru='repo upload' alias rst='repo status' compdef _repo rst='repo status' + +alias rsto='repo status -o' +compdef _repo rsto='repo status -o' + +alias rfa='repo forall -c' +compdef _repo rfa='repo forall -c' + +alias rfap='repo forall -p -c' +compdef _repo rfap='repo forall -p -c' + +alias rinf='repo info' +compdef _repo rinf='repo info' diff --git a/zsh/.oh-my-zsh/plugins/ros/README.mkd b/zsh/.oh-my-zsh/plugins/ros/README.mkd deleted file mode 100644 index 83573e4..0000000 --- a/zsh/.oh-my-zsh/plugins/ros/README.mkd +++ /dev/null @@ -1,10 +0,0 @@ -# Roswell Plugin - -This plugin adds completions and aliases for [Roswell](https://github.com/roswell/roswell/). - -To use it, add `ros` to the plugins array in your zshrc file: - -```zsh -plugins=(... ros) -``` - diff --git a/zsh/.oh-my-zsh/plugins/svn-fast-info/svn-fast-info.plugin.zsh b/zsh/.oh-my-zsh/plugins/svn-fast-info/svn-fast-info.plugin.zsh index fe52653..f40a596 100644 --- a/zsh/.oh-my-zsh/plugins/svn-fast-info/svn-fast-info.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/svn-fast-info/svn-fast-info.plugin.zsh @@ -1,17 +1,6 @@ -# vim:ft=zsh ts=2 sw=2 sts=2 et -# -# Faster alternative to the current SVN plugin implementation. -# -# Works with svn 1.6, 1.7, 1.8. -# Use `svn_prompt_info` method to enquire the svn data. -# It's faster because his efficient use of svn (single svn call) which saves a lot on a huge codebase -# It displays the current status of the local files (added, deleted, modified, replaced, or else...) -# -# Use as a drop-in replacement of the svn plugin not as complementary plugin - function svn_prompt_info() { local info - info=$(svn info 2>&1) || return 1; # capture stdout and stderr + info=$(svn info 2>&1) || return 1 # capture stdout and stderr local repo_need_upgrade=$(svn_repo_need_upgrade $info) if [[ -n $repo_need_upgrade ]]; then @@ -27,7 +16,6 @@ function svn_prompt_info() { printf '%s%s%s%s %s%s%s:%s%s%s%s' \ "$ZSH_PROMPT_BASE_COLOR" \ "$ZSH_THEME_SVN_PROMPT_PREFIX" \ - \ "$(svn_status_info $info)" \ "$ZSH_PROMPT_BASE_COLOR" \ \ @@ -37,14 +25,13 @@ function svn_prompt_info() { \ "$(svn_current_revision $info)" \ "$ZSH_PROMPT_BASE_COLOR" \ - \ "$ZSH_THEME_SVN_PROMPT_SUFFIX" \ "$ZSH_PROMPT_BASE_COLOR" fi } function svn_repo_need_upgrade() { - grep -q "E155036" <<< ${1:-$(svn info 2> /dev/null)} && \ + grep -q "E155036" <<< "${1:-$(svn info 2> /dev/null)}" && \ echo "E155036: upgrade repo with svn upgrade" } @@ -63,12 +50,23 @@ function svn_current_revision() { function svn_status_info() { local svn_status_string="$ZSH_THEME_SVN_PROMPT_CLEAN" local svn_status="$(svn status 2> /dev/null)"; - if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}"; fi - if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DELETIONS:-✖}"; fi - if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-✎}"; fi - if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-∿}"; fi - if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}"; fi - if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DIRTY:-!}"; fi + if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}" + fi + if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DELETIONS:-✖}" + fi + if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-✎}" + fi + if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-∿}" + fi + if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}" + fi + if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then + svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DIRTY:-!}" + fi echo $svn_status_string } - diff --git a/zsh/.oh-my-zsh/plugins/tmux-cssh/_tmux-cssh b/zsh/.oh-my-zsh/plugins/tmux-cssh/_tmux-cssh index 604e2e4..3e81b82 100644 --- a/zsh/.oh-my-zsh/plugins/tmux-cssh/_tmux-cssh +++ b/zsh/.oh-my-zsh/plugins/tmux-cssh/_tmux-cssh @@ -5,21 +5,21 @@ # Author: Manfred Touron (@moul) _arguments \ -'(-h --help)'{-h,--help}'[This help.]' \ -'(-u --user)'{-u,--user}'[User to use.]' \ -'(-c --certificate)'{-c,--certificate}'[Path to ssh-certificate to use.]' \ -'(-sc --ssh)'{-sc,--ssh}'[SSH-connection-string, multiple.]' \ -'(-sa --ssh)'{-sa,--ssh}'[SSH connection arguments, used on every session.]' \ -'(-ts --tmux)'{-ts,--tmux}'[Alternative tmux-session-name, default: tmux-cssh]' \ -'(-ns --new)'{-ns,--new}'[Initializes a new session, like -ts \[name\].]' \ -'(-q --quiet)'{-q,--quiet}'[Quiet-mode.]' \ -'(-f --filename)'{-f,--filename}'[Filename of textfile to get -sc connection-strings from, line separated.]' \ -'(-cs --config)'{-cs,--config}'[Name of config-settings which should be get from config-file "$HOME/.tmux-cssh". Which can be a grep-regular expression to find the name(s).]' \ + '(-h --help)'{-h,--help}'[This help.]' \ + '(-u --user)'{-u,--user}'[User to use.]' \ + '(-c --certificate)'{-c,--certificate}'[Path to ssh-certificate to use.]' \ + '(-sc --ssh)'{-sc,--ssh}'[SSH-connection-string, multiple.]' \ + '(-sa --ssh)'{-sa,--ssh}'[SSH connection arguments, used on every session.]' \ + '(-ts --tmux)'{-ts,--tmux}'[Alternative tmux-session-name, default: tmux-cssh]' \ + '(-ns --new)'{-ns,--new}'[Initializes a new session, like -ts \[name\].]' \ + '(-q --quiet)'{-q,--quiet}'[Quiet-mode.]' \ + '(-f --filename)'{-f,--filename}'[Filename of textfile to get -sc connection-strings from, line separated.]' \ + '(-cs --config)'{-cs,--config}'[Name of config-settings which should be get from config-file "$HOME/.tmux-cssh". Which can be a grep-regular expression to find the name(s).]' \ ':hosts:_hosts' \ '*:: :->subcmds' \ && return 0 if (( CURRENT == 1 )); then - _describe -t commands "tmux-cssh command" - return + _describe -t commands "tmux-cssh command" + return fi diff --git a/zsh/.oh-my-zsh/plugins/tmux/README.md b/zsh/.oh-my-zsh/plugins/tmux/README.md index db57f5b..86a95bd 100644 --- a/zsh/.oh-my-zsh/plugins/tmux/README.md +++ b/zsh/.oh-my-zsh/plugins/tmux/README.md @@ -35,7 +35,7 @@ The plugin also supports the following - | `ZSH_TMUX_AUTOQUIT` | Automatically closes terminal once tmux exits (default: `ZSH_TMUX_AUTOSTART`) | | `ZSH_TMUX_FIXTERM` | Sets `$TERM` to 256-color term or not based on current terminal support | | `ZSH_TMUX_ITERM2` | Sets the `-CC` option for iTerm2 tmux integration (default: `false`) | -| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `screen`) | -| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `screen-256color` | +| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `tmux`) | +| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `tmux-256color` | | `ZSH_TMUX_CONFIG` | Set the configuration path (default: `$HOME/.tmux.conf`) | | `ZSH_TMUX_UNICODE` | Set `tmux -u` option to support unicode | diff --git a/zsh/.oh-my-zsh/plugins/tmux/tmux.plugin.zsh b/zsh/.oh-my-zsh/plugins/tmux/tmux.plugin.zsh index e52443a..5ee37df 100644 --- a/zsh/.oh-my-zsh/plugins/tmux/tmux.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/tmux/tmux.plugin.zsh @@ -22,18 +22,18 @@ alias tkss='tmux kill-session -t' : ${ZSH_TMUX_AUTOCONNECT:=true} # Automatically close the terminal when tmux exits : ${ZSH_TMUX_AUTOQUIT:=$ZSH_TMUX_AUTOSTART} -# Set term to screen or screen-256color based on current terminal support +# Set term to tmux or tmux-256color based on current terminal support : ${ZSH_TMUX_FIXTERM:=true} # Set '-CC' option for iTerm2 tmux integration : ${ZSH_TMUX_ITERM2:=false} # The TERM to use for non-256 color terminals. -# Tmux states this should be screen, but you may need to change it on +# Tmux states this should be tmux, but you may need to change it on # systems without the proper terminfo -: ${ZSH_TMUX_FIXTERM_WITHOUT_256COLOR:=screen} +: ${ZSH_TMUX_FIXTERM_WITHOUT_256COLOR:=tmux} # The TERM to use for 256 color terminals. -# Tmux states this should be screen-256color, but you may need to change it on +# Tmux states this should be tmux-256color, but you may need to change it on # systems without the proper terminfo -: ${ZSH_TMUX_FIXTERM_WITH_256COLOR:=screen-256color} +: ${ZSH_TMUX_FIXTERM_WITH_256COLOR:=tmux-256color} # Set the configuration path : ${ZSH_TMUX_CONFIG:=$HOME/.tmux.conf} # Set -u option to support unicode diff --git a/zsh/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/zsh/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh index b07b2a3..b2d2c5c 100644 --- a/zsh/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -22,6 +22,13 @@ elif [[ -f "/usr/local/bin/virtualenvwrapper.sh" ]]; then virtualenvwrapper="/usr/local/bin/virtualenvwrapper.sh" source "/usr/local/bin/virtualenvwrapper.sh" } +elif [[ -f "/usr/share/virtualenvwrapper/virtualenvwrapper.sh" ]]; then + function { + setopt local_options + unsetopt equals + virtualenvwrapper="/usr/share/virtualenvwrapper/virtualenvwrapper.sh" + source "/usr/share/virtualenvwrapper/virtualenvwrapper.sh" + } elif [[ -f "/etc/bash_completion.d/virtualenvwrapper" ]]; then function { setopt local_options diff --git a/zsh/.oh-my-zsh/plugins/vscode/README.md b/zsh/.oh-my-zsh/plugins/vscode/README.md index 74b5a45..2c65306 100644 --- a/zsh/.oh-my-zsh/plugins/vscode/README.md +++ b/zsh/.oh-my-zsh/plugins/vscode/README.md @@ -1,6 +1,6 @@ -# VS code +# VS Code -This plugin makes interaction between the command line and the code editor easier. +This plugin makes interaction between the command line and the VS Code editor easier. To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc`: @@ -8,9 +8,11 @@ To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc` plugins=(... vscode) ``` -If you are using [Visual Studio Code Insiders](https://code.visualstudio.com/insiders/), -add the following line in the oh-my-zsh settings section (between the `ZSH_THEME` and -the `plugins=()` line). This will make the plugin use the Insiders version instead. +## VS Code Insiders + +🍏 **If you are only using [VS Code Insiders](https://code.visualstudio.com/insiders/), the plugin will automatically bind to your Insiders installation.** + +But, if you have both Stable and Insiders versions and want to configure the plugin to just use the Insiders version, add the following line in the oh-my-zsh settings section (between the `ZSH_THEME` and the `plugins=()` line). This will make the plugin use the Insiders version instead. ```zsh ZSH_THEME=... diff --git a/zsh/.oh-my-zsh/plugins/vscode/vscode.plugin.zsh b/zsh/.oh-my-zsh/plugins/vscode/vscode.plugin.zsh index 4c15df2..0144e0b 100644 --- a/zsh/.oh-my-zsh/plugins/vscode/vscode.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/vscode/vscode.plugin.zsh @@ -1,9 +1,17 @@ # VScode zsh plugin -# author: https://github.com/MarsiBarsi +# Authors: +# https://github.com/MarsiBarsi (original author) +# https://github.com/babakks -# Use main Visual Studio Code version by default -: ${VSCODE:=code} +# Use the stable VS Code release, unless the Insiders version is the only +# available installation +if ! which code > /dev/null && which code-insiders > /dev/null; then + : ${VSCODE:=code-insiders} +else + : ${VSCODE:=code} +fi +# Define aliases alias vsc="$VSCODE ." alias vsca="$VSCODE --add" alias vscd="$VSCODE --diff" diff --git a/zsh/.oh-my-zsh/plugins/yarn/_yarn b/zsh/.oh-my-zsh/plugins/yarn/_yarn index 3689ae9..70e783b 100644 --- a/zsh/.oh-my-zsh/plugins/yarn/_yarn +++ b/zsh/.oh-my-zsh/plugins/yarn/_yarn @@ -86,9 +86,11 @@ _yarn_scripts() { local i runJSON runJSON=$(yarn run --json 2>/dev/null) - binaries=($(sed -E '/Commands available/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\n/g' <<< "$runJSON")) - scriptNames=($(sed -E '/possibleCommands/!d;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\n/g' <<< "$runJSON")) - scriptCommands=("${(@f)$(sed -E '/possibleCommands/!d;s/.*"hints":\{([^}]+)\}.*/\1/;s/"[^"]+"://g;s/:/\\:/g;s/","/\n/g;s/(^"|"$)//g' <<< "$runJSON")}") + # Some sed utilities (e.g. Mac OS / BSD) don't interpret `\n` in a replacement + # pattern as a newline. See https://superuser.com/q/307165 + binaries=($(sed -E '/Commands available/!d;s/.*Commands available from binary scripts: ([^"]+)".*/\1/;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\'$'\n/g' <<< "$runJSON")) + scriptNames=($(sed -E '/possibleCommands/!d;s/.*"items":\[([^]]+).*/\1/;s/[" ]//g;s/:/\\:/g;s/,/\'$'\n/g' <<< "$runJSON")) + scriptCommands=("${(@f)$(sed -E '/possibleCommands/!d;s/.*"hints":\{(.+")\}.*/\1/;s/"[^"]+"://g;s/:/\\:/g;s/","/\'$'\n/g;s/(^"|"$)//g' <<< "$runJSON")}") for (( i=1; i <= $#scriptNames; i++ )); do scripts+=("${scriptNames[$i]}:${scriptCommands[$i]}") diff --git a/zsh/.oh-my-zsh/plugins/zeus/README.md b/zsh/.oh-my-zsh/plugins/zeus/README.md index 4518800..84ed70c 100644 --- a/zsh/.oh-my-zsh/plugins/zeus/README.md +++ b/zsh/.oh-my-zsh/plugins/zeus/README.md @@ -24,6 +24,7 @@ * `zcu` aliases `zeus cucumber` * `zucumber` aliases `zeus cucumber` +* `zwip` aliases `zeus cucumber --profile wip` * `zspec` aliases `zeus rspec` diff --git a/zsh/.oh-my-zsh/plugins/zeus/zeus.plugin.zsh b/zsh/.oh-my-zsh/plugins/zeus/zeus.plugin.zsh index 0c01083..5dec1a4 100644 --- a/zsh/.oh-my-zsh/plugins/zeus/zeus.plugin.zsh +++ b/zsh/.oh-my-zsh/plugins/zeus/zeus.plugin.zsh @@ -33,6 +33,7 @@ alias zunner='zeus runner' # Cucumber alias zcu='zeus cucumber' alias zucumber='zeus cucumber' +alias zwip='zeus cucumber --profile wip' # Rspec alias zspec='zeus rspec'