Implement zsh shell completions.
[alexxy/gromacs.git] / scripts / GMXRC.bash.cmakein
index a7a1a0c22b7ccd4575535055d435bc079d16b333..18457a637735b89544c46224aacf6a8f68b62f31 100644 (file)
@@ -55,6 +55,7 @@ GMXBIN=${GMXPREFIX}/@BIN_INSTALL_DIR@
 GMXLDLIB=${GMXPREFIX}/@LIB_INSTALL_DIR@
 GMXMAN=${GMXPREFIX}/@MAN_INSTALL_DIR@
 GMXDATA=${GMXPREFIX}/@DATA_INSTALL_DIR@
+GROMACS_DIR=${GMXPREFIX}
 
 LD_LIBRARY_PATH=${GMXLDLIB}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}
 PKG_CONFIG_PATH=${GMXLDLIB}/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}
@@ -63,7 +64,8 @@ PATH=${GMXBIN}${PATH:+:}${PATH}
 MANPATH=${GMXMAN}:${MANPATH}
 
 # export should be separate, so /bin/sh understands it
-export GMXBIN GMXLDLIB GMXMAN GMXDATA LD_LIBRARY_PATH PATH MANPATH PKG_CONFIG_PATH
+export GMXBIN GMXLDLIB GMXMAN GMXDATA LD_LIBRARY_PATH PATH MANPATH
+export PKG_CONFIG_PATH GROMACS_DIR
 
 IFS="$old_IFS"
 unset old_IFS
@@ -72,6 +74,18 @@ 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
+    shopt -s extglob
+    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
+elif test -n "${ZSH_VERSION+set}" > /dev/null 2>&1 ; then
+  autoload bashcompinit
+  if (bashcompinit) > /dev/null 2>&1; then
+    bashcompinit
     if [ -f $GMXBIN/gmx-completion.bash ]; then
       source $GMXBIN/gmx-completion.bash
       for cfile in $GMXBIN/gmx-completion-*.bash ; do
@@ -79,12 +93,4 @@ if test -n "${BASH_VERSION+set}" && (complete) > /dev/null 2>&1; then
       done
     fi
   fi
-# read zsh completions if understand how to use them
-# 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