diff options
Diffstat (limited to 'metals-client.sh')
-rwxr-xr-x | metals-client.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/metals-client.sh b/metals-client.sh new file mode 100755 index 000000000000..7dc9ee7cdb4a --- /dev/null +++ b/metals-client.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +declare -r _INSTALL_DIR='/usr/share/java/metals' +declare _CP="${_INSTALL_DIR}/lib:${_INSTALL_DIR}/metals" + +function build_cp { + for name in $(find ${_INSTALL_DIR}/jars -regex '.*\.jar') + do + _CP="${name}:${_CP}" + done +} + +function main { + build_cp + + # Java options taken from metals-emacs documentation + # https://scalameta.org/metals/docs/editors/emacs.HTML + java -XX:+UseG1GC -XX:+UseStringDeduplication -Xss4m -Xms100m -Dmetals.client="${_METALS_CLIENT}" -cp "$_CP" scala.meta.metals.Main $@ +} + +main $@ |