require("mason").setup{
  PATH = "append",
}
require("mason-lspconfig").setup()
require('neodev').setup()
require('lsp-inlayhints').setup()

local lspconfig = require('lspconfig')

vim.g.rustaceanvim = {
  tools = {
    hover_actions = {
      auto_focus = true,
    },
  },
  server = {
    on_attach = function(client, bufnr)
      require("lsp-inlayhints").on_attach(client, bufnr)
      require("lsp-inlayhints").show()
    end,
    default_settings = {
      ['rust-analyzer'] = {
        cargo = {
          features = "all"
        },
      },
    },
  },
}

lspconfig.tsserver.setup{}

lspconfig.spyglassmc_language_server.setup{
  cmd = {
    "/home/xeovalyte/.npm-global/bin/spyglassmc-language-server", "--stdio"
  }
}

lspconfig.arduino_language_server.setup{
  cmd = {
      "steam-run","arduino-language-server",
      "-cli-config", "/home/xeovalyte/.arduino15/arduino-cli.yaml",
      "-cli", "/usr/bin/arduino-cli",
      "-clangd", "steam-run clangd"
  }
}

lspconfig.tailwindcss.setup{
  filetypes = {
    "rust",
    "css",
  }
}

lspconfig.volar.setup{}

lspconfig.marksman.setup{}