Update version for close release

Signed-off-by: Jguer <me@jguer.space>
This commit is contained in:
Jguer 2018-03-22 17:02:40 +01:00
parent ac02498177
commit 82124c1b46
5 changed files with 331 additions and 305 deletions

View file

@ -1,11 +1,11 @@
.PHONY: all default install test build release clean
VERSION := $(shell git rev-list --count master)
LDFLAGS=-ldflags '-s -w -X main.version=4.${VERSION}'
VERSION := 5.$(shell git rev-list --count master)
LDFLAGS=-ldflags '-s -w -X main.version=${VERSION}'
GOFILES := $(shell ls *.go | grep -v /vendor/)
ARCH=$(shell uname -m)
PKGNAME=yay
PACKAGE=${PKGNAME}_4.${VERSION}_${ARCH}
PACKAGE=${PKGNAME}_${VERSION}_${ARCH}
default: build
@ -20,10 +20,10 @@ build:
release:
mkdir ${PACKAGE}
cp ./yay ${PACKAGE}/
cp ./yay.8 ${PACKAGE}/
cp ./zsh-completion ${PACKAGE}/
cp ./yay.fish ${PACKAGE}/
cp ./bash-completion ${PACKAGE}/
cp ./doc/yay.8 ${PACKAGE}/
cp ./completions/zsh ${PACKAGE}/
cp ./completions/fish ${PACKAGE}/
cp ./completions/bash ${PACKAGE}/
package:
tar -czvf ${PACKAGE}.tar.gz ${PACKAGE}
clean:

View file

@ -1,3 +1,4 @@
# vim:fdm=marker foldlevel=0 tabstop=2 shiftwidth=2 filetype=bash
# This file is in the public domain.
_arch_compgen() {

View file

@ -1,3 +1,4 @@
# vim:fdm=marker foldlevel=0 tabstop=2 shiftwidth=2 filetype=fish
# Original Author for pacman: Giorgio Lando <patroclo7@gmail.com>
# Updated for yay by jguer

View file

@ -1,4 +1,5 @@
#compdef yay
# vim:fdm=marker foldlevel=0 tabstop=2 shiftwidth=2 filetype=zsh
typeset -A opt_args
setopt extendedglob
@ -183,380 +184,403 @@ _pacman_opts_sync_modifiers=(
# handles --help subcommand
_pacman_action_help() {
_arguments -s : \
"$_pacman_opts_commands[@]"
_arguments -s : "$_pacman_opts_commands[@]"
}
# handles cases where no subcommand has yet been given
_pacman_action_none() {
_arguments -s : \
"$_pacman_opts_commands[@]"
_arguments -s : "$_pacman_opts_commands[@]"
}
# handles --query subcommand
_pacman_action_query() {
local context state line
typeset -A opt_args
local context state line
typeset -A opt_args
case $state in
query_file)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'
;;
query_group)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:groups:_pacman_completions_installed_groups'
;;
query_owner)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:file:_files'
;;
query_search)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:search text: '
;;
*)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_actions[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:package:_pacman_completions_installed_packages'
;;
esac
case $state in
query_file)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'
query_group)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:groups:_pacman_completions_installed_groups'
query_owner)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:file:_files'
query_search)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:search text: '
*)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_actions[@]" "$_pacman_opts_query_modifiers[@]" '*:package:_pacman_completions_installed_packages'
esac
}
# handles --remove subcommand
_pacman_action_remove() {
_arguments -s : \
'(--remove -R)'{-R,--remove} \
"$_pacman_opts_common[@]" \
"$_pacman_opts_remove[@]"
_arguments -s : '(--remove -R)'{-R,--remove} "$_pacman_opts_common[@]" "$_pacman_opts_remove[@]"
}
# handles --database subcommand
_pacman_action_database() {
_arguments -s : \
'(--database -D)'{-D,--database} \
"$_pacman_opts_common[@]" \
"$_pacman_opts_database[@]"
_arguments -s : '(--database -D)'{-D,--database} "$_pacman_opts_common[@]" "$_pacman_opts_database[@]"
}
# handles --files subcommand
_pacman_action_files() {
_arguments -s : \
'(--files -F)'{-F,--files} \
"$_pacman_opts_common[@]" \
"$_pacman_opts_files[@]"
_arguments -s : '(--files -F)'{-F,--files} "$_pacman_opts_common[@]" "$_pacman_opts_files[@]"
}
_pacman_action_deptest () {
_arguments -s : \
'(--deptest)-T' \
"$_pacman_opts_common[@]" \
":packages:_pacman_all_packages"
_arguments -s : '(--deptest)-T' "$_pacman_opts_common[@]" ":packages:_pacman_all_packages"
}
# handles --sync subcommand
_pacman_action_sync() {
local context state line
typeset -A opt_args
if (( $+words[(r)--clean] )); then
local context state line
typeset -A opt_args
if (( $+words[(r)--clean] ))
then
state=sync_clean
elif (( $+words[(r)--groups] )); then
elif (( $+words[(r)--groups] ))
then
state=sync_group
elif (( $+words[(r)--search] )); then
elif (( $+words[(r)--search] ))
then
state=sync_search
fi
fi
case $state in
sync_clean)
_arguments -s : \
{\*-c,\*--clean}'[Remove old packages from cache]' \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]"
;;
sync_group)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'(-g --group)'{-g,--groups} \
'*:package group:_pacman_completions_all_groups'
;;
sync_search)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'*:search text: '
;;
*)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_actions[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'*:package:_pacman_completions_all_packages'
;;
esac
case $state in
sync_clean)
_arguments -s : {\*-c,\*--clean}'[Remove old packages from cache]' "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]"
sync_group)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]" '(-g --group)'{-g,--groups} '*:package group:_pacman_completions_all_groups'
sync_search)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]" '*:search text: '
*)
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_actions[@]" "$_pacman_opts_sync_modifiers[@]" '*:package:_pacman_completions_all_packages'
esac
}
# handles --upgrade subcommand
_pacman_action_upgrade() {
_arguments -s : \
'(-U --upgrade)'{-U,--upgrade} \
"$_pacman_opts_common[@]" \
"$_pacman_opts_pkgfile[@]"
_arguments -s : '(-U --upgrade)'{-U,--upgrade} "$_pacman_opts_common[@]" "$_pacman_opts_pkgfile[@]"
}
# handles --version subcommand
_pacman_action_version() {
# no further arguments
return 0
# no further arguments
return 0
}
# provides completions for package groups
_pacman_completions_all_groups() {
local -a cmd groups
_pacman_get_command
groups=( $(_call_program groups $cmd[@] -Sg) )
typeset -U groups
local -a cmd groups
_pacman_get_command
groups=( $(_call_program groups $cmd[@] -Sg) )
typeset -U groups
if [[ ${words[CURRENT-1]} == '--ignoregroup' ]]; then
if [[ ${words[CURRENT-1]} == '--ignoregroup' ]]
then
_sequence compadd -S ',' "$@" -a groups
else
else
compadd "$@" -a groups
fi
}
# provides completions for packages available from repositories
# these can be specified as either 'package' or 'repository/package'
_pacman_completions_all_packages() {
local -a seq sep cmd packages repositories packages_long
if [[ ${words[CURRENT-1]} == '--ignore' ]]; then
seq='_sequence'
sep=(-S ',')
else
seq=
sep=()
fi
if compset -P1 '*/*'; then
packages=( $(_call_program packages yay -Pc ${words[CURRENT]%/*}) )
typeset -U packages
${seq} _wanted repo_packages expl "repository/package" compadd ${sep[@]} ${(@)packages}
else
packages=( $(_call_program packages yay -Pc ) )
typeset -U packages
${seq} _wanted packages expl "packages" compadd ${sep[@]} - "${(@)packages}"
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
typeset -U repositories
_wanted repo_packages expl "repository/package" compadd -S "/" $repositories
fi
}
# provides completions for package groups
_pacman_completions_installed_groups() {
local -a cmd groups
_pacman_get_command
groups=(${(o)${(f)"$(_call_program groups $cmd[@] -Qg)"}% *})
typeset -U groups
compadd "$@" -a groups
}
# provides completions for installed packages
_pacman_completions_installed_packages() {
local -a cmd packages packages_long
packages_long=(/var/lib/pacman/local/*(/))
packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )
compadd "$@" -a packages
}
_pacman_all_packages() {
_alternative : \
'localpkgs:local packages:_pacman_completions_installed_packages' \
'repopkgs:repository packages:_pacman_completions_all_packages'
}
# provides completions for repository names
_pacman_completions_repositories() {
local -a cmd repositories
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
# Uniq the array
typeset -U repositories
compadd "$@" -a repositories
}
# builds command for invoking pacman in a _call_program command - extracts
# relevant options already specified (config file, etc)
# $cmd must be declared by calling function
_pacman_get_command() {
# this is mostly nicked from _perforce
cmd=( "pacman" "2>/dev/null")
integer i
for (( i = 2; i < CURRENT - 1; i++ )); do
if [[ ${words[i]} = "--config" || ${words[i]} = "--root" ]]; then
cmd+=( ${words[i,i+1]} )
fi
done
}
# provides completions for packages available from repositories
# these can be specified as either 'package' or 'repository/package'
_pacman_completions_all_packages() {
local -a seq sep cmd packages repositories packages_long
if [[ ${words[CURRENT-1]} == '--ignore' ]]
then
seq='_sequence'
sep=(-S ',')
else
seq=
sep=()
fi
if compset -P1 '*/*'
then
packages=( $(_call_program packages yay -Pc ${words[CURRENT]%/*}) )
typeset -U packages
${seq} _wanted repo_packages expl "repository/package" compadd ${sep[@]} ${(@)packages}
else
packages=( $(_call_program packages yay -Pc ) )
typeset -U packages
${seq} _wanted packages expl "packages" compadd ${sep[@]} - "${(@)packages}"
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
typeset -U repositories
_wanted repo_packages expl "repository/package" compadd -S "/" $repositories
fi
}
# provides completions for package groups
_pacman_completions_installed_groups() {
local -a cmd groups
_pacman_get_command
groups=(${(o)${(f)"$(_call_program groups $cmd[@] -Qg)"}% *})
typeset -U groups
compadd "$@" -a groups
}
# provides completions for installed packages
_pacman_completions_installed_packages() {
local -a cmd packages packages_long
packages_long=(/var/lib/pacman/local/*(/))
packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )
compadd "$@" -a packages
}
_pacman_all_packages() {
_alternative : 'localpkgs:local packages:_pacman_completions_installed_packages' 'repopkgs:repository packages:_pacman_completions_all_packages'
}
# provides completions for repository names
_pacman_completions_repositories() {
local -a cmd repositories
repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})
# Uniq the array
typeset -U repositories
compadd "$@" -a repositories
}
# builds command for invoking pacman in a _call_program command - extracts
# relevant options already specified (config file, etc)
# $cmd must be declared by calling function
_pacman_get_command() {
# this is mostly nicked from _perforce
cmd=( "pacman" "2>/dev/null")
integer i
for (( i = 2; i < CURRENT - 1; i++ ))
; do
if [[ ${words[i]} = "--config" |
| ${words[i]} = "--root" ]]
then
cmd+=( ${words[i,i+1]} )
fi
done
}
# main dispatcher
_pacman_zsh_comp() {
local -a args cmds;
local tmp
args=( ${${${(M)words:#-*}#-}:#-*} )
for tmp in $words; do
local -a args cmds
local tmp
args=( ${${${(M)words:#-*}#-}:#-*} )
for tmp in $words
do
cmds+=("${${_pacman_opts_commands[(r)*$tmp\[*]%%\[*}#*\)}")
done
case $args in #$words[2] in
h*)
if (( ${(c)#args} <= 1 && ${(w)#cmds} <= 1 )); then
_pacman_action_help
else
_message "no more arguments"
fi
;;
done
case $args in #$words[2] in
h*)
if (( ${(c)#args} <= 1 && ${(w)#cmds} <= 1 ))
then
_pacman_action_help
else
_message "no more arguments"
fi
*h*)
_message "no more arguments"
;;
_message "no more arguments"
D*)
_pacman_action_database
;;
_pacman_action_database
F*)
_pacman_action_files
;;
_pacman_action_files
Q*g*) # ipkg groups
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:groups:_pacman_completions_installed_groups'
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:groups:_pacman_completions_installed_groups'
Q*o*) # file
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:package file:_files'
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:package file:_files'
Q*p*) # file *.pkg.tar*
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
'*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_query_modifiers[@]" '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'
T*)
_pacman_action_deptest
;;
_pacman_action_deptest
Q*)
_pacman_action_query
;;
_pacman_action_query
P*)
_arguments -s : \
"$_pacman_opts_print_modifiers[@]"
;;
_arguments -s : "$_pacman_opts_print_modifiers[@]"
R*)
_pacman_action_remove
;;
_pacman_action_remove
S*c*) # no completion
_arguments -s : \
'(-c --clean)'{\*-c,\*--clean}'[Remove all files from the cache]' \
"$_pacman_opts_common[@]"
;;
_arguments -s : '(-c --clean)'{\*-c,\*--clean}'[Remove all files from the cache]' "$_pacman_opts_common[@]"
S*l*) # repos
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'*:package repo:_pacman_completions_repositories' \
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]" '*:package repo:_pacman_completions_repositories'
S*g*) # pkg groups
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'*:package group:_pacman_completions_all_groups'
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]" '*:package group:_pacman_completions_all_groups'
S*s*)
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_sync_modifiers[@]" \
'*:search text: '
;;
_arguments -s : "$_pacman_opts_common[@]" "$_pacman_opts_sync_modifiers[@]" '*:search text: '
S*)
_pacman_action_sync
;;
_pacman_action_sync
T*)
_arguments -s : \
'-T' \
"$_pacman_opts_common[@]" \
":packages:_pacman_all_packages"
;;
_arguments -s : '-T' "$_pacman_opts_common[@]" ":packages:_pacman_all_packages"
U*)
_pacman_action_upgrade
;;
_pacman_action_upgrade
V*)
_pacman_action_version
;;
_pacman_action_version
Y*)
_arguments -s : \
"$_pacman_opts_yay_modifiers[@]"
;;
_arguments -s : "$_pacman_opts_yay_modifiers[@]"
*)
case ${(M)words:#--*} in
*--help*)
if (( ${(w)#cmds} == 1 )); then
_pacman_action_help
else
return 0;
fi
;;
*--sync*)
_pacman_action_sync
;;
*--query*)
_pacman_action_query
;;
*--remove*)
_pacman_action_remove
;;
*--deptest*)
_pacman_action_deptest
;;
*--database*)
_pacman_action_database
;;
*--files*)
_pacman_action_files
;;
*--version*)
_pacman_action_version
;;
*--upgrade*)
_pacman_action_upgrade
;;
*)
_pacman_action_none
;;
esac
;;
esac
}
_pacman_comp() {
case "$service" in
yay)
_pacman_zsh_comp "$@"
;;
case ${(M)words:#--*} in
*--help*)
if (( ${(w)#cmds} == 1 ))
then
_pacman_action_help
else
return 0
fi
*--sync*)
_pacman_action_sync
*--query*)
_pacman_action_query
*--remove*)
_pacman_action_remove
*--deptest*)
_pacman_action_deptest
*--database*)
_pacman_action_database
*--files*)
_pacman_action_files
*--version*)
_pacman_action_version
*--upgrade*)
_pacman_action_upgrade
*)
_message "Error"
;;
esac
_pacman_action_none
esac
esac
}
_pacman_comp() {
case "$service" in
yay)
_pacman_zsh_comp "$@"
*)
_message "Error"
esac
}
_pacman_comp "$@"

View file