diff --git a/nvim/after/lsp/html.lua b/nvim/after/lsp/html.lua
new file mode 100644
index 0000000..4ceb720
--- /dev/null
+++ b/nvim/after/lsp/html.lua
@@ -0,0 +1,19 @@
+return {
+ cmd = function(dispatchers, _)
+ return vim.lsp.rpc.start({'vscode-html-language-server', '--stdio' }, dispatchers)
+ end,
+ filetypes = { 'html' },
+ init_options = {
+ provideFormatter = true,
+ configurationSection = { 'html', 'css', 'javascript' },
+ embeddedLanguages = {
+ css = true,
+ javascript = true
+ }
+ },
+ root_markers = { 'package.json', '.git' },
+ -- root_dir = function(fname)
+ -- return root_pattern(fname) or vim.loop.os_homedir()
+ -- end,
+ settings = {},
+}
diff --git a/nvim/after/lsp/r_language_server.lua b/nvim/after/lsp/r_language_server.lua
index a564707..66b5338 100644
--- a/nvim/after/lsp/r_language_server.lua
+++ b/nvim/after/lsp/r_language_server.lua
@@ -1 +1,8 @@
-return {}
+return {
+ cmd = { 'R', '--slave', '-e', 'languageserver::run()' },
+ filetypes = { 'r', 'rmd' },
+ log_level = 2,
+ root_dir = function(fname)
+ return util.find_git_ancestor(fname) or vim.loop.os_homedir()
+ end,
+}
diff --git a/nvim/lua/plugins/language_support.lua b/nvim/lua/plugins/language_support.lua
index d012455..65dabbb 100644
--- a/nvim/lua/plugins/language_support.lua
+++ b/nvim/lua/plugins/language_support.lua
@@ -55,6 +55,7 @@ local enabled_lsps = {
'clangd',
'bashls',
'gdscript',
+ 'html',
'intelephense',
'jinja_lsp',
'lua_ls',
@@ -68,3 +69,11 @@ local enabled_lsps = {
for _, lsp in pairs(enabled_lsps) do
vim.lsp.enable(lsp)
end
+
+local capabilities = vim.lsp.protocol.make_client_capabilities()
+
+capabilities.textDocument.completion.completionItem.snippetSupport = true
+
+vim.lsp.config('*', {
+ capabilities = capabilities,
+})