diff --git a/README.md b/README.md
index 9b69b12..d3e4f12 100644
--- a/README.md
+++ b/README.md
@@ -37,13 +37,24 @@ more with `--regexp` parameter.
[![demo](https://asciinema.org/a/232775.png?ts=1)](https://asciinema.org/a/232775?autoplay=1)
-## Prerequisites
+## Using Tmux Plugin Manager
+
+You can add this line to your list of [TPM](https://github.com/tmux-plugins/tpm) plugins in `.tmux.conf`:
+
+```
+set -g @plugin 'fcsonline/tmux-thumbs'
+
+run-shell ~/.tmux/plugins/tmux-thumbs/tmux-thumbs.tmux
+```
+
+To be able to install the plugin just hit prefix + I. You should now be able to use
+the plugin!
+
+## Installation checking out the source code
`tmux-thumbs` is written in Rust. You will need `rustc` version 1.35.0 or higher. The
recommended way to install Rust is from the official [download page](https://rustup.rs/).
-## Tmux integration
-
Clone the repo:
```
@@ -69,19 +80,6 @@ Reload TMUX conf by running:
tmux source-file ~/.tmux.conf
```
-## Using Tmux Plugin Manager
-
-You can add this line to your list of [TPM](https://github.com/tmux-plugins/tpm) plugins in `.tmux.conf`:
-
-```
-set -g @plugin 'fcsonline/tmux-thumbs'
-
-run-shell ~/.tmux/plugins/tmux-thumbs/tmux-thumbs.tmux
-```
-
-To be able to install the plugin just hit prefix + I. You should now be able to use
-the plugin!
-
## Configuration
If you want to customize how is shown your tmux-thumbs hints those all available
diff --git a/tmux-thumbs-install.sh b/tmux-thumbs-install.sh
index c7db802..1950172 100755
--- a/tmux-thumbs-install.sh
+++ b/tmux-thumbs-install.sh
@@ -39,10 +39,8 @@ else
cat << EOF
It looks like this is the first time you are executing tmux-thumbs
- because the binary is not present.
-
- We are going to proceed with the installation. If you have Rust preinstalled, we will try to
- compile the binary from source. Otherwise, a prebuild binary for your platform will be used.
+ because the binary is not present. We are going to proceed with the
+ installation.
Do you want to continue?
@@ -53,37 +51,61 @@ fi
read -rs -n 1
-if ! [ -x "$(command -v cargo)" ]; then
- platform="$(uname -s) $(uname -m)"
+cat << EOF
- echo " Rust is not installed! Trying to install ${platform} binary..."
+ Which format do you prefer for installation?
- sources=$(curl -s "https://api.github.com/repos/fcsonline/tmux-thumbs/releases/latest" | grep browser_download_url)
+ 1) Compile: will use cargo to compile tmux-thumbs. It requires Rust.
+ 2) Download: will download a precompiled binary for your system.
- case $platform in
- "Darwin x86_64")
- url=$(echo "${sources}" | grep -o 'https://.*darwin.zip' | uniq)
- curl -sL "${url}" | bsdtar -xf - thumbs tmux-thumbs
+EOF
- ;;
- "Linux x86_64")
- url=$(echo "${sources}" | grep -o 'https://.*linux-musl.tar.gz' | uniq)
- curl -sL "${url}" | tar -zxf - thumbs tmux-thumbs
+select opt in "Compile" "Download"; do
+ case $opt in
+ Compile|1)
- ;;
+ if ! [ -x "$(command -v cargo)" ]; then
+ echo '❌ Rust is not installed!'
+ exit 1
+ fi
+
+ echo ' Compiling tmux-thumbs, be patient:'
+ cargo build --release --target-dir=target
+
+ break;;
+ Download|2)
+ platform="$(uname -s)_$(uname -m)"
+
+ echo " Downloading ${platform} binary..."
+
+ sources=$(curl -s "https://api.github.com/repos/fcsonline/tmux-thumbs/releases/latest" | grep browser_download_url)
+
+ case $platform in
+ Darwin_x86_64)
+ url=$(echo "${sources}" | grep -o 'https://.*darwin.zip' | uniq)
+ curl -sL "${url}" | bsdtar -xf - thumbs tmux-thumbs
+
+ ;;
+ Linux_x86_64)
+ url=$(echo "${sources}" | grep -o 'https://.*linux-musl.tar.gz' | uniq)
+ curl -sL "${url}" | tar -zxf - thumbs tmux-thumbs
+
+ ;;
+ *)
+ echo "❌ Unknown platform: ${platform}"
+ exit 1
+ ;;
+ esac
+
+ chmod +x thumbs tmux-thumbs
+ mkdir -p target/release
+ mv thumbs tmux-thumbs target/release
+
+ break;;
*)
- echo "Unknown platform: $platform"
- exit 1
- ;;
+ echo "❌ Ouh? Choose an available option."
esac
-
- chmod +x thumbs tmux-thumbs
- mkdir -p target/release
- mv thumbs tmux-thumbs target/release
-else
- echo ' Compiling tmux-thumbs, be patient:'
- cargo build --release --target-dir=target
-fi
+done
cat << EOF
Installation complete! 💯