add LSP documentation, ensure_installed for Mason
This commit is contained in:
parent
4e2158f065
commit
60c2c4065b
2 changed files with 27 additions and 7 deletions
27
README.md
27
README.md
|
|
@ -23,10 +23,13 @@ plugins etc. and have "my own" config that only includes things I really need.
|
||||||
|
|
||||||
## Speed
|
## Speed
|
||||||
|
|
||||||
Output from lazy.nvim profiling (`:Lazy`, then `P`):
|
Output from lazy.nvim profiling (`:Lazy profile`) on a MacBook Pro M2 Max,
|
||||||
|
macOS 14.0 (23A344).
|
||||||
|
|
||||||
### Start and open init.lua
|
### Start and open init.lua
|
||||||
|
|
||||||
|
Around 10% of the plugins are lazy-loaded.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Startuptime: 79.91ms
|
Startuptime: 79.91ms
|
||||||
|
|
||||||
|
|
@ -37,7 +40,7 @@ This is more accurate than `nvim --startuptime`.
|
||||||
UIEnter 79.91ms (+33.55ms)
|
UIEnter 79.91ms (+33.55ms)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Starting with empty file
|
### Starting with an empty file
|
||||||
|
|
||||||
Around 50% of the plugins are lazy-loaded.
|
Around 50% of the plugins are lazy-loaded.
|
||||||
|
|
||||||
|
|
@ -58,10 +61,10 @@ This is more accurate than `nvim --startuptime`.
|
||||||
| **lazy.nvim** | Package manager | <https://github.com/folke/lazy.nvim> |
|
| **lazy.nvim** | Package manager | <https://github.com/folke/lazy.nvim> |
|
||||||
| **telescope.nvim** | Find, Filter, Preview, Pick | <https://github.com/nvim-telescope/telescope.nvim> |
|
| **telescope.nvim** | Find, Filter, Preview, Pick | <https://github.com/nvim-telescope/telescope.nvim> |
|
||||||
| **telescope-fzf-native.nvim** | Fuzzy finder for Telescope | <https://github.com/nvim-telescope/telescope-fzf-native.nvim> |
|
| **telescope-fzf-native.nvim** | Fuzzy finder for Telescope | <https://github.com/nvim-telescope/telescope-fzf-native.nvim> |
|
||||||
| **telescope-file-browser.nvim** | File browser | <https://github.com/nvim-telescope/telescope-file-browser.nvim> |
|
|
||||||
| **nvim-treesitter** | Parser/syntax highlighting | <https://github.com/nvim-treesitter/nvim-treesitter> |
|
| **nvim-treesitter** | Parser/syntax highlighting | <https://github.com/nvim-treesitter/nvim-treesitter> |
|
||||||
| **nvim-treesitter-context** | Shows current line context | <https://github.com/nvim-treesitter/nvim-treesitter-context> |
|
| **nvim-treesitter-context** | Shows current line context | <https://github.com/nvim-treesitter/nvim-treesitter-context> |
|
||||||
| **nvim-treesitter-textobjects** | ? | <https://github.com/nvim-treesitter/nvim-treesitter-textobjects> |
|
| **nvim-treesitter-textobjects** | ? | <https://github.com/nvim-treesitter/nvim-treesitter-textobjects> |
|
||||||
|
| **oil.nvim** | file explorer, (bulk file creation/rename) | <https://github.com/stevearc/oil.nvim> |
|
||||||
| **nightfox.nvim** | Theme with treesitter/lsp support | <https://github.com/EdenEast/nightfox.nvim> |
|
| **nightfox.nvim** | Theme with treesitter/lsp support | <https://github.com/EdenEast/nightfox.nvim> |
|
||||||
| **tokyonight.nvim** | Theme with treesitter/lsp support | <https://github.com/folke/tokyonight.nvim> |
|
| **tokyonight.nvim** | Theme with treesitter/lsp support | <https://github.com/folke/tokyonight.nvim> |
|
||||||
| **lualine.nvim** | Status line | <https://github.com/nvim-lualine/lualine.nvim> |
|
| **lualine.nvim** | Status line | <https://github.com/nvim-lualine/lualine.nvim> |
|
||||||
|
|
@ -73,7 +76,7 @@ This is more accurate than `nvim --startuptime`.
|
||||||
| **lsp-zero.nvim** | LSP for mere mortals | <https://github.com/VonHeikemen/lsp-zero.nvim> |
|
| **lsp-zero.nvim** | LSP for mere mortals | <https://github.com/VonHeikemen/lsp-zero.nvim> |
|
||||||
| **nvim-lspconfig** | Component of lsp-zero.nvim | <https://github.com/neovim/nvim-lspconfig> |
|
| **nvim-lspconfig** | Component of lsp-zero.nvim | <https://github.com/neovim/nvim-lspconfig> |
|
||||||
| **cmp-nvim-lsp** | Dependency of lsp-zero.nvim | <https://github.com/hrsh7th/cmp-nvim-lsp> |
|
| **cmp-nvim-lsp** | Dependency of lsp-zero.nvim | <https://github.com/hrsh7th/cmp-nvim-lsp> |
|
||||||
| **conform.nvim** | Black magic wizardry, replacement for `null-ls` | <https://github.com/stevearc/conform.nvim> |
|
| **conform.nvim** | Formatter configuration, replacement for `null-ls` | <https://github.com/stevearc/conform.nvim> |
|
||||||
| **mason.nvim** | Install/manage LSP/DAP servers, linters and formatters | <https://github.com/williamboman/mason.nvim> |
|
| **mason.nvim** | Install/manage LSP/DAP servers, linters and formatters | <https://github.com/williamboman/mason.nvim> |
|
||||||
| **mason-lspconfig.nvim** | Bridges mason.nvim with the lspconfig plugin | <https://github.com/williamboman/mason-lspconfig.nvim> |
|
| **mason-lspconfig.nvim** | Bridges mason.nvim with the lspconfig plugin | <https://github.com/williamboman/mason-lspconfig.nvim> |
|
||||||
| **zen-mode.nvim** | Distraction-free coding for Neovim | <https://github.com/folke/zen-mode.nvim> |
|
| **zen-mode.nvim** | Distraction-free coding for Neovim | <https://github.com/folke/zen-mode.nvim> |
|
||||||
|
|
@ -85,9 +88,21 @@ This is how it looks like:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## Mason essentials
|
||||||
|
|
||||||
|
This lists the LSPs/linter/formatters I consider ok for my use cases. Tools may
|
||||||
|
support many more languages than I document in the "Language" column. The
|
||||||
|
formatters installed here are used via `conform.nvim`.
|
||||||
|
|
||||||
|
| Type | Language | Name | Benefits | Issues |
|
||||||
|
| --------- | -------------- | ---------------- | ----------------------- | ------------------------- |
|
||||||
|
| LSP | Markdown | **marksman** | Autocompletes links | n/a |
|
||||||
|
| Linter | Ansible | **ansible-lint** | | yamllint vs. ansible-lint |
|
||||||
|
| Linter | YAML | **yamllint** | well, it's yamllint | yamllint vs. ansible-lint |
|
||||||
|
| Formatter | Markdown, YAML | **prettier** | Formats Markdown tables | n/a |
|
||||||
|
| Formatter | Lua | **stylua** | Formats Lua | n/a |
|
||||||
|
|
||||||
## Open issues/TODOs
|
## Open issues/TODOs
|
||||||
|
|
||||||
- ollama integration <https://github.com/nomnivore/ollama.nvim>
|
- ollama integration <https://github.com/nomnivore/ollama.nvim>
|
||||||
- Solution to run file_browser when doing a vertical/horizontal split?
|
|
||||||
- <https://github.com/folke/trouble.nvim>
|
- <https://github.com/folke/trouble.nvim>
|
||||||
- Implement linting, see <https://www.josean.com/posts/neovim-linting-and-formatting>
|
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,12 @@ return {
|
||||||
})
|
})
|
||||||
|
|
||||||
require("mason-lspconfig").setup({
|
require("mason-lspconfig").setup({
|
||||||
ensure_installed = {},
|
ensure_installed = {
|
||||||
|
"marksman",
|
||||||
|
"prettier",
|
||||||
|
"stylua",
|
||||||
|
"black",
|
||||||
|
},
|
||||||
handlers = {
|
handlers = {
|
||||||
-- names must align with Mason names
|
-- names must align with Mason names
|
||||||
lsp_zero.default_setup,
|
lsp_zero.default_setup,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue