Blob Blame History Raw
#Bash completion file for OpenFst 1.2
#Copyright Paul Dixon 2011 (paul@edobashira.com)
#Tested on Ubuntu 10.04 using bash 4.5 
#To use simply source the completion file.
#source openfstbc
#These bash completions will add tab completion to the OpenFst flags. This file adds three types of completions based on the flag’s value type.
#Flags which accept path, numeric values will complete with a trailing = character and then default to the standard path completion.
#Binary flags will complete without a trailing = character.
#Flags which can accepted an enumerable string value will complete will a trailing = and then suggest suitable values. For example the –arc_type= completions will suggest log and standard values parameters.

#1    2   3    4     5
#name cur prev pprev options
_completeenumerable ()
{
  if [[ $2 == = || $3 == = ]] ; then
    if [[ $3 == *$1 ]] ; then
      COMPREPLY=($(compgen -W "$5" -- ))
      return 0
    fi
    if [[ $4 == *$1 ]] ; then
      COMPREPLY=($(compgen -W "$5" -- $2))
      return 0
    fi
  fi
}

_fstprint() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--acceptor --isymbols= --osymbols= --ssymbols= --numeric --save_isymbols= --save_osymbols= --show_weight_one --allow_negative_labels "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstprint fstprint

_fstclosure() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--closure_plus "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstclosure fstclosure

_fstconvert() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--fst_type= "

    _completeenumerable fst_type ${cur} ${prev} ${pprev} "arc_lookahead compact16_acceptor compact16_string compact16_unweighted compact16_unweighted_acceptor compact16_weighted_string compact64_acceptor compact64_string compact64_unweighted compact64_unweighted_acceptor compact64_weighted_string compact8_acceptor compact8_string compact8_unweighted compact8_unweighted_acceptor compact8_weighted_string compact_acceptor compact_string compact_unweighted compact_unweighted_acceptor compact_weighted_string const const16 const64 const8 edit ilabel_lookahead olabel_lookahead vector"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstconvert fstconvert

_fstshortestdistance() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--reverse --delta= --nstate= --queue_type= "

    _completeenumerable queue_type ${cur} ${prev} ${pprev} "auto fifo lifo shortest state top"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstshortestdistance fstshortestdistance

_fstproject() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--project_output "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstproject fstproject

_fstdraw() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--acceptor --isymbols= --osymbols= --ssymbols= --numeric --save_isymbols= --save_osymbols= --precision= --show_weight_one --title= --portrait --vertical --fontsize= --height= --width= --nodesep= --ranksep= --allow_negative_labels "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstdraw fstdraw

_fstshortestpath() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --nshortest= --unique --weight= --nstate= --queue_type= "

    _completeenumerable queue_type ${cur} ${prev} ${pprev} "auto fifo lifo shortest state top"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstshortestpath fstshortestpath

_fstcompile() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--acceptor --arc_type= --fst_type= --isymbols= --osymbols= --ssymbols= --keep_isymbols --keep_osymbols --keep_state_numbering --allow_negative_labels "

    _completeenumerable arc_type ${cur} ${prev} ${pprev} "log standard"
    _completeenumerable fst_type ${cur} ${prev} ${pprev} "arc_lookahead compact16_acceptor compact16_string compact16_unweighted compact16_unweighted_acceptor compact16_weighted_string compact64_acceptor compact64_string compact64_unweighted compact64_unweighted_acceptor compact64_weighted_string compact8_acceptor compact8_string compact8_unweighted compact8_unweighted_acceptor compact8_weighted_string compact_acceptor compact_string compact_unweighted compact_unweighted_acceptor compact_weighted_string const const16 const64 const8 edit ilabel_lookahead olabel_lookahead vector"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstcompile fstcompile

_fstreweight() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--to_final "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstreweight fstreweight

_fstinfo() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--arc_filter= --info_type= --pipe --test_properties "

    _completeenumerable arc_filter ${cur} ${prev} ${pprev} "any epsilon iepsilon oepsilon"
    _completeenumerable info_type ${cur} ${prev} ${pprev} "auto long short"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstinfo fstinfo

_fstequal() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstequal fstequal

_fstencode() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--encode_labels --encode_weights --encode_reuse --decode "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstencode fstencode

_fstequivalent() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --random --max_length= --npath= --seed= --select= "

    _completeenumerable select ${cur} ${prev} ${pprev} "fast_log_prob log_prob uniform"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstequivalent fstequivalent

_fstrandgen() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--max_length= --npath= --seed= --select= "

    _completeenumerable select ${cur} ${prev} ${pprev} "fast_log_prob log_prob uniform"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstrandgen fstrandgen

_fstepsnormalize() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--eps_norm_output "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstepsnormalize fstepsnormalize

_fstsymbols() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--isymbols= --osymbols= --clear_isymbols --clear_osymbols --relabel_ipairs= --relabel_opairs= --allow_negative_labels "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstsymbols fstsymbols

_fstmap() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --map_type= --weight= "

    _completeenumerable map_type ${cur} ${prev} ${pprev} "identity invert plus quantize rmweight superfinal times"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstmap fstmap

_fstpush() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --push_weights --push_labels --remove_total_weight --remove_common_affix --to_final "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstpush fstpush

_fstrelabel() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--isymbols= --osymbols= --relabel_isymbols= --relabel_osymbols= --relabel_ipairs= --relabel_opairs= --allow_negative_labels "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstrelabel fstrelabel

_fstprune() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --nstate= --weight= "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstprune fstprune

_fstdifference() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--compose_filter= --connect "

    _completeenumerable compose_filter ${cur} ${prev} ${pprev} "auto alt_sequence match sequence"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstdifference fstdifference

_fstdeterminize() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= --nstate= --weight= --subsequential_label= "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstdeterminize fstdeterminize

_fstreplace() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--epsilon_on_replace "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstreplace fstreplace

_fstrmepsilon() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--connect --delta= --nstate= --reverse --weight= --queue_type= "

    _completeenumerable queue_type ${cur} ${prev} ${pprev} "auto fifo lifo shortest state top"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstrmepsilon fstrmepsilon

_fstminimize() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--delta= "

    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstminimize fstminimize

_fstcompose() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--compose_filter= --connect "

    _completeenumerable compose_filter ${cur} ${prev} ${pprev} "auto alt_sequence match sequence"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstcompose fstcompose

_fstarcsort() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--sort_type= "

    _completeenumerable sort_type ${cur} ${prev} ${pprev} "ilabel olabel"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstarcsort fstarcsort

_fstintersect() 
{
    local cur prev opts filters len pprev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if (( $COMP_CWORD > 2)) ; then
      pprev="${COMP_WORDS[COMP_CWORD-2]}"
    else
      pprev="NULL"
    fi

    opts="--compose_filter= --connect "

    _completeenumerable compose_filter ${cur} ${prev} ${pprev} "auto alt_sequence match sequence"
    

    if [[ ${cur} == -* ]] ; then
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    return 0
    fi
}
complete -o default -o nospace -F _fstintersect fstintersect