yaml.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. local M = {}
  2. M.config = function()
  3. O.lang.yaml = {
  4. formatter = {
  5. exe = "prettier",
  6. args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote" },
  7. },
  8. }
  9. end
  10. M.format = function()
  11. O.formatters.filetype["yaml"] = {
  12. function()
  13. return {
  14. exe = O.lang.yaml.formatter.exe,
  15. args = O.lang.yaml.formatter.args,
  16. stdin = not (O.lang.yaml.formatter.stdin ~= nil),
  17. }
  18. end,
  19. }
  20. require("formatter.config").set_defaults {
  21. logging = false,
  22. filetype = O.formatters.filetype,
  23. }
  24. end
  25. M.lint = function()
  26. -- TODO: implement linters (if applicable)
  27. return "No linters configured!"
  28. end
  29. M.lsp = function()
  30. if require("lv-utils").check_lsp_client_active "yamlls" then
  31. return
  32. end
  33. -- npm install -g yaml-language-server
  34. require("lspconfig").yamlls.setup {
  35. cmd = { DATA_PATH .. "/lspinstall/yaml/node_modules/.bin/yaml-language-server", "--stdio" },
  36. on_attach = require("lsp").common_on_attach,
  37. }
  38. end
  39. M.dap = function()
  40. -- TODO: implement dap
  41. return "No DAP configured!"
  42. end
  43. return M