gnuastro-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnuastro-commits] master b391ee8 22/62: Table: Completion, bash4+ long


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] master b391ee8 22/62: Table: Completion, bash4+ long option no space
Date: Thu, 13 May 2021 22:20:48 -0400 (EDT)

branch: master
commit b391ee84886ce2a024f9e958b2cc2c9d30aa921f
Author: Pedram Ashofteh Ardakani <pedramardakani@pm.me>
Commit: Mohammad Akhlaghi <mohammad@akhlaghi.org>

    Table: Completion, bash4+ long option no space
    
    Until now, we used the 'nospace' option of 'complete' to handle
    suggestions for options which had an '=' inside them. With this commit,
    if the command being completed contains '=', no spaces will be appended.
    
    This only works in bash4+ for '[[' and 'compopt' are used within this
    approach. Let's just keep this here and look for a workaround in future
    commits.
    
    TODO: Work on compatibility for bash older than version 4.
---
 bin/table/completion.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/bin/table/completion.sh b/bin/table/completion.sh
index 3c2bbc0..60c74eb 100644
--- a/bin/table/completion.sh
+++ b/bin/table/completion.sh
@@ -30,7 +30,7 @@
 PREFIX="/usr/local/bin";
 ASTFITS="$PREFIX/astfits";
 ASTTABLE="$PREFIX/asttable";
-db=1 # Set 0 for printing debug messages, else set to 1
+db=0 # Set 0 for printing debug messages, else set to 1
 # Use extended globs in the case statements if needed
 # https://mywiki.wooledge.org/BashGuide/Patterns#Extended_Globs
 # shopt -s extglob
@@ -189,6 +189,12 @@ _gnuastro_asttable_completions(){
         *) _gnuastro_autocomplete_list_options $PROG_ADDRESS ;;
     esac
 
+    if [[ ! "${COMPREPLY[@]}" =~ "=" ]]; then
+        # '[[' and 'compopt' work for bash 4+
+        # TODO: Find workaround for older bash
+        compopt +o nospace
+    fi
+
     # Debugging purpose:
     if [ $db -eq 0 ]; then
         cat <<EOF



reply via email to

[Prev in Thread] Current Thread [Next in Thread]