Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@to_k

vim用にGroovy Language Serverを設定する

More than 1 year has passed since last update.

vimでGroovyを書くためにLanguage Serverを設定したときにちょっと詰まったところがあったのでメモしておきます。

まずGroovyのインストール

macの場合です。Homebrewからインストールして適切にJAVA_HOMEを設定すればオッケーです。私の場合はHomebrewで入れたopenjdkが入ってたのでそちらに向けました。openjdk@11でも動くようです。

$ brew install groovy
$ export JAVA_HOME=$(/usr/libexec/java_home -v 13)

インストールできたらバージョンが表示できるはずです。

$ groovy -v
Groovy Version: 3.0.1 JVM: 13.0.2 Vendor: Oracle Corporation OS: Mac OS X

Groovy Language Serverのbuild

プラグインとしてvim-lspを使っているので各言語での設定が書いてあるwikiに従って設定します。今回はやってませんがmattnさんのvim-lsp-settingsを使うのもありだと思います。

ホームディレクトリ直下に.lspディレクトリを作ってその中にgroovy-language-serverのリポジトリを追加します。(wikiではlspディレクトリとなってますがなんとなく.lspにしています。)

$ mkdir ~/.lsp
$ cd ~/.lsp
$ git clone https://github.com/prominic/groovy-language-server
$ cd groovy-language-server

次にbuildしたいのですがどうやらJAVA_HOMEがJava13に向いている状態だと失敗するようです。(本当か?)
あまり複雑なことはしたくなかったのでdirenvでリポジトリ内だけJAVA_HOMEがJava11(openjdk@11)を向くようにしてからbuildすると成功しました。

$ export JAVA_HOME=$(/usr/libexec/java_home -v 11)
$ ./gradlew build

build/libs/groovy-language-server.jarというjarファイルができたら完了です。
リポジトリ側のREADMEにはgroovy-language-server-all.jarができると書いてますが-allはつかないjarファイルができるので注意してください

Groovy Language Serverを動かす

jarファイルなのでjavaコマンドで実行するだけです。

$ java -jar ./build/libs/groovy-language-server.jar

vimへのLanguage Server登録も忘れずに。

if executable('java') && filereadable(expand('$HOME/.lsp/groovy-language-server/build/libs/groovy-language-server.jar'))
  autocmd User lsp_setup call lsp#register_server({
        \'name': 'groovy-language-server',
        \'cmd': {server_info->[
        \  'java',
        \  '-jar',
        \  expand('$HOME/.lsp/groovy-language-server/build/libs/groovy-language-server.jar')
        \]},
        \'whitelist': ['groovy']
        \})
endif

なんらかgroovyのファイルを開いて:LspStatusをチェックしてください。こんな感じになれば動いてます。groovy-language-server.jarの実行を自動で行うようにしておくのもありかなと思います。
スクリーンショット 2020-02-23 13.30.27.png

感想

groovyちょっと楽しいです。

参考記事

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
to_k
uuum
国内最大級のMCNであり、クリエイターサポート、インフルエンサーマーケティング、グッズ・イベント、メディア事業などを展開する、コンテンツカンパニー。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?