aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/vespa_ls.lua
blob: ebad3003a0bbde3bd7a86b7b92fa3d2098418a55 (plain)
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
34
35
36
37
38
---@brief
---
--- https://github.com/vespa-engine/vespa/tree/master/integration/schema-language-server
---
--- Vespa Language Server provides LSP features such as completion, diagnostics,
--- and go-to-definition for Vespa schema files (`.sd`), profile files (`.profile`),
--- and YQL query files (`.yql`).
---
--- This language server requires Java 17 or higher. You can build the jar from source.
---
--- You can override the default command by manually configuring it like this:
---
--- ```lua
--- vim.lsp.config('vespa_ls', {
---   cmd = { 'java', '-jar', '/path/to/vespa-language-server.jar' },
--- })
--- ```
---
--- The project root is determined based on the presence of a `.git` directory.
---
--- To make Neovim recognize the proper filetypes, add the following setting in `init.lua`:
---
---     vim.filetype.add {
---       extension = {
---         profile = 'sd',
---         sd = 'sd',
---         yql = 'yql',
---       },
---     }

---@type vim.lsp.Config
return {
  cmd = { 'java', '-jar', 'vespa-language-server.jar' },
  filetypes = { 'sd', 'profile', 'yql' },
  root_markers = {
    '.git',
  },
}