From a345722eab7a313dda6aa3edc4ba8134aafedb5b Mon Sep 17 00:00:00 2001 From: jdhao Date: Wed, 12 Aug 2020 16:45:30 +0800 Subject: [PATCH] Update Nvim_setup.sh --- docs/Nvim_setup.sh | 66 ++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/docs/Nvim_setup.sh b/docs/Nvim_setup.sh index 8f8e085..f0062d7 100755 --- a/docs/Nvim_setup.sh +++ b/docs/Nvim_setup.sh @@ -27,7 +27,6 @@ fi ####################################################################### # Anaconda or miniconda install # ####################################################################### - if [[ ! "$PYTHON_INSTALLED" = true ]]; then echo "Installing Python in user HOME" @@ -60,21 +59,24 @@ if [[ ! "$PYTHON_INSTALLED" = true ]]; then echo "export PATH=\"$CONDA_DIR/bin:\$PATH\"" >> "$HOME/.bash_profile" fi source "$HOME/.bash_profile" +else + echo "Python is already installed. Skip installing it." fi -# Install some Python packages +# Install some Python packages used by Neovim plugins. echo "Installing Python packages" -PY_PACKAGES="pynvim jedi pylint flake8 yapf" +PY_PACKAGES="pynvim jedi pylint flake8 yapf black" if [[ "$SYSTEM_PYTHON" = true ]]; then - echo "Using system Python" + echo "Using system Python to install $(PY_PACKAGES)" - # If we use system Python, we need to install these Python packages under user HOME, - # since we do not have permission to install them under system directories. + # If we use system Python, we need to install these Python packages under + # user HOME, since we do not have permissions to install them under system + # directories. pip install --user $PY_PACKAGES else - echo "Using custom Python" + echo "Using custom Python to install $(PY_PACKAGES)" pip install $PY_PACKAGES fi @@ -82,13 +84,11 @@ fi ####################################################################### # Ripgrep part # ####################################################################### - +RIPGREP_DIR=$HOME/tools/ripgrep +RIPGREP_SRC_NAME=$HOME/packages/ripgrep.tar.gz +RIPGREP_LINK="https://github.com/BurntSushi/ripgrep/releases/download/12.0.0/ripgrep-12.0.0-x86_64-unknown-linux-musl.tar.gz" if [[ ! "$(command -v rg)" ]]; then echo "Install ripgrep" - RIPGREP_DIR=$HOME/tools/ripgrep - RIPGREP_SRC_NAME=$HOME/packages/ripgrep.tar.gz - RIPGREP_LINK="https://github.com/BurntSushi/ripgrep/releases/download/12.0.0/ripgrep-12.0.0-x86_64-unknown-linux-musl.tar.gz" - if [[ ! -f $RIPGREP_SRC_NAME ]]; then echo "Downloading ripgrep and renaming" wget $RIPGREP_LINK -O "$RIPGREP_SRC_NAME" @@ -101,50 +101,51 @@ if [[ ! "$(command -v rg)" ]]; then tar zxvf "$RIPGREP_SRC_NAME" -C "$RIPGREP_DIR" --strip-components 1 fi - if [[ "$ADD_TO_SYSTEM_PATH" = true ]]; then echo "export PATH=\"$RIPGREP_DIR:\$PATH\"" >> "$HOME/.bash_profile" fi +else + echo "ripgrep is already installed. Skip installing it." fi ####################################################################### # Ctags install # ####################################################################### - -echo "Install ctags" CTAGS_SRC_DIR=$HOME/packages/ctags CTAGS_DIR=$HOME/tools/ctags CTAGS_LINK="https://github.com/universal-ctags/ctags.git" - if [[ ! -f "$CTAGS_DIR/bin/ctags" ]]; then + echo "Install ctags" + if [[ ! -d $CTAGS_SRC_DIR ]]; then mkdir -p "$CTAGS_SRC_DIR" else # Prevent an incomplete download. - rm -rf "$CTAGS_SRC_DIR/*" + rm -rf "$CTAGS_SRC_DIR/" fi - cd "$CTAGS_SRC_DIR" && git clone $CTAGS_LINK . + git clone $CTAGS_LINK $CTAGS_SRC_DIR && cd "$CTAGS_SRC_DIR" ./autogen.sh && ./configure --prefix="$CTAGS_DIR" make -j && make install if [[ "$ADD_TO_SYSTEM_PATH" = true ]]; then echo "export PATH=\"$CTAGS_DIR/bin:\$PATH\"" >> "$HOME/.bash_profile" fi +else + echo "ctags is already installed. Skip installing it." fi ####################################################################### # Nvim install # ####################################################################### - -echo "Installing Neovim" -echo "Creating nvim directory under tools directory" NVIM_DIR=$HOME/tools/nvim NVIM_SRC_NAME=$HOME/packages/nvim-linux64.tar.gz NVIM_CONFIG_DIR=$HOME/.config/nvim NVIM_LINK="https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz" - if [[ ! -f "$NVIM_DIR/bin/nvim" ]]; then + echo "Installing Neovim" + echo "Creating nvim directory under tools directory" + if [[ ! -d "$NVIM_DIR" ]]; then mkdir -p "$NVIM_DIR" fi @@ -152,9 +153,15 @@ if [[ ! -f "$NVIM_DIR/bin/nvim" ]]; then if [[ ! -f $NVIM_SRC_NAME ]]; then echo "Downloading Neovim" wget "$NVIM_LINK" -O "$NVIM_SRC_NAME" - echo "Extracting neovim" - tar zxvf "$NVIM_SRC_NAME" --strip-components 1 -C "$NVIM_DIR" fi + echo "Extracting neovim" + tar zxvf "$NVIM_SRC_NAME" --strip-components 1 -C "$NVIM_DIR" + + if [[ "$ADD_TO_SYSTEM_PATH" = true ]]; then + echo "export PATH=\"$NVIM_DIR/bin:\$PATH\"" >> "$HOME/.bash_profile" + fi +else + echo "Neovim is already installed. Skip installing it." fi echo "Setting up config and installing plugins" @@ -162,9 +169,10 @@ if [[ -d "$NVIM_CONFIG_DIR" ]]; then mv "$NVIM_CONFIG_DIR" $NVIM_CONFIG_DIR.backup fi -git clone https://github.com/jdhao/nvim-config.git "$NVIM_CONFIG_DIR" \ - && "$NVIM_DIR/bin/nvim" +PlugInstall +qall +git clone https://github.com/jdhao/nvim-config.git "$NVIM_CONFIG_DIR" -if [[ "$ADD_TO_SYSTEM_PATH" = true ]]; then - echo "export PATH=\"$NVIM_DIR/bin:\$PATH\"" >> "$HOME/.bash_profile" -fi +echo "Installing vim-plug" +curl -fLo "$NVIM_CONFIG_DIR/autoload/plug.vim" --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +"$NVIM_DIR/bin/nvim" +PlugInstall +qall + +echo "Finished installing Neovim and its dependencies!"