summaryrefslogtreecommitdiff
path: root/zsh/comp
diff options
context:
space:
mode:
author2025-06-09 13:43:45 +0300
committer2025-06-09 13:55:38 +0300
commit97af93b2a8ebc89364852e3f63e9fd8cfedaeedf (patch)
tree27e2added74ee6c0ff91c9e7927491c661a8bb36 /zsh/comp
parent04.06.2025 (diff)
downloaddotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.gz
dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.bz2
dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.tar.xz
dotfiles-97af93b2a8ebc89364852e3f63e9fd8cfedaeedf.zip
Перевёл dotfiles на stow
Diffstat (limited to 'zsh/comp')
-rw-r--r--zsh/comp/cobra.zsh-completion177
-rw-r--r--zsh/comp/goldwarden.zsh-completion212
-rw-r--r--zsh/comp/hugo.zsh-completion212
-rw-r--r--zsh/comp/pass.zsh-completion144
-rw-r--r--zsh/comp/todotxt.zsh-completion107
-rw-r--r--zsh/comp/vgo.zsh-completion212
6 files changed, 0 insertions, 1064 deletions
diff --git a/zsh/comp/cobra.zsh-completion b/zsh/comp/cobra.zsh-completion
deleted file mode 100644
index e106534..0000000
--- a/zsh/comp/cobra.zsh-completion
+++ /dev/null
@@ -1,177 +0,0 @@
-#compdef _cobra-cli cobra-cli
-
-# zsh completion for cobra-cli -*- shell-script -*-
-
-__cobra-cli_debug()
-{
- local file="$BASH_COMP_DEBUG_FILE"
- if [[ -n ${file} ]]; then
- echo "$*" >> "${file}"
- fi
-}
-
-_cobra-cli()
-{
- local shellCompDirectiveError=1
- local shellCompDirectiveNoSpace=2
- local shellCompDirectiveNoFileComp=4
- local shellCompDirectiveFilterFileExt=8
- local shellCompDirectiveFilterDirs=16
-
- local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace
- local -a completions
-
- __cobra-cli_debug "\n========= starting completion logic =========="
- __cobra-cli_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
-
- # The user could have moved the cursor backwards on the command-line.
- # We need to trigger completion from the $CURRENT location, so we need
- # to truncate the command-line ($words) up to the $CURRENT location.
- # (We cannot use $CURSOR as its value does not work when a command is an alias.)
- words=("${=words[1,CURRENT]}")
- __cobra-cli_debug "Truncated words[*]: ${words[*]},"
-
- lastParam=${words[-1]}
- lastChar=${lastParam[-1]}
- __cobra-cli_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
-
- # For zsh, when completing a flag with an = (e.g., cobra-cli -n=<TAB>)
- # completions must be prefixed with the flag
- setopt local_options BASH_REMATCH
- if [[ "${lastParam}" =~ '-.*=' ]]; then
- # We are dealing with a flag with an =
- flagPrefix="-P ${BASH_REMATCH}"
- fi
-
- # Prepare the command to obtain completions
- requestComp="${words[1]} __complete ${words[2,-1]}"
- if [ "${lastChar}" = "" ]; then
- # If the last parameter is complete (there is a space following it)
- # We add an extra empty parameter so we can indicate this to the go completion code.
- __cobra-cli_debug "Adding extra empty parameter"
- requestComp="${requestComp} \"\""
- fi
-
- __cobra-cli_debug "About to call: eval ${requestComp}"
-
- # Use eval to handle any environment variables and such
- out=$(eval ${requestComp} 2>/dev/null)
- __cobra-cli_debug "completion output: ${out}"
-
- # Extract the directive integer following a : from the last line
- local lastLine
- while IFS='\n' read -r line; do
- lastLine=${line}
- done < <(printf "%s\n" "${out[@]}")
- __cobra-cli_debug "last line: ${lastLine}"
-
- if [ "${lastLine[1]}" = : ]; then
- directive=${lastLine[2,-1]}
- # Remove the directive including the : and the newline
- local suffix
- (( suffix=${#lastLine}+2))
- out=${out[1,-$suffix]}
- else
- # There is no directive specified. Leave $out as is.
- __cobra-cli_debug "No directive found. Setting do default"
- directive=0
- fi
-
- __cobra-cli_debug "directive: ${directive}"
- __cobra-cli_debug "completions: ${out}"
- __cobra-cli_debug "flagPrefix: ${flagPrefix}"
-
- if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
- __cobra-cli_debug "Completion received error. Ignoring completions."
- return
- fi
-
- while IFS='\n' read -r comp; do
- if [ -n "$comp" ]; then
- # If requested, completions are returned with a description.
- # The description is preceded by a TAB character.
- # For zsh's _describe, we need to use a : instead of a TAB.
- # We first need to escape any : as part of the completion itself.
- comp=${comp//:/\\:}
-
- local tab=$(printf '\t')
- comp=${comp//$tab/:}
-
- __cobra-cli_debug "Adding completion: ${comp}"
- completions+=${comp}
- lastComp=$comp
- fi
- done < <(printf "%s\n" "${out[@]}")
-
- if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
- __cobra-cli_debug "Activating nospace."
- noSpace="-S ''"
- fi
-
- if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
- # File extension filtering
- local filteringCmd
- filteringCmd='_files'
- for filter in ${completions[@]}; do
- if [ ${filter[1]} != '*' ]; then
- # zsh requires a glob pattern to do file filtering
- filter="\*.$filter"
- fi
- filteringCmd+=" -g $filter"
- done
- filteringCmd+=" ${flagPrefix}"
-
- __cobra-cli_debug "File filtering command: $filteringCmd"
- _arguments '*:filename:'"$filteringCmd"
- elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
- # File completion for directories only
- local subdir
- subdir="${completions[1]}"
- if [ -n "$subdir" ]; then
- __cobra-cli_debug "Listing directories in $subdir"
- pushd "${subdir}" >/dev/null 2>&1
- else
- __cobra-cli_debug "Listing directories in ."
- fi
-
- local result
- _arguments '*:dirname:_files -/'" ${flagPrefix}"
- result=$?
- if [ -n "$subdir" ]; then
- popd >/dev/null 2>&1
- fi
- return $result
- else
- __cobra-cli_debug "Calling _describe"
- if eval _describe "completions" completions $flagPrefix $noSpace; then
- __cobra-cli_debug "_describe found some completions"
-
- # Return the success of having called _describe
- return 0
- else
- __cobra-cli_debug "_describe did not find completions."
- __cobra-cli_debug "Checking if we should do file completion."
- if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
- __cobra-cli_debug "deactivating file completion"
-
- # We must return an error code here to let zsh know that there were no
- # completions found by _describe; this is what will trigger other
- # matching algorithms to attempt to find completions.
- # For example zsh can match letters in the middle of words.
- return 1
- else
- # Perform file completion
- __cobra-cli_debug "Activating file completion"
-
- # We must return the result of this command, so it must be the
- # last command, or else we must store its result to return it.
- _arguments '*:filename:_files'" ${flagPrefix}"
- fi
- fi
- fi
-}
-
-# don't run the completion function when being source-ed or eval-ed
-if [ "$funcstack[1]" = "_cobra-cli" ]; then
- _cobra-cli
-fi
diff --git a/zsh/comp/goldwarden.zsh-completion b/zsh/comp/goldwarden.zsh-completion
deleted file mode 100644
index 8957b37..0000000
--- a/zsh/comp/goldwarden.zsh-completion
+++ /dev/null
@@ -1,212 +0,0 @@
-#compdef goldwarden
-compdef _goldwarden goldwarden
-
-# zsh completion for goldwarden -*- shell-script -*-
-
-__goldwarden_debug()
-{
- local file="$BASH_COMP_DEBUG_FILE"
- if [[ -n ${file} ]]; then
- echo "$*" >> "${file}"
- fi
-}
-
-_goldwarden()
-{
- local shellCompDirectiveError=1
- local shellCompDirectiveNoSpace=2
- local shellCompDirectiveNoFileComp=4
- local shellCompDirectiveFilterFileExt=8
- local shellCompDirectiveFilterDirs=16
- local shellCompDirectiveKeepOrder=32
-
- local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
- local -a completions
-
- __goldwarden_debug "\n========= starting completion logic =========="
- __goldwarden_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
-
- # The user could have moved the cursor backwards on the command-line.
- # We need to trigger completion from the $CURRENT location, so we need
- # to truncate the command-line ($words) up to the $CURRENT location.
- # (We cannot use $CURSOR as its value does not work when a command is an alias.)
- words=("${=words[1,CURRENT]}")
- __goldwarden_debug "Truncated words[*]: ${words[*]},"
-
- lastParam=${words[-1]}
- lastChar=${lastParam[-1]}
- __goldwarden_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
-
- # For zsh, when completing a flag with an = (e.g., goldwarden -n=<TAB>)
- # completions must be prefixed with the flag
- setopt local_options BASH_REMATCH
- if [[ "${lastParam}" =~ '-.*=' ]]; then
- # We are dealing with a flag with an =
- flagPrefix="-P ${BASH_REMATCH}"
- fi
-
- # Prepare the command to obtain completions
- requestComp="${words[1]} __complete ${words[2,-1]}"
- if [ "${lastChar}" = "" ]; then
- # If the last parameter is complete (there is a space following it)
- # We add an extra empty parameter so we can indicate this to the go completion code.
- __goldwarden_debug "Adding extra empty parameter"
- requestComp="${requestComp} \"\""
- fi
-
- __goldwarden_debug "About to call: eval ${requestComp}"
-
- # Use eval to handle any environment variables and such
- out=$(eval ${requestComp} 2>/dev/null)
- __goldwarden_debug "completion output: ${out}"
-
- # Extract the directive integer following a : from the last line
- local lastLine
- while IFS='\n' read -r line; do
- lastLine=${line}
- done < <(printf "%s\n" "${out[@]}")
- __goldwarden_debug "last line: ${lastLine}"
-
- if [ "${lastLine[1]}" = : ]; then
- directive=${lastLine[2,-1]}
- # Remove the directive including the : and the newline
- local suffix
- (( suffix=${#lastLine}+2))
- out=${out[1,-$suffix]}
- else
- # There is no directive specified. Leave $out as is.
- __goldwarden_debug "No directive found. Setting do default"
- directive=0
- fi
-
- __goldwarden_debug "directive: ${directive}"
- __goldwarden_debug "completions: ${out}"
- __goldwarden_debug "flagPrefix: ${flagPrefix}"
-
- if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
- __goldwarden_debug "Completion received error. Ignoring completions."
- return
- fi
-
- local activeHelpMarker="_activeHelp_ "
- local endIndex=${#activeHelpMarker}
- local startIndex=$((${#activeHelpMarker}+1))
- local hasActiveHelp=0
- while IFS='\n' read -r comp; do
- # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
- if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
- __goldwarden_debug "ActiveHelp found: $comp"
- comp="${comp[$startIndex,-1]}"
- if [ -n "$comp" ]; then
- compadd -x "${comp}"
- __goldwarden_debug "ActiveHelp will need delimiter"
- hasActiveHelp=1
- fi
-
- continue
- fi
-
- if [ -n "$comp" ]; then
- # If requested, completions are returned with a description.
- # The description is preceded by a TAB character.
- # For zsh's _describe, we need to use a : instead of a TAB.
- # We first need to escape any : as part of the completion itself.
- comp=${comp//:/\\:}
-
- local tab="$(printf '\t')"
- comp=${comp//$tab/:}
-
- __goldwarden_debug "Adding completion: ${comp}"
- completions+=${comp}
- lastComp=$comp
- fi
- done < <(printf "%s\n" "${out[@]}")
-
- # Add a delimiter after the activeHelp statements, but only if:
- # - there are completions following the activeHelp statements, or
- # - file completion will be performed (so there will be choices after the activeHelp)
- if [ $hasActiveHelp -eq 1 ]; then
- if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
- __goldwarden_debug "Adding activeHelp delimiter"
- compadd -x "--"
- hasActiveHelp=0
- fi
- fi
-
- if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
- __goldwarden_debug "Activating nospace."
- noSpace="-S ''"
- fi
-
- if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
- __goldwarden_debug "Activating keep order."
- keepOrder="-V"
- fi
-
- if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
- # File extension filtering
- local filteringCmd
- filteringCmd='_files'
- for filter in ${completions[@]}; do
- if [ ${filter[1]} != '*' ]; then
- # zsh requires a glob pattern to do file filtering
- filter="\*.$filter"
- fi
- filteringCmd+=" -g $filter"
- done
- filteringCmd+=" ${flagPrefix}"
-
- __goldwarden_debug "File filtering command: $filteringCmd"
- _arguments '*:filename:'"$filteringCmd"
- elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
- # File completion for directories only
- local subdir
- subdir="${completions[1]}"
- if [ -n "$subdir" ]; then
- __goldwarden_debug "Listing directories in $subdir"
- pushd "${subdir}" >/dev/null 2>&1
- else
- __goldwarden_debug "Listing directories in ."
- fi
-
- local result
- _arguments '*:dirname:_files -/'" ${flagPrefix}"
- result=$?
- if [ -n "$subdir" ]; then
- popd >/dev/null 2>&1
- fi
- return $result
- else
- __goldwarden_debug "Calling _describe"
- if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then
- __goldwarden_debug "_describe found some completions"
-
- # Return the success of having called _describe
- return 0
- else
- __goldwarden_debug "_describe did not find completions."
- __goldwarden_debug "Checking if we should do file completion."
- if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
- __goldwarden_debug "deactivating file completion"
-
- # We must return an error code here to let zsh know that there were no
- # completions found by _describe; this is what will trigger other
- # matching algorithms to attempt to find completions.
- # For example zsh can match letters in the middle of words.
- return 1
- else
- # Perform file completion
- __goldwarden_debug "Activating file completion"
-
- # We must return the result of this command, so it must be the
- # last command, or else we must store its result to return it.
- _arguments '*:filename:_files'" ${flagPrefix}"
- fi
- fi
- fi
-}
-
-# don't run the completion function when being source-ed or eval-ed
-if [ "$funcstack[1]" = "_goldwarden" ]; then
- _goldwarden
-fi
diff --git a/zsh/comp/hugo.zsh-completion b/zsh/comp/hugo.zsh-completion
deleted file mode 100644
index a361f2a..0000000
--- a/zsh/comp/hugo.zsh-completion
+++ /dev/null
@@ -1,212 +0,0 @@
-#compdef hugo
-compdef _hugo hugo
-
-# zsh completion for hugo -*- shell-script -*-
-
-__hugo_debug()
-{
- local file="$BASH_COMP_DEBUG_FILE"
- if [[ -n ${file} ]]; then
- echo "$*" >> "${file}"
- fi
-}
-
-_hugo()
-{
- local shellCompDirectiveError=1
- local shellCompDirectiveNoSpace=2
- local shellCompDirectiveNoFileComp=4
- local shellCompDirectiveFilterFileExt=8
- local shellCompDirectiveFilterDirs=16
- local shellCompDirectiveKeepOrder=32
-
- local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
- local -a completions
-
- __hugo_debug "\n========= starting completion logic =========="
- __hugo_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
-
- # The user could have moved the cursor backwards on the command-line.
- # We need to trigger completion from the $CURRENT location, so we need
- # to truncate the command-line ($words) up to the $CURRENT location.
- # (We cannot use $CURSOR as its value does not work when a command is an alias.)
- words=("${=words[1,CURRENT]}")
- __hugo_debug "Truncated words[*]: ${words[*]},"
-
- lastParam=${words[-1]}
- lastChar=${lastParam[-1]}
- __hugo_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
-
- # For zsh, when completing a flag with an = (e.g., hugo -n=<TAB>)
- # completions must be prefixed with the flag
- setopt local_options BASH_REMATCH
- if [[ "${lastParam}" =~ '-.*=' ]]; then
- # We are dealing with a flag with an =
- flagPrefix="-P ${BASH_REMATCH}"
- fi
-
- # Prepare the command to obtain completions
- requestComp="${words[1]} __complete ${words[2,-1]}"
- if [ "${lastChar}" = "" ]; then
- # If the last parameter is complete (there is a space following it)
- # We add an extra empty parameter so we can indicate this to the go completion code.
- __hugo_debug "Adding extra empty parameter"
- requestComp="${requestComp} \"\""
- fi
-
- __hugo_debug "About to call: eval ${requestComp}"
-
- # Use eval to handle any environment variables and such
- out=$(eval ${requestComp} 2>/dev/null)
- __hugo_debug "completion output: ${out}"
-
- # Extract the directive integer following a : from the last line
- local lastLine
- while IFS='\n' read -r line; do
- lastLine=${line}
- done < <(printf "%s\n" "${out[@]}")
- __hugo_debug "last line: ${lastLine}"
-
- if [ "${lastLine[1]}" = : ]; then
- directive=${lastLine[2,-1]}
- # Remove the directive including the : and the newline
- local suffix
- (( suffix=${#lastLine}+2))
- out=${out[1,-$suffix]}
- else
- # There is no directive specified. Leave $out as is.
- __hugo_debug "No directive found. Setting do default"
- directive=0
- fi
-
- __hugo_debug "directive: ${directive}"
- __hugo_debug "completions: ${out}"
- __hugo_debug "flagPrefix: ${flagPrefix}"
-
- if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
- __hugo_debug "Completion received error. Ignoring completions."
- return
- fi
-
- local activeHelpMarker="_activeHelp_ "
- local endIndex=${#activeHelpMarker}
- local startIndex=$((${#activeHelpMarker}+1))
- local hasActiveHelp=0
- while IFS='\n' read -r comp; do
- # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
- if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
- __hugo_debug "ActiveHelp found: $comp"
- comp="${comp[$startIndex,-1]}"
- if [ -n "$comp" ]; then
- compadd -x "${comp}"
- __hugo_debug "ActiveHelp will need delimiter"
- hasActiveHelp=1
- fi
-
- continue
- fi
-
- if [ -n "$comp" ]; then
- # If requested, completions are returned with a description.
- # The description is preceded by a TAB character.
- # For zsh's _describe, we need to use a : instead of a TAB.
- # We first need to escape any : as part of the completion itself.
- comp=${comp//:/\\:}
-
- local tab="$(printf '\t')"
- comp=${comp//$tab/:}
-
- __hugo_debug "Adding completion: ${comp}"
- completions+=${comp}
- lastComp=$comp
- fi
- done < <(printf "%s\n" "${out[@]}")
-
- # Add a delimiter after the activeHelp statements, but only if:
- # - there are completions following the activeHelp statements, or
- # - file completion will be performed (so there will be choices after the activeHelp)
- if [ $hasActiveHelp -eq 1 ]; then
- if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
- __hugo_debug "Adding activeHelp delimiter"
- compadd -x "--"
- hasActiveHelp=0
- fi
- fi
-
- if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
- __hugo_debug "Activating nospace."
- noSpace="-S ''"
- fi
-
- if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
- __hugo_debug "Activating keep order."
- keepOrder="-V"
- fi
-
- if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
- # File extension filtering
- local filteringCmd
- filteringCmd='_files'
- for filter in ${completions[@]}; do
- if [ ${filter[1]} != '*' ]; then
- # zsh requires a glob pattern to do file filtering
- filter="\*.$filter"
- fi
- filteringCmd+=" -g $filter"
- done
- filteringCmd+=" ${flagPrefix}"
-
- __hugo_debug "File filtering command: $filteringCmd"
- _arguments '*:filename:'"$filteringCmd"
- elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
- # File completion for directories only
- local subdir
- subdir="${completions[1]}"
- if [ -n "$subdir" ]; then
- __hugo_debug "Listing directories in $subdir"
- pushd "${subdir}" >/dev/null 2>&1
- else
- __hugo_debug "Listing directories in ."
- fi
-
- local result
- _arguments '*:dirname:_files -/'" ${flagPrefix}"
- result=$?
- if [ -n "$subdir" ]; then
- popd >/dev/null 2>&1
- fi
- return $result
- else
- __hugo_debug "Calling _describe"
- if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then
- __hugo_debug "_describe found some completions"
-
- # Return the success of having called _describe
- return 0
- else
- __hugo_debug "_describe did not find completions."
- __hugo_debug "Checking if we should do file completion."
- if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
- __hugo_debug "deactivating file completion"
-
- # We must return an error code here to let zsh know that there were no
- # completions found by _describe; this is what will trigger other
- # matching algorithms to attempt to find completions.
- # For example zsh can match letters in the middle of words.
- return 1
- else
- # Perform file completion
- __hugo_debug "Activating file completion"
-
- # We must return the result of this command, so it must be the
- # last command, or else we must store its result to return it.
- _arguments '*:filename:_files'" ${flagPrefix}"
- fi
- fi
- fi
-}
-
-# don't run the completion function when being source-ed or eval-ed
-if [ "$funcstack[1]" = "_hugo" ]; then
- _hugo
-fi
diff --git a/zsh/comp/pass.zsh-completion b/zsh/comp/pass.zsh-completion
deleted file mode 100644
index d911e12..0000000
--- a/zsh/comp/pass.zsh-completion
+++ /dev/null
@@ -1,144 +0,0 @@
-#compdef pass
-#autoload
-
-# Copyright (C) 2012 - 2014:
-# Johan Venant <jvenant@invicem.pro>
-# Brian Mattern <rephorm@rephorm.com>
-# Jason A. Donenfeld <Jason@zx2c4.com>.
-# All Rights Reserved.
-# This file is licensed under the GPLv2+. Please see COPYING for more information.
-
-
-# If you use multiple repositories, you can configure completion like this:
-#
-# compdef _pass workpass
-# zstyle ':completion::complete:workpass::' prefix "$HOME/work/pass"
-# workpass() {
-# PASSWORD_STORE_DIR=$HOME/work/pass pass $@
-# }
-
-
-_pass () {
- local cmd
- if (( CURRENT > 2)); then
- cmd=${words[2]}
- # Set the context for the subcommand.
- curcontext="${curcontext%:*:*}:pass-$cmd"
- # Narrow the range of words we are looking at to exclude `pass'
- (( CURRENT-- ))
- shift words
- # Run the completion for the subcommand
- case "${cmd}" in
- init)
- _arguments : \
- "-p[gpg-id will only be applied to this subfolder]" \
- "--path[gpg-id will only be applied to this subfolder]"
- _pass_complete_keys
- ;;
- ls|list|edit)
- _pass_complete_entries_with_subdirs
- ;;
- insert)
- _arguments : \
- "-e[echo password to console]" \
- "--echo[echo password to console]" \
- "-m[multiline]" \
- "--multiline[multiline]"
- _pass_complete_entries_with_subdirs
- ;;
- generate)
- _arguments : \
- "-n[don't include symbols in password]" \
- "--no-symbols[don't include symbols in password]" \
- "-c[copy password to the clipboard]" \
- "--clip[copy password to the clipboard]" \
- "-f[force overwrite]" \
- "--force[force overwrite]" \
- "-i[replace first line]" \
- "--in-place[replace first line]"
- _pass_complete_entries_with_subdirs
- ;;
- cp|copy|mv|rename)
- _arguments : \
- "-f[force rename]" \
- "--force[force rename]"
- _pass_complete_entries_with_subdirs
- ;;
- rm)
- _arguments : \
- "-f[force deletion]" \
- "--force[force deletion]" \
- "-r[recursively delete]" \
- "--recursive[recursively delete]"
- _pass_complete_entries_with_subdirs
- ;;
- git)
- local -a subcommands
- subcommands=(
- "init:Initialize git repository"
- "push:Push to remote repository"
- "pull:Pull from remote repository"
- "config:Show git config"
- "log:Show git log"
- "reflog:Show git reflog"
- )
- _describe -t commands 'pass git' subcommands
- ;;
- show|*)
- _pass_cmd_show
- ;;
- esac
- else
- local -a subcommands
- subcommands=(
- "init:Initialize new password storage"
- "ls:List passwords"
- "find:Find password files or directories based on pattern"
- "grep:Search inside decrypted password files for matching pattern"
- "show:Decrypt and print a password"
- "insert:Insert a new password"
- "generate:Generate a new password using pwgen"
- "edit:Edit a password with \$EDITOR"
- "mv:Rename the password"
- "cp:Copy the password"
- "rm:Remove the password"
- "git:Call git on the password store"
- "version:Output version information"
- "help:Output help message"
- )
- _describe -t commands 'pass' subcommands
- _arguments : \
- "--version[Output version information]" \
- "--help[Output help message]"
- _pass_cmd_show
- fi
-}
-
-_pass_cmd_show () {
- _arguments : \
- "-c[put it on the clipboard]" \
- "--clip[put it on the clipboard]"
- _pass_complete_entries
-}
-_pass_complete_entries_helper () {
- local IFS=$'\n'
- local prefix
- zstyle -s ":completion:${curcontext}:" prefix prefix || prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- _values -C 'passwords' ${$(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print 2>/dev/null | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' -e 's#\\#\\\\#g' -e 's#:#\\:#g' | sort):-""}
-}
-
-_pass_complete_entries_with_subdirs () {
- _pass_complete_entries_helper
-}
-
-_pass_complete_entries () {
- _pass_complete_entries_helper -type f
-}
-
-_pass_complete_keys () {
- local IFS=$'\n'
- # Extract names and email addresses from gpg --list-keys
- _values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')
-}
-
-_pass
diff --git a/zsh/comp/todotxt.zsh-completion b/zsh/comp/todotxt.zsh-completion
deleted file mode 100644
index bd5b7c3..0000000
--- a/zsh/comp/todotxt.zsh-completion
+++ /dev/null
@@ -1,107 +0,0 @@
-#compdef todo.sh
-
-_todo() {
- local curcontext="$curcontext" state state_descr line
- typeset -A opt_args
- local -a args commands subcmds
-
- local _todo_sh=${_todo_sh:-${words[1]}}
- local -r MOVE_COMMAND_PATTERN='(move|mv)'
- local -r OPTS=('-@' '-@@' '-+' '-++' '-d' '-f' '-h' '-p' '-P' '-PP' '-a' '-n' '-t' '-v' '-vv' '-V' '-x')
- local -r COMMANDS=(
- 'add:a new task'
- 'a:add alias'
- 'addto:add to file'
- 'addm:add multiple'
- 'append:app:app:append to task'
- 'archive:move done tasks to archive'
- 'command:run addon'
- 'del:rm:delete task'
- 'depri:dp:remove priority'
- 'do:mark as done'
- 'help:show help'
- 'list:ls:list tasks'
- 'listaddons:show installed addons'
- 'listall:lsa:list all tasks'
- 'listcon:lsc:list contexts'
- 'listfile:lf:list files'
- 'listpri:lsp:list by priority'
- 'listproj:lsprj:list projects'
- 'move:mv:move task between files'
- 'prepend:insert text at beginning'
- 'pri:p:set priority'
- 'replace:modify task'
- 'report:generate report'
- 'shorthelp:brief help'
- )
-
- _arguments -C \
- "1: :->cmds" \
- "*:: :->args"
-
- case $state in
- cmds)
- local addons=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listaddons 2>/dev/null))
- args=($COMMANDS $addons $OPTS)
- _describe 'todo.sh command' args
- ;;
- args)
- cur="${words[CURRENT]}"
- prev="${words[CURRENT-1]}"
-
- case "$prev" in
- command)
- _describe 'subcommand' COMMANDS
- ;;
- help)
- local addons=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listaddons 2>/dev/null))
- args=($COMMANDS $addons)
- _describe 'help topic' args
- ;;
- addto|listfile|lf|move|mv)
- local files=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listfile 2>/dev/null))
- _describe 'file' files
- ;;
- *)
- case "$cur" in
- due:*)
- _values 'due date' $(seq 0 30 | xargs -I{} date -d "+{} days" +%Y-%m-%d)
- ;;
- *@today*|*@now*)
- _wanted dates expl 'date' compadd -S '' -- $(date +%Y-%m-%d)
- ;;
- +*)
- local projects=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listproj 2>/dev/null))
- [[ ${#projects} -eq 0 ]] && projects=($(eval TODOTXT_VERBOSE=0 TODOTXT_SOURCEVAR=\$DONE_FILE "$_todo_sh" command listproj 2>/dev/null))
- _describe 'project' projects -p '+'
- ;;
- @*)
- local contexts=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listcon 2>/dev/null))
- [[ ${#contexts} -eq 0 ]] && contexts=($(eval TODOTXT_VERBOSE=0 TODOTXT_SOURCEVAR=\$DONE_FILE "$_todo_sh" command listcon 2>/dev/null))
- _describe 'context' contexts -p '@'
- ;;
- [0-9]##)
- local task=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" \
- '-@ -+ -p -x command ls "^ *${cur} "' 2>/dev/null | \
- sed -e 's/^ *[0-9]\{1,\} //' \
- -e 's/^\((.) \)\{0,1\}[0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} /\1/' \
- -e 's/^\([xX] \)\([0-9]\{2,4\}-[0-9]\{2\}-[0-9]\{2\} \)\{1,2\}/\1/' \
- -e 's/[[:space:]]*$//' -e '1q'))
- _message -r "Task ${cur}: ${task}"
- ;;
- *)
- if [[ ${words[1]} == $~MOVE_COMMAND_PATTERN ]] && (( CURRENT == 3 )); then
- local files=($(eval TODOTXT_VERBOSE=0 "$_todo_sh" command listfile 2>/dev/null))
- _describe 'destination file' files
- else
- _files
- fi
- ;;
- esac
- ;;
- esac
- ;;
- esac
-}
-
-_todo "$@"
diff --git a/zsh/comp/vgo.zsh-completion b/zsh/comp/vgo.zsh-completion
deleted file mode 100644
index 452705d..0000000
--- a/zsh/comp/vgo.zsh-completion
+++ /dev/null
@@ -1,212 +0,0 @@
-#compdef vgo
-compdef _vgo vgo
-
-# zsh completion for vgo -*- shell-script -*-
-
-__vgo_debug()
-{
- local file="$BASH_COMP_DEBUG_FILE"
- if [[ -n ${file} ]]; then
- echo "$*" >> "${file}"
- fi
-}
-
-_vgo()
-{
- local shellCompDirectiveError=1
- local shellCompDirectiveNoSpace=2
- local shellCompDirectiveNoFileComp=4
- local shellCompDirectiveFilterFileExt=8
- local shellCompDirectiveFilterDirs=16
- local shellCompDirectiveKeepOrder=32
-
- local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
- local -a completions
-
- __vgo_debug "\n========= starting completion logic =========="
- __vgo_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
-
- # The user could have moved the cursor backwards on the command-line.
- # We need to trigger completion from the $CURRENT location, so we need
- # to truncate the command-line ($words) up to the $CURRENT location.
- # (We cannot use $CURSOR as its value does not work when a command is an alias.)
- words=("${=words[1,CURRENT]}")
- __vgo_debug "Truncated words[*]: ${words[*]},"
-
- lastParam=${words[-1]}
- lastChar=${lastParam[-1]}
- __vgo_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
-
- # For zsh, when completing a flag with an = (e.g., vgo -n=<TAB>)
- # completions must be prefixed with the flag
- setopt local_options BASH_REMATCH
- if [[ "${lastParam}" =~ '-.*=' ]]; then
- # We are dealing with a flag with an =
- flagPrefix="-P ${BASH_REMATCH}"
- fi
-
- # Prepare the command to obtain completions
- requestComp="${words[1]} __complete ${words[2,-1]}"
- if [ "${lastChar}" = "" ]; then
- # If the last parameter is complete (there is a space following it)
- # We add an extra empty parameter so we can indicate this to the go completion code.
- __vgo_debug "Adding extra empty parameter"
- requestComp="${requestComp} \"\""
- fi
-
- __vgo_debug "About to call: eval ${requestComp}"
-
- # Use eval to handle any environment variables and such
- out=$(eval ${requestComp} 2>/dev/null)
- __vgo_debug "completion output: ${out}"
-
- # Extract the directive integer following a : from the last line
- local lastLine
- while IFS='\n' read -r line; do
- lastLine=${line}
- done < <(printf "%s\n" "${out[@]}")
- __vgo_debug "last line: ${lastLine}"
-
- if [ "${lastLine[1]}" = : ]; then
- directive=${lastLine[2,-1]}
- # Remove the directive including the : and the newline
- local suffix
- (( suffix=${#lastLine}+2))
- out=${out[1,-$suffix]}
- else
- # There is no directive specified. Leave $out as is.
- __vgo_debug "No directive found. Setting do default"
- directive=0
- fi
-
- __vgo_debug "directive: ${directive}"
- __vgo_debug "completions: ${out}"
- __vgo_debug "flagPrefix: ${flagPrefix}"
-
- if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
- __vgo_debug "Completion received error. Ignoring completions."
- return
- fi
-
- local activeHelpMarker="_activeHelp_ "
- local endIndex=${#activeHelpMarker}
- local startIndex=$((${#activeHelpMarker}+1))
- local hasActiveHelp=0
- while IFS='\n' read -r comp; do
- # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
- if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
- __vgo_debug "ActiveHelp found: $comp"
- comp="${comp[$startIndex,-1]}"
- if [ -n "$comp" ]; then
- compadd -x "${comp}"
- __vgo_debug "ActiveHelp will need delimiter"
- hasActiveHelp=1
- fi
-
- continue
- fi
-
- if [ -n "$comp" ]; then
- # If requested, completions are returned with a description.
- # The description is preceded by a TAB character.
- # For zsh's _describe, we need to use a : instead of a TAB.
- # We first need to escape any : as part of the completion itself.
- comp=${comp//:/\\:}
-
- local tab="$(printf '\t')"
- comp=${comp//$tab/:}
-
- __vgo_debug "Adding completion: ${comp}"
- completions+=${comp}
- lastComp=$comp
- fi
- done < <(printf "%s\n" "${out[@]}")
-
- # Add a delimiter after the activeHelp statements, but only if:
- # - there are completions following the activeHelp statements, or
- # - file completion will be performed (so there will be choices after the activeHelp)
- if [ $hasActiveHelp -eq 1 ]; then
- if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
- __vgo_debug "Adding activeHelp delimiter"
- compadd -x "--"
- hasActiveHelp=0
- fi
- fi
-
- if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
- __vgo_debug "Activating nospace."
- noSpace="-S ''"
- fi
-
- if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
- __vgo_debug "Activating keep order."
- keepOrder="-V"
- fi
-
- if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
- # File extension filtering
- local filteringCmd
- filteringCmd='_files'
- for filter in ${completions[@]}; do
- if [ ${filter[1]} != '*' ]; then
- # zsh requires a glob pattern to do file filtering
- filter="\*.$filter"
- fi
- filteringCmd+=" -g $filter"
- done
- filteringCmd+=" ${flagPrefix}"
-
- __vgo_debug "File filtering command: $filteringCmd"
- _arguments '*:filename:'"$filteringCmd"
- elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
- # File completion for directories only
- local subdir
- subdir="${completions[1]}"
- if [ -n "$subdir" ]; then
- __vgo_debug "Listing directories in $subdir"
- pushd "${subdir}" >/dev/null 2>&1
- else
- __vgo_debug "Listing directories in ."
- fi
-
- local result
- _arguments '*:dirname:_files -/'" ${flagPrefix}"
- result=$?
- if [ -n "$subdir" ]; then
- popd >/dev/null 2>&1
- fi
- return $result
- else
- __vgo_debug "Calling _describe"
- if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then
- __vgo_debug "_describe found some completions"
-
- # Return the success of having called _describe
- return 0
- else
- __vgo_debug "_describe did not find completions."
- __vgo_debug "Checking if we should do file completion."
- if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
- __vgo_debug "deactivating file completion"
-
- # We must return an error code here to let zsh know that there were no
- # completions found by _describe; this is what will trigger other
- # matching algorithms to attempt to find completions.
- # For example zsh can match letters in the middle of words.
- return 1
- else
- # Perform file completion
- __vgo_debug "Activating file completion"
-
- # We must return the result of this command, so it must be the
- # last command, or else we must store its result to return it.
- _arguments '*:filename:_files'" ${flagPrefix}"
- fi
- fi
- fi
-}
-
-# don't run the completion function when being source-ed or eval-ed
-if [ "$funcstack[1]" = "_vgo" ]; then
- _vgo
-fi