| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | local M = {}M.config = function()  O.lang.html = {    linters = {      "tidy",      -- https://docs.errata.ai/vale/scoping#html      "vale",    },  }endM.format = function()  -- TODO: implement formatters (if applicable)  return "No formatters configured!"endM.lint = function()  require("lint").linters_by_ft = {    html = O.lang.html.linters,  }endM.lsp = function()  if not require("lv-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,    }  endendM.dap = function()  -- TODO: implement dap  return "No DAP configured!"endreturn M
 |