style(rg): add shebang, set bash strict mode, create function
[webi-installers/.git] / rg / install.sh
index 843bbe3145a8c8f7a175214cdee5a1529ab9a4f0..2e7489d4bfab8b17ccf6f78012500bb99123dce0 100644 (file)
@@ -1,26 +1,41 @@
-{
-    set -e
-    set -u
+#!/bin/bash
+set -e
+set -u
+
+function __install_rg() {
+
 
     ###################
     # Install ripgrep #
     ###################
 
-    new_rg="${HOME}/.local/bin/rg"
-    WEBI_SINGLE=true
+    # Every package should define these 6 variables
+    pkg_cmd_name="rg"
 
-    pkg_get_current_version() {
-      echo $(rg --version 2>/dev/null | head -n 1 | cut -d ' ' -f 2)
-    }
+    pkg_dst_cmd="$HOME/.local/bin/rg"
+    pkg_dst="$pkg_dst_cmd"
 
+    pkg_src_cmd="$HOME/.local/opt/rg-v$WEBI_VERSION/bin/rg"
+    pkg_src_dir="$HOME/.local/opt/rg-v$WEBI_VERSION"
+    pkg_src="$pkg_src_cmd"
+
+    # pkg_install must be defined by every package
     pkg_install() {
-        # $HOME/.local/xbin
-        mkdir -p "$pkg_src_bin"
+        # ~/.local/opt/rg-v12.1.1/bin
+        mkdir -p "$(dirname $pkg_src_cmd)"
 
-        # mv ./ripgrep-*/rg "$HOME/.local/xbin/rg-v11.1.0"
+        # mv ./ripgrep-*/rg ~/.local/opt/rg-v12.1.1/bin/rg
         mv ./ripgrep-*/rg "$pkg_src_cmd"
+    }
 
-        # chmod a+x "$HOME/.local/xbin/rg-v11.1.0"
-        chmod a+x "$pkg_src_cmd"
+    # pkg_get_current_version is recommended, but (soon) not required
+    pkg_get_current_version() {
+        # 'rg --version' has output in this format:
+        #       ripgrep 12.1.1 (rev 7cb211378a)
+        #       -SIMD -AVX (compiled)
+        #       +SIMD -AVX (runtime)
+        # This trims it down to just the version number:
+        #       12.1.1
+        echo $(rg --version 2> /dev/null | head -n 1 | cut -d ' ' -f 2)
     }
 }