gnuastro-commits
[Top][All Lists]
Advanced

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

[gnuastro-commits] master 39efeea 08/62: Table: First working completion


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] master 39efeea 08/62: Table: First working completion, general commands
Date: Thu, 13 May 2021 22:20:45 -0400 (EDT)

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

    Table: First working completion, general commands
    
    * Until now, the completion.sh file would not execute without errors.
      This commit fix the issues with boiler plate code.
---
 bin/table/completion.sh | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/bin/table/completion.sh b/bin/table/completion.sh
index 91c8ceb..e1fe499 100644
--- a/bin/table/completion.sh
+++ b/bin/table/completion.sh
@@ -44,12 +44,16 @@ _gnuastro_file_last_occurance(){
 # just find the short commands
 # astconvolve --help | awk -v pattern="^ *-([a-z]|[A-Z])" 'match($0, pattern) 
{print $0}'
 
+_gnuastro_autocomplete_list_all_options(){
+    COMPREPLY=($($1 --help | awk -v regex=" --+([a-z]|[A-Z]|[0-9])*" 
'match($0, regex) {print substr($0, RSTART, RLENGTH)}'))
+}
+
 _gnuastro_asttable_completions(){
 
     # TODO: @@
-    PROG_NAME="asttable";
+    local PROG_NAME="asttable";
 
-    PROG_ADDRESS="$PREFIX/$PROG_NAME";
+    local PROG_ADDRESS="$PREFIX/$PROG_NAME";
 
     # Initialize the completion response with null
     COMPREPLY=();
@@ -60,14 +64,16 @@ _gnuastro_asttable_completions(){
     # Variable "prev" is the word just before the current word
     local prev="${COMP_WORDS[COMP_CWORD-1]}";
 
-    case "$1" in
+    case "$word" in
         -i|--information)
             _gnuastro_autocomplete_fits_list_files
         ;;
         -b|--noblank) ;;
         -h|--hdu) ;;
         # default case
-        *) ;;
+        *) _gnuastro_autocomplete_list_all_options $PROG_NAME ;;
     esac
 
-complete -F _asttable_completions asttable
+}
+
+complete -F _gnuastro_asttable_completions asttable



reply via email to

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