Changeset 12001


Ignore:
Timestamp:
Apr 25, 2005, 10:27:27 AM (15 years ago)
Author:
yeled
Message:

added the extra 'sync' and 'selfupdate' targets, plus restructured
slightly to make it more self-consistent.

these new cmds only works for release1. toby says release1 is the new
HEAD. I think you're all mad.

port {sync,selfupdate} just spit out silent or stupid errors if someone
tries to use them - so what the hey..

Bug: 2971
Submitted by: Ben Lings <ben.lings@…>
Reviewed by:
Approved by:
Obtained from:

Location:
trunk/dports/sysutils/bash-completion
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/sysutils/bash-completion/Portfile

    r11882 r12001  
    1 # $Id: Portfile,v 1.6 2005/04/19 11:07:13 yeled Exp $
     1# $Id: Portfile,v 1.7 2005/04/25 10:27:26 yeled Exp $
    22
    33PortSystem      1.0
    44name            bash-completion
    55version         20050121
    6 revision                1
     6revision                2
    77categories      sysutils
    88maintainers     yeled@opendarwin.org
  • trunk/dports/sysutils/bash-completion/files/port.cmd

    r11881 r12001  
    22# helper functions for port completion
    33#
    4 _port_installed_ports()
    5 {
    6         COMPREPLY=( $( port installed | sed -ne \
    7         's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
    8 }
    94
    10 _port_active_ports()
    11 {
    12         COMPREPLY=( $( port installed | grep '(active)' | sed -ne \
    13         's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
    14 }
    15 
    16 _port_inactive_ports()
    17 {
    18         COMPREPLY=( $( port installed | grep -v '(active)' | sed -ne \
    19         's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
    20 }
    21 
    22 _port_all_ports()
    23 {
    24         COMPREPLY=( $( port $portdiropt list | \
    25         awk '/^'$cur'/ { print $1 }' | sort 2> /dev/null ) )
    26 }
    27 
    28 _port_installed_variants()
    29 {
    30         COMPREPLY=( $( port installed | awk '/'$port'/ { print $2 }' | tr '\r' ' ' 2> /dev/null ) )
    31         COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
    32 }
    33 _port_available_variants()
    34 {
    35         COMPREPLY=( $(port variants $port | tr '\r' ' ' | grep -v "has no variants") )
    36         COMPREPLY=( $( compgen -P'+' -W '${COMPREPLY[@]}' -- $cur ) )
    37 }
    385# port(1) completion
    396#
     
    4815        count=0
    4916        for i in ${COMP_WORDS[@]}; do
    50                 [ $count -eq $COMP_CWORD ] && break
    51                 # Last parameter was the portdir, now go back to mode selection
    52                 if [ "${COMP_WORDS[((count))]}" == "$portdir" -a "$mode" == "portdir" ]; then
    53                         mode=""
    54                 fi
    55                 if [ -z "$mode" ]; then
    56                         case $i in
    57                         -D)
    58                                 mode=portdir
    59                                 portdir=${COMP_WORDS[((count+1))]}
    60                                 portdiropt="-D $portdir"
    61                                 ;;
    62                         activate|deactivate|install|uninstall|upgrade|clean|deps|contents|variants|info|\
    63                         unarchive|fetch|extract|patch|configure|build|destroot|test|archive|\
     17            [ $count -eq $COMP_CWORD ] && break
     18            # Last parameter was the portdir, now go back to mode selection
     19            if [ "${COMP_WORDS[((count))]}" == "$portdir" -a "$mode" == "portdir" ]; then
     20                mode=""
     21            fi
     22            if [ -z "$mode" ]; then
     23                case $i in
     24                    -D)
     25                        mode=portdir
     26                        portdir=${COMP_WORDS[((count+1))]}
     27                        portdiropt="-D $portdir"
     28                        ;;
     29                    install|uninstall|activate|deactivate|installed|\
     30                        outdated|upgrade|selfupdate|sync|\
     31                        clean|list|search|info|variants|deps|contents|\
     32                        unarchive|fetch|extract|patch|configure|build|destroot|test|archive|\
    6433                        pkg|mpkg|dmg|rpmpackage|provides)
    65                                 mode=$i
    66                                 ;;
    67                         esac
    68                 elif [  -z "$port" ]; then
    69                     case $mode in
    70                     uninstall|upgrade|contents)
    71                             if [ $( port installed | awk ' !/The following ports/ {print $1}' \
    72                                 | uniq | grep '^'$i'$') ]; then
    73                                 port=$i
    74                             fi
    75                             ;;
    76                     *)
    77                             if [ $(port $portdiropt list | awk '{ print $1 }' | grep '^'$i'$') ]; then
    78                                 port=$i
    79                             fi
    80                             ;;
    81                     esac
    82                 fi
    83                 count=$((++count))
     34                        mode=$i
     35                        ;;
     36                esac
     37            elif [  -z "$port" ]; then
     38            case $mode in
     39                uninstall|upgrade|contents)
     40                    if [ $( port installed | awk ' !/The following ports/ {print $1}' \
     41                        | uniq | grep '^'$i'$') ]; then
     42                        port=$i
     43                    fi
     44                    ;;
     45                *)
     46                    if [ $(port $portdiropt list | awk '{ print $1 }' | grep '^'$i'$') ]; then
     47                        port=$i
     48                    fi
     49                    ;;
     50            esac
     51            fi
     52            count=$((++count))
    8453        done
    8554
    8655        if [ -n "$port" ]; then
    87                 case $mode in
    88                 activate|uninstall)
    89                         _port_installed_variants
    90                         return 0
    91                         ;;
     56            # complete variants
     57            case $mode in
     58                contents|uninstall)
     59                    # installed variants
     60                    COMPREPLY=( $( port installed \
     61                        | awk '/'$port'/ { print $2 }' | tr '\r' ' ' 2> /dev/null ) )
     62                    COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
     63                    return 0
     64                    ;;
     65                activate)
     66                    # inactive variants
     67                    COMPREPLY=( $( port installed | grep -v '(active)' \
     68                        | awk '/'$port'/ { print $2 }' | tr '\r' ' ' 2> /dev/null ) )
     69                    COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
     70                    return 0
     71                    ;;
     72                deactivate)
     73                    # active variants
     74                    COMPREPLY=( $( port installed | grep '(active)' \
     75                        | awk '/'$port'/ { print $2 }' | tr '\r' ' ' 2> /dev/null ) )
     76                    COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
     77                    return 0
     78                    ;;
     79                *)
     80                    # all variants
     81                    COMPREPLY=( $(port $portdiropt variants $port | tr '\r' ' ' | grep -v "has no variants") )
     82                    COMPREPLY=( $( compgen -P'+' -W '${COMPREPLY[@]}' -- $cur ) )
     83                    return 0
     84                    ;;
     85            esac
    9286
     87        fi
     88
     89        if [ -n "$mode" ]; then
     90            # complete port names
     91            case $mode in
     92                uninstall|upgrade|contents)
     93                    # installed ports
     94                    COMPREPLY=( $( port installed \
     95                        | sed -ne 's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
     96                    return 0
     97                    ;;
     98                activate)
     99                    # inactive ports
     100                    COMPREPLY=( $( port installed | grep -v '(active)' \
     101                        | sed -ne 's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
     102                    return 0
     103                    ;;
     104                deactivate)
     105                    # active ports
     106                    COMPREPLY=( $( port installed | grep '(active)' \
     107                        | sed -ne 's|^  \('$cur'[^ ]*\).*$|\1|p' | uniq ) )
     108                    return 0
     109                    ;;
     110                provides|portdir)
     111                    _filedir
     112                    return 0
     113                    ;;
     114                installed|outdated|list|sync|selfupdate)
     115                    # no port
     116                    return 0
     117                    ;;
    93118                *)
    94                         _port_available_variants
    95                         return 0
    96                         ;;
     119                    # all ports
     120                    COMPREPLY=( $( port $portdiropt list \
     121                        | awk '/^'$cur'/ { print $1 }' | sort 2> /dev/null ) )
     122                    return 0
     123                    ;;
    97124                esac
    98125        fi
    99126
    100         if [ -n "$mode" ]; then
    101                 case $mode in
    102                 # list installed ports
    103                 uninstall|upgrade|contents)
    104                         if [ -z "$port" ]; then
    105                             _port_installed_ports
    106                         fi
    107                         return 0
    108                         ;;
    109                 activate)
    110                         _port_inactive_ports
    111                         return 0
    112                         ;;
    113                 deactivate)
    114                         _port_active_ports
    115                         return 0
    116                         ;;
    117                 provides)
    118                         _filedir
    119                         return 0
    120                         ;;
    121                 # list all ports
    122                 *)
    123                         if [ -z "$port" ]; then
    124                             _port_all_ports
    125                         fi
    126                         return 0
    127                         ;;
    128 
    129                 esac
    130         fi
    131 
    132         if [[ "$cur" == -* ]]; then
    133 
    134                 COMPREPLY=( $( compgen -W '-v -d -q -f -o -n -a -u -s -b -c -k' \
    135                                 -- $cur ) )
    136         else
    137 
    138                 COMPREPLY=( $( compgen -W 'install uninstall upgrade installed outdated \
    139                                 clean list search contents deps variants info \
     127        COMPREPLY=( $( compgen -W '-v -d -q -c -k -n -a -u -D -f -o -s -b \
     128                                install uninstall activate deactivate installed \
     129                                outdated upgrade selfupdate sync \
     130                                clean list search info variants deps contents \
    140131                                unarchive fetch extract patch configure build \
    141                                 destroot test archive activate deactivate \
     132                                destroot test archive \
    142133                                pkg mpkg dmg rpmpackage provides' -- $cur ) )
    143134
    144         fi
    145 
     135       
    146136        return 0
    147137}
    148138complete -F _port $filenames port
    149139}
    150 
Note: See TracChangeset for help on using the changeset viewer.