Table of contents
Plugins
Plugins are managed by lazy.nvim. Open the plugin UI with:
:Lazy
Update plugins with:
:Lazy update
Active Plugins
| Plugin | Purpose | Notes |
|---|---|---|
folke/lazy.nvim |
Plugin manager | Bootstrapped from lua/lazy-bootstrap.lua |
NMAC427/guess-indent.nvim |
Detect indentation | Helps respect per-file indentation style |
lewis6991/gitsigns.nvim |
Git signs and hunk actions | Adds gutter signs, blame, stage/reset, diffs |
folke/which-key.nvim |
Keymap discovery | Opens immediately after partial key sequences |
nvim-telescope/telescope.nvim |
Fuzzy finder | Files, grep, help, commands, buffers, diagnostics, LSP |
nvim-telescope/telescope-fzf-native.nvim |
Telescope sorter | Built with make when available |
nvim-telescope/telescope-ui-select.nvim |
Better select UI | Makes vim.ui.select use Telescope dropdowns |
nvim-tree/nvim-web-devicons |
File icons | Enabled only when vim.g.have_nerd_font is true |
neovim/nvim-lspconfig |
LSP client config | Configures language servers |
mason-org/mason.nvim |
Tool installer UI | Use :Mason |
mason-org/mason-lspconfig.nvim |
Mason/LSP bridge | Maps LSP server names to Mason packages |
WhoIsSethDaniel/mason-tool-installer.nvim |
Automatic tool install | Ensures configured servers/tools are installed |
j-hui/fidget.nvim |
LSP status | Shows background LSP progress |
stevearc/conform.nvim |
Formatting | Manual format on <space>f; optional format on save |
saghen/blink.cmp |
Completion | LSP/path/snippet completion |
L3MON4D3/LuaSnip |
Snippet engine | Used by blink.cmp |
folke/tokyonight.nvim |
Colorscheme | Loads tokyonight-night |
folke/todo-comments.nvim |
TODO highlighting | Highlights comments such as TODO and NOTE |
nvim-mini/mini.nvim |
Small editing modules | mini.ai, mini.surround, mini.statusline |
nvim-treesitter/nvim-treesitter |
Syntax parsing | Highlighting, indentation support, parser management |
LSP Setup
Configured servers/tools are listed in lua/kickstart/plugins/lspconfig.lua.
Currently configured:
lua_ls: Lua language server for Lua and Neovim config work.stylua: installed through Mason and used for Lua formatting.
Mason installs configured tools automatically. To inspect or manually install tools:
:Mason
To add another language server, add it to the servers table in
lua/kickstart/plugins/lspconfig.lua.
Example:
local servers = {
lua_ls = { ... },
pyright = {},
rust_analyzer = {},
}
Formatting
Formatting is configured in lua/kickstart/plugins/conform.lua.
Manual formatting:
<space>f
Format on save is currently disabled by default because the enabled filetype table is empty. To enable it for a language, add that filetype:
local enabled_filetypes = {
lua = true,
}
External formatters can be configured in formatters_by_ft.
Treesitter
Treesitter is loaded eagerly and installs a basic parser set when the
tree-sitter executable is available:
bashcdiffhtmllualuadocmarkdownmarkdown_inlinequeryvimvimdoc
When opening other filetypes, the config tries to install and attach available parsers automatically.
Optional Example Plugins
Kickstart ships example plugin files that are present but not enabled from
lua/lazy-plugins.lua:
kickstart.plugins.debugkickstart.plugins.indent_linekickstart.plugins.lintkickstart.plugins.autopairskickstart.plugins.neo-tree
To enable one, uncomment the matching require line in lua/lazy-plugins.lua
and restart Neovim.