style(rg): add shebang, set bash strict mode, create function
[webi-installers/.git] / rg / install.sh
1 #!/bin/bash
2 set -e
3 set -u
4
5 function __install_rg() {
6
7
8     ###################
9     # Install ripgrep #
10     ###################
11
12     # Every package should define these 6 variables
13     pkg_cmd_name="rg"
14
15     pkg_dst_cmd="$HOME/.local/bin/rg"
16     pkg_dst="$pkg_dst_cmd"
17
18     pkg_src_cmd="$HOME/.local/opt/rg-v$WEBI_VERSION/bin/rg"
19     pkg_src_dir="$HOME/.local/opt/rg-v$WEBI_VERSION"
20     pkg_src="$pkg_src_cmd"
21
22     # pkg_install must be defined by every package
23     pkg_install() {
24         # ~/.local/opt/rg-v12.1.1/bin
25         mkdir -p "$(dirname $pkg_src_cmd)"
26
27         # mv ./ripgrep-*/rg ~/.local/opt/rg-v12.1.1/bin/rg
28         mv ./ripgrep-*/rg "$pkg_src_cmd"
29     }
30
31     # pkg_get_current_version is recommended, but (soon) not required
32     pkg_get_current_version() {
33         # 'rg --version' has output in this format:
34         #       ripgrep 12.1.1 (rev 7cb211378a)
35         #       -SIMD -AVX (compiled)
36         #       +SIMD -AVX (runtime)
37         # This trims it down to just the version number:
38         #       12.1.1
39         echo $(rg --version 2> /dev/null | head -n 1 | cut -d ' ' -f 2)
40     }
41 }