diff options
Diffstat (limited to 'lua/lspconfig/configs/rescriptls.lua')
| -rw-r--r-- | lua/lspconfig/configs/rescriptls.lua | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lua/lspconfig/configs/rescriptls.lua b/lua/lspconfig/configs/rescriptls.lua new file mode 100644 index 00000000..f7869b34 --- /dev/null +++ b/lua/lspconfig/configs/rescriptls.lua @@ -0,0 +1,52 @@ +local util = require 'lspconfig.util' + +return { + default_config = { + cmd = { 'rescript-language-server', '--stdio' }, + filetypes = { 'rescript' }, + root_dir = util.root_pattern('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 }, + }, + }, + }, + docs = { + description = [[ +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 +require'lspconfig'.pylsp.setup{ + settings = { + rescript = { + settings = { + inlayHints = { enable = false }, + }, + }, + } +} +``` +]], + root_dir = [[root_pattern('bsconfig.json', 'rescript.json', '.git')]], + }, +} |
