Shell completion export from the wrapper binary
authorTeemu Murtola <teemu.murtola@gmail.com>
Wed, 4 Sep 2013 03:39:16 +0000 (06:39 +0300)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Tue, 28 Jan 2014 13:05:41 +0000 (14:05 +0100)
Bash completions now complete the arguments to the wrapper binary
itself, as well as the subcommand names.  After a subcommand has been
specified, use the existing completion logic.  Completions now work also
for arbitrarily suffixed binaries (which the old system didn't work at
all).  No completion is generated for symlinks, but should be
straightforward to do if really required; approach would be the same as
for GMX_BUILD_MDRUN_ONLY.

Other completions are not working for the wrapper binary, and as far as
I can tell, require a completely different approach. Removed the
non-functional code.

Related to #685 and #1410.

Change-Id: I55b13a65c176dab6e2f4f41bf6e829112c99e6b3

20 files changed:
CMakeLists.txt
admin/mkcompl [deleted file]
scripts/CMakeLists.txt
scripts/GMXRC.bash.cmakein
scripts/GMXRC.csh.cmakein
scripts/completion.bash [deleted file]
scripts/completion.csh [deleted file]
scripts/completion.zsh [deleted file]
share/CMakeLists.txt
src/gromacs/commandline/cmdlinehelpcontext.cpp
src/gromacs/commandline/cmdlinehelpcontext.h
src/gromacs/commandline/cmdlinehelpmodule.cpp
src/gromacs/commandline/cmdlinehelpwriter.cpp
src/gromacs/commandline/pargs.cpp
src/gromacs/commandline/shellcompletions.cpp
src/gromacs/commandline/shellcompletions.h
src/gromacs/onlinehelp/helpwritercontext.h
src/programs/.gitignore [new file with mode: 0644]
src/programs/CMakeLists.txt
src/programs/gmx/.gitignore [deleted file]

index c490acec15b7bdd78e1fa0557e1d5dac1b141231..2ad3327ad10c94930b64c9d36e36a0dbe2dc0004 100644 (file)
@@ -115,7 +115,7 @@ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
 set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/admin/InstallInfo.txt")
 set(CPACK_SOURCE_IGNORE_FILES "\\\\.isreposource$;\\\\.git/;\\\\.gitignore$")
 set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/CPackInit.cmake")
-set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/share/man/man1;share/man/man1;${CMAKE_BINARY_DIR}/share/man/man7;share/man/man7;${CMAKE_BINARY_DIR}/share/html/final;share/html/final")
+set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/src/programs/completion;src/programs/completion;${CMAKE_BINARY_DIR}/share/man/man1;share/man/man1;${CMAKE_BINARY_DIR}/share/man/man7;share/man/man7;${CMAKE_BINARY_DIR}/share/html/final;share/html/final")
 set(CPACK_PACKAGE_CONTACT "gmx-users@gromacs.org")
 
 #must come after all cpack settings!
@@ -866,6 +866,17 @@ if(GMX_FAHCORE)
   include_directories(${COREWRAP_INCLUDE_DIR})
 endif(GMX_FAHCORE)
 
+option(GMX_BUILD_HELP "Build man pages, HTML help, and completions automatically (requires that compiled binaries can be executed on the build host)" OFF)
+mark_as_advanced(GMX_BUILD_HELP)
+if (GMX_BUILD_HELP AND SOURCE_IS_SOURCE_DISTRIBUTION AND
+    "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+
+    message(FATAL_ERROR
+        "Rebuilding HTML and man pages is not supported for in-source "
+        "builds from a source distribution. "
+        "Set GMX_BUILD_HELP=OFF or do an out-of-source build to proceed.")
+endif()
+
 # # # # # # # # # # NO MORE TESTS AFTER THIS LINE! # # # # # # # # # # #
 # these are set after everything else
 if (NOT GMX_SKIP_DEFAULT_CFLAGS)
diff --git a/admin/mkcompl b/admin/mkcompl
deleted file mode 100755 (executable)
index a8447a2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/csh -f
-
-# NB: Put the finished completions in the gromacs-x.y.z/scripts directory.
-
-if ( $#argv < 1 ) then
-  echo "Error: provide the binary directory as first argument."
-  echo "Completions will be written in the current directory."
-  exit
-endif
-
-set GMXBINDIR = $1
-
-set out = completion
-set dir = $cwd
-
-echo Generating completions for csh, bash and zsh
-
-if ( -f $out.csh) then
-  rm $out.csh 
-endif
-if ( -f $out.bash) then
-  rm $out.bash 
-endif
-if ( -f $out.zsh) then
-  rm $out.zsh 
-endif
-
-touch $out.csh $out.bash $out.zsh
-
-cd $GMXBINDIR
-set PROGRAMS = [a-z]*
-cd $dir
-
-foreach program ( $PROGRAMS )
-  if ( ( -x $GMXBINDIR/$program ) && ( $program != "my_dssp" )  && ( $program != "average" ) && ( $program != "GMXRC" ) && ( $program != "completion.zsh" ) && ( $program != "completion.csh" )  && ( $program != "completion.bash" ) ) then
-    $GMXBINDIR/$program -man completion >& /dev/null
-    cat $program.completion-csh >> $out.csh
-    cat $program.completion-bash >> $out.bash
-    cat $program.completion-zsh >> $out.zsh
-    \rm $program.completion-csh $program.completion-bash $program.completion-zsh 
-  endif
-end
-
-#last line
-
index 0f29524e28a74f6eb5c1a13d5a4b66d14758cabe..521589d2cf432911976e639c4df4107afd720870 100644 (file)
@@ -1,7 +1,7 @@
 #
 # This file is part of the GROMACS molecular simulation package.
 #
-# Copyright (c) 2010, by the GROMACS development team, led by
+# Copyright (c) 2010,2014, by the GROMACS development team, led by
 # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 # and including many others, as listed in the AUTHORS file in the
 # top-level source directory and at http://www.gromacs.org.
@@ -42,9 +42,5 @@ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/GMXRC.bash DESTINATION ${BIN_INSTAL
 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/GMXRC.zsh  DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/GMXRC.csh  DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
 
-file(GLOB EXTRA_SCRIPTS completion.*)
-install(FILES ${EXTRA_SCRIPTS} DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
-
 install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/demux.pl      DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
 install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/xplor2gmx.pl  DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
-
index 3bd1674d6d389cbf27a470982e17cf550392014b..a7a1a0c22b7ccd4575535055d435bc079d16b333 100644 (file)
@@ -72,13 +72,19 @@ unset old_IFS
 # and this shell supports extended globbing
 if test -n "${BASH_VERSION+set}" && (complete) > /dev/null 2>&1; then
   if (shopt -s extglob) > /dev/null 2>&1; then
-    if [ -f $GMXBIN/completion.bash ]; then
-      source $GMXBIN/completion.bash; 
+    if [ -f $GMXBIN/gmx-completion.bash ]; then
+      source $GMXBIN/gmx-completion.bash
+      for cfile in $GMXBIN/gmx-completion-*.bash ; do
+        source $cfile
+      done
     fi
   fi
 # read zsh completions if understand how to use them
-elif test -n "${ZSH_VERSION+set}" && compctl >& /dev/null; then
-  if [ -f $GMXBIN/completion.zsh ]; then
-    source $GMXBIN/completion.zsh; 
-  fi
+# Currently disabled, since the completions don't work with the new
+# gmx binary with subcommands.
+# Contributions to get the functionality back are welcome.
+#elif test -n "${ZSH_VERSION+set}" && compctl >& /dev/null; then
+#  if [ -f $GMXBIN/gmx-completion.zsh ]; then
+#    source $GMXBIN/gmx-completion.zsh;
+#  fi
 fi
index 47cfd69ac8b559329ca61edad72cef27a53c0117..d4e58d3323ed7d49b513feeb8826774013a29030 100644 (file)
@@ -90,14 +90,9 @@ setenv MANPATH ${GMXMAN}:${MANPATH}
 setenv GMXFONT 10x20
 
 # Read completions if we understand it (i.e. have tcsh)
-if { complete >& /dev/null } then
-  if ( -f $GMXBIN/completion.csh ) source $GMXBIN/completion.csh
-endif
-
-
-
-
-
-
-
-
+# Currently disabled, since the completions don't work with the new
+# gmx binary with subcommands.
+# Contributions to get the functionality back are welcome.
+#if { complete >& /dev/null } then
+#  if ( -f $GMXBIN/completion.csh ) source $GMXBIN/completion.csh
+#endif
diff --git a/scripts/completion.bash b/scripts/completion.bash
deleted file mode 100644 (file)
index e0b9229..0000000
+++ /dev/null
@@ -1,1712 +0,0 @@
-shopt -s extglob
-_do_dssp_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -ssdump -map -o -sc -a -ta -aa -h -version -nice -b -e -dt -tu -w -xvg -sss -ver' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ssdump) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--map) COMPREPLY=( $(compgen -X '!*.map*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ta) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--aa) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _do_dssp_compl do_dssp
-shopt -s extglob
-_editconf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -o -mead -bf -h -version -nice -w -ndef -bt -box -angles -d -c -center -aligncenter -align -translate -rotate -princ -scale -density -pbc -resnr -grasp -rvdw -sig56 -vdwread -atom -legend -label -conect' -- $c)); return 0; fi
-case "$p" in
--bt) COMPREPLY=( $(compgen -W ' triclinic cubic dodecahedron octahedron ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mead) COMPREPLY=( $(compgen -X '!*.pqr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bf) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _editconf_compl editconf
-shopt -s extglob
-_eneconv_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -h -version -nice -b -e -dt -offset -settime -nosort -rmdh -scalefac -noerror' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _eneconv_compl eneconv
-shopt -s extglob
-_g_anadock_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -ox -od -of -g -h -version -nice -xvg -free -norms -cutoff' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ox) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_anadock_compl g_anadock
-shopt -s extglob
-_g_anaeig_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -v -v2 -f -s -n -eig -eig2 -comp -rmsf -proj -2d -3d -filt -extr -over -inpr -h -version -nice -b -e -dt -tu -w -xvg -first -last -skip -max -nframes -split -entropy -temp -nevskip' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--v) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--v2) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eig) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eig2) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--comp) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rmsf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--proj) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--2d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--3d) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--filt) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--extr) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--over) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--inpr) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_anaeig_compl g_anaeig
-shopt -s extglob
-_g_analyze_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -ac -msd -cc -dist -av -ee -bal -g -h -version -nice -w -xvg -notime -b -e -n -d -bw -errbar -integrate -aver_start -xydy -regression -luzar -temp -fitstart -fitend -smooth -filter -power -nosubav -oneacf -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--errbar) COMPREPLY=( $(compgen -W ' none stddev error 90 ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ac) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--msd) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--av) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ee) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bal) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_analyze_compl g_analyze
-shopt -s extglob
-_g_angle_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -od -ov -of -ot -oh -oc -or -h -version -nice -b -e -dt -w -xvg -type -all -binwidth -noperiodic -chandler -avercorr -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--type) COMPREPLY=( $(compgen -W ' angle dihedral improper ryckaert-bellemans ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ov) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oh) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.trr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_angle_compl g_angle
-shopt -s extglob
-_g_bar_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -g -o -oi -oh -h -version -nice -w -xvg -b -e -temp -prec -nbmin -nbmax -nbin -extp' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oi) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oh) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_bar_compl g_bar
-shopt -s extglob
-_g_bond_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -s -o -l -d -h -version -nice -b -e -dt -w -xvg -blen -tol -noaver -noaverdist' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--l) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_bond_compl g_bond
-shopt -s extglob
-_g_bundle_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -ol -od -oz -ot -otr -otl -ok -okr -okl -oa -h -version -nice -b -e -dt -tu -xvg -na -z' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ol) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oz) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--otr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--otl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ok) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--okr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--okl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oa) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_bundle_compl g_bundle
-shopt -s extglob
-_g_chi_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -o -p -ss -jc -corr -g -ot -oh -rt -cp -h -version -nice -b -e -dt -w -xvg -r0 -phi -psi -omega -rama -viol -noperiodic -all -rad -shift -binwidth -core_rotamer -maxchi -nonormhisto -ramomega -bfact -chi_prod -HChi -bmax -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--maxchi) COMPREPLY=( $(compgen -W ' 0 1 2 3 4 5 6 ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ss) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--jc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--corr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oh) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rt) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cp) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_chi_compl g_chi
-shopt -s extglob
-_g_cluster_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -dm -o -g -dist -ev -sz -tr -ntr -clid -cl -h -version -nice -b -e -dt -tu -w -xvg -dista -nlevels -cutoff -nofit -max -skip -av -wcl -nst -rmsmin -method -minstruct -binary -M -P -seed -niter -kT -nopbc' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--method) COMPREPLY=( $(compgen -W ' linkage jarvis-patrick monte-carlo diagonalization gromos ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dm) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ev) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sz) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tr) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ntr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--clid) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cl) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_cluster_compl g_cluster
-shopt -s extglob
-_g_clustsize_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -ow -nc -mc -ac -hc -temp -mcn -h -version -nice -b -e -dt -tu -w -xvg -cut -mol -nopbc -nskip -nlevels -ndf -rgblo -rgbhi' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.tpr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ow) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ac) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--temp) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mcn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_clustsize_compl g_clustsize
-shopt -s extglob
-_g_confrms_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f1 -f2 -o -n1 -n2 -no -h -version -nice -w -one -nomw -pbc -nofit -name -label -bfac' -- $c)); return 0; fi
-case "$p" in
--f1) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n1) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n2) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--no) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_confrms_compl g_confrms
-shopt -s extglob
-_g_covar_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -v -av -l -ascii -xpm -xpma -h -version -nice -b -e -dt -tu -xvg -nofit -ref -mwa -last -nopbc' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--v) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--av) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--l) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ascii) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--xpm) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--xpma) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_covar_compl g_covar
-shopt -s extglob
-_g_current_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -n -f -o -caf -dsp -md -mj -mc -h -version -nice -b -e -dt -w -xvg -sh -nonojump -eps -bfit -efit -bvit -evit -tr -temp' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--caf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dsp) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--md) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mj) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_current_compl g_current
-shopt -s extglob
-_g_density_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -s -ei -o -h -version -nice -b -e -dt -w -xvg -d -sl -dens -ng -symm -center' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--dens) COMPREPLY=( $(compgen -W ' mass number charge electron ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ei) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_density_compl g_density
-shopt -s extglob
-_g_densmap_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -od -o -h -version -nice -b -e -dt -w -bin -aver -xmin -xmax -n1 -n2 -amax -rmax -mirror -sums -unit -dmin -dmax' -- $c)); return 0; fi
-case "$p" in
--aver) COMPREPLY=( $(compgen -W ' z y x ' -- $c ));;
--unit) COMPREPLY=( $(compgen -W ' nm-3 nm-2 count ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_densmap_compl g_densmap
-shopt -s extglob
-_g_densorder_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -o -or -og -Spect -h -version -nice -b -e -dt -w -1d -bw -bwn -order -axis -method -d1 -d2 -tblock -nlevel' -- $c)); return 0; fi
-case "$p" in
--method) COMPREPLY=( $(compgen -W ' bisect functional ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--og) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Spect) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_densorder_compl g_densorder
-shopt -s extglob
-_g_dielectric_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -d -o -c -h -version -nice -b -e -dt -w -xvg -fft -nox1 -eint -bfit -efit -tail -A -tau1 -tau2 -eps0 -epsRF -fix -ffn -nsmooth' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--ffn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dielectric_compl g_dielectric
-shopt -s extglob
-_g_dipoles_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -en -f -s -n -o -eps -a -d -c -g -adip -dip3d -cos -cmap -q -slab -h -version -nice -b -e -dt -w -xvg -mu -mumax -epsilonRF -skip -temp -corr -nopairs -ncos -axis -sl -gkratom -gkratom2 -rcmax -phi -nlevels -ndegrees -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--corr) COMPREPLY=( $(compgen -W ' none mol molsep total ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--en) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eps) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--adip) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dip3d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cos) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cmap) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--q) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--slab) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dipoles_compl g_dipoles
-shopt -s extglob
-_g_disre_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -ds -da -dn -dm -dr -l -n -q -c -x -h -version -nice -b -e -dt -w -xvg -ntop -maxdr -nlevels -nothird' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ds) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--da) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dn) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dm) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--l) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--q) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--x) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_disre_compl g_disre
-shopt -s extglob
-_g_dist_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -lt -h -version -nice -b -e -dt -xvg -intra -dist' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--lt) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dist_compl g_dist
-shopt -s extglob
-_g_dos_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -vacf -mvacf -dos -g -h -version -nice -b -e -dt -w -xvg -nov -recip -abs -normdos -T -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--vacf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mvacf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dos) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dos_compl g_dos
-shopt -s extglob
-_g_dyecoupl_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -ot -oe -o -rhist -khist -h -version -nice -b -e -tu -w -xvg -pbcdist -norm -bins -R0' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oe) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rhist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--khist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dyecoupl_compl g_dyecoupl
-shopt -s extglob
-_g_dyndom_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -n -h -version -nice -firstangle -lastangle -nframe -maxangle -trans -head -tail' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_dyndom_compl g_dyndom
-shopt -s extglob
-_genbox_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -cp -cs -ci -o -p -h -version -nice -box -nmol -try -seed -vdwd -shell -maxsol -vel' -- $c)); return 0; fi
-case "$p" in
--cp) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cs) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ci) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _genbox_compl genbox
-shopt -s extglob
-_genconf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -trj -h -version -nice -nbox -dist -seed -rot -shuffle -sort -block -nmolat -maxrot -norenumber' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--trj) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _genconf_compl genconf
-shopt -s extglob
-_g_enemat_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -groups -eref -emat -etot -h -version -nice -b -e -dt -w -xvg -sum -skip -nomean -nlevels -max -min -nocoulsr -coullr -coul14 -noljsr -ljlr -lj14 -bhamsr -bhamlr -nofree -temp' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--groups) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eref) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--emat) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--etot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_enemat_compl g_enemat
-shopt -s extglob
-_g_energy_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -f2 -s -o -viol -pairs -ora -ort -oda -odr -odt -oten -corr -vis -ravg -odh -h -version -nice -b -e -w -xvg -fee -fetemp -zero -sum -dp -nbmin -nbmax -mutot -skip -aver -nmol -fluct_props -driftcorr -fluc -orinst -ovec -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--viol) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pairs) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ora) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ort) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oda) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--odr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--odt) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oten) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--corr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--vis) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ravg) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--odh) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_energy_compl g_energy
-shopt -s extglob
-_genion_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -table -n -o -g -pot -p -h -version -nice -xvg -np -pname -pq -nn -nname -nq -rmin -norandom -seed -scale -conc -neutral' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--table) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pot) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _genion_compl genion
-shopt -s extglob
-_genrestr_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -o -of -h -version -nice -fc -freeze -disre -disre_dist -disre_frac -disre_up2 -cutoff -constr' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.itp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _genrestr_compl genrestr
-shopt -s extglob
-_g_filter_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -ol -oh -h -version -nice -b -e -dt -w -nf -all -nonojump -fit' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ol) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oh) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_filter_compl g_filter
-shopt -s extglob
-_g_gyrate_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -acf -h -version -nice -b -e -dt -w -xvg -nmol -q -p -moi -nz -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--acf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_gyrate_compl g_gyrate
-shopt -s extglob
-_g_h2order_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -nm -s -o -h -version -nice -b -e -dt -w -xvg -d -sl' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nm) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_h2order_compl g_h2order
-shopt -s extglob
-_g_hbond_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -num -g -ac -dist -ang -hx -hbn -hbm -don -dan -life -nhbdist -h -version -nice -b -e -dt -tu -xvg -a -r -noda -r2 -abin -rbin -nonitacc -contact -shell -fitstart -fitstart -temp -smooth -dump -max_hb -nomerge -geminate -diff -nthreads -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--geminate) COMPREPLY=( $(compgen -W ' none dd ad aa a4 ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--num) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ac) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ang) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hx) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hbn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hbm) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--don) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dan) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--life) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nhbdist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_hbond_compl g_hbond
-shopt -s extglob
-_g_helix_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -n -f -to -cz -co -h -version -nice -b -e -dt -w -r0 -q -noF -db -prop -ev -ahxstart -ahxend' -- $c)); return 0; fi
-case "$p" in
--prop) COMPREPLY=( $(compgen -W ' RAD TWIST RISE LEN NHX DIP RMS CPHI RMSA PHI PSI HB3 HB4 HB5 CD222 ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--to) COMPREPLY=( $(compgen -X '!*.g87*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cz) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--co) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_helix_compl g_helix
-shopt -s extglob
-_g_helixorient_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -oaxis -ocenter -orise -oradius -otwist -obending -otilt -orot -h -version -nice -b -e -dt -xvg -sidechain -incremental' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oaxis) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ocenter) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--orise) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oradius) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--otwist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--obending) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--otilt) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--orot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_helixorient_compl g_helixorient
-shopt -s extglob
-_g_hydorder_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -s -o -or -Spect -h -version -nice -b -e -dt -w -d -bw -sgang1 -sgang2 -tblock -nlevel' -- $c)); return 0; fi
-case "$p" in
--d) COMPREPLY=( $(compgen -W ' z x y ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Spect) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_hydorder_compl g_hydorder
-shopt -s extglob
-_g_kinetics_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -d -d2 -o -o2 -o3 -ee -g -m -h -version -nice -tu -w -xvg -notime -b -e -bfit -efit -T -n -cut -ucut -euf -efu -ei -maxiter -noback -tol -skip -nosplit -nosum -nodiscrete -mult' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d2) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o2) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o3) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ee) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--m) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_kinetics_compl g_kinetics
-shopt -s extglob
-_g_lie_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -h -version -nice -b -e -dt -w -xvg -Elj -Eqq -Clj -Cqq -ligand' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_lie_compl g_lie
-shopt -s extglob
-_g_mdmat_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -mean -frames -no -h -version -nice -b -e -dt -xvg -t -nlevels' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mean) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--frames) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--no) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_mdmat_compl g_mdmat
-shopt -s extglob
-_g_membed_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -p -o -x -c -e -dat -h -version -nice -xyinit -xyend -zinit -zend -nxy -nz -rad -pieces -asymmetry -ndiff -maxwarn -start -v -mdrun_path' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--x) COMPREPLY=( $(compgen -X '!*.xtc*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dat) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_membed_compl g_membed
-shopt -s extglob
-_g_mindist_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -od -on -o -ox -or -h -version -nice -b -e -dt -tu -w -xvg -matrix -max -d -group -pi -split -ng -nopbc -respertime -printresname' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--on) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ox) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_mindist_compl g_mindist
-shopt -s extglob
-_g_morph_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f1 -f2 -o -or -n -h -version -nice -w -xvg -ninterm -first -last -nofit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f1) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_morph_compl g_morph
-shopt -s extglob
-_g_msd_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -mol -pdb -h -version -nice -b -e -tu -w -xvg -type -lateral -ten -ngroup -nomw -rmcomm -tpdb -trestart -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--type) COMPREPLY=( $(compgen -W ' no x y z ' -- $c ));;
--lateral) COMPREPLY=( $(compgen -W ' no x y z ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mol) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pdb) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_msd_compl g_msd
-shopt -s extglob
-_gmxcheck_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -f2 -s1 -s2 -c -e -e2 -n -m -h -version -nice -vdwfac -bonlo -bonhi -rmsd -tol -abstol -ab -lastener' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s1) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s2) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e2) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--m) COMPREPLY=( $(compgen -X '!*.tex*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _gmxcheck_compl gmxcheck
-shopt -s extglob
-_gmxdump_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -e -cp -p -mtx -om -h -version -nice -nonr -sys' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cp) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mtx) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--om) COMPREPLY=( $(compgen -X '!*.mdp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _gmxdump_compl gmxdump
-shopt -s extglob
-_g_nmeig_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -of -ol -os -qc -v -h -version -nice -xvg -nom -first -last -maxspec -T -constr -width' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ol) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--os) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--qc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--v) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_nmeig_compl g_nmeig
-shopt -s extglob
-_g_nmens_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -v -e -s -n -o -h -version -nice -xvg -temp -seed -num -first -last' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--v) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_nmens_compl g_nmens
-shopt -s extglob
-_g_nmtraj_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -v -o -h -version -nice -eignr -phases -temp -amplitude -nframes' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--v) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_nmtraj_compl g_nmtraj
-shopt -s extglob
-_g_options_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -h -version -nice' -- $c)); return 0; fi
-case "$p" in
-esac }
-complete -F _g_options_compl g_options
-shopt -s extglob
-_g_order_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -nr -s -o -od -ob -os -Sg -Sk -Sgsl -Sksl -h -version -nice -b -e -dt -w -xvg -d -sl -szonly -unsat -permolecule -radial -calcdist' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--d) COMPREPLY=( $(compgen -W ' z x y ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nr) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ob) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--os) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Sg) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Sk) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Sgsl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--Sksl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_order_compl g_order
-shopt -s extglob
-_g_pme_error_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -o -so -h -version -nice -beta -tune -self -seed -v' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--so) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_pme_error_compl g_pme_error
-shopt -s extglob
-_g_polystat_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -o -v -p -i -h -version -nice -b -e -dt -tu -w -xvg -nomw -pc' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--v) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--i) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_polystat_compl g_polystat
-shopt -s extglob
-_g_potential_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -s -o -oc -of -h -version -nice -b -e -dt -w -xvg -d -sl -cb -ce -tz -spherical -ng -correct' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_potential_compl g_potential
-shopt -s extglob
-_g_principal_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -a1 -a2 -a3 -om -h -version -nice -b -e -dt -tu -w -foo' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a1) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a2) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a3) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--om) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_principal_compl g_principal
-shopt -s extglob
-_g_protonate_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -o -h -version -nice -b -e -dt' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_protonate_compl g_protonate
-shopt -s extglob
-_g_rama_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -o -h -version -nice -b -e -dt -w -xvg' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rama_compl g_rama
-shopt -s extglob
-_g_rdf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -d -o -sq -cn -hq -h -version -nice -b -e -dt -w -xvg -bin -com -surf -rdf -nopbc -nonorm -xy -cut -ng -fade -nlevel -startq -endq -energy' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--surf) COMPREPLY=( $(compgen -W ' no mol res ' -- $c ));;
--rdf) COMPREPLY=( $(compgen -W ' atom mol_com mol_cog res_com res_cog ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sq) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cn) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hq) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rdf_compl g_rdf
-shopt -s extglob
-_g_rms_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -f2 -n -o -mir -a -dist -m -bin -bm -h -version -nice -b -e -dt -tu -w -xvg -what -nopbc -fit -prev -split -skip -skip2 -max -min -bmax -bmin -nomw -nlevels -ng' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--what) COMPREPLY=( $(compgen -W ' rmsd rho rhosc ' -- $c ));;
--fit) COMPREPLY=( $(compgen -W ' rot+trans translation none ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mir) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--a) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--m) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bin) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bm) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rms_compl g_rms
-shopt -s extglob
-_g_rmsdist_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -equiv -o -rms -scl -mean -nmr3 -nmr6 -noe -h -version -nice -b -e -dt -w -xvg -nlevels -max -nosumh -nopbc' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--equiv) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rms) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--scl) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mean) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nmr3) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nmr6) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--noe) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rmsdist_compl g_rmsdist
-shopt -s extglob
-_g_rmsf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -q -oq -ox -o -od -oc -dir -h -version -nice -b -e -dt -w -xvg -res -aniso -nofit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--q) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oq) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ox) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dir) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rmsf_compl g_rmsf
-shopt -s extglob
-_grompp_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -po -c -r -rb -n -p -pp -o -t -e -ref -h -version -nice -v -time -normvsbds -maxwarn -zero -norenum' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.mdp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--po) COMPREPLY=( $(compgen -X '!*.mdp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--r) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rb) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pp) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--t) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ref) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _grompp_compl grompp
-shopt -s extglob
-_g_rotacf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -h -version -nice -b -e -dt -w -xvg -d -noaver -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rotacf_compl g_rotacf
-shopt -s extglob
-_g_rotmat_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -h -version -nice -b -e -dt -w -xvg -ref -skip -fitxy -nomw' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--ref) COMPREPLY=( $(compgen -W ' none xyz xy ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_rotmat_compl g_rotmat
-shopt -s extglob
-_g_saltbr_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -h -version -nice -b -e -dt -t -sep' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_saltbr_compl g_saltbr
-shopt -s extglob
-_g_sans_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -d -pr -sq -prframe -sqframe -h -version -nice -b -e -dt -tu -xvg -mode -mcover -nopbc -startq -endq -qstep -seed -nt' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--mode) COMPREPLY=( $(compgen -W ' direct mc ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--d) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sq) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--prframe) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sqframe) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sans_compl g_sans
-shopt -s extglob
-_g_sas_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -o -or -oa -tv -q -n -i -h -version -nice -b -e -dt -w -xvg -probe -ndots -qmax -f_index -minarea -nopbc -noprot -dgs' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oa) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tv) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--q) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--i) COMPREPLY=( $(compgen -X '!*.itp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sas_compl g_sas
-shopt -s extglob
-_g_select_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -sf -n -os -oc -oi -om -on -h -version -nice -b -e -dt -xvg -normpbc -nopbc -select -selrpos -seltype -dump -norm -cfnorm -resnr' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--selrpos) COMPREPLY=( $(compgen -W ' atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog ' -- $c ));;
--seltype) COMPREPLY=( $(compgen -W ' atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog ' -- $c ));;
--resnr) COMPREPLY=( $(compgen -W ' number index ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sf) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--os) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oi) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--om) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--on) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_select_compl g_select
-shopt -s extglob
-_g_sgangle_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -s -oa -od -od1 -od2 -h -version -nice -b -e -dt -w -xvg -one -z' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oa) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od1) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--od2) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sgangle_compl g_sgangle
-shopt -s extglob
-_g_sham_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -ge -ene -dist -histo -bin -lp -ls -lsh -lss -map -ls3 -mdata -g -h -version -nice -w -xvg -notime -b -e -ttol -n -d -bw -nosham -tsham -pmin -dim -ngrid -xmin -xmax -pmax -gmax -emin -emax -nlevels -mname' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ge) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ene) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--histo) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bin) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--lp) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ls) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--lsh) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--lss) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--map) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ls3) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mdata) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sham_compl g_sham
-shopt -s extglob
-_g_sigeps_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -o -h -version -nice -w -xvg -c6 -cn -pow -sig -eps -A -B -C -qi -qj -sigfac' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sigeps_compl g_sigeps
-shopt -s extglob
-_g_sorient_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -no -ro -co -rc -h -version -nice -b -e -dt -w -xvg -com -v23 -rmin -rmax -cbin -rbin -pbc' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--no) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ro) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--co) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_sorient_compl g_sorient
-shopt -s extglob
-_g_spatial_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -n -h -version -nice -b -e -dt -w -pbc -nodiv -ign -bin -nab' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_spatial_compl g_spatial
-shopt -s extglob
-_g_spol_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -h -version -nice -b -e -dt -w -xvg -com -refat -rmin -rmax -dip -bw' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_spol_compl g_spol
-shopt -s extglob
-_g_tcaf_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -ot -oa -o -of -oc -ov -h -version -nice -b -e -dt -w -xvg -mol -k34 -wt -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oa) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oc) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ov) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_tcaf_compl g_tcaf
-shopt -s extglob
-_g_traj_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -ox -oxt -ov -of -ob -ot -ekt -ekr -vd -cv -cf -av -af -h -version -nice -b -e -dt -tu -w -xvg -com -nopbc -mol -nojump -nox -noy -noz -ng -len -fp -bin -ctime -scale' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ox) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oxt) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ov) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--of) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ob) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ekt) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ekr) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--vd) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cv) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cf) COMPREPLY=( $(compgen -X '!*.pdb*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--av) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--af) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_traj_compl g_traj
-shopt -s extglob
-_g_tune_pme_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -p -err -so -s -o -x -cpi -cpo -c -e -g -dhdl -field -table -tabletf -tablep -tableb -rerun -tpi -tpid -ei -eo -j -jo -ffout -devout -runav -px -pf -ro -ra -rs -rt -mtx -dn -bo -bx -bcpo -bc -be -bg -beo -bdhdl -bfield -btpi -btpid -bjo -bffout -bdevout -brunav -bpx -bpf -bro -bra -brs -brt -bmtx -bdn -h -version -nice -xvg -np -npstring -ntmpi -r -max -min -npme -fix -rmax -rmin -noscalevdw -ntpr -steps -resetstep -simsteps -launch -nobench -noappend -cpnum' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--npstring) COMPREPLY=( $(compgen -W ' -np -n none ' -- $c ));;
--npme) COMPREPLY=( $(compgen -W ' auto all subset ' -- $c ));;
--p) COMPREPLY=( $(compgen -X '!*.out*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--err) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--so) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--x) COMPREPLY=( $(compgen -X '!*.xtc*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpi) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpo) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dhdl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--field) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--table) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tabletf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tablep) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tableb) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rerun) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpi) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpid) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ei) COMPREPLY=( $(compgen -X '!*.edi*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eo) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--j) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--jo) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ffout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--devout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--runav) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--px) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ro) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ra) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rs) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rt) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mtx) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bo) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bx) COMPREPLY=( $(compgen -X '!*.xtc*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bcpo) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bc) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--be) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bg) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--beo) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bdhdl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bfield) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--btpi) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--btpid) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bjo) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bffout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bdevout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--brunav) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bpx) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bpf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bro) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bra) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--brs) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--brt) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bmtx) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bdn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_tune_pme_compl g_tune_pme
-shopt -s extglob
-_g_vanhove_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -om -or -ot -h -version -nice -b -e -dt -w -xvg -sqrt -fm -rmax -rbin -mmax -nlevels -nr -fr -rt -ft' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--om) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--or) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ot) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_vanhove_compl g_vanhove
-shopt -s extglob
-_g_velacc_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -os -h -version -nice -b -e -dt -w -xvg -m -norecip -mol -acflen -nonormalize -P -fitfn -ncskip -beginfit -endfit' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--P) COMPREPLY=( $(compgen -W ' 0 1 2 3 ' -- $c ));;
--fitfn) COMPREPLY=( $(compgen -W ' none exp aexp exp_exp vac exp5 exp7 exp9 erffit ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--os) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_velacc_compl g_velacc
-shopt -s extglob
-_g_wham_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -ix -if -it -ip -o -hist -oiact -iiact -bsres -bsprof -tab -h -version -nice -xvg -min -max -noauto -bins -temp -tol -v -b -e -dt -histonly -boundsonly -nolog -unit -zprof0 -cycl -sym -ac -acsig -ac-trestart -nBootstrap -bs-method -bs-tau -bs-seed -histbs-block -vbs' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--unit) COMPREPLY=( $(compgen -W ' kJ kCal kT ' -- $c ));;
--bs-method) COMPREPLY=( $(compgen -W ' b-hist hist traj traj-gauss ' -- $c ));;
--ix) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--if) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--it) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ip) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--hist) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--oiact) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--iiact) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bsres) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--bsprof) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tab) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_wham_compl g_wham
-shopt -s extglob
-_g_wheel_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -h -version -nice -r0 -rot0 -T -nonn' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.eps*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_wheel_compl g_wheel
-shopt -s extglob
-_g_x2top_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -r -h -version -nice -ff -v -nexcl -noH14 -alldih -remdih -nopairs -name -nopbc -pdbq -noparam -noround -kb -kt -kp' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--r) COMPREPLY=( $(compgen -X '!*.rtp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_x2top_compl g_x2top
-shopt -s extglob
-_g_xrama_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -h -version -nice -b -e -dt' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _g_xrama_compl g_xrama
-shopt -s extglob
-_make_edi_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -eig -s -n -tar -ori -o -h -version -nice -xvg -mon -linfix -linacc -radfix -radacc -radcon -flood -outfrq -slope -linstep -accdir -radstep -maxedsteps -eqsteps -deltaF0 -deltaF -tau -Eflnull -T -alpha -restrain -hessian -harmonic -constF' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eig) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tar) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ori) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.edi*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _make_edi_compl make_edi
-shopt -s extglob
-_make_ndx_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -n -o -h -version -nice -natoms' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _make_ndx_compl make_ndx
-shopt -s extglob
-_mdrun_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -o -x -cpi -cpo -c -e -g -dhdl -field -table -tabletf -tablep -tableb -rerun -tpi -tpid -ei -eo -j -jo -ffout -devout -runav -px -pf -ro -ra -rs -rt -mtx -dn -multidir -membed -mp -mn -h -version -nice -deffnm -xvg -pd -dd -ddorder -npme -nt -ntmpi -ntomp -ntomp_pme -pin -pinoffset -pinstride -gpu_id -noddcheck -rdd -rcon -dlb -dds -gcom -nb -notunepme -testverlet -v -nocompact -seppot -pforce -reprod -cpt -cpnum -noappend -nsteps -maxh -multi -replex -nex -reseed -ionize' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--ddorder) COMPREPLY=( $(compgen -W ' interleave pp_pme cartesian ' -- $c ));;
--pin) COMPREPLY=( $(compgen -W ' auto on off ' -- $c ));;
--dlb) COMPREPLY=( $(compgen -W ' auto no yes ' -- $c ));;
--nb) COMPREPLY=( $(compgen -W ' auto cpu gpu gpu_cpu ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--x) COMPREPLY=( $(compgen -X '!*.xtc*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpi) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpo) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dhdl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--field) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--table) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tabletf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tablep) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tableb) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rerun) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpi) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpid) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ei) COMPREPLY=( $(compgen -X '!*.edi*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eo) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--j) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--jo) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ffout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--devout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--runav) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--px) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ro) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ra) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rs) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rt) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mtx) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--multidir) COMPREPLY=( $(compgen -X '!*.*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--membed) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mp) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _mdrun_compl mdrun
-shopt -s extglob
-_mdrun_mpi_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -o -x -cpi -cpo -c -e -g -dhdl -field -table -tabletf -tablep -tableb -rerun -tpi -tpid -ei -eo -j -jo -ffout -devout -runav -px -pf -ro -ra -rs -rt -mtx -dn -multidir -membed -mp -mn -h -version -nice -deffnm -xvg -pd -dd -ddorder -npme -nt -ntmpi -ntomp -ntomp_pme -pin -pinoffset -pinstride -gpu_id -noddcheck -rdd -rcon -dlb -dds -gcom -nb -notunepme -testverlet -v -nocompact -seppot -pforce -reprod -cpt -cpnum -noappend -nsteps -maxh -multi -replex -nex -reseed -ionize' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--ddorder) COMPREPLY=( $(compgen -W ' interleave pp_pme cartesian ' -- $c ));;
--pin) COMPREPLY=( $(compgen -W ' auto on off ' -- $c ));;
--dlb) COMPREPLY=( $(compgen -W ' auto no yes ' -- $c ));;
--nb) COMPREPLY=( $(compgen -W ' auto cpu gpu gpu_cpu ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--x) COMPREPLY=( $(compgen -X '!*.xtc*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpi) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--cpo) COMPREPLY=( $(compgen -X '!*.cpt*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--c) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--g) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dhdl) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--field) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--table) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tabletf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tablep) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tableb) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rerun) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpi) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--tpid) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ei) COMPREPLY=( $(compgen -X '!*.edi*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--eo) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--j) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--jo) COMPREPLY=( $(compgen -X '!*.gct*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ffout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--devout) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--runav) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--px) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--pf) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ro) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--ra) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rs) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--rt) COMPREPLY=( $(compgen -X '!*.log*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mtx) COMPREPLY=( $(compgen -X '!*.mtx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--dn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--multidir) COMPREPLY=( $(compgen -X '!*.line_buf*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--membed) COMPREPLY=( $(compgen -X '!*.dat*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mp) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--mn) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _mdrun_mpi_compl mdrun_mpi
-shopt -s extglob
-_mk_angndx_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -n -h -version -nice -type -nohyd -hq' -- $c)); return 0; fi
-case "$p" in
--type) COMPREPLY=( $(compgen -W ' angle dihedral improper ryckaert-bellemans ' -- $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _mk_angndx_compl mk_angndx
-shopt -s extglob
-_ngmx_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -h -version -nice -b -e -dt' -- $c)); return 0; fi
-case "$p" in
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _ngmx_compl ngmx
-shopt -s extglob
-_pdb2gmx_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -p -i -n -q -h -version -nice -chainsep -merge -ff -water -inter -ss -ter -lys -arg -asp -glu -gln -his -angle -dist -una -ignh -missing -v -posrefc -vsite -heavyh -deuterate -nochargegrp -nocmap -renum -rtpres' -- $c)); return 0; fi
-case "$p" in
--chainsep) COMPREPLY=( $(compgen -W ' id_or_ter id_and_ter ter id interactive ' -- $c ));;
--merge) COMPREPLY=( $(compgen -W ' no all interactive ' -- $c ));;
--water) COMPREPLY=( $(compgen -W ' select none spc spce tip3p tip4p tip5p ' -- $c ));;
--vsite) COMPREPLY=( $(compgen -W ' none hydrogens aromatics ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--p) COMPREPLY=( $(compgen -X '!*.top*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--i) COMPREPLY=( $(compgen -X '!*.itp*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--q) COMPREPLY=( $(compgen -X '!*.+(gro|g96|pdb|brk|ent|esp|xyz)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _pdb2gmx_compl pdb2gmx
-shopt -s extglob
-_tpbconv_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -s -f -e -n -o -h -version -nice -extend -until -nsteps -time -zeroq -novel -nocont -init_fep_state' -- $c)); return 0; fi
-case "$p" in
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(trr|cpt|trj)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--e) COMPREPLY=( $(compgen -X '!*.edr*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _tpbconv_compl tpbconv
-shopt -s extglob
-_trjcat_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -n -demux -h -version -nice -tu -xvg -b -e -dt -prec -novel -settime -nosort -keeplast -overwrite -cat' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--demux) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _trjcat_compl trjcat
-shopt -s extglob
-_trjconv_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -o -s -n -fr -sub -drop -h -version -nice -b -e -tu -w -xvg -skip -dt -round -dump -t0 -timestep -pbc -ur -center -boxcenter -box -clustercenter -trans -shift -fit -ndec -novel -force -trunc -exec -app -split -sep -nzero -dropunder -dropover -conect' -- $c)); return 0; fi
-case "$p" in
--tu) COMPREPLY=( $(compgen -W ' fs ps ns us ms s ' -- $c ));;
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--pbc) COMPREPLY=( $(compgen -W ' none mol res atom nojump cluster whole ' -- $c ));;
--ur) COMPREPLY=( $(compgen -W ' rect tric compact ' -- $c ));;
--boxcenter) COMPREPLY=( $(compgen -W ' tric rect zero ' -- $c ));;
--fit) COMPREPLY=( $(compgen -W ' none rot+trans rotxy+transxy translation transxy progressive ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--fr) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--sub) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--drop) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _trjconv_compl trjconv
-shopt -s extglob
-_trjorder_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -s -n -o -nshell -h -version -nice -b -e -dt -xvg -na -da -com -r -z' -- $c)); return 0; fi
-case "$p" in
--xvg) COMPREPLY=( $(compgen -W ' xmgrace xmgr none ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|cpt|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--s) COMPREPLY=( $(compgen -X '!*.+(tpr|tpb|tpa|gro|g96|pdb|brk|ent)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--n) COMPREPLY=( $(compgen -X '!*.ndx*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.+(xtc|trr|trj|gro|g96|pdb|g87)*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--nshell) COMPREPLY=( $(compgen -X '!*.xvg*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _trjorder_compl trjorder
-shopt -s extglob
-_xpm2ps_compl() {
-local p c
-COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}
-if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W ' -f -f2 -di -do -o -xpm -h -version -nice -w -noframe -title -yonce -legend -diag -size -bx -by -rainbow -gradient -skip -zeroline -legoffset -combine -cmin -cmax' -- $c)); return 0; fi
-case "$p" in
--title) COMPREPLY=( $(compgen -W ' top once ylabel none ' -- $c ));;
--legend) COMPREPLY=( $(compgen -W ' both first second none ' -- $c ));;
--diag) COMPREPLY=( $(compgen -W ' first second none ' -- $c ));;
--rainbow) COMPREPLY=( $(compgen -W ' no blue red ' -- $c ));;
--combine) COMPREPLY=( $(compgen -W ' halves add sub mult div ' -- $c ));;
--f) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--f2) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--di) COMPREPLY=( $(compgen -X '!*.m2p*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--do) COMPREPLY=( $(compgen -X '!*.m2p*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--o) COMPREPLY=( $(compgen -X '!*.eps*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
--xpm) COMPREPLY=( $(compgen -X '!*.xpm*(.gz|.Z)' -f $c ; compgen -S '/' -X '.*' -d $c ));;
-esac }
-complete -F _xpm2ps_compl xpm2ps
diff --git a/scripts/completion.csh b/scripts/completion.csh
deleted file mode 100644 (file)
index c52ffd8..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-complete do_dssp "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ssdump/f:*.dat{,.gz,.Z}/" "n/-map/f:*.map{,.gz,.Z}/" "n/-o/f:*.xpm{,.gz,.Z}/" "n/-sc/f:*.xvg{,.gz,.Z}/" "n/-a/f:*.xpm{,.gz,.Z}/" "n/-ta/f:*.xvg{,.gz,.Z}/" "n/-aa/f:*.xvg{,.gz,.Z}/" "c/-/( f s n ssdump map o sc a ta aa h version nice b e dt tu w xvg sss ver)/"
-complete editconf "n/-bt/( triclinic cubic dodecahedron octahedron)/" "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-mead/f:*.pqr{,.gz,.Z}/" "n/-bf/f:*.dat{,.gz,.Z}/" "c/-/( f n o mead bf h version nice w ndef bt box angles d c center aligncenter align translate rotate princ scale density pbc resnr grasp rvdw sig56 vdwread atom legend label conect)/"
-complete eneconv "n/-f/f:*.edr{,.gz,.Z}/" "n/-o/f:*.edr{,.gz,.Z}/" "c/-/( f o h version nice b e dt offset settime nosort rmdh scalefac noerror)/"
-complete g_anadock "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.pdb{,.gz,.Z}/" "n/-ox/f:*.pdb{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "c/-/( f ox od of g h version nice xvg free norms cutoff)/"
-complete g_anaeig "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-v/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-v2/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-eig/f:*.xvg{,.gz,.Z}/" "n/-eig2/f:*.xvg{,.gz,.Z}/" "n/-comp/f:*.xvg{,.gz,.Z}/" "n/-rmsf/f:*.xvg{,.gz,.Z}/" "n/-proj/f:*.xvg{,.gz,.Z}/" "n/-2d/f:*.xvg{,.gz,.Z}/" "n/-3d/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-filt/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-extr/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-over/f:*.xvg{,.gz,.Z}/" "n/-inpr/f:*.xpm{,.gz,.Z}/" "c/-/( v v2 f s n eig eig2 comp rmsf proj 2d 3d filt extr over inpr h version nice b e dt tu w xvg first last skip max nframes split entropy temp nevskip)/"
-complete g_analyze "n/-xvg/( xmgrace xmgr none)/" "n/-errbar/( none stddev error 90)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.xvg{,.gz,.Z}/" "n/-ac/f:*.xvg{,.gz,.Z}/" "n/-msd/f:*.xvg{,.gz,.Z}/" "n/-cc/f:*.xvg{,.gz,.Z}/" "n/-dist/f:*.xvg{,.gz,.Z}/" "n/-av/f:*.xvg{,.gz,.Z}/" "n/-ee/f:*.xvg{,.gz,.Z}/" "n/-bal/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "c/-/( f ac msd cc dist av ee bal g h version nice w xvg notime b e n d bw errbar integrate aver_start xydy regression luzar temp fitstart fitend smooth filter power nosubav oneacf acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_angle "n/-xvg/( xmgrace xmgr none)/" "n/-type/( angle dihedral improper ryckaert-bellemans)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-ov/f:*.xvg{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-oh/f:*.xvg{,.gz,.Z}/" "n/-oc/f:*.xvg{,.gz,.Z}/" "n/-or/f:*.trr{,.gz,.Z}/" "c/-/( f n od ov of ot oh oc or h version nice b e dt w xvg type all binwidth noperiodic chandler avercorr acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_bar "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.edr{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-oi/f:*.xvg{,.gz,.Z}/" "n/-oh/f:*.xvg{,.gz,.Z}/" "c/-/( f g o oi oh h version nice w xvg b e temp prec nbmin nbmax nbin extp)/"
-complete g_bond "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-l/f:*.log{,.gz,.Z}/" "n/-d/f:*.xvg{,.gz,.Z}/" "c/-/( f n s o l d h version nice b e dt w xvg blen tol noaver noaverdist)/"
-complete g_bundle "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ol/f:*.xvg{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-oz/f:*.xvg{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-otr/f:*.xvg{,.gz,.Z}/" "n/-otl/f:*.xvg{,.gz,.Z}/" "n/-ok/f:*.xvg{,.gz,.Z}/" "n/-okr/f:*.xvg{,.gz,.Z}/" "n/-okl/f:*.xvg{,.gz,.Z}/" "n/-oa/f:*.pdb{,.gz,.Z}/" "c/-/( f s n ol od oz ot otr otl ok okr okl oa h version nice b e dt tu xvg na z)/"
-complete g_chi "n/-xvg/( xmgrace xmgr none)/" "n/-maxchi/( 0 1 2 3 4 5 6)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-s/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-p/f:*.pdb{,.gz,.Z}/" "n/-ss/f:*.dat{,.gz,.Z}/" "n/-jc/f:*.xvg{,.gz,.Z}/" "n/-corr/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-oh/f:*.xvg{,.gz,.Z}/" "n/-rt/f:*.xvg{,.gz,.Z}/" "n/-cp/f:*.xvg{,.gz,.Z}/" "c/-/( s f o p ss jc corr g ot oh rt cp h version nice b e dt w xvg r0 phi psi omega rama viol noperiodic all rad shift binwidth core_rotamer maxchi nonormhisto ramomega bfact chi_prod HChi bmax acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_cluster "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-method/( linkage jarvis-patrick monte-carlo diagonalization gromos)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-dm/f:*.xpm{,.gz,.Z}/" "n/-o/f:*.xpm{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-dist/f:*.xvg{,.gz,.Z}/" "n/-ev/f:*.xvg{,.gz,.Z}/" "n/-sz/f:*.xvg{,.gz,.Z}/" "n/-tr/f:*.xpm{,.gz,.Z}/" "n/-ntr/f:*.xvg{,.gz,.Z}/" "n/-clid/f:*.xvg{,.gz,.Z}/" "n/-cl/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( f s n dm o g dist ev sz tr ntr clid cl h version nice b e dt tu w xvg dista nlevels cutoff nofit max skip av wcl nst rmsmin method minstruct binary M P seed niter kT nopbc)/"
-complete g_clustsize "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.tpr{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xpm{,.gz,.Z}/" "n/-ow/f:*.xpm{,.gz,.Z}/" "n/-nc/f:*.xvg{,.gz,.Z}/" "n/-mc/f:*.xvg{,.gz,.Z}/" "n/-ac/f:*.xvg{,.gz,.Z}/" "n/-hc/f:*.xvg{,.gz,.Z}/" "n/-temp/f:*.xvg{,.gz,.Z}/" "n/-mcn/f:*.ndx{,.gz,.Z}/" "c/-/( f s n o ow nc mc ac hc temp mcn h version nice b e dt tu w xvg cut mol nopbc nskip nlevels ndf rgblo rgbhi)/"
-complete g_confrms "n/-f1/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-f2/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-n1/f:*.ndx{,.gz,.Z}/" "n/-n2/f:*.ndx{,.gz,.Z}/" "n/-no/f:*.ndx{,.gz,.Z}/" "c/-/( f1 f2 o n1 n2 no h version nice w one nomw pbc nofit name label bfac)/"
-complete g_covar "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-v/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-av/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-l/f:*.log{,.gz,.Z}/" "n/-ascii/f:*.dat{,.gz,.Z}/" "n/-xpm/f:*.xpm{,.gz,.Z}/" "n/-xpma/f:*.xpm{,.gz,.Z}/" "c/-/( f s n o v av l ascii xpm xpma h version nice b e dt tu xvg nofit ref mwa last nopbc)/"
-complete g_current "n/-xvg/( xmgrace xmgr none)/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-caf/f:*.xvg{,.gz,.Z}/" "n/-dsp/f:*.xvg{,.gz,.Z}/" "n/-md/f:*.xvg{,.gz,.Z}/" "n/-mj/f:*.xvg{,.gz,.Z}/" "n/-mc/f:*.xvg{,.gz,.Z}/" "c/-/( s n f o caf dsp md mj mc h version nice b e dt w xvg sh nonojump eps bfit efit bvit evit tr temp)/"
-complete g_density "n/-xvg/( xmgrace xmgr none)/" "n/-dens/( mass number charge electron)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-ei/f:*.dat{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f n s ei o h version nice b e dt w xvg d sl dens ng symm center)/"
-complete g_densmap "n/-aver/( z y x)/" "n/-unit/( nm-3 nm-2 count)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-od/f:*.dat{,.gz,.Z}/" "n/-o/f:*.xpm{,.gz,.Z}/" "c/-/( f s n od o h version nice b e dt w bin aver xmin xmax n1 n2 amax rmax mirror sums unit dmin dmax)/"
-complete g_densorder "n/-method/( bisect functional)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.dat{,.gz,.Z}/" "n/-or/f:*.out{,.gz,.Z}/" "n/-og/f:*.xpm{,.gz,.Z}/" "n/-Spect/f:*.out{,.gz,.Z}/" "c/-/( s f n o or og Spect h version nice b e dt w 1d bw bwn order axis method d1 d2 tblock nlevel)/"
-complete g_dielectric "n/-xvg/( xmgrace xmgr none)/" "n/-ffn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.xvg{,.gz,.Z}/" "n/-d/f:*.xvg{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-c/f:*.xvg{,.gz,.Z}/" "c/-/( f d o c h version nice b e dt w xvg fft nox1 eint bfit efit tail A tau1 tau2 eps0 epsRF fix ffn nsmooth)/"
-complete g_dipoles "n/-xvg/( xmgrace xmgr none)/" "n/-corr/( none mol molsep total)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-en/f:*.edr{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-eps/f:*.xvg{,.gz,.Z}/" "n/-a/f:*.xvg{,.gz,.Z}/" "n/-d/f:*.xvg{,.gz,.Z}/" "n/-c/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.xvg{,.gz,.Z}/" "n/-adip/f:*.xvg{,.gz,.Z}/" "n/-dip3d/f:*.xvg{,.gz,.Z}/" "n/-cos/f:*.xvg{,.gz,.Z}/" "n/-cmap/f:*.xpm{,.gz,.Z}/" "n/-q/f:*.xvg{,.gz,.Z}/" "n/-slab/f:*.xvg{,.gz,.Z}/" "c/-/( en f s n o eps a d c g adip dip3d cos cmap q slab h version nice b e dt w xvg mu mumax epsilonRF skip temp corr nopairs ncos axis sl gkratom gkratom2 rcmax phi nlevels ndegrees acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_disre "n/-xvg/( xmgrace xmgr none)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-ds/f:*.xvg{,.gz,.Z}/" "n/-da/f:*.xvg{,.gz,.Z}/" "n/-dn/f:*.xvg{,.gz,.Z}/" "n/-dm/f:*.xvg{,.gz,.Z}/" "n/-dr/f:*.xvg{,.gz,.Z}/" "n/-l/f:*.log{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-q/f:*.pdb{,.gz,.Z}/" "n/-c/f:*.ndx{,.gz,.Z}/" "n/-x/f:*.xpm{,.gz,.Z}/" "c/-/( s f ds da dn dm dr l n q c x h version nice b e dt w xvg ntop maxdr nlevels nothird)/"
-complete g_dist "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-lt/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o lt h version nice b e dt xvg intra dist)/"
-complete g_dos "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-vacf/f:*.xvg{,.gz,.Z}/" "n/-mvacf/f:*.xvg{,.gz,.Z}/" "n/-dos/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "c/-/( f s n vacf mvacf dos g h version nice b e dt w xvg nov recip abs normdos T acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_dyecoupl "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-oe/f:*.xvg{,.gz,.Z}/" "n/-o/f:*.dat{,.gz,.Z}/" "n/-rhist/f:*.xvg{,.gz,.Z}/" "n/-khist/f:*.xvg{,.gz,.Z}/" "c/-/( f n ot oe o rhist khist h version nice b e tu w xvg pbcdist norm bins R0)/"
-complete g_dyndom "n/-f/f:*.pdb{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "c/-/( f o n h version nice firstangle lastangle nframe maxangle trans head tail)/"
-complete genbox "n/-cp/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-cs/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-ci/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "c/-/( cp cs ci o p h version nice box nmol try seed vdwd shell maxsol vel)/"
-complete genconf "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-trj/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( f o trj h version nice nbox dist seed rot shuffle sort block nmolat maxrot norenumber)/"
-complete g_enemat "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.edr{,.gz,.Z}/" "n/-groups/f:*.dat{,.gz,.Z}/" "n/-eref/f:*.dat{,.gz,.Z}/" "n/-emat/f:*.xpm{,.gz,.Z}/" "n/-etot/f:*.xvg{,.gz,.Z}/" "c/-/( f groups eref emat etot h version nice b e dt w xvg sum skip nomean nlevels max min nocoulsr coullr coul14 noljsr ljlr lj14 bhamsr bhamlr nofree temp)/"
-complete g_energy "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.edr{,.gz,.Z}/" "n/-f2/f:*.edr{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-viol/f:*.xvg{,.gz,.Z}/" "n/-pairs/f:*.xvg{,.gz,.Z}/" "n/-ora/f:*.xvg{,.gz,.Z}/" "n/-ort/f:*.xvg{,.gz,.Z}/" "n/-oda/f:*.xvg{,.gz,.Z}/" "n/-odr/f:*.xvg{,.gz,.Z}/" "n/-odt/f:*.xvg{,.gz,.Z}/" "n/-oten/f:*.xvg{,.gz,.Z}/" "n/-corr/f:*.xvg{,.gz,.Z}/" "n/-vis/f:*.xvg{,.gz,.Z}/" "n/-ravg/f:*.xvg{,.gz,.Z}/" "n/-odh/f:*.xvg{,.gz,.Z}/" "c/-/( f f2 s o viol pairs ora ort oda odr odt oten corr vis ravg odh h version nice b e w xvg fee fetemp zero sum dp nbmin nbmax mutot skip aver nmol fluct_props driftcorr fluc orinst ovec acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete genion "n/-xvg/( xmgrace xmgr none)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-table/f:*.xvg{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-pot/f:*.pdb{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "c/-/( s table n o g pot p h version nice xvg np pname pq nn nname nq rmin norandom seed scale conc neutral)/"
-complete genrestr "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.itp{,.gz,.Z}/" "n/-of/f:*.ndx{,.gz,.Z}/" "c/-/( f n o of h version nice fc freeze disre disre_dist disre_frac disre_up2 cutoff constr)/"
-complete g_filter "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ol/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-oh/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( f s n ol oh h version nice b e dt w nf all nonojump fit)/"
-complete g_gyrate "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-acf/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o acf h version nice b e dt w xvg nmol q p moi nz acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_h2order "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-nm/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f n nm s o h version nice b e dt w xvg d sl)/"
-complete g_hbond "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-geminate/( none dd ad aa a4)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-num/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-ac/f:*.xvg{,.gz,.Z}/" "n/-dist/f:*.xvg{,.gz,.Z}/" "n/-ang/f:*.xvg{,.gz,.Z}/" "n/-hx/f:*.xvg{,.gz,.Z}/" "n/-hbn/f:*.ndx{,.gz,.Z}/" "n/-hbm/f:*.xpm{,.gz,.Z}/" "n/-don/f:*.xvg{,.gz,.Z}/" "n/-dan/f:*.xvg{,.gz,.Z}/" "n/-life/f:*.xvg{,.gz,.Z}/" "n/-nhbdist/f:*.xvg{,.gz,.Z}/" "c/-/( f s n num g ac dist ang hx hbn hbm don dan life nhbdist h version nice b e dt tu xvg a r noda r2 abin rbin nonitacc contact shell fitstart fitstart temp smooth dump max_hb nomerge geminate diff nthreads acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_helix "n/-prop/( RAD TWIST RISE LEN NHX DIP RMS CPHI RMSA PHI PSI HB3 HB4 HB5 CD222)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-to/f:*.g87{,.gz,.Z}/" "n/-cz/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-co/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "c/-/( s n f to cz co h version nice b e dt w r0 q noF db prop ev ahxstart ahxend)/"
-complete g_helixorient "n/-xvg/( xmgrace xmgr none)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-oaxis/f:*.dat{,.gz,.Z}/" "n/-ocenter/f:*.dat{,.gz,.Z}/" "n/-orise/f:*.xvg{,.gz,.Z}/" "n/-oradius/f:*.xvg{,.gz,.Z}/" "n/-otwist/f:*.xvg{,.gz,.Z}/" "n/-obending/f:*.xvg{,.gz,.Z}/" "n/-otilt/f:*.xvg{,.gz,.Z}/" "n/-orot/f:*.xvg{,.gz,.Z}/" "c/-/( s f n oaxis ocenter orise oradius otwist obending otilt orot h version nice b e dt xvg sidechain incremental)/"
-complete g_hydorder "n/-d/( z x y)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xpm{,.gz,.Z}/" "n/-or/f:*.out{,.gz,.Z}/" "n/-Spect/f:*.out{,.gz,.Z}/" "c/-/( f n s o or Spect h version nice b e dt w d bw sgang1 sgang2 tblock nlevel)/"
-complete g_kinetics "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.xvg{,.gz,.Z}/" "n/-d/f:*.xvg{,.gz,.Z}/" "n/-d2/f:*.xvg{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-o2/f:*.xvg{,.gz,.Z}/" "n/-o3/f:*.xvg{,.gz,.Z}/" "n/-ee/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-m/f:*.xvg{,.gz,.Z}/" "c/-/( f d d2 o o2 o3 ee g m h version nice tu w xvg notime b e bfit efit T n cut ucut euf efu ei maxiter noback tol skip nosplit nosum nodiscrete mult)/"
-complete g_lie "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.edr{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f o h version nice b e dt w xvg Elj Eqq Clj Cqq ligand)/"
-complete g_mdmat "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-mean/f:*.xpm{,.gz,.Z}/" "n/-frames/f:*.xpm{,.gz,.Z}/" "n/-no/f:*.xvg{,.gz,.Z}/" "c/-/( f s n mean frames no h version nice b e dt xvg t nlevels)/"
-complete g_membed "n/-f/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "n/-o/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-x/f:*.xtc{,.gz,.Z}/" "n/-c/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-dat/f:*.dat{,.gz,.Z}/" "c/-/( f n p o x c e dat h version nice xyinit xyend zinit zend nxy nz rad pieces asymmetry ndiff maxwarn start v mdrun_path)/"
-complete g_mindist "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-on/f:*.xvg{,.gz,.Z}/" "n/-o/f:*.out{,.gz,.Z}/" "n/-ox/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-or/f:*.xvg{,.gz,.Z}/" "c/-/( f s n od on o ox or h version nice b e dt tu w xvg matrix max d group pi split ng nopbc respertime printresname)/"
-complete g_morph "n/-xvg/( xmgrace xmgr none)/" "n/-f1/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-f2/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-or/f:*.xvg{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "c/-/( f1 f2 o or n h version nice w xvg ninterm first last nofit)/"
-complete g_msd "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-type/( no x y z)/" "n/-lateral/( no x y z)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-mol/f:*.xvg{,.gz,.Z}/" "n/-pdb/f:*.pdb{,.gz,.Z}/" "c/-/( f s n o mol pdb h version nice b e tu w xvg type lateral ten ngroup nomw rmcomm tpdb trestart beginfit endfit)/"
-complete gmxcheck "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-f2/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s1/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-s2/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-c/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-e2/f:*.edr{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-m/f:*.tex{,.gz,.Z}/" "c/-/( f f2 s1 s2 c e e2 n m h version nice vdwfac bonlo bonhi rmsd tol abstol ab lastener)/"
-complete gmxdump "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-cp/f:*.cpt{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "n/-mtx/f:*.mtx{,.gz,.Z}/" "n/-om/f:*.mdp{,.gz,.Z}/" "c/-/( s f e cp p mtx om h version nice nonr sys)/"
-complete g_nmeig "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.mtx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "n/-ol/f:*.xvg{,.gz,.Z}/" "n/-os/f:*.xvg{,.gz,.Z}/" "n/-qc/f:*.xvg{,.gz,.Z}/" "n/-v/f:*.{trr,cpt,trj}{,.gz,.Z}/" "c/-/( f s of ol os qc v h version nice xvg nom first last maxspec T constr width)/"
-complete g_nmens "n/-xvg/( xmgrace xmgr none)/" "n/-v/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-e/f:*.xvg{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( v e s n o h version nice xvg temp seed num first last)/"
-complete g_nmtraj "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-v/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( s v o h version nice eignr phases temp amplitude nframes)/"
-complete g_options "c/-/( h version nice)/"
-complete g_order "n/-xvg/( xmgrace xmgr none)/" "n/-d/( z x y)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-nr/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-ob/f:*.pdb{,.gz,.Z}/" "n/-os/f:*.xvg{,.gz,.Z}/" "n/-Sg/f:*.xvg{,.gz,.Z}/" "n/-Sk/f:*.xvg{,.gz,.Z}/" "n/-Sgsl/f:*.xvg{,.gz,.Z}/" "n/-Sksl/f:*.xvg{,.gz,.Z}/" "c/-/( f n nr s o od ob os Sg Sk Sgsl Sksl h version nice b e dt w xvg d sl szonly unsat permolecule radial calcdist)/"
-complete g_pme_error "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.out{,.gz,.Z}/" "n/-so/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "c/-/( s o so h version nice beta tune self seed v)/"
-complete g_polystat "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-v/f:*.xvg{,.gz,.Z}/" "n/-p/f:*.xvg{,.gz,.Z}/" "n/-i/f:*.xvg{,.gz,.Z}/" "c/-/( s f n o v p i h version nice b e dt tu w xvg nomw pc)/"
-complete g_potential "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-oc/f:*.xvg{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "c/-/( f n s o oc of h version nice b e dt w xvg d sl cb ce tz spherical ng correct)/"
-complete g_principal "n/-tu/( fs ps ns us ms s)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-a1/f:*.dat{,.gz,.Z}/" "n/-a2/f:*.dat{,.gz,.Z}/" "n/-a3/f:*.dat{,.gz,.Z}/" "n/-om/f:*.dat{,.gz,.Z}/" "c/-/( f s n a1 a2 a3 om h version nice b e dt tu w foo)/"
-complete g_protonate "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "c/-/( s f n o h version nice b e dt)/"
-complete g_rama "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f s o h version nice b e dt w xvg)/"
-complete g_rdf "n/-xvg/( xmgrace xmgr none)/" "n/-surf/( no mol res)/" "n/-rdf/( atom mol_com mol_cog res_com res_cog)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-d/f:*.dat{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-sq/f:*.xvg{,.gz,.Z}/" "n/-cn/f:*.xvg{,.gz,.Z}/" "n/-hq/f:*.xvg{,.gz,.Z}/" "c/-/( f s n d o sq cn hq h version nice b e dt w xvg bin com surf rdf nopbc nonorm xy cut ng fade nlevel startq endq energy)/"
-complete g_rms "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-what/( rmsd rho rhosc)/" "n/-fit/( rot+trans translation none)/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-f2/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-mir/f:*.xvg{,.gz,.Z}/" "n/-a/f:*.xvg{,.gz,.Z}/" "n/-dist/f:*.xvg{,.gz,.Z}/" "n/-m/f:*.xpm{,.gz,.Z}/" "n/-bin/f:*.dat{,.gz,.Z}/" "n/-bm/f:*.xpm{,.gz,.Z}/" "c/-/( s f f2 n o mir a dist m bin bm h version nice b e dt tu w xvg what nopbc fit prev split skip skip2 max min bmax bmin nomw nlevels ng)/"
-complete g_rmsdist "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-equiv/f:*.dat{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-rms/f:*.xpm{,.gz,.Z}/" "n/-scl/f:*.xpm{,.gz,.Z}/" "n/-mean/f:*.xpm{,.gz,.Z}/" "n/-nmr3/f:*.xpm{,.gz,.Z}/" "n/-nmr6/f:*.xpm{,.gz,.Z}/" "n/-noe/f:*.dat{,.gz,.Z}/" "c/-/( f s n equiv o rms scl mean nmr3 nmr6 noe h version nice b e dt w xvg nlevels max nosumh nopbc)/"
-complete g_rmsf "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-q/f:*.pdb{,.gz,.Z}/" "n/-oq/f:*.pdb{,.gz,.Z}/" "n/-ox/f:*.pdb{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-oc/f:*.xvg{,.gz,.Z}/" "n/-dir/f:*.log{,.gz,.Z}/" "c/-/( f s n q oq ox o od oc dir h version nice b e dt w xvg res aniso nofit)/"
-complete grompp "n/-f/f:*.mdp{,.gz,.Z}/" "n/-po/f:*.mdp{,.gz,.Z}/" "n/-c/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-r/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-rb/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "n/-pp/f:*.top{,.gz,.Z}/" "n/-o/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-t/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-ref/f:*.{trr,cpt,trj}{,.gz,.Z}/" "c/-/( f po c r rb n p pp o t e ref h version nice v time normvsbds maxwarn zero norenum)/"
-complete g_rotacf "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o h version nice b e dt w xvg d noaver acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_rotmat "n/-xvg/( xmgrace xmgr none)/" "n/-ref/( none xyz xy)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o h version nice b e dt w xvg ref skip fitxy nomw)/"
-complete g_saltbr "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "c/-/( f s h version nice b e dt t sep)/"
-complete g_sans "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-mode/( direct mc)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-d/f:*.dat{,.gz,.Z}/" "n/-pr/f:*.xvg{,.gz,.Z}/" "n/-sq/f:*.xvg{,.gz,.Z}/" "n/-prframe/f:*.xvg{,.gz,.Z}/" "n/-sqframe/f:*.xvg{,.gz,.Z}/" "c/-/( s f n d pr sq prframe sqframe h version nice b e dt tu xvg mode mcover nopbc startq endq qstep seed nt)/"
-complete g_sas "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-or/f:*.xvg{,.gz,.Z}/" "n/-oa/f:*.xvg{,.gz,.Z}/" "n/-tv/f:*.xvg{,.gz,.Z}/" "n/-q/f:*.pdb{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-i/f:*.itp{,.gz,.Z}/" "c/-/( f s o or oa tv q n i h version nice b e dt w xvg probe ndots qmax f_index minarea nopbc noprot dgs)/"
-complete g_select "n/-xvg/( xmgrace xmgr none)/" "n/-selrpos/( atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog)/" "n/-seltype/( atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog)/" "n/-resnr/( number index)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-sf/f:*.dat{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-os/f:*.xvg{,.gz,.Z}/" "n/-oc/f:*.xvg{,.gz,.Z}/" "n/-oi/f:*.dat{,.gz,.Z}/" "n/-om/f:*.dat{,.gz,.Z}/" "n/-on/f:*.ndx{,.gz,.Z}/" "c/-/( f s sf n os oc oi om on h version nice b e dt xvg normpbc nopbc select selrpos seltype dump norm cfnorm resnr)/"
-complete g_sgangle "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-oa/f:*.xvg{,.gz,.Z}/" "n/-od/f:*.xvg{,.gz,.Z}/" "n/-od1/f:*.xvg{,.gz,.Z}/" "n/-od2/f:*.xvg{,.gz,.Z}/" "c/-/( f n s oa od od1 od2 h version nice b e dt w xvg one z)/"
-complete g_sham "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.xvg{,.gz,.Z}/" "n/-ge/f:*.xvg{,.gz,.Z}/" "n/-ene/f:*.xvg{,.gz,.Z}/" "n/-dist/f:*.xvg{,.gz,.Z}/" "n/-histo/f:*.xvg{,.gz,.Z}/" "n/-bin/f:*.ndx{,.gz,.Z}/" "n/-lp/f:*.xpm{,.gz,.Z}/" "n/-ls/f:*.xpm{,.gz,.Z}/" "n/-lsh/f:*.xpm{,.gz,.Z}/" "n/-lss/f:*.xpm{,.gz,.Z}/" "n/-map/f:*.xpm{,.gz,.Z}/" "n/-ls3/f:*.pdb{,.gz,.Z}/" "n/-mdata/f:*.xvg{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "c/-/( f ge ene dist histo bin lp ls lsh lss map ls3 mdata g h version nice w xvg notime b e ttol n d bw nosham tsham pmin dim ngrid xmin xmax pmax gmax emin emax nlevels mname)/"
-complete g_sigeps "n/-xvg/( xmgrace xmgr none)/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( o h version nice w xvg c6 cn pow sig eps A B C qi qj sigfac)/"
-complete g_sorient "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-no/f:*.xvg{,.gz,.Z}/" "n/-ro/f:*.xvg{,.gz,.Z}/" "n/-co/f:*.xvg{,.gz,.Z}/" "n/-rc/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o no ro co rc h version nice b e dt w xvg com v23 rmin rmax cbin rbin pbc)/"
-complete g_spatial "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "c/-/( s f n h version nice b e dt w pbc nodiv ign bin nab)/"
-complete g_spol "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o h version nice b e dt w xvg com refat rmin rmax dip bw)/"
-complete g_tcaf "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-oa/f:*.xvg{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "n/-oc/f:*.xvg{,.gz,.Z}/" "n/-ov/f:*.xvg{,.gz,.Z}/" "c/-/( f s n ot oa o of oc ov h version nice b e dt w xvg mol k34 wt acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_traj "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-ox/f:*.xvg{,.gz,.Z}/" "n/-oxt/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-ov/f:*.xvg{,.gz,.Z}/" "n/-of/f:*.xvg{,.gz,.Z}/" "n/-ob/f:*.xvg{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "n/-ekt/f:*.xvg{,.gz,.Z}/" "n/-ekr/f:*.xvg{,.gz,.Z}/" "n/-vd/f:*.xvg{,.gz,.Z}/" "n/-cv/f:*.pdb{,.gz,.Z}/" "n/-cf/f:*.pdb{,.gz,.Z}/" "n/-av/f:*.xvg{,.gz,.Z}/" "n/-af/f:*.xvg{,.gz,.Z}/" "c/-/( f s n ox oxt ov of ob ot ekt ekr vd cv cf av af h version nice b e dt tu w xvg com nopbc mol nojump nox noy noz ng len fp bin ctime scale)/"
-complete g_tune_pme "n/-xvg/( xmgrace xmgr none)/" "n/-npstring/( -np -n none)/" "n/-npme/( auto all subset)/" "n/-p/f:*.out{,.gz,.Z}/" "n/-err/f:*.log{,.gz,.Z}/" "n/-so/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-x/f:*.xtc{,.gz,.Z}/" "n/-cpi/f:*.cpt{,.gz,.Z}/" "n/-cpo/f:*.cpt{,.gz,.Z}/" "n/-c/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-dhdl/f:*.xvg{,.gz,.Z}/" "n/-field/f:*.xvg{,.gz,.Z}/" "n/-table/f:*.xvg{,.gz,.Z}/" "n/-tabletf/f:*.xvg{,.gz,.Z}/" "n/-tablep/f:*.xvg{,.gz,.Z}/" "n/-tableb/f:*.xvg{,.gz,.Z}/" "n/-rerun/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-tpi/f:*.xvg{,.gz,.Z}/" "n/-tpid/f:*.xvg{,.gz,.Z}/" "n/-ei/f:*.edi{,.gz,.Z}/" "n/-eo/f:*.xvg{,.gz,.Z}/" "n/-j/f:*.gct{,.gz,.Z}/" "n/-jo/f:*.gct{,.gz,.Z}/" "n/-ffout/f:*.xvg{,.gz,.Z}/" "n/-devout/f:*.xvg{,.gz,.Z}/" "n/-runav/f:*.xvg{,.gz,.Z}/" "n/-px/f:*.xvg{,.gz,.Z}/" "n/-pf/f:*.xvg{,.gz,.Z}/" "n/-ro/f:*.xvg{,.gz,.Z}/" "n/-ra/f:*.log{,.gz,.Z}/" "n/-rs/f:*.log{,.gz,.Z}/" "n/-rt/f:*.log{,.gz,.Z}/" "n/-mtx/f:*.mtx{,.gz,.Z}/" "n/-dn/f:*.ndx{,.gz,.Z}/" "n/-bo/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-bx/f:*.xtc{,.gz,.Z}/" "n/-bcpo/f:*.cpt{,.gz,.Z}/" "n/-bc/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-be/f:*.edr{,.gz,.Z}/" "n/-bg/f:*.log{,.gz,.Z}/" "n/-beo/f:*.xvg{,.gz,.Z}/" "n/-bdhdl/f:*.xvg{,.gz,.Z}/" "n/-bfield/f:*.xvg{,.gz,.Z}/" "n/-btpi/f:*.xvg{,.gz,.Z}/" "n/-btpid/f:*.xvg{,.gz,.Z}/" "n/-bjo/f:*.gct{,.gz,.Z}/" "n/-bffout/f:*.xvg{,.gz,.Z}/" "n/-bdevout/f:*.xvg{,.gz,.Z}/" "n/-brunav/f:*.xvg{,.gz,.Z}/" "n/-bpx/f:*.xvg{,.gz,.Z}/" "n/-bpf/f:*.xvg{,.gz,.Z}/" "n/-bro/f:*.xvg{,.gz,.Z}/" "n/-bra/f:*.log{,.gz,.Z}/" "n/-brs/f:*.log{,.gz,.Z}/" "n/-brt/f:*.log{,.gz,.Z}/" "n/-bmtx/f:*.mtx{,.gz,.Z}/" "n/-bdn/f:*.ndx{,.gz,.Z}/" "c/-/( p err so s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn bo bx bcpo bc be bg beo bdhdl bfield btpi btpid bjo bffout bdevout brunav bpx bpf bro bra brs brt bmtx bdn h version nice xvg np npstring ntmpi r max min npme fix rmax rmin noscalevdw ntpr steps resetstep simsteps launch nobench noappend cpnum)/"
-complete g_vanhove "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-om/f:*.xpm{,.gz,.Z}/" "n/-or/f:*.xvg{,.gz,.Z}/" "n/-ot/f:*.xvg{,.gz,.Z}/" "c/-/( f s n om or ot h version nice b e dt w xvg sqrt fm rmax rbin mmax nlevels nr fr rt ft)/"
-complete g_velacc "n/-xvg/( xmgrace xmgr none)/" "n/-P/( 0 1 2 3)/" "n/-fitfn/( none exp aexp exp_exp vac exp5 exp7 exp9 erffit)/" "n/-f/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-os/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o os h version nice b e dt w xvg m norecip mol acflen nonormalize P fitfn ncskip beginfit endfit)/"
-complete g_wham "n/-xvg/( xmgrace xmgr none)/" "n/-unit/( kJ kCal kT)/" "n/-bs-method/( b-hist hist traj traj-gauss)/" "n/-ix/f:*.dat{,.gz,.Z}/" "n/-if/f:*.dat{,.gz,.Z}/" "n/-it/f:*.dat{,.gz,.Z}/" "n/-ip/f:*.dat{,.gz,.Z}/" "n/-o/f:*.xvg{,.gz,.Z}/" "n/-hist/f:*.xvg{,.gz,.Z}/" "n/-oiact/f:*.xvg{,.gz,.Z}/" "n/-iiact/f:*.dat{,.gz,.Z}/" "n/-bsres/f:*.xvg{,.gz,.Z}/" "n/-bsprof/f:*.xvg{,.gz,.Z}/" "n/-tab/f:*.dat{,.gz,.Z}/" "c/-/( ix if it ip o hist oiact iiact bsres bsprof tab h version nice xvg min max noauto bins temp tol v b e dt histonly boundsonly nolog unit zprof0 cycl sym ac acsig ac-trestart nBootstrap bs-method bs-tau bs-seed histbs-block vbs)/"
-complete g_wheel "n/-f/f:*.dat{,.gz,.Z}/" "n/-o/f:*.eps{,.gz,.Z}/" "c/-/( f o h version nice r0 rot0 T nonn)/"
-complete g_x2top "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.top{,.gz,.Z}/" "n/-r/f:*.rtp{,.gz,.Z}/" "c/-/( f o r h version nice ff v nexcl noH14 alldih remdih nopairs name nopbc pdbq noparam noround kb kt kp)/"
-complete g_xrama "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "c/-/( f s h version nice b e dt)/"
-complete make_edi "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-eig/f:*.xvg{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-tar/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-ori/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.edi{,.gz,.Z}/" "c/-/( f eig s n tar ori o h version nice xvg mon linfix linacc radfix radacc radcon flood outfrq slope linstep accdir radstep maxedsteps eqsteps deltaF0 deltaF tau Eflnull T alpha restrain hessian harmonic constF)/"
-complete make_ndx "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.ndx{,.gz,.Z}/" "c/-/( f n o h version nice natoms)/"
-complete mdrun "n/-xvg/( xmgrace xmgr none)/" "n/-ddorder/( interleave pp_pme cartesian)/" "n/-pin/( auto on off)/" "n/-dlb/( auto no yes)/" "n/-nb/( auto cpu gpu gpu_cpu)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-x/f:*.xtc{,.gz,.Z}/" "n/-cpi/f:*.cpt{,.gz,.Z}/" "n/-cpo/f:*.cpt{,.gz,.Z}/" "n/-c/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-dhdl/f:*.xvg{,.gz,.Z}/" "n/-field/f:*.xvg{,.gz,.Z}/" "n/-table/f:*.xvg{,.gz,.Z}/" "n/-tabletf/f:*.xvg{,.gz,.Z}/" "n/-tablep/f:*.xvg{,.gz,.Z}/" "n/-tableb/f:*.xvg{,.gz,.Z}/" "n/-rerun/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-tpi/f:*.xvg{,.gz,.Z}/" "n/-tpid/f:*.xvg{,.gz,.Z}/" "n/-ei/f:*.edi{,.gz,.Z}/" "n/-eo/f:*.xvg{,.gz,.Z}/" "n/-j/f:*.gct{,.gz,.Z}/" "n/-jo/f:*.gct{,.gz,.Z}/" "n/-ffout/f:*.xvg{,.gz,.Z}/" "n/-devout/f:*.xvg{,.gz,.Z}/" "n/-runav/f:*.xvg{,.gz,.Z}/" "n/-px/f:*.xvg{,.gz,.Z}/" "n/-pf/f:*.xvg{,.gz,.Z}/" "n/-ro/f:*.xvg{,.gz,.Z}/" "n/-ra/f:*.log{,.gz,.Z}/" "n/-rs/f:*.log{,.gz,.Z}/" "n/-rt/f:*.log{,.gz,.Z}/" "n/-mtx/f:*.mtx{,.gz,.Z}/" "n/-dn/f:*.ndx{,.gz,.Z}/" "n/-multidir/f:*.{,.gz,.Z}/" "n/-membed/f:*.dat{,.gz,.Z}/" "n/-mp/f:*.top{,.gz,.Z}/" "n/-mn/f:*.ndx{,.gz,.Z}/" "c/-/( s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn multidir membed mp mn h version nice deffnm xvg pd dd ddorder npme nt ntmpi ntomp ntomp_pme pin pinoffset pinstride gpu_id noddcheck rdd rcon dlb dds gcom nb notunepme testverlet v nocompact seppot pforce reprod cpt cpnum noappend nsteps maxh multi replex nex reseed ionize)/"
-complete mdrun_mpi "n/-xvg/( xmgrace xmgr none)/" "n/-ddorder/( interleave pp_pme cartesian)/" "n/-pin/( auto on off)/" "n/-dlb/( auto no yes)/" "n/-nb/( auto cpu gpu gpu_cpu)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-x/f:*.xtc{,.gz,.Z}/" "n/-cpi/f:*.cpt{,.gz,.Z}/" "n/-cpo/f:*.cpt{,.gz,.Z}/" "n/-c/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-g/f:*.log{,.gz,.Z}/" "n/-dhdl/f:*.xvg{,.gz,.Z}/" "n/-field/f:*.xvg{,.gz,.Z}/" "n/-table/f:*.xvg{,.gz,.Z}/" "n/-tabletf/f:*.xvg{,.gz,.Z}/" "n/-tablep/f:*.xvg{,.gz,.Z}/" "n/-tableb/f:*.xvg{,.gz,.Z}/" "n/-rerun/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-tpi/f:*.xvg{,.gz,.Z}/" "n/-tpid/f:*.xvg{,.gz,.Z}/" "n/-ei/f:*.edi{,.gz,.Z}/" "n/-eo/f:*.xvg{,.gz,.Z}/" "n/-j/f:*.gct{,.gz,.Z}/" "n/-jo/f:*.gct{,.gz,.Z}/" "n/-ffout/f:*.xvg{,.gz,.Z}/" "n/-devout/f:*.xvg{,.gz,.Z}/" "n/-runav/f:*.xvg{,.gz,.Z}/" "n/-px/f:*.xvg{,.gz,.Z}/" "n/-pf/f:*.xvg{,.gz,.Z}/" "n/-ro/f:*.xvg{,.gz,.Z}/" "n/-ra/f:*.log{,.gz,.Z}/" "n/-rs/f:*.log{,.gz,.Z}/" "n/-rt/f:*.log{,.gz,.Z}/" "n/-mtx/f:*.mtx{,.gz,.Z}/" "n/-dn/f:*.ndx{,.gz,.Z}/" "n/-multidir/f:*.line_buf{,.gz,.Z}/" "n/-membed/f:*.dat{,.gz,.Z}/" "n/-mp/f:*.top{,.gz,.Z}/" "n/-mn/f:*.ndx{,.gz,.Z}/" "c/-/( s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn multidir membed mp mn h version nice deffnm xvg pd dd ddorder npme nt ntmpi ntomp ntomp_pme pin pinoffset pinstride gpu_id noddcheck rdd rcon dlb dds gcom nb notunepme testverlet v nocompact seppot pforce reprod cpt cpnum noappend nsteps maxh multi replex nex reseed ionize)/"
-complete mk_angndx "n/-type/( angle dihedral improper ryckaert-bellemans)/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "c/-/( s n h version nice type nohyd hq)/"
-complete ngmx "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "c/-/( f s n h version nice b e dt)/"
-complete pdb2gmx "n/-chainsep/( id_or_ter id_and_ter ter id interactive)/" "n/-merge/( no all interactive)/" "n/-water/( select none spc spce tip3p tip4p tip5p)/" "n/-vsite/( none hydrogens aromatics)/" "n/-f/f:*.{gro,g96,pdb,brk,ent,esp,xyz,tpr,tpb,tpa}{,.gz,.Z}/" "n/-o/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "n/-p/f:*.top{,.gz,.Z}/" "n/-i/f:*.itp{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-q/f:*.{gro,g96,pdb,brk,ent,esp,xyz}{,.gz,.Z}/" "c/-/( f o p i n q h version nice chainsep merge ff water inter ss ter lys arg asp glu gln his angle dist una ignh missing v posrefc vsite heavyh deuterate nochargegrp nocmap renum rtpres)/"
-complete tpbconv "n/-s/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "n/-f/f:*.{trr,cpt,trj}{,.gz,.Z}/" "n/-e/f:*.edr{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{tpr,tpb,tpa}{,.gz,.Z}/" "c/-/( s f e n o h version nice extend until nsteps time zeroq novel nocont init_fep_state)/"
-complete trjcat "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-demux/f:*.xvg{,.gz,.Z}/" "c/-/( f o n demux h version nice tu xvg b e dt prec novel settime nosort keeplast overwrite cat)/"
-complete trjconv "n/-tu/( fs ps ns us ms s)/" "n/-xvg/( xmgrace xmgr none)/" "n/-pbc/( none mol res atom nojump cluster whole)/" "n/-ur/( rect tric compact)/" "n/-boxcenter/( tric rect zero)/" "n/-fit/( none rot+trans rotxy+transxy translation transxy progressive)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-fr/f:*.ndx{,.gz,.Z}/" "n/-sub/f:*.ndx{,.gz,.Z}/" "n/-drop/f:*.xvg{,.gz,.Z}/" "c/-/( f o s n fr sub drop h version nice b e tu w xvg skip dt round dump t0 timestep pbc ur center boxcenter box clustercenter trans shift fit ndec novel force trunc exec app split sep nzero dropunder dropover conect)/"
-complete trjorder "n/-xvg/( xmgrace xmgr none)/" "n/-f/f:*.{xtc,trr,cpt,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-s/f:*.{tpr,tpb,tpa,gro,g96,pdb,brk,ent}{,.gz,.Z}/" "n/-n/f:*.ndx{,.gz,.Z}/" "n/-o/f:*.{xtc,trr,trj,gro,g96,pdb,g87}{,.gz,.Z}/" "n/-nshell/f:*.xvg{,.gz,.Z}/" "c/-/( f s n o nshell h version nice b e dt xvg na da com r z)/"
-complete xpm2ps "n/-title/( top once ylabel none)/" "n/-legend/( both first second none)/" "n/-diag/( first second none)/" "n/-rainbow/( no blue red)/" "n/-combine/( halves add sub mult div)/" "n/-f/f:*.xpm{,.gz,.Z}/" "n/-f2/f:*.xpm{,.gz,.Z}/" "n/-di/f:*.m2p{,.gz,.Z}/" "n/-do/f:*.m2p{,.gz,.Z}/" "n/-o/f:*.eps{,.gz,.Z}/" "n/-xpm/f:*.xpm{,.gz,.Z}/" "c/-/( f f2 di do o xpm h version nice w noframe title yonce legend diag size bx by rainbow gradient skip zeroline legoffset combine cmin cmax)/"
diff --git a/scripts/completion.zsh b/scripts/completion.zsh
deleted file mode 100644 (file)
index 3180574..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-compctl  -x 's[-]' -s " f s n ssdump map o sc a ta aa h version nice b e dt tu w xvg sss ver" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ssdump]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-map]' -g '*.map(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-sc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-a]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-ta]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-aa]' -g '*.xvg(|.gz|.Z) *(/)' -- do_dssp
-compctl  -x 's[-]' -s " f n o mead bf h version nice w ndef bt box angles d c center aligncenter align translate rotate princ scale density pbc resnr grasp rvdw sig56 vdwread atom legend label conect" - 'c[-1,-bt]' -s " triclinic cubic dodecahedron octahedron" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-mead]' -g '*.pqr(|.gz|.Z) *(/)' - 'c[-1,-bf]' -g '*.dat(|.gz|.Z) *(/)' -- editconf
-compctl  -x 's[-]' -s " f o h version nice b e dt offset settime nosort rmdh scalefac noerror" - 'c[-1,-f]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.edr(|.gz|.Z) *(/)' -- eneconv
-compctl  -x 's[-]' -s " f ox od of g h version nice xvg free norms cutoff" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-ox]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' -- g_anadock
-compctl  -x 's[-]' -s " v v2 f s n eig eig2 comp rmsf proj 2d 3d filt extr over inpr h version nice b e dt tu w xvg first last skip max nframes split entropy temp nevskip" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-v]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-v2]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-eig]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-eig2]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-comp]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rmsf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-proj]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-2d]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-3d]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-filt]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-extr]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-over]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-inpr]' -g '*.xpm(|.gz|.Z) *(/)' -- g_anaeig
-compctl  -x 's[-]' -s " f ac msd cc dist av ee bal g h version nice w xvg notime b e n d bw errbar integrate aver_start xydy regression luzar temp fitstart fitend smooth filter power nosubav oneacf acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-errbar]' -s " none stddev error 90" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ac]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-msd]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-av]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ee]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bal]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' -- g_analyze
-compctl  -x 's[-]' -s " f n od ov of ot oh oc or h version nice b e dt w xvg type all binwidth noperiodic chandler avercorr acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-type]' -s " angle dihedral improper ryckaert-bellemans" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ov]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oh]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.trr(|.gz|.Z) *(/)' -- g_angle
-compctl  -x 's[-]' -s " f g o oi oh h version nice w xvg b e temp prec nbmin nbmax nbin extp" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oi]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oh]' -g '*.xvg(|.gz|.Z) *(/)' -- g_bar
-compctl  -x 's[-]' -s " f n s o l d h version nice b e dt w xvg blen tol noaver noaverdist" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-l]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.xvg(|.gz|.Z) *(/)' -- g_bond
-compctl  -x 's[-]' -s " f s n ol od oz ot otr otl ok okr okl oa h version nice b e dt tu xvg na z" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ol]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oz]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-otr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-otl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ok]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-okr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-okl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oa]' -g '*.pdb(|.gz|.Z) *(/)' -- g_bundle
-compctl  -x 's[-]' -s " s f o p ss jc corr g ot oh rt cp h version nice b e dt w xvg r0 phi psi omega rama viol noperiodic all rad shift binwidth core_rotamer maxchi nonormhisto ramomega bfact chi_prod HChi bmax acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-maxchi]' -s " 0 1 2 3 4 5 6" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-s]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-ss]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-jc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-corr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oh]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rt]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cp]' -g '*.xvg(|.gz|.Z) *(/)' -- g_chi
-compctl  -x 's[-]' -s " f s n dm o g dist ev sz tr ntr clid cl h version nice b e dt tu w xvg dista nlevels cutoff nofit max skip av wcl nst rmsmin method minstruct binary M P seed niter kT nopbc" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-method]' -s " linkage jarvis-patrick monte-carlo diagonalization gromos" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-dm]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-dist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ev]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-sz]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tr]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-ntr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-clid]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cl]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- g_cluster
-compctl  -x 's[-]' -s " f s n o ow nc mc ac hc temp mcn h version nice b e dt tu w xvg cut mol nopbc nskip nlevels ndf rgblo rgbhi" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.tpr(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-ow]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-nc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ac]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-hc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-temp]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mcn]' -g '*.ndx(|.gz|.Z) *(/)' -- g_clustsize
-compctl  -x 's[-]' -s " f1 f2 o n1 n2 no h version nice w one nomw pbc nofit name label bfac" - 'c[-1,-f1]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-n1]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-n2]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-no]' -g '*.ndx(|.gz|.Z) *(/)' -- g_confrms
-compctl  -x 's[-]' -s " f s n o v av l ascii xpm xpma h version nice b e dt tu xvg nofit ref mwa last nopbc" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-v]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-av]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-l]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-ascii]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-xpm]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-xpma]' -g '*.xpm(|.gz|.Z) *(/)' -- g_covar
-compctl  -x 's[-]' -s " s n f o caf dsp md mj mc h version nice b e dt w xvg sh nonojump eps bfit efit bvit evit tr temp" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-caf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dsp]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-md]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mj]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mc]' -g '*.xvg(|.gz|.Z) *(/)' -- g_current
-compctl  -x 's[-]' -s " f n s ei o h version nice b e dt w xvg d sl dens ng symm center" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-dens]' -s " mass number charge electron" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-ei]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_density
-compctl  -x 's[-]' -s " f s n od o h version nice b e dt w bin aver xmin xmax n1 n2 amax rmax mirror sums unit dmin dmax" - 'c[-1,-aver]' -s " z y x" - 'c[-1,-unit]' -s " nm-3 nm-2 count" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xpm(|.gz|.Z) *(/)' -- g_densmap
-compctl  -x 's[-]' -s " s f n o or og Spect h version nice b e dt w 1d bw bwn order axis method d1 d2 tblock nlevel" - 'c[-1,-method]' -s " bisect functional" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.out(|.gz|.Z) *(/)' - 'c[-1,-og]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-Spect]' -g '*.out(|.gz|.Z) *(/)' -- g_densorder
-compctl  -x 's[-]' -s " f d o c h version nice b e dt w xvg fft nox1 eint bfit efit tail A tau1 tau2 eps0 epsRF fix ffn nsmooth" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-ffn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.xvg(|.gz|.Z) *(/)' -- g_dielectric
-compctl  -x 's[-]' -s " en f s n o eps a d c g adip dip3d cos cmap q slab h version nice b e dt w xvg mu mumax epsilonRF skip temp corr nopairs ncos axis sl gkratom gkratom2 rcmax phi nlevels ndegrees acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-corr]' -s " none mol molsep total" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-en]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-eps]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-a]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-adip]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dip3d]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cos]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cmap]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-q]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-slab]' -g '*.xvg(|.gz|.Z) *(/)' -- g_dipoles
-compctl  -x 's[-]' -s " s f ds da dn dm dr l n q c x h version nice b e dt w xvg ntop maxdr nlevels nothird" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-ds]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-da]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dn]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dm]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-l]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-q]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-x]' -g '*.xpm(|.gz|.Z) *(/)' -- g_disre
-compctl  -x 's[-]' -s " f s n o lt h version nice b e dt xvg intra dist" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-lt]' -g '*.xvg(|.gz|.Z) *(/)' -- g_dist
-compctl  -x 's[-]' -s " f s n vacf mvacf dos g h version nice b e dt w xvg nov recip abs normdos T acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-vacf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mvacf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dos]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' -- g_dos
-compctl  -x 's[-]' -s " f n ot oe o rhist khist h version nice b e tu w xvg pbcdist norm bins R0" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oe]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-rhist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-khist]' -g '*.xvg(|.gz|.Z) *(/)' -- g_dyecoupl
-compctl  -x 's[-]' -s " f o n h version nice firstangle lastangle nframe maxangle trans head tail" - 'c[-1,-f]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' -- g_dyndom
-compctl  -x 's[-]' -s " cp cs ci o p h version nice box nmol try seed vdwd shell maxsol vel" - 'c[-1,-cp]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-cs]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-ci]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' -- genbox
-compctl  -x 's[-]' -s " f o trj h version nice nbox dist seed rot shuffle sort block nmolat maxrot norenumber" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-trj]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- genconf
-compctl  -x 's[-]' -s " f groups eref emat etot h version nice b e dt w xvg sum skip nomean nlevels max min nocoulsr coullr coul14 noljsr ljlr lj14 bhamsr bhamlr nofree temp" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-groups]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-eref]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-emat]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-etot]' -g '*.xvg(|.gz|.Z) *(/)' -- g_enemat
-compctl  -x 's[-]' -s " f f2 s o viol pairs ora ort oda odr odt oten corr vis ravg odh h version nice b e w xvg fee fetemp zero sum dp nbmin nbmax mutot skip aver nmol fluct_props driftcorr fluc orinst ovec acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-viol]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-pairs]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ora]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ort]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oda]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-odr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-odt]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oten]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-corr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-vis]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ravg]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-odh]' -g '*.xvg(|.gz|.Z) *(/)' -- g_energy
-compctl  -x 's[-]' -s " s table n o g pot p h version nice xvg np pname pq nn nname nq rmin norandom seed scale conc neutral" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-table]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-pot]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' -- genion
-compctl  -x 's[-]' -s " f n o of h version nice fc freeze disre disre_dist disre_frac disre_up2 cutoff constr" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.itp(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.ndx(|.gz|.Z) *(/)' -- genrestr
-compctl  -x 's[-]' -s " f s n ol oh h version nice b e dt w nf all nonojump fit" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ol]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-oh]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- g_filter
-compctl  -x 's[-]' -s " f s n o acf h version nice b e dt w xvg nmol q p moi nz acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-acf]' -g '*.xvg(|.gz|.Z) *(/)' -- g_gyrate
-compctl  -x 's[-]' -s " f n nm s o h version nice b e dt w xvg d sl" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-nm]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_h2order
-compctl  -x 's[-]' -s " f s n num g ac dist ang hx hbn hbm don dan life nhbdist h version nice b e dt tu xvg a r noda r2 abin rbin nonitacc contact shell fitstart fitstart temp smooth dump max_hb nomerge geminate diff nthreads acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-geminate]' -s " none dd ad aa a4" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-num]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-ac]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ang]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-hx]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-hbn]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-hbm]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-don]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dan]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-life]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-nhbdist]' -g '*.xvg(|.gz|.Z) *(/)' -- g_hbond
-compctl  -x 's[-]' -s " s n f to cz co h version nice b e dt w r0 q noF db prop ev ahxstart ahxend" - 'c[-1,-prop]' -s " RAD TWIST RISE LEN NHX DIP RMS CPHI RMSA PHI PSI HB3 HB4 HB5 CD222" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-to]' -g '*.g87(|.gz|.Z) *(/)' - 'c[-1,-cz]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-co]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' -- g_helix
-compctl  -x 's[-]' -s " s f n oaxis ocenter orise oradius otwist obending otilt orot h version nice b e dt xvg sidechain incremental" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-oaxis]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-ocenter]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-orise]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oradius]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-otwist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-obending]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-otilt]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-orot]' -g '*.xvg(|.gz|.Z) *(/)' -- g_helixorient
-compctl  -x 's[-]' -s " f n s o or Spect h version nice b e dt w d bw sgang1 sgang2 tblock nlevel" - 'c[-1,-d]' -s " z x y" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.out(|.gz|.Z) *(/)' - 'c[-1,-Spect]' -g '*.out(|.gz|.Z) *(/)' -- g_hydorder
-compctl  -x 's[-]' -s " f d d2 o o2 o3 ee g m h version nice tu w xvg notime b e bfit efit T n cut ucut euf efu ei maxiter noback tol skip nosplit nosum nodiscrete mult" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-d2]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o2]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o3]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ee]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-m]' -g '*.xvg(|.gz|.Z) *(/)' -- g_kinetics
-compctl  -x 's[-]' -s " f o h version nice b e dt w xvg Elj Eqq Clj Cqq ligand" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_lie
-compctl  -x 's[-]' -s " f s n mean frames no h version nice b e dt xvg t nlevels" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-mean]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-frames]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-no]' -g '*.xvg(|.gz|.Z) *(/)' -- g_mdmat
-compctl  -x 's[-]' -s " f n p o x c e dat h version nice xyinit xyend zinit zend nxy nz rad pieces asymmetry ndiff maxwarn start v mdrun_path" - 'c[-1,-f]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-x]' -g '*.xtc(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-dat]' -g '*.dat(|.gz|.Z) *(/)' -- g_membed
-compctl  -x 's[-]' -s " f s n od on o ox or h version nice b e dt tu w xvg matrix max d group pi split ng nopbc respertime printresname" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-on]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.out(|.gz|.Z) *(/)' - 'c[-1,-ox]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.xvg(|.gz|.Z) *(/)' -- g_mindist
-compctl  -x 's[-]' -s " f1 f2 o or n h version nice w xvg ninterm first last nofit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f1]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' -- g_morph
-compctl  -x 's[-]' -s " f s n o mol pdb h version nice b e tu w xvg type lateral ten ngroup nomw rmcomm tpdb trestart beginfit endfit" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-type]' -s " no x y z" - 'c[-1,-lateral]' -s " no x y z" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mol]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-pdb]' -g '*.pdb(|.gz|.Z) *(/)' -- g_msd
-compctl  -x 's[-]' -s " f f2 s1 s2 c e e2 n m h version nice vdwfac bonlo bonhi rmsd tol abstol ab lastener" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s1]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-s2]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-e2]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-m]' -g '*.tex(|.gz|.Z) *(/)' -- gmxcheck
-compctl  -x 's[-]' -s " s f e cp p mtx om h version nice nonr sys" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-cp]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-mtx]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-om]' -g '*.mdp(|.gz|.Z) *(/)' -- gmxdump
-compctl  -x 's[-]' -s " f s of ol os qc v h version nice xvg nom first last maxspec T constr width" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ol]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-os]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-qc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-v]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' -- g_nmeig
-compctl  -x 's[-]' -s " v e s n o h version nice xvg temp seed num first last" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-v]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- g_nmens
-compctl  -x 's[-]' -s " s v o h version nice eignr phases temp amplitude nframes" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-v]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- g_nmtraj
-compctl  -x 's[-]' -s " h version nice" -- g_options
-compctl  -x 's[-]' -s " f n nr s o od ob os Sg Sk Sgsl Sksl h version nice b e dt w xvg d sl szonly unsat permolecule radial calcdist" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-d]' -s " z x y" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-nr]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ob]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-os]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-Sg]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-Sk]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-Sgsl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-Sksl]' -g '*.xvg(|.gz|.Z) *(/)' -- g_order
-compctl  -x 's[-]' -s " s o so h version nice beta tune self seed v" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.out(|.gz|.Z) *(/)' - 'c[-1,-so]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' -- g_pme_error
-compctl  -x 's[-]' -s " s f n o v p i h version nice b e dt tu w xvg nomw pc" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-v]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-i]' -g '*.xvg(|.gz|.Z) *(/)' -- g_polystat
-compctl  -x 's[-]' -s " f n s o oc of h version nice b e dt w xvg d sl cb ce tz spherical ng correct" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' -- g_potential
-compctl  -x 's[-]' -s " f s n a1 a2 a3 om h version nice b e dt tu w foo" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-a1]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-a2]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-a3]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-om]' -g '*.dat(|.gz|.Z) *(/)' -- g_principal
-compctl  -x 's[-]' -s " s f n o h version nice b e dt" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' -- g_protonate
-compctl  -x 's[-]' -s " f s o h version nice b e dt w xvg" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_rama
-compctl  -x 's[-]' -s " f s n d o sq cn hq h version nice b e dt w xvg bin com surf rdf nopbc nonorm xy cut ng fade nlevel startq endq energy" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-surf]' -s " no mol res" - 'c[-1,-rdf]' -s " atom mol_com mol_cog res_com res_cog" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-sq]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cn]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-hq]' -g '*.xvg(|.gz|.Z) *(/)' -- g_rdf
-compctl  -x 's[-]' -s " s f f2 n o mir a dist m bin bm h version nice b e dt tu w xvg what nopbc fit prev split skip skip2 max min bmax bmin nomw nlevels ng" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-what]' -s " rmsd rho rhosc" - 'c[-1,-fit]' -s " rot+trans translation none" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-mir]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-a]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-m]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-bin]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-bm]' -g '*.xpm(|.gz|.Z) *(/)' -- g_rms
-compctl  -x 's[-]' -s " f s n equiv o rms scl mean nmr3 nmr6 noe h version nice b e dt w xvg nlevels max nosumh nopbc" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-equiv]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rms]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-scl]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-mean]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-nmr3]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-nmr6]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-noe]' -g '*.dat(|.gz|.Z) *(/)' -- g_rmsdist
-compctl  -x 's[-]' -s " f s n q oq ox o od oc dir h version nice b e dt w xvg res aniso nofit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-q]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-oq]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-ox]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dir]' -g '*.log(|.gz|.Z) *(/)' -- g_rmsf
-compctl  -x 's[-]' -s " f po c r rb n p pp o t e ref h version nice v time normvsbds maxwarn zero norenum" - 'c[-1,-f]' -g '*.mdp(|.gz|.Z) *(/)' - 'c[-1,-po]' -g '*.mdp(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-r]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-rb]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-pp]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-t]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-ref]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' -- grompp
-compctl  -x 's[-]' -s " f s n o h version nice b e dt w xvg d noaver acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_rotacf
-compctl  -x 's[-]' -s " f s n o h version nice b e dt w xvg ref skip fitxy nomw" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-ref]' -s " none xyz xy" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_rotmat
-compctl  -x 's[-]' -s " f s h version nice b e dt t sep" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' -- g_saltbr
-compctl  -x 's[-]' -s " s f n d pr sq prframe sqframe h version nice b e dt tu xvg mode mcover nopbc startq endq qstep seed nt" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-mode]' -s " direct mc" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-d]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-pr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-sq]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-prframe]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-sqframe]' -g '*.xvg(|.gz|.Z) *(/)' -- g_sans
-compctl  -x 's[-]' -s " f s o or oa tv q n i h version nice b e dt w xvg probe ndots qmax f_index minarea nopbc noprot dgs" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oa]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tv]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-q]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-i]' -g '*.itp(|.gz|.Z) *(/)' -- g_sas
-compctl  -x 's[-]' -s " f s sf n os oc oi om on h version nice b e dt xvg normpbc nopbc select selrpos seltype dump norm cfnorm resnr" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-selrpos]' -s " atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog" - 'c[-1,-seltype]' -s " atom res_com res_cog mol_com mol_cog whole_res_com whole_res_cog whole_mol_com whole_mol_cog part_res_com part_res_cog part_mol_com part_mol_cog dyn_res_com dyn_res_cog dyn_mol_com dyn_mol_cog" - 'c[-1,-resnr]' -s " number index" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-sf]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-os]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oi]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-om]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-on]' -g '*.ndx(|.gz|.Z) *(/)' -- g_select
-compctl  -x 's[-]' -s " f n s oa od od1 od2 h version nice b e dt w xvg one z" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-oa]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od1]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-od2]' -g '*.xvg(|.gz|.Z) *(/)' -- g_sgangle
-compctl  -x 's[-]' -s " f ge ene dist histo bin lp ls lsh lss map ls3 mdata g h version nice w xvg notime b e ttol n d bw nosham tsham pmin dim ngrid xmin xmax pmax gmax emin emax nlevels mname" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ge]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ene]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-dist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-histo]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bin]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-lp]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-ls]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-lsh]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-lss]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-map]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-ls3]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-mdata]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' -- g_sham
-compctl  -x 's[-]' -s " o h version nice w xvg c6 cn pow sig eps A B C qi qj sigfac" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_sigeps
-compctl  -x 's[-]' -s " f s n o no ro co rc h version nice b e dt w xvg com v23 rmin rmax cbin rbin pbc" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-no]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ro]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-co]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rc]' -g '*.xvg(|.gz|.Z) *(/)' -- g_sorient
-compctl  -x 's[-]' -s " s f n h version nice b e dt w pbc nodiv ign bin nab" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' -- g_spatial
-compctl  -x 's[-]' -s " f s n o h version nice b e dt w xvg com refat rmin rmax dip bw" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' -- g_spol
-compctl  -x 's[-]' -s " f s n ot oa o of oc ov h version nice b e dt w xvg mol k34 wt acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oa]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oc]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ov]' -g '*.xvg(|.gz|.Z) *(/)' -- g_tcaf
-compctl  -x 's[-]' -s " f s n ox oxt ov of ob ot ekt ekr vd cv cf av af h version nice b e dt tu w xvg com nopbc mol nojump nox noy noz ng len fp bin ctime scale" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-ox]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oxt]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-ov]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-of]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ob]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ekt]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ekr]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-vd]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-cv]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-cf]' -g '*.pdb(|.gz|.Z) *(/)' - 'c[-1,-av]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-af]' -g '*.xvg(|.gz|.Z) *(/)' -- g_traj
-compctl  -x 's[-]' -s " p err so s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn bo bx bcpo bc be bg beo bdhdl bfield btpi btpid bjo bffout bdevout brunav bpx bpf bro bra brs brt bmtx bdn h version nice xvg np npstring ntmpi r max min npme fix rmax rmin noscalevdw ntpr steps resetstep simsteps launch nobench noappend cpnum" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-npstring]' -s " -np -n none" - 'c[-1,-npme]' -s " auto all subset" - 'c[-1,-p]' -g '*.out(|.gz|.Z) *(/)' - 'c[-1,-err]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-so]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-x]' -g '*.xtc(|.gz|.Z) *(/)' - 'c[-1,-cpi]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-cpo]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-dhdl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-field]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-table]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tabletf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tablep]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tableb]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rerun]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-tpi]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tpid]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ei]' -g '*.edi(|.gz|.Z) *(/)' - 'c[-1,-eo]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-j]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-jo]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-ffout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-devout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-runav]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-px]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-pf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ro]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ra]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rs]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rt]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-mtx]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-dn]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-bo]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-bx]' -g '*.xtc(|.gz|.Z) *(/)' - 'c[-1,-bcpo]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-bc]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-be]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-bg]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-beo]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bdhdl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bfield]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-btpi]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-btpid]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bjo]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-bffout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bdevout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-brunav]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bpx]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bpf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bro]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bra]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-brs]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-brt]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-bmtx]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-bdn]' -g '*.ndx(|.gz|.Z) *(/)' -- g_tune_pme
-compctl  -x 's[-]' -s " f s n om or ot h version nice b e dt w xvg sqrt fm rmax rbin mmax nlevels nr fr rt ft" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-om]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-or]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ot]' -g '*.xvg(|.gz|.Z) *(/)' -- g_vanhove
-compctl  -x 's[-]' -s " f s n o os h version nice b e dt w xvg m norecip mol acflen nonormalize P fitfn ncskip beginfit endfit" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-P]' -s " 0 1 2 3" - 'c[-1,-fitfn]' -s " none exp aexp exp_exp vac exp5 exp7 exp9 erffit" - 'c[-1,-f]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-os]' -g '*.xvg(|.gz|.Z) *(/)' -- g_velacc
-compctl  -x 's[-]' -s " ix if it ip o hist oiact iiact bsres bsprof tab h version nice xvg min max noauto bins temp tol v b e dt histonly boundsonly nolog unit zprof0 cycl sym ac acsig ac-trestart nBootstrap bs-method bs-tau bs-seed histbs-block vbs" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-unit]' -s " kJ kCal kT" - 'c[-1,-bs-method]' -s " b-hist hist traj traj-gauss" - 'c[-1,-ix]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-if]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-it]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-ip]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-hist]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-oiact]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-iiact]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-bsres]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-bsprof]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tab]' -g '*.dat(|.gz|.Z) *(/)' -- g_wham
-compctl  -x 's[-]' -s " f o h version nice r0 rot0 T nonn" - 'c[-1,-f]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.eps(|.gz|.Z) *(/)' -- g_wheel
-compctl  -x 's[-]' -s " f o r h version nice ff v nexcl noH14 alldih remdih nopairs name nopbc pdbq noparam noround kb kt kp" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-r]' -g '*.rtp(|.gz|.Z) *(/)' -- g_x2top
-compctl  -x 's[-]' -s " f s h version nice b e dt" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' -- g_xrama
-compctl  -x 's[-]' -s " f eig s n tar ori o h version nice xvg mon linfix linacc radfix radacc radcon flood outfrq slope linstep accdir radstep maxedsteps eqsteps deltaF0 deltaF tau Eflnull T alpha restrain hessian harmonic constF" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-eig]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-tar]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-ori]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.edi(|.gz|.Z) *(/)' -- make_edi
-compctl  -x 's[-]' -s " f n o h version nice natoms" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.ndx(|.gz|.Z) *(/)' -- make_ndx
-compctl  -x 's[-]' -s " s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn multidir membed mp mn h version nice deffnm xvg pd dd ddorder npme nt ntmpi ntomp ntomp_pme pin pinoffset pinstride gpu_id noddcheck rdd rcon dlb dds gcom nb notunepme testverlet v nocompact seppot pforce reprod cpt cpnum noappend nsteps maxh multi replex nex reseed ionize" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-ddorder]' -s " interleave pp_pme cartesian" - 'c[-1,-pin]' -s " auto on off" - 'c[-1,-dlb]' -s " auto no yes" - 'c[-1,-nb]' -s " auto cpu gpu gpu_cpu" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-x]' -g '*.xtc(|.gz|.Z) *(/)' - 'c[-1,-cpi]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-cpo]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-dhdl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-field]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-table]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tabletf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tablep]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tableb]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rerun]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-tpi]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tpid]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ei]' -g '*.edi(|.gz|.Z) *(/)' - 'c[-1,-eo]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-j]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-jo]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-ffout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-devout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-runav]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-px]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-pf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ro]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ra]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rs]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rt]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-mtx]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-dn]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-multidir]' -g '*.(|.gz|.Z) *(/)' - 'c[-1,-membed]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-mp]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-mn]' -g '*.ndx(|.gz|.Z) *(/)' -- mdrun
-compctl  -x 's[-]' -s " s o x cpi cpo c e g dhdl field table tabletf tablep tableb rerun tpi tpid ei eo j jo ffout devout runav px pf ro ra rs rt mtx dn multidir membed mp mn h version nice deffnm xvg pd dd ddorder npme nt ntmpi ntomp ntomp_pme pin pinoffset pinstride gpu_id noddcheck rdd rcon dlb dds gcom nb notunepme testverlet v nocompact seppot pforce reprod cpt cpnum noappend nsteps maxh multi replex nex reseed ionize" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-ddorder]' -s " interleave pp_pme cartesian" - 'c[-1,-pin]' -s " auto on off" - 'c[-1,-dlb]' -s " auto no yes" - 'c[-1,-nb]' -s " auto cpu gpu gpu_cpu" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-x]' -g '*.xtc(|.gz|.Z) *(/)' - 'c[-1,-cpi]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-cpo]' -g '*.cpt(|.gz|.Z) *(/)' - 'c[-1,-c]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-g]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-dhdl]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-field]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-table]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tabletf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tablep]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tableb]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-rerun]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-tpi]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-tpid]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ei]' -g '*.edi(|.gz|.Z) *(/)' - 'c[-1,-eo]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-j]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-jo]' -g '*.gct(|.gz|.Z) *(/)' - 'c[-1,-ffout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-devout]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-runav]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-px]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-pf]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ro]' -g '*.xvg(|.gz|.Z) *(/)' - 'c[-1,-ra]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rs]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-rt]' -g '*.log(|.gz|.Z) *(/)' - 'c[-1,-mtx]' -g '*.mtx(|.gz|.Z) *(/)' - 'c[-1,-dn]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-multidir]' -g '*.line_buf(|.gz|.Z) *(/)' - 'c[-1,-membed]' -g '*.dat(|.gz|.Z) *(/)' - 'c[-1,-mp]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-mn]' -g '*.ndx(|.gz|.Z) *(/)' -- mdrun_mpi
-compctl  -x 's[-]' -s " s n h version nice type nohyd hq" - 'c[-1,-type]' -s " angle dihedral improper ryckaert-bellemans" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' -- mk_angndx
-compctl  -x 's[-]' -s " f s n h version nice b e dt" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' -- ngmx
-compctl  -x 's[-]' -s " f o p i n q h version nice chainsep merge ff water inter ss ter lys arg asp glu gln his angle dist una ignh missing v posrefc vsite heavyh deuterate nochargegrp nocmap renum rtpres" - 'c[-1,-chainsep]' -s " id_or_ter id_and_ter ter id interactive" - 'c[-1,-merge]' -s " no all interactive" - 'c[-1,-water]' -s " select none spc spce tip3p tip4p tip5p" - 'c[-1,-vsite]' -s " none hydrogens aromatics" - 'c[-1,-f]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz|tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' - 'c[-1,-p]' -g '*.top(|.gz|.Z) *(/)' - 'c[-1,-i]' -g '*.itp(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-q]' -g '*.(gro|g96|pdb|brk|ent|esp|xyz)(|.gz|.Z) *(/)' -- pdb2gmx
-compctl  -x 's[-]' -s " s f e n o h version nice extend until nsteps time zeroq novel nocont init_fep_state" - 'c[-1,-s]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' - 'c[-1,-f]' -g '*.(trr|cpt|trj)(|.gz|.Z) *(/)' - 'c[-1,-e]' -g '*.edr(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(tpr|tpb|tpa)(|.gz|.Z) *(/)' -- tpbconv
-compctl  -x 's[-]' -s " f o n demux h version nice tu xvg b e dt prec novel settime nosort keeplast overwrite cat" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-demux]' -g '*.xvg(|.gz|.Z) *(/)' -- trjcat
-compctl  -x 's[-]' -s " f o s n fr sub drop h version nice b e tu w xvg skip dt round dump t0 timestep pbc ur center boxcenter box clustercenter trans shift fit ndec novel force trunc exec app split sep nzero dropunder dropover conect" - 'c[-1,-tu]' -s " fs ps ns us ms s" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-pbc]' -s " none mol res atom nojump cluster whole" - 'c[-1,-ur]' -s " rect tric compact" - 'c[-1,-boxcenter]' -s " tric rect zero" - 'c[-1,-fit]' -s " none rot+trans rotxy+transxy translation transxy progressive" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-fr]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-sub]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-drop]' -g '*.xvg(|.gz|.Z) *(/)' -- trjconv
-compctl  -x 's[-]' -s " f s n o nshell h version nice b e dt xvg na da com r z" - 'c[-1,-xvg]' -s " xmgrace xmgr none" - 'c[-1,-f]' -g '*.(xtc|trr|cpt|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-s]' -g '*.(tpr|tpb|tpa|gro|g96|pdb|brk|ent)(|.gz|.Z) *(/)' - 'c[-1,-n]' -g '*.ndx(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.(xtc|trr|trj|gro|g96|pdb|g87)(|.gz|.Z) *(/)' - 'c[-1,-nshell]' -g '*.xvg(|.gz|.Z) *(/)' -- trjorder
-compctl  -x 's[-]' -s " f f2 di do o xpm h version nice w noframe title yonce legend diag size bx by rainbow gradient skip zeroline legoffset combine cmin cmax" - 'c[-1,-title]' -s " top once ylabel none" - 'c[-1,-legend]' -s " both first second none" - 'c[-1,-diag]' -s " first second none" - 'c[-1,-rainbow]' -s " no blue red" - 'c[-1,-combine]' -s " halves add sub mult div" - 'c[-1,-f]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-f2]' -g '*.xpm(|.gz|.Z) *(/)' - 'c[-1,-di]' -g '*.m2p(|.gz|.Z) *(/)' - 'c[-1,-do]' -g '*.m2p(|.gz|.Z) *(/)' - 'c[-1,-o]' -g '*.eps(|.gz|.Z) *(/)' - 'c[-1,-xpm]' -g '*.xpm(|.gz|.Z) *(/)' -- xpm2ps
index 4af1d6118085db989feb84012db929bb5aae3d12..e89e6ff9fe57319020c910b0604a384359d6f3a5 100644 (file)
@@ -1,7 +1,7 @@
 #
 # This file is part of the GROMACS molecular simulation package.
 #
-# Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+# Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
 # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 # and including many others, as listed in the AUTHORS file in the
 # top-level source directory and at http://www.gromacs.org.
 # To help us fund GROMACS development, we humbly ask that you cite
 # the research papers on the package. Check out http://www.gromacs.org.
 
-option(GMX_BUILD_HELP "Build man pages and HTML help automatically" OFF)
-mark_as_advanced(GMX_BUILD_HELP)
-if (GMX_BUILD_HELP AND SOURCE_IS_SOURCE_DISTRIBUTION AND
-    "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
-
-    message(FATAL_ERROR
-        "Rebuilding HTML and man pages it not supported for in-source "
-        "builds from a source distribution. "
-        "Set GMX_BUILD_HELP=OFF or do an out-of-source build to proceed.")
-endif()
-
 add_subdirectory(html)
 add_subdirectory(man)
 add_subdirectory(template)
index eeb1ee44c117c95fcfc530f56c90340cf4b7171c..71e9c16f2083fbb0752b2377b28fe0f1b7b677d6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -41,6 +41,7 @@
  */
 #include "cmdlinehelpcontext.h"
 
+#include "gromacs/commandline/shellcompletions.h"
 #include "gromacs/utility/gmxassert.h"
 
 namespace gmx
@@ -72,16 +73,18 @@ class CommandLineHelpContext::Impl
         //! Creates the implementation class and the low-level context.
         Impl(File *file, HelpOutputFormat format, const HelpLinks *links)
             : writerContext_(file, format, links), moduleDisplayName_("gmx"),
-              bHidden_(false)
+              completionWriter_(NULL), bHidden_(false)
         {
         }
 
         //! Wrapped lower-level context.
-        HelpWriterContext  writerContext_;
+        HelpWriterContext      writerContext_;
         //! Display name for the module for which help is written.
-        std::string        moduleDisplayName_;
+        std::string            moduleDisplayName_;
+        //! Shell completion writer (`NULL` if not doing completions).
+        ShellCompletionWriter *completionWriter_;
         //! Whether hidden options should be shown in help output.
-        bool               bHidden_;
+        bool                   bHidden_;
 };
 
 CommandLineHelpContext::CommandLineHelpContext(
@@ -90,6 +93,13 @@ CommandLineHelpContext::CommandLineHelpContext(
 {
 }
 
+CommandLineHelpContext::CommandLineHelpContext(
+        ShellCompletionWriter *writer)
+    : impl_(new Impl(writer->outputFile(), eHelpOutputFormat_Other, NULL))
+{
+    impl_->completionWriter_ = writer;
+}
+
 CommandLineHelpContext::CommandLineHelpContext(
         const CommandLineHelpContext &other)
     : impl_(new Impl(*other.impl_))
@@ -126,6 +136,18 @@ bool CommandLineHelpContext::showHidden() const
     return impl_->bHidden_;
 }
 
+bool CommandLineHelpContext::isCompletionExport() const
+{
+    return impl_->completionWriter_ != NULL;
+}
+
+ShellCompletionWriter &CommandLineHelpContext::shellCompletionWriter() const
+{
+    GMX_RELEASE_ASSERT(isCompletionExport(),
+                       "Invalid call when not writing shell completions");
+    return *impl_->completionWriter_;
+}
+
 /********************************************************************
  * GlobalCommandLineHelpContext
  */
index e153c06ae1e307c0ece51319e8b487d084f88a57..50297ac61b3dd5f4ccdb5d90558021ffe8e29c60 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,6 +49,8 @@
 namespace gmx
 {
 
+class ShellCompletionWriter;
+
 /*! \libinternal \brief
  * Context information for writing out command-line help.
  *
@@ -68,12 +70,16 @@ class CommandLineHelpContext
 {
     public:
         /*! \brief
-         * Creates the context.
+         * Creates a context for help export.
          *
          * Wraps the constructor of HelpWriterContext.
          */
         CommandLineHelpContext(File *file, HelpOutputFormat format,
                                const HelpLinks *links);
+        /*! \brief
+         * Creates a context for shell completion.
+         */
+        explicit CommandLineHelpContext(ShellCompletionWriter *writer);
         //! Creates a copy of the context.
         explicit CommandLineHelpContext(const CommandLineHelpContext &other);
         ~CommandLineHelpContext();
@@ -97,6 +103,14 @@ class CommandLineHelpContext
         const char *moduleDisplayName() const;
         //! Returns whether hidden options should be shown in help output.
         bool showHidden() const;
+        //! Returns whether this context is for exporting shell completions.
+        bool isCompletionExport() const;
+        /*! \brief
+         * Returns the shell completion writer for this context.
+         *
+         * Can only be called if isCompletionExport() returns `true`.
+         */
+        ShellCompletionWriter &shellCompletionWriter() const;
 
     private:
         class Impl;
index d4746133a685431b1b966cc477510c8f5e5c3f2d..9ae14c958cb7f55405ab9800735e1e3d6ec12054 100644 (file)
@@ -43,6 +43,7 @@
 
 #include <algorithm>
 #include <string>
+#include <vector>
 
 #include <boost/scoped_ptr.hpp>
 
@@ -50,6 +51,7 @@
 
 #include "gromacs/commandline/cmdlinehelpcontext.h"
 #include "gromacs/commandline/cmdlineparser.h"
+#include "gromacs/commandline/shellcompletions.h"
 #include "gromacs/onlinehelp/helpformat.h"
 #include "gromacs/onlinehelp/helpmanager.h"
 #include "gromacs/onlinehelp/helptopic.h"
@@ -597,6 +599,70 @@ void HelpExportHtml::writeHtmlFooter(File *file) const
     file->writeLine(footer_);
 }
 
+/********************************************************************
+ * HelpExportCompletion
+ */
+
+/*! \internal \brief
+ * Implements export for command-line completion.
+ *
+ * \ingroup module_commandline
+ */
+class HelpExportCompletion : public HelpExportInterface
+{
+    public:
+        //! Initializes completion exporter.
+        explicit HelpExportCompletion(const CommandLineHelpModuleImpl &helpModule);
+
+        virtual void startModuleExport();
+        virtual void exportModuleHelp(
+            const CommandLineModuleInterface &module,
+            const std::string                &tag,
+            const std::string                &displayName);
+        virtual void finishModuleExport();
+
+        virtual void startModuleGroupExport() {}
+        virtual void exportModuleGroup(const char                * /*title*/,
+                                       const ModuleGroupContents & /*modules*/) {}
+        virtual void finishModuleGroupExport() {}
+
+    private:
+        ShellCompletionWriter    bashWriter_;
+        std::vector<std::string> modules_;
+};
+
+HelpExportCompletion::HelpExportCompletion(
+        const CommandLineHelpModuleImpl &helpModule)
+    : bashWriter_(helpModule.binaryName_, eShellCompletionFormat_Bash)
+{
+}
+
+void HelpExportCompletion::startModuleExport()
+{
+    bashWriter_.startCompletions();
+}
+
+void HelpExportCompletion::exportModuleHelp(
+        const CommandLineModuleInterface &module,
+        const std::string                 & /*tag*/,
+        const std::string                 & /*displayName*/)
+{
+    modules_.push_back(module.name());
+    {
+        CommandLineHelpContext context(&bashWriter_);
+        // We use the display name to pass the name of the module to the
+        // completion writer.
+        context.setModuleDisplayName(module.name());
+        module.writeHelp(context);
+    }
+}
+
+void HelpExportCompletion::finishModuleExport()
+{
+    bashWriter_.writeWrapperCompletions(modules_);
+    bashWriter_.finishCompletions();
+}
+
 }   // namespace
 
 /********************************************************************
@@ -701,6 +767,10 @@ int CommandLineHelpModule::run(int argc, char *argv[])
         {
             exporter.reset(new HelpExportHtml(*impl_));
         }
+        else if (exportFormat == "completion")
+        {
+            exporter.reset(new HelpExportCompletion(*impl_));
+        }
         else
         {
             GMX_THROW(NotImplementedError("This help format is not implemented"));
index e3d404a186f00600e427edc24ecb87eeaefdfb38..36e66b9119de4792f10a8eb778b434472cc76d85 100644 (file)
@@ -46,6 +46,7 @@
 #include <boost/scoped_ptr.hpp>
 
 #include "gromacs/commandline/cmdlinehelpcontext.h"
+#include "gromacs/commandline/shellcompletions.h"
 #include "gromacs/onlinehelp/helpformat.h"
 #include "gromacs/onlinehelp/helpwritercontext.h"
 #include "gromacs/options/basicoptions.h"
@@ -510,6 +511,12 @@ CommandLineHelpWriter &CommandLineHelpWriter::setTimeUnitString(const char *time
 
 void CommandLineHelpWriter::writeHelp(const CommandLineHelpContext &context)
 {
+    if (context.isCompletionExport())
+    {
+        context.shellCompletionWriter().writeModuleCompletions(
+                context.moduleDisplayName(), impl_->options_);
+        return;
+    }
     const HelpWriterContext &writerContext = context.writerContext();
     const bool               bConsole
         = (writerContext.outputFormat() == eHelpOutputFormat_Console);
index 7fc4b4a1cacc934595e4e1acbfe05cf25a9ed433..b2a59fbaac790a4dc4af8e9130278d0ae2eed6ea 100644 (file)
@@ -575,9 +575,6 @@ gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags,
                            int nbugs, const char **bugs,
                            output_env_t *oenv)
 {
-    const char *manstr[] = {
-        NULL, "no", "completion", NULL
-    };
     /* This array should match the order of the enum in oenv.h */
     const char *xvg_format[] = { NULL, "xmgrace", "xmgr", "none", NULL };
     /* This array should match the order of the enum in oenv.h */
@@ -635,8 +632,6 @@ gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags,
 #define EXTRA_PA 16
 
     t_pargs  pca_pa[] = {
-        { "-man",  FALSE, etENUM,  {manstr},
-          "HIDDENWrite manual and quit" },
         { "-debug", FALSE, etINT, {&debug_level},
           "HIDDENWrite file with debug information, 1: short, 2: also x and f" },
     };
@@ -809,20 +804,17 @@ gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags,
     {
         const gmx::CommandLineHelpContext *context =
             gmx::GlobalCommandLineHelpContext::get();
-        bExit = (context != NULL || strcmp(manstr[0], "no") != 0);
-        if (!(FF(PCA_QUIET)))
+        bExit = (context != NULL);
+        if (context != NULL && !(FF(PCA_QUIET)))
         {
-            if (context != NULL)
+            if (context->isCompletionExport())
             {
-                write_man(*context, ndesc, desc, nfile, fnm, npall, all_pa, nbugs, bugs);
+                context->shellCompletionWriter().writeLegacyModuleCompletions(
+                        context->moduleDisplayName(), nfile, fnm, npall, all_pa);
             }
-            else if (!strcmp(manstr[0], "completion"))
+            else
             {
-                const char *program = output_env_get_short_program_name(*oenv);
-                /* one file each for csh, bash and zsh if we do completions */
-                write_completions("completion-zsh", program, nfile, fnm, npall, all_pa);
-                write_completions("completion-bash", program, nfile, fnm, npall, all_pa);
-                write_completions("completion-csh", program, nfile, fnm, npall, all_pa);
+                write_man(*context, ndesc, desc, nfile, fnm, npall, all_pa, nbugs, bugs);
             }
         }
     }
index 002ff60d590c20d73d49d4734ae6fe58feda18ff..cf3cd9fb1d0bb453de0e9e1a589bec45c4ded398 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #include "gromacs/commandline/shellcompletions.h"
 
 #include <cstdio>
-#include <cstring>
 
+#include <string>
+
+#include <boost/scoped_ptr.hpp>
+
+#include "gromacs/commandline/cmdlinehelpcontext.h"
 #include "gromacs/commandline/pargs.h"
 #include "gromacs/fileio/filenm.h"
-#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/file.h"
+#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/stringutil.h"
 
-#include "gromacs/legacyheaders/copyrite.h"
 #include "gromacs/legacyheaders/smalloc.h"
 
-// Shell types for completion.
-enum {
-    eshellCSH, eshellBASH, eshellZSH
-};
-
 // TODO: Don't duplicate this from filenm.c/futil.c.
 #define NZEXT 2
 static const char *z_ext[NZEXT] = { ".gz", ".Z" };
 
-static void pr_fopts(FILE *fp, int nf, const t_filenm tfn[], int shell)
+static void pr_fopts(FILE *fp, int nf, const t_filenm tfn[])
 {
-    switch (shell)
+    for (int i = 0; i < nf; i++)
     {
-        case eshellCSH:
-            for (int i = 0; i < nf; i++)
-            {
-                fprintf(fp, " \"n/%s/f:*.", tfn[i].opt);
-                const int ftp          = tfn[i].ftp;
-                const int genericCount = ftp2generic_count(ftp);
-                if (genericCount > 0)
-                {
-                    fprintf(fp, "{");
-                    const int *const genericTypes = ftp2generic_list(ftp);
-                    for (int j = 0; j < genericCount; j++)
-                    {
-                        if (j > 0)
-                        {
-                            fprintf(fp, ",");
-                        }
-                        fprintf(fp, "%s", ftp2ext(genericTypes[j]));
-                    }
-                    fprintf(fp, "}");
-                }
-                else
-                {
-                    fprintf(fp, "%s", ftp2ext(ftp));
-                }
-                fprintf(fp, "{");
-                for (int j = 0; j < NZEXT; j++)
-                {
-                    fprintf(fp, ",%s", z_ext[j]);
-                }
-                fprintf(fp, "}/\"");
-            }
-            break;
-        case eshellBASH:
-            for (int i = 0; i < nf; i++)
+        fprintf(fp, "%s) COMPREPLY=( $(compgen -X '!*.", tfn[i].opt);
+        const int ftp          = tfn[i].ftp;
+        const int genericCount = ftp2generic_count(ftp);
+        if (genericCount > 0)
+        {
+            fprintf(fp, "+(");
+            const int *const genericTypes = ftp2generic_list(ftp);
+            for (int j = 0; j < genericCount; j++)
             {
-                fprintf(fp, "%s) COMPREPLY=( $(compgen -X '!*.", tfn[i].opt);
-                const int ftp          = tfn[i].ftp;
-                const int genericCount = ftp2generic_count(ftp);
-                if (genericCount > 0)
+                if (j > 0)
                 {
-                    fprintf(fp, "+(");
-                    const int *const genericTypes = ftp2generic_list(ftp);
-                    for (int j = 0; j < genericCount; j++)
-                    {
-                        if (j > 0)
-                        {
-                            fprintf(fp, "|");
-                        }
-                        fprintf(fp, "%s", ftp2ext(genericTypes[j]));
-                    }
-                    fprintf(fp, ")");
+                    fprintf(fp, "|");
                 }
-                else
-                {
-                    fprintf(fp, "%s", ftp2ext(ftp));
-                }
-                fprintf(fp, "*(");
-                for (int j = 0; j < NZEXT; j++)
-                {
-                    if (j > 0)
-                    {
-                        fprintf(fp, "|");
-                    }
-                    fprintf(fp, "%s", z_ext[j]);
-                }
-                fprintf(fp, ")' -f $c ; compgen -S '/' -X '.*' -d $c ));;\n");
+                fprintf(fp, "%s", ftp2ext(genericTypes[j]));
             }
-            break;
-        case eshellZSH:
-            for (int i = 0; i < nf; i++)
+            fprintf(fp, ")");
+        }
+        else
+        {
+            fprintf(fp, "%s", ftp2ext(ftp));
+        }
+        fprintf(fp, "*(");
+        for (int j = 0; j < NZEXT; j++)
+        {
+            if (j > 0)
             {
-                fprintf(fp, "- 'c[-1,%s]' -g '*.", tfn[i].opt);
-                const int ftp          = tfn[i].ftp;
-                const int genericCount = ftp2generic_count(ftp);
-                if (genericCount > 0)
-                {
-                    fprintf(fp, "(");
-                    const int *const genericTypes = ftp2generic_list(ftp);
-                    for (int j = 0; j < genericCount; j++)
-                    {
-                        if (j > 0)
-                        {
-                            fprintf(fp, "|");
-                        }
-                        fprintf(fp, "%s", ftp2ext(genericTypes[j]));
-                    }
-                    fprintf(fp, ")");
-                }
-                else
-                {
-                    fprintf(fp, "%s", ftp2ext(ftp));
-                }
-                fprintf(fp, "(");
-                for (int j = 0; j < NZEXT; j++)
-                {
-                    fprintf(fp, "|%s", z_ext[j]);
-                }
-                fprintf(fp, ") *(/)' ");
+                fprintf(fp, "|");
             }
-            break;
+            fprintf(fp, "%s", z_ext[j]);
+        }
+        fprintf(fp, ")' -f $c ; compgen -S '/' -X '.*' -d $c ));;\n");
     }
 }
 
 static void pr_opts(FILE *fp,
                     int nfile,  t_filenm *fnm,
-                    int npargs, t_pargs pa[], int shell)
+                    int npargs, t_pargs pa[])
 {
-    switch (shell)
+    fprintf(fp, "if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W '");
+    for (int i = 0; i < nfile; i++)
     {
-        case eshellCSH:
-            fprintf(fp, " \"c/-/(");
-            for (int i = 0; i < nfile; i++)
-            {
-                fprintf(fp, " %s", fnm[i].opt+1);
-            }
-            for (int i = 0; i < npargs; i++)
-            {
-                if (pa[i].type == etBOOL && *(pa[i].u.b))
-                {
-                    fprintf(fp, " no%s", pa[i].option+1);
-                }
-                else
-                {
-                    fprintf(fp, " %s", pa[i].option+1);
-                }
-            }
-            fprintf(fp, ")/\"");
-            break;
-        case eshellBASH:
-            fprintf(fp, "if (( $COMP_CWORD <= 1 )) || [[ $c == -* ]]; then COMPREPLY=( $(compgen  -W '");
-            for (int i = 0; i < nfile; i++)
-            {
-                fprintf(fp, " -%s", fnm[i].opt+1);
-            }
-            for (int i = 0; i < npargs; i++)
-            {
-                if (pa[i].type == etBOOL && *(pa[i].u.b))
-                {
-                    fprintf(fp, " -no%s", pa[i].option+1);
-                }
-                else
-                {
-                    fprintf(fp, " -%s", pa[i].option+1);
-                }
-            }
-            fprintf(fp, "' -- $c)); return 0; fi\n");
-            break;
-        case eshellZSH:
-            fprintf(fp, " -x 's[-]' -s \"");
-            for (int i = 0; i < nfile; i++)
-            {
-                fprintf(fp, " %s", fnm[i].opt+1);
-            }
-            for (int i = 0; i < npargs; i++)
-            {
-                if (pa[i].type == etBOOL && *(pa[i].u.b))
-                {
-                    fprintf(fp, " no%s", pa[i].option+1);
-                }
-                else
-                {
-                    fprintf(fp, " %s", pa[i].option+1);
-                }
-            }
-            fprintf(fp, "\" ");
-            break;
+        fprintf(fp, " -%s", fnm[i].opt+1);
     }
+    for (int i = 0; i < npargs; i++)
+    {
+        if (pa[i].type == etBOOL && *(pa[i].u.b))
+        {
+            fprintf(fp, " -no%s", pa[i].option+1);
+        }
+        else
+        {
+            fprintf(fp, " -%s", pa[i].option+1);
+        }
+    }
+    fprintf(fp, "' -- $c)); return 0; fi\n");
 }
 
-static void pr_enums(FILE *fp, int npargs, t_pargs pa[], int shell)
+static void pr_enums(FILE *fp, int npargs, t_pargs pa[])
 {
-    int i, j;
-
-    switch (shell)
+    for (int i = 0; i < npargs; i++)
     {
-        case eshellCSH:
-            for (i = 0; i < npargs; i++)
-            {
-                if (pa[i].type == etENUM)
-                {
-                    fprintf(fp, " \"n/%s/(", pa[i].option);
-                    for (j = 1; pa[i].u.c[j]; j++)
-                    {
-                        fprintf(fp, " %s", pa[i].u.c[j]);
-                    }
-                    fprintf(fp, ")/\"");
-                }
-            }
-            break;
-        case eshellBASH:
-            for (i = 0; i < npargs; i++)
-            {
-                if (pa[i].type == etENUM)
-                {
-                    fprintf(fp, "%s) COMPREPLY=( $(compgen -W '", pa[i].option);
-                    for (j = 1; pa[i].u.c[j]; j++)
-                    {
-                        fprintf(fp, " %s", pa[i].u.c[j]);
-                    }
-                    fprintf(fp, " ' -- $c ));;\n");
-                }
-            }
-            break;
-        case eshellZSH:
-            for (i = 0; i < npargs; i++)
+        if (pa[i].type == etENUM)
+        {
+            fprintf(fp, "%s) COMPREPLY=( $(compgen -W '", pa[i].option);
+            for (int j = 1; pa[i].u.c[j]; j++)
             {
-                if (pa[i].type == etENUM)
-                {
-                    fprintf(fp, "- 'c[-1,%s]' -s \"", pa[i].option);
-                    for (j = 1; pa[i].u.c[j]; j++)
-                    {
-                        fprintf(fp, " %s", pa[i].u.c[j]);
-                    }
-                    fprintf(fp, "\" ");
-                }
+                fprintf(fp, " %s", pa[i].u.c[j]);
             }
-            break;
+            fprintf(fp, " ' -- $c ));;\n");
+        }
     }
 }
 
 static void write_bashcompl(FILE *out,
+                            const char *funcName,
                             int nfile,  t_filenm *fnm,
                             int npargs, t_pargs *pa)
 {
     /* Advanced bash completions are handled by shell functions.
      * p and c hold the previous and current word on the command line.
-     * We need to use extended globbing, so write it in each completion file */
-    fprintf(out, "shopt -s extglob\n");
-    fprintf(out, "_%s_compl() {\nlocal p c\n", ShortProgram());
+     */
+    fprintf(out, "%s() {\n", funcName);
+    fprintf(out, "local p c\n");
     fprintf(out, "COMPREPLY=() c=${COMP_WORDS[COMP_CWORD]} p=${COMP_WORDS[COMP_CWORD-1]}\n");
-    pr_opts(out, nfile, fnm, npargs, pa, eshellBASH);
+    pr_opts(out, nfile, fnm, npargs, pa);
     fprintf(out, "case \"$p\" in\n");
 
-    pr_enums(out, npargs, pa, eshellBASH);
-    pr_fopts(out, nfile, fnm, eshellBASH);
-    fprintf(out, "esac }\ncomplete -F _%s_compl %s\n", ShortProgram(), ShortProgram());
+    pr_enums(out, npargs, pa);
+    pr_fopts(out, nfile, fnm);
+    fprintf(out, "esac }\n");
 }
 
-static void write_cshcompl(FILE *out,
-                           int nfile,  t_filenm *fnm,
-                           int npargs, t_pargs *pa)
+namespace gmx
+{
+
+class ShellCompletionWriter::Impl
+{
+    public:
+        Impl(const std::string &binaryName, ShellCompletionFormat /*format*/)
+            : binaryName_(binaryName)
+        {
+        }
+
+        std::string completionFunctionName(const char *moduleName) const
+        {
+            // TODO: Consider if some characters need to be escaped.
+            return formatString("_%s_%s_compl", binaryName_.c_str(), moduleName);
+        }
+
+        std::string             binaryName_;
+        boost::scoped_ptr<File> file_;
+};
+
+ShellCompletionWriter::ShellCompletionWriter(const std::string     &binaryName,
+                                             ShellCompletionFormat  format)
+    : impl_(new Impl(binaryName, format))
 {
-    fprintf(out, "complete %s", ShortProgram());
-    pr_enums(out, npargs, pa, eshellCSH);
-    pr_fopts(out, nfile, fnm, eshellCSH);
-    pr_opts(out, nfile, fnm, npargs, pa, eshellCSH);
-    fprintf(out, "\n");
 }
 
-static void write_zshcompl(FILE *out,
-                           int nfile,  t_filenm *fnm,
-                           int npargs, t_pargs *pa)
+ShellCompletionWriter::~ShellCompletionWriter()
 {
-    fprintf(out, "compctl ");
+}
 
-    /* start with options, since they are always present */
-    pr_opts(out, nfile, fnm, npargs, pa, eshellZSH);
-    pr_enums(out, npargs, pa, eshellZSH);
-    pr_fopts(out, nfile, fnm, eshellZSH);
-    fprintf(out, "-- %s\n", ShortProgram());
+File *ShellCompletionWriter::outputFile()
+{
+    return impl_->file_.get();
 }
 
-void write_completions(const char *type, const char *program,
-                       int nfile,  t_filenm *fnm,
-                       int npargs, t_pargs *pa)
+void ShellCompletionWriter::startCompletions()
 {
-    char     buf[256];
-    sprintf(buf, "%s.%s", program, type);
-    FILE    *out = gmx_fio_fopen(buf, "w");
+    impl_->file_.reset(new File(impl_->binaryName_ + "-completion.bash", "w"));
+    impl_->file_->writeLine("shopt -s extglob");
+}
 
+void ShellCompletionWriter::writeLegacyModuleCompletions(
+        const char *moduleName,
+        int nfile,  t_filenm *fnm,
+        int npargs, t_pargs *pa)
+{
     int      npar;
     t_pargs *par;
 
@@ -344,20 +214,64 @@ void write_completions(const char *type, const char *program,
         }
     }
 
-    if (strcmp(type, "completion-zsh") == 0)
-    {
-        write_zshcompl(out, nfile, fnm, npar, par);
-    }
-    if (strcmp(type, "completion-bash") == 0)
+    write_bashcompl(impl_->file_->handle(),
+                    impl_->completionFunctionName(moduleName).c_str(),
+                    nfile, fnm, npar, par);
+
+    sfree(par);
+}
+
+void ShellCompletionWriter::writeModuleCompletions(
+        const char    *moduleName,
+        const Options  & /*options*/)
+{
+    // TODO: Implement.
+    impl_->file_->writeLine(
+            impl_->completionFunctionName(moduleName) + "() {\nCOMPREPLY=()\n}\n");
+}
+
+void ShellCompletionWriter::writeWrapperCompletions(
+        const ModuleNameList &modules)
+{
+    impl_->file_->writeLine("_" + impl_->binaryName_ + "_compl() {");
+    impl_->file_->writeLine("local i c m");
+    impl_->file_->writeLine("COMPREPLY=()");
+    impl_->file_->writeLine("unset COMP_WORDS[0]");
+    impl_->file_->writeLine("for ((i=1;i<COMP_CWORD;++i)) ; do");
+    impl_->file_->writeLine("if [[ \"${COMP_WORDS[i]}\" != -* ]]; then break ; fi");
+    impl_->file_->writeLine("unset COMP_WORDS[i]");
+    impl_->file_->writeLine("done");
+    impl_->file_->writeLine("if (( i == COMP_CWORD )); then");
+    impl_->file_->writeLine("c=${COMP_WORDS[COMP_CWORD]}");
+    // TODO: Get rid of these hard-coded options.
+    std::string completions("-h -quiet -version -nocopyright");
+    for (ModuleNameList::const_iterator i = modules.begin();
+         i != modules.end(); ++i)
     {
-        write_bashcompl(out, nfile, fnm, npar, par);
+        completions.append(" ");
+        completions.append(*i);
     }
-    if (strcmp(type, "completion-csh") == 0)
+    impl_->file_->writeLine("COMPREPLY=( $(compgen -W '" + completions + "' -- $c) )");
+    impl_->file_->writeLine("return 0");
+    impl_->file_->writeLine("fi");
+    impl_->file_->writeLine("m=${COMP_WORDS[i]}");
+    impl_->file_->writeLine("COMP_WORDS=( \"${COMP_WORDS[@]}\" )");
+    impl_->file_->writeLine("COMP_CWORD=$((COMP_CWORD-i))");
+    impl_->file_->writeLine("case \"$m\" in");
+    for (ModuleNameList::const_iterator i = modules.begin();
+         i != modules.end(); ++i)
     {
-        write_cshcompl(out, nfile, fnm, npar, par);
+        const char *const name = i->c_str();
+        impl_->file_->writeLine(formatString("%s) %s ;;", name,
+                                             impl_->completionFunctionName(name).c_str()));
     }
+    impl_->file_->writeLine("esac }");
+}
 
-    sfree(par);
-
-    gmx_fio_fclose(out);
+void ShellCompletionWriter::finishCompletions()
+{
+    impl_->file_->close();
+    impl_->file_.reset();
 }
+
+} // namespace gmx
index d8e86b21d1e8be0718a58680fe8476a6dcbcab36..a1088d2a58a0852ad56f6e9948af9cf1a5c327cb 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
  * To help us fund GROMACS development, we humbly ask that you cite
  * the research papers on the package. Check out http://www.gromacs.org.
  */
+/*! \internal \file
+ * \brief
+ * Declares gmx::ShellCompletionWriter.
+ *
+ * \author Teemu Murtola <teemu.murtola@gmail.com> (C++ interface)
+ */
 #ifndef GMX_COMMANDLINE_SHELLCOMPLETIONS_H
 #define GMX_COMMANDLINE_SHELLCOMPLETIONS_H
 
+#include <string>
+#include <vector>
+
 #include "gromacs/commandline/pargs.h"
 #include "gromacs/fileio/filenm.h"
+#include "gromacs/utility/common.h"
+
+namespace gmx
+{
+
+class CommandLineHelpContext;
+class File;
+class Options;
+
+//! \cond internal
+//! \addtogroup module_onlinehelp
+//! \{
+
+//! Output format for ShellCompletionWriter.
+enum ShellCompletionFormat
+{
+    eShellCompletionFormat_Bash         //!< Shell completions for bash.
+};
+
+//! \}
+//! \endcond
+
+class ShellCompletionWriter
+{
+    public:
+        typedef std::vector<std::string> ModuleNameList;
+
+        ShellCompletionWriter(const std::string     &binaryName,
+                              ShellCompletionFormat  format);
+        ~ShellCompletionWriter();
+
+        File *outputFile();
+
+        void startCompletions();
+        void writeLegacyModuleCompletions(const char *moduleName,
+                                          int nfile,  t_filenm *fnm,
+                                          int npargs, t_pargs *pa);
+        void writeModuleCompletions(const char    *moduleName,
+                                    const Options &options);
+        void writeWrapperCompletions(const ModuleNameList &modules);
+        void finishCompletions();
+
+    private:
+        class Impl;
+
+        PrivateImplPointer<Impl> impl_;
+};
 
-void write_completions(const char *type, const char *program,
-                       int nfile,  t_filenm *fnm,
-                       int npargs, t_pargs *pa);
+} // namespace gmx
 
 #endif
index 026392697c68627d72c9d6bc723ad973403103f9..157ea00b8a584877bf46b8cf38646943392558df 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -61,6 +61,7 @@ enum HelpOutputFormat
     eHelpOutputFormat_Console,  //!< Plain text directly on the console.
     eHelpOutputFormat_Man,      //!< Man page.
     eHelpOutputFormat_Html,     //!< Html output for online manual.
+    eHelpOutputFormat_Other,    //!< Used for extensions in other modules.
     eHelpOutputFormat_NR        //!< Used for the number of output formats.
 };
 //! \endcond
diff --git a/src/programs/.gitignore b/src/programs/.gitignore
new file mode 100644 (file)
index 0000000..899751d
--- /dev/null
@@ -0,0 +1,3 @@
+CreateLinks.cmake
+completion/
+gmx-completion-*
index f3165e6de3e736cdbc2453e6d238025b485af54a..3dc34fc9862e4b0af63c14eefe0ff95474de2cf7 100644 (file)
@@ -47,10 +47,15 @@ elseif(GMX_BUILD_MDRUN_ONLY)
     add_executable(mdrun $<TARGET_OBJECTS:mdrun_objlib> mdrun_main.cpp)
     target_link_libraries(mdrun
         ${GMX_EXTRA_LIBRARIES} libgromacs ${GMX_EXE_LINKER_FLAGS})
+    set(BINARY_NAME "mdrun${GMX_BINARY_SUFFIX}")
     set_target_properties(mdrun PROPERTIES
-        OUTPUT_NAME "mdrun${GMX_BINARY_SUFFIX}"
+        OUTPUT_NAME "${BINARY_NAME}"
         COMPILE_FLAGS "${OpenMP_C_FLAGS}")
     install(TARGETS mdrun DESTINATION ${BIN_INSTALL_DIR} COMPONENT mdrun)
+    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash
+         "complete -F _gmx_mdrun_compl ${BINARY_NAME}")
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash
+            DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
 else()
     file(GLOB GMX_MAIN_SOURCES gmx/gmx.cpp gmx/legacymodules.cpp)
     if(GMX_X11)
@@ -68,16 +73,50 @@ else()
     if(GMX_X11)
         target_link_libraries(gmx ${X11_LIBRARIES})
     endif()
+    set(BINARY_NAME "gmx${GMX_BINARY_SUFFIX}")
     set_target_properties(gmx PROPERTIES
-        OUTPUT_NAME "gmx${GMX_BINARY_SUFFIX}"
+        OUTPUT_NAME "${BINARY_NAME}"
         COMPILE_FLAGS "${OpenMP_C_FLAGS}")
-
-    configure_file(CreateLinks.cmake.cmakein CreateLinks.cmake @ONLY)
-    set(CREATE_LINKS_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/CreateLinks.cmake)
-
     install(TARGETS gmx
             RUNTIME DESTINATION ${BIN_INSTALL_DIR})
+
+    ########################
+    # Completion generation
+
+    set(COMPLETION_DIR ${CMAKE_CURRENT_SOURCE_DIR}/completion)
+    if(SOURCE_IS_SOURCE_DISTRIBUTION)
+        # Make sure source package contains the completions.
+        if(NOT EXISTS "${COMPLETION_DIR}/gmx-completion.bash")
+            message(FATAL_ERROR "Shell completions are missing from source package.")
+        endif()
+    endif()
+    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/completion)
+    add_custom_target(completion
+        gmx -quiet help -export completion
+        COMMENT "Generating command-line completions for programs"
+        WORKING_DIRECTORY completion
+        VERBATIM)
+    # Using GMX_BUILD_HELP here is somewhat confusing, but the conditions when
+    # this can be done are exactly the same (ability to run the compiled
+    # binaries).
+    if (GMX_BUILD_HELP)
+        set_target_properties(completion PROPERTIES EXCLUDE_FROM_ALL OFF)
+        set_directory_properties(PROPERTIES
+            ADDITIONAL_MAKE_CLEAN_FILES "completion")
+        set(COMPLETION_DIR ${CMAKE_CURRENT_BINARY_DIR}/completion)
+    endif()
+    if (SOURCE_IS_SOURCE_DISTRIBUTION OR GMX_BUILD_HELP)
+        install(DIRECTORY ${COMPLETION_DIR}/
+                DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
+        file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash
+             "complete -F _gmx_compl ${BINARY_NAME}")
+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gmx-completion-${BINARY_NAME}.bash
+                DESTINATION ${BIN_INSTALL_DIR} COMPONENT runtime)
+    endif()
+
     if (GMX_SYMLINK_OLD_BINARY_NAMES)
+        configure_file(CreateLinks.cmake.cmakein CreateLinks.cmake @ONLY)
+        set(CREATE_LINKS_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/CreateLinks.cmake)
         install(SCRIPT ${CREATE_LINKS_SCRIPT} COMPONENT links)
     endif ()
 
diff --git a/src/programs/gmx/.gitignore b/src/programs/gmx/.gitignore
deleted file mode 100644 (file)
index 817de00..0000000
+++ /dev/null
@@ -1 +0,0 @@
-CreateLinks.cmake