update lsp
parent
e1614703fd
commit
1089d6af1e
|
@ -0,0 +1,63 @@
|
||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## Architecture Overview
|
||||||
|
|
||||||
|
This is a modern Neovim configuration built around the lazy.nvim plugin manager. The configuration follows a modular structure:
|
||||||
|
|
||||||
|
- **Entry point**: `init.lua` loads core modules in sequence: options, mappings, lazy.nvim setup, and autocmds
|
||||||
|
- **Plugin management**: Uses lazy.nvim with plugins defined in `lua/plugins/` directory
|
||||||
|
- **LSP configuration**: Centralized in `lua/functions/lsp.lua` with server-specific settings in `lua/lsp/`
|
||||||
|
- **Shared utilities**: Common constants and tools in `lua/commons/init.lua`
|
||||||
|
- **Configuration modules**: Core settings split into separate files in `lua/configs/`
|
||||||
|
|
||||||
|
## Key Components
|
||||||
|
|
||||||
|
### LSP Setup
|
||||||
|
- Supports both Neovim 0.11+ new LSP config API and legacy setup
|
||||||
|
- LSP servers are defined in `commons.servers` array
|
||||||
|
- Server-specific settings live in `lua/lsp/{server}.lua` files
|
||||||
|
- Uses blink.cmp for completion capabilities
|
||||||
|
- Mason.nvim auto-installs: stylua, lua-language-server, gopls, pyright
|
||||||
|
|
||||||
|
### Plugin Architecture
|
||||||
|
- All plugins defined as lazy.nvim specs in `lua/plugins/`
|
||||||
|
- Custom lazy file event handling in `utils/plugins.lua`
|
||||||
|
- Key plugins: blink.cmp (completion), conform.nvim (formatting), fzf-lua (fuzzy finding), treesitter, lspconfig
|
||||||
|
|
||||||
|
### Formatting
|
||||||
|
- Conform.nvim handles formatting with `<leader>ff` keybind
|
||||||
|
- Format-on-save enabled with 500ms timeout
|
||||||
|
- Configured formatters: stylua (Lua), black (Python), rustfmt (Rust), prettier (JS), shfmt (shell)
|
||||||
|
|
||||||
|
## Common Development Tasks
|
||||||
|
|
||||||
|
### Adding New LSP Server
|
||||||
|
1. Add server name to `commons.servers` array in `lua/commons/init.lua`
|
||||||
|
2. Create server config file at `lua/lsp/{server}.lua` with settings table
|
||||||
|
3. Ensure server is installed via Mason or system package manager
|
||||||
|
|
||||||
|
### Adding New Plugin
|
||||||
|
1. Create plugin spec file in `lua/plugins/{name}.lua`
|
||||||
|
2. Return lazy.nvim spec table with plugin URL and configuration
|
||||||
|
3. Plugin will be auto-loaded by lazy.nvim
|
||||||
|
|
||||||
|
### Key Mappings
|
||||||
|
- Leader key: `<Space>`
|
||||||
|
- Save: `<leader>s`
|
||||||
|
- Buffer delete: `<leader>q`
|
||||||
|
- Quit: `<leader>qq` (force quit: `<leader>qqq`)
|
||||||
|
- Format code: `<leader>ff`
|
||||||
|
- Toggle comment: `mm` (normal/visual mode)
|
||||||
|
|
||||||
|
### File Structure Conventions
|
||||||
|
- Plugin configs: `lua/plugins/{plugin-name}.lua`
|
||||||
|
- LSP server configs: `lua/lsp/{server-name}.lua`
|
||||||
|
- Shared utilities: `lua/commons/` and `lua/utils/`
|
||||||
|
- Core configuration: `lua/configs/`
|
||||||
|
|
||||||
|
## Version Compatibility
|
||||||
|
- Uses `commons.tools.is_version_gte_0_11()` to detect Neovim 0.11+ for new LSP API
|
||||||
|
- Maintains backward compatibility with older Neovim versions
|
||||||
|
- Big file handling configured for files >50KB
|
|
@ -1,22 +1,22 @@
|
||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
|
"conform.nvim": { "branch": "master", "commit": "a0ab60ed666c56b37fd7ed1847d2ac52f2482ce0" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
"fzf-lua": { "branch": "main", "commit": "97f665a38d73a6541d98b542c79b4bead8e85d4c" },
|
"fzf-lua": { "branch": "main", "commit": "7d66cd81cf485fb17c22d82021cc166ce332a14c" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
|
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
||||||
"gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" },
|
"gruvbox.nvim": { "branch": "main", "commit": "12c2624287dc827edb5d72b2bc4c9619e692a554" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
|
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "3ea99227e316c5028f57a4d86a1a7fd01dd876d0" },
|
"nvim-lspconfig": { "branch": "master", "commit": "e844850b3143a1627437f811549fc7d70cfedf05" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
"nvim-web-devicons": { "branch": "master", "commit": "81b37d7937953b50e5fd8d9d7dfe2c6d0088fde1" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||||
"tiny-code-action.nvim": { "branch": "main", "commit": "6bfecd218c617e125e69731033fb0d695b8b5144" },
|
"tiny-code-action.nvim": { "branch": "main", "commit": "6f02cc30685c76812cdaa1bf1dc5f712d2265b14" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,61 @@
|
||||||
local lspconfig = require("lspconfig")
|
-- Mason package name to LSP server name mapping
|
||||||
|
local mason_to_lsp = {
|
||||||
|
["lua-language-server"] = "lua_ls",
|
||||||
|
["typescript-language-server"] = "ts_ls",
|
||||||
|
["rust-analyzer"] = "rust_analyzer",
|
||||||
|
["gopls"] = "gopls",
|
||||||
|
["pyright"] = "pyright",
|
||||||
|
["clangd"] = "clangd",
|
||||||
|
["bash-language-server"] = "bashls",
|
||||||
|
["yaml-language-server"] = "yamlls",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Get installed LSP servers from Mason
|
||||||
|
local function get_mason_installed_servers()
|
||||||
|
local mason_registry = require("mason-registry")
|
||||||
|
local installed_servers = {}
|
||||||
|
|
||||||
|
for _, pkg in ipairs(mason_registry.get_installed_packages()) do
|
||||||
|
local lsp_name = mason_to_lsp[pkg.name]
|
||||||
|
if lsp_name then
|
||||||
|
table.insert(installed_servers, lsp_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return installed_servers
|
||||||
|
end
|
||||||
|
|
||||||
if require("commons").tools.is_version_gte_0_11() then
|
if require("commons").tools.is_version_gte_0_11() then
|
||||||
|
-- Neovim 0.11+ native LSP configuration
|
||||||
vim.lsp.config("*", {
|
vim.lsp.config("*", {
|
||||||
capabilities = require("blink.cmp").get_lsp_capabilities(),
|
capabilities = require("blink.cmp").get_lsp_capabilities(),
|
||||||
root_markers = { ".git" },
|
root_markers = { ".git" },
|
||||||
})
|
})
|
||||||
for _, server in pairs(require("commons").servers) do
|
|
||||||
|
-- Get installed servers from Mason
|
||||||
|
local installed_servers = get_mason_installed_servers()
|
||||||
|
|
||||||
|
-- Configure and enable installed servers
|
||||||
|
for _, server in ipairs(installed_servers) do
|
||||||
local ok, settings = pcall(require, "lsp." .. server)
|
local ok, settings = pcall(require, "lsp." .. server)
|
||||||
if ok then vim.lsp.config(server, settings) end
|
if ok then
|
||||||
|
vim.lsp.config(server, settings)
|
||||||
|
else
|
||||||
|
-- Basic configuration for servers without custom config
|
||||||
|
vim.lsp.config(server, {})
|
||||||
|
end
|
||||||
vim.lsp.enable(server)
|
vim.lsp.enable(server)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Also configure servers from commons.servers that have custom configs
|
||||||
|
for _, server in pairs(require("commons").servers) do
|
||||||
|
local ok, settings = pcall(require, "lsp." .. server)
|
||||||
|
if ok then
|
||||||
|
vim.lsp.config(server, settings)
|
||||||
|
vim.lsp.enable(server)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
update_in_insert = true,
|
update_in_insert = true,
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
|
@ -16,7 +63,26 @@ if require("commons").tools.is_version_gte_0_11() then
|
||||||
virtual_text = true,
|
virtual_text = true,
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
|
-- Legacy nvim-lspconfig setup for Neovim < 0.11
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||||
|
|
||||||
|
-- Get installed servers from Mason
|
||||||
|
local installed_servers = get_mason_installed_servers()
|
||||||
|
|
||||||
|
-- Configure installed servers
|
||||||
|
for _, server in ipairs(installed_servers) do
|
||||||
|
local ok, settings = pcall(require, "lsp." .. server)
|
||||||
|
if ok then
|
||||||
|
settings.capabilities = capabilities
|
||||||
|
lspconfig[server].setup(settings)
|
||||||
|
else
|
||||||
|
-- Basic configuration for servers without custom config
|
||||||
|
lspconfig[server].setup({ capabilities = capabilities })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Also configure servers from commons.servers
|
||||||
for _, server in pairs(require("commons").servers) do
|
for _, server in pairs(require("commons").servers) do
|
||||||
local ok, settings = pcall(require, "lsp." .. server)
|
local ok, settings = pcall(require, "lsp." .. server)
|
||||||
if ok then
|
if ok then
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
---@type vim.lsp.Config
|
||||||
|
--[[
|
||||||
|
Example LSP server configuration for Neovim 0.11+ native LSP API
|
||||||
|
|
||||||
|
This file demonstrates the structure and common patterns for configuring
|
||||||
|
LSP servers in the new vim.lsp.Config format. Copy this file and modify
|
||||||
|
it for your specific language server.
|
||||||
|
|
||||||
|
Key components:
|
||||||
|
- cmd: Command and arguments to start the server
|
||||||
|
- filetypes: File types that should trigger this LSP server
|
||||||
|
- root_markers: Files/directories that define project root (nested arrays = equal priority)
|
||||||
|
- settings: Server-specific configuration (schema varies by server)
|
||||||
|
|
||||||
|
For server-specific settings schemas, check the server's documentation:
|
||||||
|
- Language servers often provide JSON schemas for their settings
|
||||||
|
- Many examples can be found at: https://github.com/neovim/nvim-lspconfig
|
||||||
|
|
||||||
|
This configuration works with both Neovim 0.11+ (native vim.lsp.config)
|
||||||
|
and older versions (via nvim-lspconfig) thanks to the compatibility layer
|
||||||
|
in lua/functions/lsp.lua
|
||||||
|
--]]
|
||||||
|
|
||||||
|
return {
|
||||||
|
-- Command to start the language server
|
||||||
|
-- This should match the executable name installed by Mason or system package manager
|
||||||
|
cmd = { "language-server-executable" },
|
||||||
|
|
||||||
|
-- File types that should automatically attach this LSP server
|
||||||
|
filetypes = { "javascript", "typescript", "javascriptreact", "typescriptreact" },
|
||||||
|
|
||||||
|
-- Root directory markers - LSP will search for these files/directories
|
||||||
|
-- to determine the project root. Nested arrays indicate equal priority.
|
||||||
|
-- The first match wins within each priority level.
|
||||||
|
root_markers = {
|
||||||
|
{ "package.json", "tsconfig.json", "jsconfig.json" }, -- High priority
|
||||||
|
{ ".git", ".hg" } -- Fallback markers
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Server-specific settings (varies by language server)
|
||||||
|
-- Check your language server's documentation for available options
|
||||||
|
settings = {
|
||||||
|
-- Example: TypeScript server settings
|
||||||
|
typescript = {
|
||||||
|
inlayHints = {
|
||||||
|
includeInlayParameterNameHints = "all",
|
||||||
|
includeInlayParameterNameHintsWhenArgumentMatchesName = false,
|
||||||
|
includeInlayFunctionParameterTypeHints = true,
|
||||||
|
includeInlayVariableTypeHints = true,
|
||||||
|
includeInlayPropertyDeclarationTypeHints = true,
|
||||||
|
includeInlayFunctionLikeReturnTypeHints = true,
|
||||||
|
includeInlayEnumMemberValueHints = true,
|
||||||
|
},
|
||||||
|
suggest = {
|
||||||
|
includeCompletionsForModuleExports = true,
|
||||||
|
},
|
||||||
|
preferences = {
|
||||||
|
includePackageJsonAutoImports = "auto",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
javascript = {
|
||||||
|
-- JavaScript-specific settings
|
||||||
|
suggest = {
|
||||||
|
includeCompletionsForModuleExports = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional: Additional capabilities (usually handled globally)
|
||||||
|
-- capabilities = require("blink.cmp").get_lsp_capabilities(),
|
||||||
|
|
||||||
|
-- Optional: Custom initialization options
|
||||||
|
-- init_options = {
|
||||||
|
-- hostInfo = "neovim",
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- Optional: Custom handlers for LSP methods
|
||||||
|
-- handlers = {
|
||||||
|
-- ["textDocument/hover"] = vim.lsp.with(
|
||||||
|
-- vim.lsp.handlers.hover,
|
||||||
|
-- { border = "rounded" }
|
||||||
|
-- ),
|
||||||
|
-- },
|
||||||
|
}
|
|
@ -1,9 +1,25 @@
|
||||||
|
---@type vim.lsp.Config
|
||||||
return {
|
return {
|
||||||
|
cmd = { "lua-language-server" },
|
||||||
|
filetypes = { "lua" },
|
||||||
|
root_markers = { ".luarc.json", ".luarc.jsonc", ".git" },
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
globals = {'vim'},
|
globals = {'vim'},
|
||||||
}
|
},
|
||||||
|
runtime = {
|
||||||
|
version = 'LuaJIT',
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
checkThirdParty = false,
|
||||||
|
library = {
|
||||||
|
vim.env.VIMRUNTIME,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
telemetry = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
return {
|
||||||
|
-- Command to start the language server
|
||||||
|
-- This should match the executable name installed by Mason or system package manager
|
||||||
|
cmd = { "pyright" },
|
||||||
|
|
||||||
|
-- File types that should automatically attach this LSP server
|
||||||
|
filetypes = { "python" },
|
||||||
|
|
||||||
|
-- Root directory markers - LSP will search for these files/directories
|
||||||
|
-- to determine the project root. Nested arrays indicate equal priority.
|
||||||
|
-- The first match wins within each priority level.
|
||||||
|
root_markers = {
|
||||||
|
{ "pyprojtect.toml", "setup.py", "setup.cfg", "requirements.txt", "pyrightconfig.json" }, -- High priority
|
||||||
|
{ ".git", ".hg" }, -- Fallback markers
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Server-specific settings (varies by language server)
|
||||||
|
-- Check your language server's documentation for available options
|
||||||
|
settings = {
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
autoSearchPaths = true,
|
||||||
|
useLibraryCodeForTypes = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Optional: Additional capabilities (usually handled globally)
|
||||||
|
-- capabilities = require("blink.cmp").get_lsp_capabilities(),
|
||||||
|
|
||||||
|
-- Optional: Custom initialization options
|
||||||
|
-- init_options = {
|
||||||
|
-- hostInfo = "neovim",
|
||||||
|
-- },
|
||||||
|
|
||||||
|
-- Optional: Custom handlers for LSP methods
|
||||||
|
-- handlers = {
|
||||||
|
-- ["textDocument/hover"] = vim.lsp.with(
|
||||||
|
-- vim.lsp.handlers.hover,
|
||||||
|
-- { border = "rounded" }
|
||||||
|
-- ),
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
---@type vim.lsp.Config
|
||||||
|
return {
|
||||||
|
cmd = { "rust-analyzer" },
|
||||||
|
filetypes = { "rust" },
|
||||||
|
root_markers = {
|
||||||
|
"Cargo.toml",
|
||||||
|
},
|
||||||
|
settings = {
|
||||||
|
["rust-analyzer"] = {
|
||||||
|
cargo = {
|
||||||
|
allFeatures = true,
|
||||||
|
loadOutDirsFromCheck = true,
|
||||||
|
},
|
||||||
|
procMacro = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
checkOnSave = {
|
||||||
|
command = "clippy",
|
||||||
|
extraArgs = { "--no-deps" },
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
enableExperimental = true,
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
postfix = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ return {
|
||||||
"akinsho/bufferline.nvim",
|
"akinsho/bufferline.nvim",
|
||||||
version = "*",
|
version = "*",
|
||||||
dependencies = "nvim-tree/nvim-web-devicons",
|
dependencies = "nvim-tree/nvim-web-devicons",
|
||||||
|
event = "VeryLazy",
|
||||||
config = function(_,opts)
|
config = function(_,opts)
|
||||||
require("bufferline").setup({
|
require("bufferline").setup({
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
return {
|
return {
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
-- event = "InsertEnter",
|
-- event = "InsertEnter",
|
||||||
-- cond = not require("commons").tools.is_version_gte_0_11(),
|
-- cond = not require("commons").tools.is_version_gte_0_11(),
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
dependencies = { { "saghen/blink.cmp" }, { "williamboman/mason.nvim" } },
|
dependencies = { { "saghen/blink.cmp" }, { "williamboman/mason.nvim" } },
|
||||||
config = function()
|
config = function()
|
||||||
require("functions.lsp")
|
require("functions.lsp")
|
||||||
|
|
|
@ -25,6 +25,7 @@ return {
|
||||||
-- Config
|
-- Config
|
||||||
local config = {
|
local config = {
|
||||||
options = {
|
options = {
|
||||||
|
refresh = { statusline = 100 },
|
||||||
component_separators = "",
|
component_separators = "",
|
||||||
section_separators = "",
|
section_separators = "",
|
||||||
theme = "auto",
|
theme = "auto",
|
||||||
|
|
|
@ -4,6 +4,7 @@ return {
|
||||||
build = ":MasonUpdate",
|
build = ":MasonUpdate",
|
||||||
opts_extend = { "ensure_installed" },
|
opts_extend = { "ensure_installed" },
|
||||||
opts = { ensure_installed = { "stylua", "lua-language-server", "gopls", "pyright" } },
|
opts = { ensure_installed = { "stylua", "lua-language-server", "gopls", "pyright" } },
|
||||||
|
event = "VeryLazy",
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
require("mason").setup(opts)
|
require("mason").setup(opts)
|
||||||
local mr = require("mason-registry")
|
local mr = require("mason-registry")
|
||||||
|
|
Loading…
Reference in New Issue