cd packages/mark-impact/bin/lsp

rm -rf languages && mkdir -p languages && chmod 755 languages

UNAME=$(uname)

# TypeScript
npm i -g typescript-language-server

# java
mkdir -p languages/java && chmod 755 languages/java
tar -xf storage/lsp-server-java.tar.gz --directory languages/java

# kotlin
mkdir -p languages/kotlin && chmod 755 languages/kotlin
unzip storage/lsp-server-kotlin.zip -d languages/kotlin
chmod 755 languages/kotlin/server/bin/kotlin-language-server.bat

# clang
mkdir -p languages/clang && chmod 755 languages/clang

if [ "$UNAME" = "Linux" ] ; then
  unzip storage/clangd-linux.zip -d languages/clang
elif [ "$UNAME" = "Darwin" ] ; then
  unzip storage/clangd-mac.zip -d languages/clang
elif [[ "$UNAME" = CYGWIN* || "$UNAME" == MINGW* ]] ; then
  unzip storage/clangd-windows.zip -d languages/clang
fi

# C#
mkdir -p languages/csharp && chmod 755 languages/csharp

if [ "$UNAME" = "Linux" ] ; then
  yes | unzip storage/omnisharp-linux-x64.zip -d languages/csharp
  chmod 755 languages/csharp/run
elif [ "$UNAME" = "Darwin" ] ; then
  unzip storage/omnisharp-osx.zip -d languages/csharp
  chmod 755 languages/csharp/run
elif [[ "$UNAME" = CYGWIN* || "$UNAME" = MINGW* ]] ; then
  unzip storage/omnisharp-win-x64.zip -d languages/csharp
  chmod 755 languages/csharp/OmniSharp.exe
fi