| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- return {
- {
- "williamboman/mason.nvim",
- config = function()
- require("mason").setup()
- end,
- },
- {
- "williamboman/mason-lspconfig.nvim",
- config = function()
- require("mason-lspconfig").setup({
- ensure_installed = {
- "lua_ls",
- "tsserver",
- "ts_ls",
- "tinymist",
- "marksman",
- "html",
- "r_language_server",
- },
- -- IMPORTANT: let rustaceanvim manage rust-analyzer
- automatic_enable = {
- exclude = { "rust_analyzer" },
- },
- })
- end,
- },
- {
- "neovim/nvim-lspconfig",
- config = function()
- local capabilities = require("cmp_nvim_lsp").default_capabilities()
- -- lua_ls
- vim.lsp.config("lua_ls", {
- capabilities = capabilities,
- })
- -- R
- vim.lsp.config("r_language_server", {
- capabilities = capabilities,
- })
- -- Markdown
- vim.lsp.config("marksman", {
- capabilities = capabilities,
- })
- -- HTML
- vim.lsp.config("html", {
- capabilities = capabilities,
- })
- -- Typst / tinymist
- vim.lsp.config("tinymist", {
- capabilities = capabilities,
- offset_encoding = "utf-8",
- root_dir = function(filename, bufnr)
- return vim.fn.getcwd()
- end,
- settings = {
- tinymist = {
- settings = {
- formatterMode = "typstfmt",
- },
- },
- },
- })
- -- Typescript (ts_ls)
- vim.lsp.config("ts_ls", {
- -- capabilities = capabilities,
- init_options = {
- plugins = {},
- },
- filetypes = {
- "javascript",
- "javascript.jsx",
- "typescript",
- "typescriptreact",
- "typescript.tsx",
- },
- })
- -- finally, enable the servers
- vim.lsp.enable({
- "lua_ls",
- "r_language_server",
- "marksman",
- "html",
- "tinymist",
- "ts_ls",
- -- "rust_analyzer", -- rustaceanvim config the LSP
- })
- end,
- },
- }
|