Configuration
The Mason setup is located inlua/user/lsp/mason.lua.
Server List
Define which LSP servers to automatically install:lua/user/lsp/mason.lua
Mason Settings
Customize the Mason UI and behavior:lua/user/lsp/mason.lua
Initialization
lua/user/lsp/mason.lua
Server Configuration
Each server is configured with handlers and capabilities:lua/user/lsp/mason.lua
Adding New LSP Servers
Step 1: Add to Server List
Uncomment or add a new server to theservers table:
lua/user/lsp/mason.lua
Step 2: Create Server Settings (Optional)
For custom configuration, create a settings file:lua/user/lsp/settings/tsserver.lua
Step 3: Restart Neovim
Mason will automatically install the new server on next launch.Server-Specific Settings
The configuration includes custom settings for several servers:Lua Language Server
Configured for Neovim development inlua/user/lsp/settings/lua_ls.lua:1:
Pyright
Python type checking configured inlua/user/lsp/settings/pyright.lua:1:
JSON Language Server
Includes extensive schema validation inlua/user/lsp/settings/jsonls.lua:1:
- TypeScript config (tsconfig.json)
- Package.json
- ESLint, Prettier, Babel configs
- AWS CloudFormation templates
- GitHub workflow templates
- And many more…
Mason Commands
| Command | Description |
|---|---|
:Mason | Open Mason UI |
:MasonInstall <server> | Install a specific server |
:MasonUninstall <server> | Remove a server |
:MasonUpdate | Update all installed packages |
:LspInfo | Show attached LSP servers |
:LspInstallInfo | Show Mason install info |
Troubleshooting
Server Not Starting
- Check if installed:
:Mason - View LSP logs:
:LspInfo - Check file type:
:set filetype?
Installation Fails
Increase log level for debugging:Related Pages
LSP Handlers
Configure LSP keybindings and behavior
Null-ls Setup
Add formatters and linters

