]> src.twobees.de Git - dotfiles.git/blobdiff - stow/oh-my-zsh/.oh-my-zsh/plugins/git-escape-magic/git-escape-magic
rm oh-my-zsh
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / git-escape-magic / git-escape-magic
diff --git a/stow/oh-my-zsh/.oh-my-zsh/plugins/git-escape-magic/git-escape-magic b/stow/oh-my-zsh/.oh-my-zsh/plugins/git-escape-magic/git-escape-magic
deleted file mode 100644 (file)
index 94a8d7b..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-# -*- mode: sh -*-
-#
-# git-escape-magic - zle tweak for git command line arguments
-#
-# Copyright (c) 2011, 2012, 2014 Akinori MUSHA
-# Licensed under the 2-clause BSD license.
-#
-# This tweak eliminates the need for manually escaping shell
-# meta-characters such as [~^{}] that are used for specifying a git
-# object (commit or tree).  Every time you type one of these
-# characters on a git command line, it is automatically escaped with a
-# backslash as necessary and as appropriate.
-#
-# If you want to use this with url-quote-magic, make sure to enable it
-# first.
-#
-# Usage:
-#     autoload -Uz git-escape-magic
-#     git-escape-magic
-#
-
-git-escape-magic.self-insert() {
-    emulate -L zsh
-    setopt extendedglob
-    local self_insert_function
-    zstyle -s ':git-escape-magic' self-insert-function self_insert_function
-
-    if [[ "$KEYS" == [{}~^]* ]] && {
-        local qkey="${(q)KEYS}"
-        [[ "$KEYS" != "$qkey" ]]
-    } && {
-        local lbuf="$LBUFFER$qkey"
-        [[ "${(Q)LBUFFER}$KEYS" == "${(Q)lbuf}" ]]
-    } && {
-        local -a words
-        words=("${(@Q)${(z)lbuf}}")
-        [[ "$words[(i)(*/|)git(|-[^/]##)]" -le $#words ]]
-    }
-    then
-        local i
-        i="$words[(I)([;(){\&]|\&[\&\!]|\|\||[=<>]\(*)]"
-        if [[ $i -gt 0 ]]; then
-            shift $((i-1)) words
-            if [[ "$words[1]" == [\=\<\>]\(* ]]; then
-                words[1]="${words[1]#[=<>]\(}"
-            else
-                [[ "$words[1]" == \; && $words[2] == (then|else|elif|do) ]] && shift words
-                shift words
-            fi
-        fi
-        while [[ "$words[1]" == (if|while|until|\!) ]]; do
-            shift words
-        done
-        while [[ "$words[1]" == [A-Za-z_][A-Za-z0-9_]#=* ]]; do
-            shift words
-        done
-        [[ "$words[1]" == (*/|)git(|-[^/]##) ]] && {
-            local subcommand
-            subcommand="${words[1]##*/git-}"
-            if [[ -z "$subcommand" ]]; then
-                shift words
-                subcommand="$words[1]"
-            fi
-            [[ $#words -ge 2 ]]
-        } &&
-        case "$subcommand" in
-            # commands that may take pathspec but never take refspec with [{}~^]
-            (add|rm|am|apply|check-attr|checkout-index|clean|clone|config|diff-files|hash-object|help|index-pack|mailinfo|mailsplit|merge-file|merge-index|mergetool|mktag|mv|pack-objects|pack-redundant|relink|send-email|show-index|show-ref|stage|status|verify-pack)
-                false ;;
-            # commands that may take pathspec but rarely take refspec with [{}~^]
-            (for-each-ref|grep|ls-files|update-index)
-                false ;;
-            (archive|ls-tree)
-                ! [[ $#words -ge 3 &&
-                        "$words[-2]" == [^-]* ]] ;;
-            (diff-tree)
-                ! [[ $#words -ge 4 &&
-                        "$words[-2]" == [^-]* &&
-                        "$words[-3]" == [^-]* ]] ;;
-            (*)
-                [[ $words[(i)--] -gt $#words ]] ;;
-        esac &&
-        case "${words[-1]%%"$KEYS"}" in
-            (*[@^])
-                [[ "$KEYS" == [{~^]* ]] ;;
-            (*[@^]\{[^}]##)
-                [[ "$KEYS" == \}* ]] ;;
-            (?*)
-                [[ "$KEYS" == [~^]* ]] ;;
-            (*)
-                false ;;
-        esac &&
-        LBUFFER="$LBUFFER\\"
-    fi
-
-    zle "$self_insert_function"
-}
-
-git-escape-magic.on() {
-    emulate -L zsh
-    local self_insert_function="${$(zle -lL | awk \
-        '$1=="zle"&&$2=="-N"&&$3=="self-insert"{print $4;exit}'):-.self-insert}"
-
-    [[ "$self_insert_function" == git-escape-magic.self-insert ]] &&
-        return 0
-
-    # For url-quote-magic which does not zle -N itself
-    zle -la "$self_insert_function" || zle -N "$self_insert_function"
-
-    zstyle ':git-escape-magic' self-insert-function "$self_insert_function"
-
-    zle -A git-escape-magic.self-insert self-insert
-    return 0
-}
-
-git-escape-magic.off() {
-    emulate -L zsh
-    local self_insert_function
-    zstyle -s ':git-escape-magic' self-insert-function self_insert_function
-
-    [[ -n "$self_insert_function" ]] &&
-        zle -A "$self_insert_function" self-insert
-    return 0
-}
-
-zle -N git-escape-magic.self-insert
-zle -N git-escape-magic.on
-zle -N git-escape-magic.off
-
-git-escape-magic() {
-        git-escape-magic.on
-}
-
-[[ -o kshautoload ]] || git-escape-magic "$@"
-