[Bash-completion-devel] Bug#575527: Scilab completion

Sylvestre Ledru sylvestre at debian.org
Sun May 8 17:32:59 UTC 2011


Hello,

I reported it upstream and I updated the completion.

https://alioth.debian.org/tracker/index.php?func=detail&aid=313111&group_id=100114&atid=413095

Thanks
S

-------------- next part --------------
# Scilab completion
# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
# Copyright (C) DIGITEO - 2010 - Sylvestre Ledru
# This file must be used under the terms of the CeCILL.
# This source file is licensed as described in the file COPYING, which
# you should have received as part of this distribution.  The terms
# are also available at    
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt

_scilab()
{
    local cur prev options
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}

    # List all options. Note that 
    options='-ns -nb -nw -nwni -nogui -debug -debug-kdbg -d -display -profiling -profiling-visu -l -mem -version -e -f -nouserstartup -args -mem -h --help'

    # Loop on the arguments to manage conflicting options
    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
       # exclude some mutually exclusive options
        [[ ${COMP_WORDS[i]} == '-nwni' ]] && options=${options/-nw}
        [[ ${COMP_WORDS[i]} == '-nw' ]] && options=${options/-nwni}
        [[ ${COMP_WORDS[i]} == '-e' ]] && options=${options/-f}
    done
    
    case "$1" in
         *scilab-cli*)
        # Option -nw is not available
                options=${options/-nw}
    ;;
    esac

    case $prev in
        -f)
            _filedir '@(sci|sce|SCI|SCE|tst|TST|xcos|XCOS)'
            return 0
        ;;
        -e|-l|-d|-display|-mem)
            cur=${cur#[\"\']}
            eqext='='
            ;;
    
        *)
            COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
            ;;
    esac

    return 0
}
complete -F _scilab $filenames scilab scilab-cli scilab-adv-cli




More information about the Bash-completion-devel mailing list