aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/bufls.lua
blob: aa25b4c0e598ec9fb7e3c9ee5c0050acccf65c73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
local util = require 'lspconfig.util'

local bin_name = 'bufls'
local cmd = { bin_name, 'serve' }

if vim.fn.has 'win32' == 1 then
  cmd = { 'cmd.exe', '/C', bin_name, 'start' }
end

return {
  default_config = {
    cmd = cmd,
    filetypes = { 'proto' },
    root_dir = function(fname)
      return util.root_pattern('buf.work.yaml', '.git')(fname)
    end,
  },
  docs = {
    description = [[
https://github.com/bufbuild/buf-language-server

`buf-language-server` can be installed via `go install`:
```sh
go install github.com/bufbuild/buf-language-server/cmd/bufls@latest
```

bufls is a Protobuf language server compatible with Buf modules and workspaces
]],
    default_config = {
      root_dir = [[root_pattern("buf.work.yaml", ".git")]],
    },
  },
}