Skip to content
Snippets Groups Projects
e-acsl-gcc.comp 3.1 KiB
Newer Older
##########################################################################
#                                                                        #
#  This file is part of the Frama-C's E-ACSL plug-in.                    #
#                                                                        #
#  Copyright (C) 2012-2021                                               #
#    CEA (Commissariat à l'énergie atomique et aux énergies              #
#         alternatives)                                                  #
#                                                                        #
#  you can redistribute it and/or modify it under the terms of the GNU   #
#  Lesser General Public License as published by the Free Software       #
#  Foundation, version 2.1.                                              #
#                                                                        #
#  It is distributed in the hope that it will be useful,                 #
#  but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#  GNU Lesser General Public License for more details.                   #
#                                                                        #
#  See the GNU Lesser General Public License version 2.1                 #
#  for more details (enclosed in the file license/LGPLv2.1).             #
#                                                                        #
##########################################################################

# Bash completion for e-acsl-gcc.sh

_eacsl_gcc() {
  local cur prev words cwords opts
  _init_completion || return
    -C -d -o -O -v -V -f -E -L -M -l -e -g -q -s -F -m -D -I -G -X -a
    -h -c -T -k
    --verbose= --debug= --logfile= --quiet --rt-debug --help
    --rt-verbose --check --then --keep-going --fail-with-code --external-assert=
    --assert-print-data --no-assert-print-data --external-print-value=
    --no-trace
    --ocode= --oexec= --oexec-e-acsl=
    --ld-flags= --cpp-flags= --extra-cpp-args=
    --frama-c-extra= --frama-c= --gcc= --ar= --ranlib= --mbits=
    --e-acsl-share= --memory-model= --e-acsl-extra=
    --compile --compile-only --print-mmodels --frama-c-only --instrumented-only
    --gmp --full-mtracking --rte= --rte-select=
    --frama-c-stdlib --libc-replacements
    --temporal --free-valid-address --weak-validity --validate-format-strings
    --heap-size --stack-size
    --with-dlmalloc --dlmalloc-from-sources --dlmalloc-compile-only
    --dlmalloc-compile-flags --odlmalloc"
  if [[ $cur == = ]]; then
    # We just found an option that ends with '=', reset the 'cur' variable
    # and use files and directories completions
    cur=
    _filedir
  elif [[ $cur != -* ]]; then
    # We are not adding a parameter, use files and directories completions
    _filedir
  else
    # We started an option, use e-acsl-gcc completions
    COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
    # If the option ends with '=', do not add a space after the option
    [[ $COMPREPLY == *= ]] && compopt -o nospace
  fi
} &&
  complete -F _eacsl_gcc e-acsl-gcc.sh