Use GdkPoint in PAN_ITEM_TRIANGLE coord
[geeqie.git] / scripts / doxygen-help.sh
index 85db88b..4621b0b 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 #**********************************************************************
 # Copyright (C) 2021 - The Geeqie Team
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #**********************************************************************
-#
-# Facilitate the integration of the Doxygen html files
-# into a code editor.
-#
-# doxygen-help.sh <parameter to be searched for>
-#
-# The environment variable DOCDIR must be set to point to the
-# Doxygen html files location.
-# The environment variable PROJECT must be set to the value used
-# when creating the Doxygen files.
-#
-# Set a hot key in the code editor to call this script with
-# the highlighted variable or function name as a parameter.
-#
-# The file $DOCDIR/$PROJECT.tag contains an index of all documented
-# items and is scanned to locate the relevant html section.
-#
-# xdg-open is used to call the html browser to display the document.
-#
-#**********************************************************************
-#
-# To generate the Doxygen html files set the following
-# environment variables:
-# DOCDIR (destination folder)
-# SRCDIR (must point to the level above the source code)
-# PROJECT
-# VERSION
-#
-# Then run 'doxygen doxygen.conf'
-
-if [[ -z "${DOCDIR}" ]]
+## @file
+## @brief Facilitate the integration of the Doxygen html files
+## into a code editor.
+##  
+## doxygen-help.sh <parameter to be searched for>
+##  
+## The environment variable DOCDIR must be set to point to the
+## Doxygen html files location.
+##
+## The environment variable PROJECT must be set to the value used
+## when creating the Doxygen files.
+##  
+## Set a hot key in the code editor to call this script with
+## the highlighted variable or function name as a parameter.
+##  
+## The file $DOCDIR/$PROJECT.tag contains an index of all documented
+## items and is scanned to locate the relevant html section.
+##  
+## xdg-open is used to call the html browser to display the document.
+##  
+##  **********************************************************************
+##  
+## To generate the Doxygen html files run 'doxygen.sh'
+##
+if [ -z "${DOCDIR}" ]
 then
-       echo "Environment variable DOCDIR not set"
+       printf '%s\n' "Environment variable DOCDIR not set"
        zenity --title="Geeqie" --width=200 --warning --text="Environment variable DOCDIR not set"
-elif [[ -z "${PROJECT}" ]]
+elif [ -z "${PROJECT}" ]
 then
-       echo "Environment variable PROJECT not set"
+       printf '%s\n' "Environment variable PROJECT not set"
        zenity --title="Geeqie" --width=200 --warning --text="Environment variable PROJECT not set"
 else
-       awk  -v search_param="$1" -v docdir="$DOCDIR" '
+       url_found=$(awk  -v search_param="$1" -v docdir="$DOCDIR" '
                {
-               if ($1 ==  "<name>_"search_param"</name>")
+               if ($1 == "<name>_"search_param"</name>")
                        {
-                       found=0
-                       while (found == 0)
-                               {
-                               getline
-                               n=split($1, anchorfile, /[<>]/)
-                               if (anchorfile[2] == "anchorfile")
-                                       {
-                                       found=1
-                                       }
-                               }
-                       data_result="file://"docdir"/html/" anchorfile[3]
+                       getline
+                       n=split($1, anchorfile, /[<>]/)
+
+                       getline
+                       n=split($1, anchor, /[<>]/)
+                       struct_result="file://"docdir"/html/" anchorfile[3] "#" anchor[3]
                        }
                else
                        {
@@ -88,14 +78,22 @@ else
                        }
                }
                END {
-                       if (data_result != "")
+                       if (struct_result != "")
                                {
-                               print data_result
+                               print struct_result
                                }
                        else if (function_result != "")
                                {
                                print function_result
                                }
                        }
-               ' $DOCDIR/$PROJECT.tag | while read -r file; do xdg-open "$file"; done
+               ' "$DOCDIR"/"$PROJECT".tag)
+
+       if [ -z "$url_found" ]
+       then
+               exit 1
+       else
+               xdg-open "$url_found"
+               exit 0
+       fi
 fi