NeoVim + coc-solargraph + docker

Neovimではcoc.nvimという便利なLanguage Serverがある。ruby用にはcoc-solargraphが使える。Rubyが古くてローカルへのインストールがめんどくさいなどの理由でDocker経由でsolargraphを利用するときの設定群を以下記す。Linuxを使っているとDockerがはやすぎて開発環境すらDockerで整えたくなる。

Dockerfile

FROM ruby:2.3.8-stretch

RUN gem install solargraph -v 0.38.0

ENTRYPOINT ["solargraph"]
CMD  ["socket", "--host", "0.0.0.0", "--port", "7658"]
$ docker build -t solargraph-2.3.8 .
$ docker container run -d -p 7658:7658 solargraph-2.3.8

cocs-settings.json

{
  "solargraph.externalServer": {
    "host": "localhost",
    "port": 7658
  },
  "solargraph.transport": "external",
  "solargraph.diagnostics": true,
  "solargraph.hover": false,
  "solargraph.checkGemVersion": false
}

ref:

Using the configuration file · neoclide/coc.nvim Wiki · GitHub