40 lines
924 B
Bash
Executable File
40 lines
924 B
Bash
Executable File
#! /usr/bin/env bash
|
|
set -e
|
|
|
|
echo "You have chosen to isntall neovim from source."
|
|
|
|
# If ~/src/neovim doesn't exist, clone a fresh copy
|
|
cd ~/src
|
|
if [ ! -d ~/src/neovim ]; then
|
|
git clone https://github.com/neovim/neovim
|
|
fi
|
|
cd neovim
|
|
|
|
# Handle branch checkout
|
|
echo "Do you want to switch to the stable branch? (y/n)"
|
|
read -r -n 1 response
|
|
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|
git checkout stable
|
|
fi
|
|
|
|
# Figure out the appropriate make command.
|
|
if [ -x "$(command -v gmake)" ]; then
|
|
MAKE_CMD=gmake
|
|
else
|
|
MAKE_CMD=make
|
|
fi
|
|
|
|
# Determine the install prefix
|
|
NVIM_INSTALL_PREFIX=${NVIM_INSTALL_PREFIX:-$HOME/.local}
|
|
|
|
# Build
|
|
echo "Building neovim..."
|
|
$MAKE_CMD CMAKE_BUILD_TYPE=Release CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$NVIM_INSTALL_PREFIX"
|
|
|
|
# Install
|
|
echo "Would you like to install neovim? (y/n)"
|
|
read -r -n 1 response
|
|
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|
$MAKE_CMD install
|
|
fi
|