diff --git a/README.md b/README.md index 18a76fd..8660245 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,7 @@ You can change the directory to install servers by set `g:lsp_settings_servers_d | Lua | sumneko-lua-language-server | Yes | Yes | | Markdown (remark) | remark-language-server | Yes | Yes | | Markdown | Marksman | Yes | Yes | +| Moonbit | moonbit-lsp | No | No | | Nim | nimls | No | No | | Nix | nixd | Yes | Yes | | Nix | nil | Yes | Yes | diff --git a/settings.json b/settings.json index 0de43ec..48e7045 100644 --- a/settings.json +++ b/settings.json @@ -1089,6 +1089,14 @@ "requires": [] } ], + "moonbit": [ + { + "command": "moonbit-lsp", + "url": "https://github.com/moonbitlang/moon", + "description": "The build system and package manager for MoonBit", + "requires": [] + } + ], "nim": [ { "command": "nimlsp", diff --git a/settings/moonbit-lsp.vim b/settings/moonbit-lsp.vim new file mode 100644 index 0000000..ca90a46 --- /dev/null +++ b/settings/moonbit-lsp.vim @@ -0,0 +1,14 @@ +augroup vim_lsp_settings_moonbit_lsp + au! + LspRegisterServer { + \ 'name': 'moonbit-lsp', + \ 'cmd': {server_info->lsp_settings#get('moonbit-lsp', 'cmd', [lsp_settings#exec_path('moonbit-lsp')]+lsp_settings#get('moonbit-lsp', 'args', []))}, + \ 'root_uri':{server_info->lsp_settings#get('moonbit-lsp', 'root_uri', lsp_settings#root_uri('moonbit-lsp'))}, + \ 'initialization_options': lsp_settings#get('moonbit-lsp', 'initialization_options', v:null), + \ 'allowlist': lsp_settings#get('moonbit-lsp', 'allowlist', ['moonbit']), + \ 'blocklist': lsp_settings#get('moonbit-lsp', 'blocklist', []), + \ 'config': lsp_settings#get('moonbit-lsp', 'config', lsp_settings#server_config('moonbit-lsp')), + \ 'workspace_config': lsp_settings#get('moonbit-lsp', 'workspace_config', {}), + \ 'semantic_highlight': lsp_settings#get('moonbit-lsp', 'semantic_highlight', {}), + \ } +augroup END