Skip to content

Commit

Permalink
externalize _gsh_goal to bin/_gsh_goal
Browse files Browse the repository at this point in the history
  • Loading branch information
phyver committed Jun 22, 2021
1 parent d9abfad commit cb1863d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 43 deletions.
27 changes: 27 additions & 0 deletions bin/_gsh_goal
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/sh

. gettext.sh

# display the goal of a mission given by its number
_gsh_goal() {
if [ -n "$*" ]
then
MISSION_NB="$1"
MISSION_DIR="$(missiondir "$MISSION_NB")"
fi

if [ -f "$MISSION_DIR/goal.sh" ]
then
. "$GSH_ROOT/lib/mission_source.sh"
mission_source "$MISSION_DIR/goal.sh" | parchment | pager
elif [ -f "$MISSION_DIR/goal.txt" ]
then
FILE="$MISSION_DIR/goal.txt"
parchment "$FILE" | pager
else
FILE="$(TEXTDOMAIN="$(textdomainname "$MISSION_DIR")" eval_gettext '$MISSION_DIR/goal/en.txt')"
parchment "$FILE" | pager
fi
}

_gsh_goal "$@"
46 changes: 3 additions & 43 deletions lib/gsh.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

trap "_gsh_exit EXIT" EXIT
trap "_gsh_exit TERM" SIGTERM
# trap "_gsh_exit INT" SIGINT
trap "_gsh_exit INT" SIGINT


# log an action to the missions.log file
Expand Down Expand Up @@ -116,40 +116,6 @@ Do you still want to quit? [y/n]") "
}


# display the goal of a mission given by its number
_gsh_goal() {
local MISSION_NB
if [ "$#" -eq 0 ]
then
MISSION_NB="$(_gsh_pcm)"
else
MISSION_NB="$1"
shift
fi

if [ -z "$MISSION_NB" ]
then
local fn_name="${FUNCNAME[0]}"
echo "$(eval_gettext "Error: couldn't get mission number \$MISSION_NB (from \$fn_name)")" >&2
return 1
fi

local MISSION_DIR="$(missiondir "$MISSION_NB")"

if [ -f "$MISSION_DIR/goal.sh" ]
then
mission_source "$MISSION_DIR/goal.sh" | parchment | pager
elif [ -f "$MISSION_DIR/goal.txt" ]
then
FILE="$MISSION_DIR/goal.txt"
parchment "$FILE" | pager
else
FILE="$(TEXTDOMAIN="$(textdomainname "$MISSION_DIR")" eval_gettext '$MISSION_DIR/goal/en.txt')"
parchment "$FILE" | pager
fi
}


# start a mission given by its number
__gsh_start() {
local quiet=""
Expand Down Expand Up @@ -541,17 +507,11 @@ gsh() {
__gsh_clean
_gsh_reset
;;
"goal")
_gsh_goal "$@"
;;
"exit")
exit 0
_gsh_exit 0
;;

# admin stuff
# TODO: something to regenerate static world
"skip")
_gsh_skip
_gsh_skip
;;
"auto")
_gsh_auto
Expand Down

0 comments on commit cb1863d

Please sign in to comment.