-#!/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
{
}
}
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