nvim/lsp/vespa_ls.lua
2025-09-22 16:07:34 +02:00

38 lines
1.1 KiB
Lua

---@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',
},
}