diff options
Diffstat (limited to '.config/nvim/lsp/rescriptls.lua')
| -rw-r--r-- | .config/nvim/lsp/rescriptls.lua | 58 | 
1 files changed, 58 insertions, 0 deletions
diff --git a/.config/nvim/lsp/rescriptls.lua b/.config/nvim/lsp/rescriptls.lua new file mode 100644 index 0000000..f099d03 --- /dev/null +++ b/.config/nvim/lsp/rescriptls.lua @@ -0,0 +1,58 @@ +---@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 }, +    }, +  }, +}  |