From f06a728ad607fcfe8b8fab235c58822f4f5b707c Mon Sep 17 00:00:00 2001 From: johannst Date: Sun, 19 May 2019 01:08:33 +0200 Subject: added rust tool installer --- install_rust_tools | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 install_rust_tools diff --git a/install_rust_tools b/install_rust_tools new file mode 100755 index 0000000..856aeee --- /dev/null +++ b/install_rust_tools @@ -0,0 +1,26 @@ +#!/bin/bash + +if ! which cargo &> /dev/null; then + echo "There is no cargo installed, checkout:" + echo " https://rustup.rs/" + exit 1 +fi + +tools=() +tools+=("bat") +tools+=("exa") +tools+=("fd-find") +tools+=("ripgrep") + +for tool in ${tools[@]}; do + installed_vers=$(cargo install --list | grep "^$tool" | awk '{ print $2 }' | sed 's/[v:]//g') + [[ ! -z $installed_vers ]] && { + update_vers=$(cargo search --limit 1 $tool | awk 'NR==1 { print $3 }' | sed 's/"//g') + [[ $installed_vers == $update_vers ]] && { continue; } + echo ">>> update $tool $installed_vers -> $update_vers? [yYnN]" + read reply + [[ $reply =~ ^[^Yy]$ ]] && { continue; } + } + cargo install --force $tool +done + -- cgit v1.2.3