summarylogtreecommitdiffstats
path: root/metals-client.sh
diff options
context:
space:
mode:
Diffstat (limited to 'metals-client.sh')
-rwxr-xr-xmetals-client.sh23
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 $@