diff --git a/scripts/update-neovim.sh b/scripts/update-neovim.sh new file mode 100755 index 0000000..84aa319 --- /dev/null +++ b/scripts/update-neovim.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +mkdir -p /etc/root 2> /dev/null +rootperm=$? +if [ $rootperm -eq 0 ] ; then + rm -rf /etc/root +else + echo "Root permission is required to run this script" + exit +fi + +install_neovim_gen(){ + version_download="${1}" + echo "Downloading neovim" + rm -rf /tmp/neovim.tar.gz + neovim_urlfile="https://github.com/neovim/neovim/releases/download/${version_download}/nvim-linux-x86_64.tar.gz" + wget -q --show-progress -c "${neovim_urlfile}" -O /tmp/neovim.tar.gz + echo "Installing neovim" + if [ -f /tmp/neovim.tar.gz ] ; then + cd /tmp/ + tar zxf neovim.tar.gz + rm -rf /opt/nvim + cp -rf /tmp/nvim-linux-x86_64 /opt/nvim + rm -rf /usr/bin/nvim + echo '#!/bin/bash' > /usr/bin/nvim + echo '' >> /usr/bin/nvim + echo '/opt/nvim/bin/nvim "${@}"' >> /usr/bin/nvim + chmod +x /usr/bin/nvim + chmod +x /opt/nvim/bin/nvim + unlink /usr/bin/vim + ln -s /usr/bin/nvim /usr/bin/vim + cp -rf /tmp/nvim-linux-x86_64/share /usr/share/ + fi + rm -rf /tmp/neovim.tar.gz + rm -rf /tmp/nvim-linux-x86_64 + echo "Installation neovim done" +} + +echo "Checking neovim version" +touch /etc/neovim_version.conf +version_neovim=$(curl "https://github.com/neovim/neovim/releases" 2> /dev/null | grep "releases/tag" | grep -v "nightly" | head -1 | cut -d "=" -f 4 | cut -d "/" -f 6 | cut -d '"' -f 1) +version_neovim_current=$(cat /etc/neovim_version.conf) +if [ "${version_neovim}" != "${version_neovim_current}" ] ; then + echo "New neovim version detected" + install_neovim_gen "${version_neovim}" + error_install=$? + if [ ${error_install} -eq 0 ] ; then + echo "${version_neovim}" > /etc/neovim_version.conf + fi +else + echo "No updates for neovim" +fi