Vlákno názorů k článku Mutt - začínáme bezbolestně od Jan Martinek - Když si pustíte tenhleten skriptík, tak vám bash...

  • Článek je starý, nové názory již nelze přidávat.
  • 23. 3. 2004 13:48

    Jan Martinek (neregistrovaný)

    Když si pustíte tenhleten skriptík, tak vám bash bude na tabelátor doplňovat aliasy pro mutt z .mail_aliases, takže když napíšete
    mutt pok<tab>
    tak se doplní např. pokorny. Je to skvělý pomocník, když si nepamatujete něčí adresu (ani alias) přesně.

    #!/bin/bash

    function _mutt()
    {

    local cur match prev aliases IFS


    cur=${COMP_WORDS[COMP_CWORD]}
    match=${cur##*,}
    prev=${COMP_WORDS[COMP_CWORD-1]}

    if [[ "$cur" == -* ]]; then
    COMPREPLY=( )
    return 0
    fi

    if [ "$prev" == -b ] || [ "$prev" == -c ] || [[ "$prev" != -* ]]; then

    IFS=$'\n'

    aliases=$(grep "^alias \+$match" ~/.mail_aliases | sed -e 's/^alias \+//')

    if [ -z "$aliases" ]; then
    COMPREPLY=( )
    return 0
    fi

    COMPREPLY=( $aliases )

    #If there is only one possibility to complete, to prevent real
    #completion we must add a dummy element to the COMPREPLY array.

    if test ${#COMPREPLY[@]} = 1; then
    COMPREPLY[${#COMPREPLY[@]}]=$(echo -ne "\200")
    fi


    return 0
    fi


    }

    complete -F _mutt -o default mutt

  • 23. 3. 2004 14:52

    Tomas Janousek (neregistrovaný)

    Jen tak dodam, ze touto schopnosti oplyva i bash programmable completion.

  • 23. 3. 2004 17:41

    Dalibor Straka (neregistrovaný)

    Ahoj,

    mam na jednom terminalu stale pusteny mutt, takze se mutt nespousti prikazem $mutt, ale alt+f12. Kdyz zmacknu (t), napisu par pismenek a zmacknu (tab), mutt mi sam doplni jmeno prijemce podle ulozenych aliasu.

    To je jenom takovy priklad pro inspiraci.

    Hezky den,
    -- Dalibor Straka