summarylogtreecommitdiffstats
path: root/metals-client.sh
blob: 7dc9ee7cdb4a2cf6e40d1c0fa19acc132c86a3b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 $@