Преглед на файлове

Add --saturnin-get-* for printing Saturnin internal info

Alois Mahdal преди 8 години
родител
ревизия
aba45c998d
променени са 1 файла, в които са добавени 26 реда и са изтрити 0 реда
  1. 26
    0
      src/shellfu/saturnin.sh

+ 26
- 0
src/shellfu/saturnin.sh Целия файл

@@ -4,6 +4,31 @@ shellfu import exit
4 4
 shellfu import inigrep
5 5
 shellfu import pretty
6 6
 
7
+saturnin__get() {
8
+    #
9
+    # Show Saturnin Internal info by key $1 and exit
10
+    #
11
+    # Key $1 can be whole `--saturnin-get-stuff` argument or just
12
+    # the part after `--saturnin-get-`.
13
+    #
14
+    # This is aimed to help debugging and testing the app (or
15
+    # Saturnin itself) by showing packaging and deployment related
16
+    # info.
17
+    #
18
+    local key=${1#--saturnin-get-}
19
+    case "$key" in
20
+        shellfu-path)   echo "$SHELLFU_PATH"                ;;
21
+        inigrep-path)   echo "$SHELLFU_INIGREP_PATH"        ;;
22
+        app-version)    echo "$SATURNIN_APP_VERSION"        ;;
23
+        cache-home)     echo "$SATURNIN_CACHE_HOME"         ;;
24
+        libexec)        echo "$SATURNIN_LIBEXEC"            ;;
25
+        libexec-prefix) echo "$SATURNIN_LIBEXEC_PREFIX"     ;;
26
+        *)              warn "unknown devel key: $key"
27
+                        exit "$SHELLFU_EXIT_USAGE" ;;
28
+    esac
29
+    exit "$SHELLFU_EXIT_OK"
30
+}
31
+
7 32
 saturnin__help() {
8 33
     #
9 34
     # Print simple help message (basically just list of commands)
@@ -39,6 +64,7 @@ saturnin__main() {
39 64
         -v|--verbose)   export SHELLFU_VERBOSE=true; shift ;;
40 65
         --version)      saturnin__version; exit            ;;
41 66
         --version-semver) echo "$SATURNIN_APP_VERSION"; exit ;;
67
+        --saturnin-get-*) saturnin__get "$1" ;;
42 68
         -*)             saturnin__usage;                ;;
43 69
         --*)            saturnin__usage;                ;;
44 70
         --)             shift; break                    ;;