diff options
Diffstat (limited to '.config/nvim/lua/lang/html.lua')
-rw-r--r-- | .config/nvim/lua/lang/html.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.config/nvim/lua/lang/html.lua b/.config/nvim/lua/lang/html.lua new file mode 100644 index 0000000..d5a02b6 --- /dev/null +++ b/.config/nvim/lua/lang/html.lua @@ -0,0 +1,47 @@ +local M = {} + +M.config = function() + O.lang.html = { + linters = { + "tidy", + -- https://docs.errata.ai/vale/scoping#html + "vale", + }, + } +end + +M.format = function() + -- TODO: implement formatters (if applicable) + return "No formatters configured!" +end + +M.lint = function() + require("lint").linters_by_ft = { + html = O.lang.html.linters, + } +end + +M.lsp = function() + if not require("utils").check_lsp_client_active "html" then + -- npm install -g vscode-html-languageserver-bin + local capabilities = vim.lsp.protocol.make_client_capabilities() + capabilities.textDocument.completion.completionItem.snippetSupport = true + + require("lspconfig").html.setup { + cmd = { + "node", + DATA_PATH .. "/lspinstall/html/vscode-html/html-language-features/server/dist/node/htmlServerMain.js", + "--stdio", + }, + on_attach = require("lsp").common_on_attach, + capabilities = capabilities, + } + end +end + +M.dap = function() + -- TODO: implement dap + return "No DAP configured!" +end + +return M |