mirror of
https://github.com/neovim/nvim-lspconfig.git
synced 2025-12-24 15:01:00 +01:00
59 lines
1.6 KiB
Lua
59 lines
1.6 KiB
Lua
---@brief
|
|
---
|
|
--- https://github.com/rescript-lang/rescript-vscode/tree/master/server
|
|
---
|
|
--- ReScript Language Server can be installed via npm:
|
|
--- ```sh
|
|
--- npm install -g @rescript/language-server
|
|
--- ```
|
|
---
|
|
--- See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
|
|
--- for init_options supported.
|
|
---
|
|
--- For example, in order to disable the `inlayHints` option:
|
|
--- ```lua
|
|
--- vim.lsp.config('rescriptls', {
|
|
--- settings = {
|
|
--- rescript = {
|
|
--- settings = {
|
|
--- inlayHints = { enable = false },
|
|
--- },
|
|
--- },
|
|
--- })
|
|
--- }
|
|
--- ```
|
|
---
|
|
--- Detect file changes: While using @rescript/language-server >= 1.63.0 you have to detect file changes by registering the didChangeWatchedFiles hook.
|
|
--- ```lua
|
|
--- capabilities = {
|
|
--- workspace = {
|
|
--- didChangeWatchedFiles = {
|
|
--- dynamicRegistration = true,
|
|
--- },
|
|
--- },
|
|
--- }
|
|
--- ```
|
|
|
|
---@type vim.lsp.Config
|
|
return {
|
|
cmd = { 'rescript-language-server', '--stdio' },
|
|
filetypes = { 'rescript' },
|
|
root_markers = { 'bsconfig.json', 'rescript.json', '.git' },
|
|
settings = {},
|
|
init_options = {
|
|
extensionConfiguration = {
|
|
-- buggy, prompts much too often, superseded by incrementalTypechecking, below
|
|
askToStartBuild = false,
|
|
|
|
allowBuiltInFormatter = true, -- lower latency
|
|
incrementalTypechecking = { -- removes the need for external build process
|
|
enabled = true,
|
|
acrossFiles = true,
|
|
},
|
|
cache = { projectConfig = { enabled = true } }, -- speed up latency dramatically
|
|
codeLens = true,
|
|
inlayHints = { enable = true },
|
|
},
|
|
},
|
|
}
|