{ import = "astrocommunity.ai.avante-nvim" }
Avante.nvim is a Neovim plugin that emulates the Cursor AI IDE’s functionality. It provides AI-driven code suggestions and allows users to apply these recommendations directly to their source files with minimal effort.
For more information, please refer to:
Repository: https://github.com/yetone/avante.nvim
{ import = "astrocommunity.ai.chatgpt-nvim" }
Plugin that enables you to interact with chat-GPT, straight from neovim.
Repository: https://github.com/jackMort/ChatGPT.nvim
Before enabling it, set environment variable called $OPENAI_API_KEY which you can obtain here: https://platform.openai.com/account/api-keys
ChatGPT is a Neovim plugin that allows you to effortlessly utilize the OpenAI ChatGPT API, empowering you to generate natural language responses from OpenAI’s ChatGPT directly within the editor in response to your inquiries.
{ import = "astrocommunity.ai.codecompanion-nvim" }
✨ AI-powered coding, seamlessly in Neovim
Repository: https://github.com/olimorris/codecompanion.nvim
{ import = "astrocommunity.ai.codex-nvim" }
OpenAI Codex plugin for Neovim
For more information, please refer to:
Repository: https://github.com/johnseth97/codex.nvim
{ import = "astrocommunity.ai.copilotchat-nvim" }
Chat with GitHub Copilot in Neovim
Repository: https://github.com/CopilotC-Nvim/CopilotChat.nvim
{ import = "astrocommunity.ai.kurama622-llm-nvim" }
Free large language model (LLM) support for Neovim, provides commands to interact with LLM (like ChatGPT, ChatGLM, kimi, deepseek, openrouter and local llms). Support Github models.
Repository: https://github.com/Kurama622/llm.nvim
{ import = "astrocommunity.ai.minuet-ai-nvim" }
💃 Dance with Intelligence in Your Code. Minuet offers code completion as-you-type from popular LLMs including OpenAI, Gemini, Claude, Ollama, Llama.cpp, Codestral, and more.
Repository: https://github.com/milanglacier/minuet-ai.nvim
{ import = "astrocommunity.ai.opencode-nvim" }
Integrate the opencode AI assistant with Neovim — streamline editor-aware research, reviews, and requests.
Repository: https://github.com/NickvanDyke/opencode.nvim
{ import = "astrocommunity.ai.sidekick-nvim" }
Your Neovim AI sidekick
Repository: https://github.com/folke/sidekick.nvim
{ import = "astrocommunity.bars-and-lines.bufferline-nvim" }
A snazzy bufferline for Neovim
Repository: https://github.com/akinsho/bufferline.nvim
Note: This also disables the Heirline based tabline
{ import = "astrocommunity.bars-and-lines.dropbar-nvim" }
IDE-like breadcrumbs, out of the box
Repository: https://github.com/Bekaboo/dropbar.nvim
Note: This also disables the Heirline based winbar
{ import = "astrocommunity.bars-and-lines.feline-nvim" }
A minimal, stylish and customizable statusline, statuscolumn, and winbar for Neovim
Repository: https://github.com/famiu/feline.nvim
Note: This also disables the Heirline based statusline
{ import = "astrocommunity.bars-and-lines.lualine-nvim" }
A blazing fast and easy to configure neovim statusline plugin written in pure lua.
Repository: https://github.com/nvim-lualine/lualine.nvim
Note: This also disables the Heirline based statusline.
{ import = "astrocommunity.bars-and-lines.scope-nvim" }
Revolutionize Your Neovim Tab Workflow: Introducing Enhanced Tab Scoping!
Repository: https://github.com/tiagovla/scope.nvim
This plugin scopes buffers to tabs, cleaning up tabline plugins like
bufferline.nvim.
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" }
A Neovim plugin hiding your colorcolumn when unneeded.
Repository: https://github.com/m4xshen/smartcolumn.nvim
{ import = "astrocommunity.bars-and-lines.statuscol-nvim" }
Status column plugin that provides a configurable ‘statuscolumn’ and click handlers.
Repository: https://github.com/luukvbaal/statuscol.nvim
Note: This also disables the Heirline based statuscolumn.
{ import = "astrocommunity.bars-and-lines.vim-illuminate" }
Note: As of AstroNvim v6, word highlighting is built in via the
snacks.wordsmodule infolke/snacks.nvim. This plugin is still available for users who prefer it.
(Neo)Vim plugin for automatically highlighting other uses of the word under the cursor using either LSP, Tree-sitter, or regex matching.
Repository: https://github.com/RRethy/vim-illuminate
{ import = "astrocommunity.bars-and-lines.wakastat" }
wakatime coding status on your neovim.
Repository: https://github.com/fiqryq/wakastat.nvim
{ import = "astrocommunity.code-runner.compiler-nvim" }
Repository: https://github.com/Zeioth/Compiler.nvim
A Neovim compiler for building and running your code without having to configure anything
{ import = "astrocommunity.code-runner.conjure" }
Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile, Python and more!)
Repository: https://github.com/Olical/conjure
{ import = "astrocommunity.code-runner.executor-nvim" }
Executor.nvim is a plugin that allows you to run command line tasks in the background and be notified of results.
Repository: https://github.com/google/executor.nvim
{ import = "astrocommunity.code-runner.mf-runner-nvim" }
code runner based off of Makefiles because it’s the easiest and one of the most common formats.
Repository: https://codeberg.org/burgr/mf-runner.nvim
{ import = "astrocommunity.code-runner.molten-nvim" }
A neovim plugin for interactively running code with the jupyter kernel. Fork of magma-nvim with improvements in image rendering, performance, and more.
pynvim
(for the Remote Plugin API)jupyter_client
(for interacting with Jupyter)cairosvg (for
displaying SVG images with transparency)
pnglatex (for
displaying TeX formulas)plotly and kaleido (for displaying Plotly
figures)pyperclip if you want to use
molten_copy_outputnbformat for importing and exporting output to jupyter
notebooks filespillow for opening images with
:MoltenImagePopup[!TIP] You can run
:checkhealthto see what you have installed.
[!CAUTION] For up to date docs, visit the repository.
Repository: https://github.com/benlubas/molten-nvim
This plugin config adds a custom init function for Python venvs. When
calling <Leader>mmp, we check if a venv is activated.
If it is, we check if a jupyter kernel spec for this venv already exists
and :MoltenInit this kernel spec. If no kernel spec is
found, we prompt for a unique name, create the kernel spec and
:MoltenInit it.
It also adds a status line indication if molten is activated and what kernel is initialized.
[!TIP] When using a global molten venv as described in the repository, we need to set the variable
python3_host_progto the Python executable there, which in AstroNVim is done inAstroCorein theoptions.gtable, for example:python3_host_prog = vim.fn.expand "~/.virtualenvs/neovim/bin/python3".
{ import = "astrocommunity.code-runner.overseer-nvim" }
A task runner and job management plugin for Neovim
Repository: https://github.com/stevearc/overseer.nvim
{ import = "astrocommunity.code-runner.sniprun" }
A neovim plugin to run lines/blocs of code (independently of the rest of the file), supporting multiples languages
Repository: https://github.com/michaelb/sniprun
Sniprun is a code runner plugin for neovim written in Lua and Rust. It aims to provide stupidly fast partial code testing for interpreted and compiled languages. Sniprun blurs the line between standard save/run workflow, jupyter-like notebook, and REPL/interpreters.
{ import = "astrocommunity.code-runner.toggletasks-nvim" }
Neovim task runner: JSON/YAML + toggleterm.nvim + telescope.nvim.
Repository: https://github.com/jedrzejboczar/toggletasks.nvim
{ import = "astrocommunity.code-runner.vim-slime" }
A vim plugin to give you some slime. (Emacs)
Repository: https://github.com/jpalardy/vim-slime
{ import = "astrocommunity.color.ccc-nvim" }
Color picker and highlighter plugin for Neovim.
Repository: https://github.com/uga-rosa/ccc.nvim
{ import = "astrocommunity.color.headlines-nvim" }
This plugin adds horizontal highlights for text filetypes, like markdown, orgmode, and neorg.
Repository: https://github.com/lukas-reineke/headlines.nvim
{ import = "astrocommunity.color.huez-nvim" }
All things color related. All Lua.
Repository: https://github.com/vague2k/huez.nvim
{ import = "astrocommunity.color.mini-hipatterns" }
Neovim Lua plugin to highlight patterns in text. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.hipatterns
{ import = "astrocommunity.color.modes-nvim" }
Prismatic line decorations for the adventurous vim user
Repository: https://github.com/mvllow/modes.nvim
Note: This also disables which-key for
operators in Neovim as this conflicts with this plugin.
{ import = "astrocommunity.color.nvim-highlight-colors" }
Highlight colors for neovim
Repository: https://github.com/brenoprata10/nvim-highlight-colors
{ import = "astrocommunity.color.tint-nvim" }
Dim inactive windows in Neovim using window-local highlight namespaces.
Repository: https://github.com/levouh/tint.nvim
{ import = "astrocommunity.color.transparent-nvim" }
Remove all background colors to make nvim transparent
Repository: https://github.com/xiyaowong/transparent.nvim
{ import = "astrocommunity.color.twilight-nvim" }
🌅 Twilight is a Lua plugin for Neovim 0.5 that dims inactive portions of the code you’re editing using TreeSitter.
Repository: https://github.com/folke/twilight.nvim
{ import = "astrocommunity.color.vim-highlighter" }
Highlight words and expressions
Repository: https://github.com/azabiong/vim-highlighter
A Neovim plugin which extends Vim’s highlighting capabilities with additional features such as jump to highlights, saving and loading, finding patterns, and customizing colors. It can be a useful tool when analyzing code, reviewing and summaries.
Access commands descriptions by visual selecting text and pressing ‘f’.
{ import = "astrocommunity.colorscheme.alabaster" }
Minimalist color scheme for Sublime Text 3
Repository: https://github.com/p00f/alabaster.nvim
" Vim Script
colorscheme alabaster
{ import = "astrocommunity.colorscheme.aurora" }
A vivid dark theme for (Neo)Vim. Optimized for treesitter, LSP.
Repository: https://github.com/ray-x/aurora
" Vim Script
colorscheme aurora
{ import = "astrocommunity.colorscheme.bamboo-nvim" }
Dark green theme for Neovim forked from OneDark.nvim
Repository: https://github.com/ribru17/bamboo.nvim
{ import = "astrocommunity.colorscheme.bluloco-nvim" }
bluloco theme port for neovim
Repository: https://github.com/uloco/bluloco.nvim
" Vim Script
colorscheme bluloco-dark
colorscheme bluloco-light
{ import = "astrocommunity.colorscheme.catppuccin" }
🍨 Soothing pastel theme for (Neo)vim
Repository: https://github.com/catppuccin/nvim
{ import = "astrocommunity.colorscheme.citruszest-nvim" }
A vibrant and refreshing neovim colorscheme inspired by citrus fruits.
Repository: https://github.com/zootedb0t/citruszest.nvim
" Vim Script
colorscheme citruszest
{ import = "astrocommunity.colorscheme.cyberdream-nvim" }
🤖💤 High-contrast, Futuristic & Vibrant color scheme for Neovim
Repository: https://github.com/scottmckendry/cyberdream.nvim
" Vim Script
colorscheme cyberdream
{ import = "astrocommunity.colorscheme.darkloam" }
Dark Loam theme
Repository: https://github.com/SivaPA08/darkloam
{ import = "astrocommunity.colorscheme.dracula-nvim" }
Dracula colorscheme for neovim written in Lua
Repository: https://github.com/Mofiqul/dracula.nvim
" Vim Script
colorscheme dracula
" or:
colorscheme dracula-soft
{ import = "astrocommunity.colorscheme.eldritch-nvim" }
A theme for the Ancient Ones! (NVIM)
Repository: https://github.com/eldritch-theme/eldritch.nvim
" Vim Script
colorscheme eldritch
{ import = "astrocommunity.colorscheme.everblush-nvim" }
A dark, vibrant, and beautiful color scheme for Neovim
Repository: https://github.com/Everblush/nvim
{ import = "astrocommunity.colorscheme.everforest" }
🌲 Comfortable & Pleasant Color Scheme for Vim
Repository: https://github.com/sainnhe/everforest
{ import = "astrocommunity.colorscheme.fluoromachine-nvim" }
Synthwave x Fluoromachine port for Neovim
Repository: https://github.com/maxmx03/fluoromachine.nvim
{ import = "astrocommunity.colorscheme.github-nvim-theme" }
Github’s Neovim themes
Repository: https://github.com/projekt0n/github-nvim-theme
In your plugins/astroui.lua file, put:
return {
"AstroNvim/astroui",
opts = {
colorscheme = "github_dark",
}
}Or whichever colorscheme you’d want.
{ import = "astrocommunity.colorscheme.gruvbox-baby" }
Gruvbox theme for neovim with full 🎄TreeSitter support.
Repository: https://github.com/luisiacc/gruvbox-baby
Gruvbox theme variant with full treesitter support!
{ import = "astrocommunity.colorscheme.gruvbox-nvim" }
Lua port of the most famous vim colorscheme
Repository: https://github.com/ellisonleao/gruvbox.nvim
A port of gruvbox community theme to lua with treesitter support!
To change options:
{
"gruvbox.nvim",
opts = {
italic = {
strings = true,
comments = true,
folds = true,
operations = false,
}
}
}Other options can be found in the official README: https://github.com/ellisonleao/gruvbox.nvim#configuration
{ import = "astrocommunity.colorscheme.helix-nvim" }
Helix Editor default theme implementation for Neovim.
Repository: https://github.com/oneslash/helix-nvim
{ import = "astrocommunity.colorscheme.horizon-nvim" }
A beautifully warm color scheme for Neovim
Repository: https://github.com/LunarVim/horizon.nvim
{ import = "astrocommunity.colorscheme.hybrid-nvim" }
A dark Neovim theme written in Lua
Repository: https://github.com/HoNamDuong/hybrid.nvim
" Vim Script
colorscheme hybrid
{ import = "astrocommunity.colorscheme.iceberg-vim" }
🇦🇶 Bluish color scheme for Vim and Neovim
Repository: https://github.com/cocopon/iceberg.vim
{ import = "astrocommunity.colorscheme.kanagawa-nvim" }
NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
Repository: https://github.com/rebelot/kanagawa.nvim
{ import = "astrocommunity.colorscheme.kanagawa-paper-nvim" }
Remixed Kanagawa colourscheme with muted colors. For Neovim.
Repository: https://github.com/sho-87/kanagawa-paper.nvim
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
colorscheme = "kanagawa-paper",
},
}{ import = "astrocommunity.colorscheme.lackluster-nvim" }
A delightful mostly grayscale colorscheme thats soft on the eyes, and supports heaps of plugins
Repository: https://github.com/slugbyte/lackluster.nvim
" Vim Script
colorscheme lackluster
colorscheme lackluster-night
colorscheme lackluster-mint
colorscheme lackluster-dark
{ import = "astrocommunity.colorscheme.melange-nvim" }
🗡️ Warm color scheme for Neovim and beyond
Repository: https://github.com/savq/melange-nvim
{ import = "astrocommunity.colorscheme.mellifluous-nvim" }
Pleasant and productive color scheme for Neovim
Repository: https://github.com/ramojus/mellifluous.nvim
" Vim Script
colorscheme mellifluous
{ import = "astrocommunity.colorscheme.mellow-nvim" }
A soothing dark color scheme for neovim and friends.
Repository: https://github.com/kvrohit/mellow.nvim
{ import = "astrocommunity.colorscheme.miasma-nvim" }
A fog descends upon your editor ☁ dark color scheme inspired by the woods for vim and neovim
Repository: https://github.com/xero/miasma.nvim
" Vim Script
colorscheme miasma
{ import = "astrocommunity.colorscheme.mini-base16" }
Neovim Lua plugin for Base16 colorscheme creation. Part of ‘mini.nvim’ library.
Repository: <https://github.com/echasnovski/mini.base16>
{ import = "astrocommunity.colorscheme.modus-nvim" }
Highly accessible themes for Neovim, conforming with the highest standard for color contrast between background and foreground values (WCAG AAA). A Neovim port of the original Modus Themes built for GNU Emacs.
Repository: https://github.com/miikanissi/modus-themes.nvim
" Vim Script
colorscheme modus
colorscheme modus_operandi
colorscheme modus_vivendi
{ import = "astrocommunity.colorscheme.monokai-pro-nvim" }
Monokai Pro theme for Neovim written in Lua, with multiple filters: Pro, Classic, Machine, Octagon, Ristretto, Spectrum
Repository: https://github.com/loctvl842/monokai-pro.nvim
A professional theme for neovim. The following filters are available:
proclassicmachineoctagonristrettospectrumBy default, it is set to pro. To change the filter to,
e.g., machine, you can add the following to your
user.lua
{
"loctvl842/monokai-pro.nvim",
config = function()
require("monokai-pro").setup {
filter = "machine", -- classic | octagon | pro | machine | ristretto | spectrum
}
end
},{ import = "astrocommunity.colorscheme.neofusion-nvim" }
nvim theme blending lava red and ice blue for a vibrant coding experience ✨
Repository: https://github.com/diegoulloao/neofusion.nvim
" Vim Script
colorscheme neofusion
{ import = "astrocommunity.colorscheme.neosolarized-nvim" }
Truecolor solarized theme for neovim in Lua using colorbuddy
Repository: https://github.com/svrana/neosolarized.nvim
{ import = "astrocommunity.colorscheme.night-owl-nvim" }
🦉 🌌 Night Owl colorscheme implementation for Neovim with support for Treesitter and semantic tokens
Repository: https://github.com/oxfist/night-owl.nvim
" Vim Script
colorscheme night-owl
{ import = "astrocommunity.colorscheme.nightfox-nvim" }
🦊A highly customizable theme for vim and neovim with support for lsp, treesitter and a variety of plugins.
Repository: https://github.com/EdenEast/nightfox.nvim
{ import = "astrocommunity.colorscheme.nord-nvim" }
Neovim theme based off of the Nord Color Palette, written in lua with tree sitter support
Repository: https://github.com/shaunsingh/nord.nvim
Note: Until the maintainer fixes the problem, the
theme is incompatible with semantic tokens (issue, you
therefore have to turn off the feature otherwise many tokens will be the
same color. (put this in the polish function of
lua/user/init.lua:
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
client.server_capabilities.semanticTokensProvider = nil
end,
})
{ import = "astrocommunity.colorscheme.nordic-nvim" }
🌒 Nord for Neovim, but warmer and darker. Supports a variety of plugins and other platforms.
Repository: <https://github.com/AlexvZyl/nordic.nvim>
" Vim Script
colorscheme nordic
{ import = "astrocommunity.colorscheme.nvim-juliana" }
Port of Sublime’s Mariana Theme to Neovim for short attention span devs.
Repository: https://github.com/kaiuri/nvim-juliana
You can also set it to use other palettes like, for example:
---@generic K: "light" | "dark"
---@param mode K
local gruvbox = function(mode)
---@param tbl table<`K`, string>
---@return string
local function pick(tbl)
return tbl[mode]
end
return {
bg1 = pick { light = '#fff7d5', dark = '#32302e' },
bg2 = pick { light = '#fff5cb', dark = '#282828' },
bg3 = pick { light = '#fff2bc', dark = '#242424' },
blue1 = pick { light = '#076578', dark = '#83a598' },
blue2 = pick { light = '#074f78', dark = '#458588' },
cyan1 = pick { light = '#689d69', dark = '#8ec07c' },
cyan2 = pick { light = '#23693e', dark = '#689d6a' },
diff_add = pick { light = '#c7d4c4', dark = '#343427' },
diff_change = pick { light = '#eadba9', dark = '#3e3428' },
diff_remove = pick { light = '#eac4a9', dark = '#3c2828' },
diff_text = pick { light = '#ffe789', dark = '#32302e' },
fg1 = pick { light = '#282828', dark = '#fff5cb' },
fg2 = pick { light = '#353535', dark = '#ebdbb2' },
fg3 = pick { light = '#797467', dark = '#928374' },
fg4 = pick { light = '#938e80', dark = '#665c54' },
green = pick { light = '#228b22', dark = '#a8a920' },
magenta = pick { light = '#8f3f71', dark = '#c2748f' },
orange = pick { light = '#f71d05', dark = '#fb4834' },
red1 = pick { light = '#cc241d', dark = '#d44333' },
red2 = pick { light = '#9d0006', dark = '#cc231d' },
selection_bg = pick { light = '#ffeda3', dark = '#423d39' },
text_fg = pick { light = '#282828', dark = '#eadbb5' },
yellow1 = pick { light = '#cba200', dark = '#fabd2f' },
yellow2 = pick { light = '#ab7b1a', dark = '#e8ab28' },
yellow3 = pick { light = '#996814', dark = '#d79a21' },
}
end
{
'kaiuri/nvim-juliana',
opts = {
colors = gruvbox('dark')
},
}{ import = "astrocommunity.colorscheme.oldworld-nvim" }
OldWorld is a theme heavily based on mellow.nvim but adding new colors and new integrations with different plugins.
Repository: https://github.com/dgox16/oldworld.nvim
" Vim Script
colorscheme oldworld
{ import = "astrocommunity.colorscheme.onedarkpro-nvim" }
🎨 Atom’s iconic One Dark theme, for Neovim. Fully customisable, with Treesitter and LSP semantic token support
Repository: https://github.com/olimorris/onedarkpro.nvim
{ import = "astrocommunity.colorscheme.oxocarbon-nvim" }
A dark and light Neovim theme written in fennel, inspired by IBM Carbon.
Repository: https://github.com/nyoom-engineering/oxocarbon.nvim
{ import = "astrocommunity.colorscheme.palenight-nvim" }
Palenight.nvim is a fast and modern colorscheme that supports the new Neovim features like builtin LSP and Treesitter and several plugins
Repository: https://github.com/wilmanbarrios/palenight.nvim
{ import = "astrocommunity.colorscheme.poimandres-nvim" }
Poimandres colorscheme for Neovim written in Lua
Repository: https://github.com/olivercederborg/poimandres.nvim
🍨 Soothing theme for (Neo)vim.
{ import = "astrocommunity.colorscheme.rose-pine" }
Soho vibes for Neovim
Repository: https://github.com/rose-pine/neovim
{ import = "astrocommunity.colorscheme.solarized-osaka-nvim" }
🏯 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins.
Repository: https://github.com/craftzdog/solarized-osaka.nvim
" Vim Script
colorscheme solarized-osaka
{ import = "astrocommunity.colorscheme.sonokai" }
High Contrast & Vivid Color Scheme based on Monokai Pro
Repository: https://github.com/sainnhe/sonokai
{ import = "astrocommunity.colorscheme.tokyodark-nvim" }
A clean dark theme written in lua for neovim.
Repository: https://github.com/tiagovla/tokyodark.nvim
" Vim Script
colorscheme tokyodark
{ import = "astrocommunity.colorscheme.tokyonight-nvim" }
🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.
Repository: <https://github.com/folke/tokyonight.nvim>
" Vim Script
colorscheme tokyonight
" There are also colorschemes for the different styles
colorscheme tokyonight-night
colorscheme tokyonight-storm
colorscheme tokyonight-day
colorscheme tokyonight-moon
{ import = "astrocommunity.colorscheme.vim-dogrun" }
🐶 A dark Neovim / Vim colorscheme for the GUI and 256 / true-color terminals.
Repository: https://github.com/wadackel/vim-dogrun
" Vim Script
colorscheme dogrun
{ import = "astrocommunity.colorscheme.vim-moonfly-colors" }
⚫️ A dark charcoal theme for modern Neovim & classic Vim
Repository: https://github.com/bluz71/vim-moonfly-colors.git
{ import = "astrocommunity.colorscheme.vim-nightfly-colors" }
A dark midnight theme for modern Neovim & classic Vim
Repository: https://github.com/bluz71/vim-nightfly-colors
{ import = "astrocommunity.colorscheme.vscode-nvim" }
Neovim/Vim color scheme inspired by Dark+ and Light+ theme in Visual Studio Code
Repository: https://github.com/Mofiqul/vscode.nvim
{ import = "astrocommunity.colorscheme.zenbones" }
🪨 A collection of contrast-based Vim/Neovim colorschemes
Repository: https://github.com/zenbones-theme/zenbones.nvim
{ import = "astrocommunity.comment.mini-comment" }
Neovim Lua plugin for fast and familiar per-line commenting. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.comment
{ import = "astrocommunity.comment.ts-comments-nvim" }
Tiny plugin to enhance Neovim’s native comments
Repository: https://github.com/folke/ts-comments.nvim
{ import = "astrocommunity.completion.blink-cmp-emoji" }
Emoji source for blink.cmp.
Repository: https://github.com/moyiz/blink-emoji.nvim
{ import = "astrocommunity.completion.blink-cmp-git" }
This makes it possible to query pull requests, issues, and users from GitHub or GitLab. This is very useful when you are writing a commit with nvim.
Repository: https://github.com/Kaiser-Yang/blink-cmp-git
{ import = "astrocommunity.completion.blink-cmp-tmux" }
Port of the andersevenrud/cmp-tmux completion source for the blink.cmp Neovim plugin.
Repository: https://github.com/mgalliou/blink-cmp-tmux
{ import = "astrocommunity.completion.blink-cmp" }
Performant, batteries-included completion plugin for Neovim
cargo needs to be in the $PATH so that the
core binaries can be built.Repository: https://github.com/Saghen/blink.cmp
{ import = "astrocommunity.completion.blink-copilot" }
⚙️ Configurable GitHub Copilot blink.cmp source for Neovim
Repository: https://github.com/fang2hou/blink-copilot
{ import = "astrocommunity.completion.cmp-calc" }
Calculation source for nvim-cmp
Repository: https://github.com/hrsh7th/cmp-calc
{ import = "astrocommunity.completion.cmp-cmdline" }
nvim-cmp source for vim’s cmdline.
Repository: https://github.com/hrsh7th/cmp-cmdline
{ import = "astrocommunity.completion.cmp-emoji" }
nvim-cmp source for emoji
Repository: https://github.com/hrsh7th/cmp-emoji
{ import = "astrocommunity.completion.cmp-git" }
Git source for nvim-cmp
Repository: https://github.com/petertriho/cmp-git
{ import = "astrocommunity.completion.cmp-latex-symbols" }
Add latex symbol support for nvim-cmp.
Repository: https://github.com/kdheepak/cmp-latex-symbols
{ import = "astrocommunity.completion.cmp-nerdfont" }
nvim-cmp source for nerdfont
Repository: https://github.com/chrisgrieser/cmp-nerdfont
{ import = "astrocommunity.completion.cmp-nvim-lua" }
nvim-cmp source for neovim Lua API.
Repository: https://github.com/hrsh7th/cmp-nvim-lua
{ import = "astrocommunity.completion.cmp-spell" }
spell source for nvim-cmp based on vim’s spellsuggest.
Repository: https://github.com/f3fora/cmp-spell
{ import = "astrocommunity.completion.cmp-tmux" }
Tmux completion source for nvim-cmp.
Repository: https://github.com/andersevenrud/cmp-tmux
This extension pulls text from your current tmux session and provides it as a completion source.
By default this extension uses adjacent panes as sources. See configuration to enable all panes.
{ import = "astrocommunity.completion.cmp-under-comparator" }
A tiny function for nvim-cmp to better sort completion items that start with one or more underlines.
In most languages, especially Python, items that start with one or more underlines should be at the end of the completion suggestion.
Repository: https://github.com/lukas-reineke/cmp-under-comparator
{ import = "astrocommunity.completion.codeium-nvim" }
A native neovim extension for Codeium
Usage:
:Codeium Auth - to set up the plugin:Codeium Chat - Open chat in browserRepository: https://github.com/Exafunction/codeium.nvim
Note: You need to auth first before usage
{ import = "astrocommunity.completion.codeium-vim" }
Free, ultrafast Copilot alternative for Vim and Neovim
Repository: https://github.com/Exafunction/codeium.vim
Basic setup for codeium
i <C-g>: accept suggestion
i <C-;>: next suggestion
i <C-,>: previous suggestion
i <C-x>: clear suggestions
n <Leader>; toggle on/off Codeium
Note: You need to auth first before usage
{ import = "astrocommunity.completion.copilot-cmp" }
Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot
Repositories: https://github.com/zbirenbaum/copilot.lua https://github.com/zbirenbaum/copilot-cmp
Note: This plugin will also reconfigure cmp and
add copilot as a completion source Note 2: This
configuration adds a nerdfont icon for copilot using
lspkind. If you are using regular characters, you can
change it in your plugin setup, using the key Copilot for
lspkind’s buffer_map
{ import = "astrocommunity.completion.copilot-lua-cmp" }
Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot
Repository: https://github.com/zbirenbaum/copilot.lua
<Tab> - Accept suggestion/Navigate completion
menu<C-x> / <C-z> - Next/Previous
suggestion<C-right> / <C-l> - Accept
word<C-down> / <C-j> - Accept
line<C-c> - Dismiss suggestionNote: This plugin will also reconfigure
<Tab> in AstroNvim to work with both auto completion
in cmp and copilot.
The configuration includes support for nvim-cmp and blink.cmp for improved completion behavior.
{ import = "astrocommunity.completion.copilot-lua" }
Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot
Repository: https://github.com/zbirenbaum/copilot.lua
{ import = "astrocommunity.completion.copilot-vim-cmp" }
Integration of GitHub’s official Copilot plugin with completion engines
Repository: https://github.com/github/copilot.vim
<Tab> - Accept suggestion/Navigate completion
menu<M-[> / <M-]> - Previous/Next
suggestion<M-\> - Suggest completions<M-Right> - Accept word<M-C-Right> - Accept line<C-]> - Dismiss suggestionNote: This plugin will also reconfigure
<Tab> in AstroNvim to work with both auto completion
in cmp and copilot.
The configuration includes support for nvim-cmp and blink.cmp for improved completion behavior.
{ import = "astrocommunity.completion.copilot-vim" }
Neovim plugin for GitHub Copilot
Check out the documentation for usage and key mappings.
It is possible to update vim.g copilot settings through
AstroCore:
{
"AstroNvim/astrocore",
opts = {
options = {
g = {
copilot_workspace_folders = { vim.fn.getcwd() },
copilot_filetypes = {
markdown = true,
},
},
},
},
}Repository: https://github.com/github/copilot.vim
{ import = "astrocommunity.completion.coq_nvim" }
Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
Repository: https://github.com/ms-jpq/coq_nvim
{ import = "astrocommunity.completion.fittencode-nvim" }
Fitten Code AI Programming Assistant for Neovim
Repository: https://github.com/luozhiya/fittencode.nvim
| Mappings | Action |
|---|---|
Tab |
Accept all suggestions |
Ctrl + ⬇️ |
Accept line |
Ctrl + ➡️ |
Accept word |
{ import = "astrocommunity.completion.magazine-nvim" }
[!NOTE] Magazine is a fork of
nvim-cmp. The way this plugin is setup is to hijack into an existingnvim-cmpinstallation. So make sure thatnvim-cmpis still installed and enabled for this plugin to work and all configuration is still done throughnvim-cmpas normal.
Magazine.nvim is a “beta” nvim-cmp to fix bugs & implement new features early
Repository: https://github.com/iguanacucumber/magazine.nvim
{ import = "astrocommunity.completion.mini-completion" }
Neovim Lua plugin for completion and signature help. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.completion
{ import = "astrocommunity.completion.nvim-cmp-buffer-lines" }
nvim-cmp source for buffer lines
Repository: https://github.com/amarakon/nvim-cmp-buffer-lines
Replaces the <C-x><C-l> whole line
complete, instead of being included in the usual completion menu.
{ import = "astrocommunity.completion.nvim-cmp" }
A completion plugin for neovim coded in Lua.
Repository: https://github.com/hrsh7th/nvim-cmp
{ import = "astrocommunity.completion.supermaven-nvim" }
[!NOTE] You should probably read their Code Policy before running this plugin, if code retention concerns you.
The official Neovim plugin for Supermaven.
Upon startup, you will be prompted to either use the Free Tier with
the command :SupermavenUseFree or to activate a Supermaven
Pro subscription by following a link, which will connect your Supermaven
account.
Keybinds:
<C-l><C-h><C-w>Repository: https://github.com/supermaven-inc/supermaven-nvim
{ import = "astrocommunity.completion.tabby-nvim" }
Tabby is a self-hosted AI coding assistant that can suggest multi-line code or full functions in real-time.
Repository: https://github.com/TabbyML/vim-tabby
| Mappings | Action |
|---|---|
<C-e> |
Accept completion |
Ctrl + \ |
Trigger/Dismiss |
<C-R><C-O>
command to insert the completion. If you have mapped
<C-R> to other functions, you won’t be able to accept
the completion. In such scenarios, you may need to manually modify the
function tabby#Accept() in autoload/tabby.vim.{ import = "astrocommunity.completion.tabnine-nvim" }
Repository: https://github.com/codota/tabnine-nvim
Tabnine client for Neovim.
{ import = "astrocommunity.debugging.nvim-bqf" }
DEPRECATED Use the new location: quickfix/nvim-bqf
{ import = "astrocommunity.debugging.nvim-chainsaw" }
Speed up log creation. Create various kinds of language-specific log statements, such as logs of variables, assertions, or time-measuring.
Note: We do not expose any keys or mappings. Please see the Usage section of the plugin docs.
Repository: https://github.com/chrisgrieser/nvim-chainsaw
{ import = "astrocommunity.debugging.nvim-dap-repl-highlights" }
Add syntax highlighting to the nvim-dap REPL buffer using treesitter.
Repository: https://github.com/LiadOz/nvim-dap-repl-highlights
{ import = "astrocommunity.debugging.nvim-dap-view" }
minimalistic nvim-dap-ui alternative
Repository: https://github.com/igorlfs/nvim-dap-view
{ import = "astrocommunity.debugging.nvim-dap-virtual-text" }
This plugin adds virtual text support to nvim-dap.
nvim-treesitter is used to find variable definitions.
Repository: https://github.com/theHamsta/nvim-dap-virtual-text
The hlgroup for the virtual text is
NvimDapVirtualText (linked to Comment). Exceptions that
caused the debugger to stop are displayed as
NvimDapVirtualTextError (linked to
DiagnosticVirtualTextError). Changed and new variables will
be highlighted with NvimDapVirtualTextChanged (default
linked to DiagnosticVirtualTextWarn).
{ import = "astrocommunity.debugging.persistent-breakpoints-nvim" }
Neovim plugin for persistent breakpoints.
Repository: https://github.com/Weissle/persistent-breakpoints.nvim
Persistent-breakpoints is a lua plugin for Neovim to save the nvim-dap’s checkpoints to file and automatically load them when you open neovim. It is based on the code in here, but has better performance and some bugs are fixed.
{ import = "astrocommunity.debugging.telescope-dap-nvim" }
Integration for nvim-dap with
telescope.nvim.
This plugin is also overriding dap internal
ui, so running any dap command, which makes
use of the internal ui, will result in a telescope
prompt.
Repository: https://github.com/nvim-telescope/telescope-dap.nvim
{ import = "astrocommunity.diagnostics.error-lens-nvim" }
An enhanced visual diagnostic display for Neovim, inspired by the Error Lens extension for Visual Studio Code.
Repository: https://github.com/chikko80/error-lens.nvim
{ import = "astrocommunity.diagnostics.lsp_lines-nvim" }
lsp_lines is a simple neovim plugin that renders diagnostics using virtual lines on top of the real line of code.
Repository: https://git.sr.ht/~whynothugo/lsp_lines.nvim
{ import = "astrocommunity.diagnostics.tiny-inline-diagnostic-nvim" }
A Neovim plugin that display prettier diagnostic messages. Display one line diagnostic messages where the cursor is, with icons and colors.
Repository: https://github.com/rachartier/tiny-inline-diagnostic.nvim
Note: This sets the Astrocore diagnostics to level 2
{ import = "astrocommunity.diagnostics.trouble-nvim" }
🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
Repository: https://github.com/folke/trouble.nvim
Note: This plugin will also configure mappings to enable
integration with todo-comments.nvim if it’s being imported
and enabled another place.
{ import = "astrocommunity.docker.lazydocker" }
A simple terminal UI for both docker and docker-compose.
Repository: https://github.com/mgierada/lazydocker.nvim
{ import = "astrocommunity.editing-support.amp-nvim" }
This plugin allows the Amp CLI to see the file you currently have open in your Neovim instance, along with your cursor position and your text selection.
Repository: https://github.com/sourcegraph/amp.nvim
{ import = "astrocommunity.editing-support.auto-save-nvim" }
🧶 Automatically save your changes in NeoVim
Repository: https://github.com/okuuva/auto-save.nvim
{ import = "astrocommunity.editing-support.bigfile-nvim" }
Make editing big files faster 🚀
Repository: https://github.com/LunarVim/bigfile.nvim
Note: This plugin will also disable the build in
large_buf feature in AstroCore
{ import = "astrocommunity.editing-support.cloak-nvim" }
Cloak allows you to overlay *’s over defined patterns in defined files.
Repository: https://github.com/laytan/cloak.nvim
{ import = "astrocommunity.editing-support.comment-box-nvim" }
✨ Clarify and beautify your comments using boxes and lines.
Repository: https://github.com/LudoPinelli/comment-box.nvim
{ import = "astrocommunity.editing-support.conform-nvim" }
Lightweight yet powerful formatter plugin for Neovim
Repository: https://github.com/stevearc/conform.nvim
{ import = "astrocommunity.editing-support.cutlass-nvim" }
Plugin that adds a ‘cut’ operation separate from ‘delete’
Repository: https://github.com/gbprod/cutlass.nvim
Cutlass overrides the delete operations to actually just delete and not affect the current yank.
This plugin also adds the leap.nvim integration if the
plugin is present.
{ import = "astrocommunity.editing-support.dial-nvim" }
enhanced increment/decrement plugin for Neovim.
Repository: https://github.com/monaqa/dial.nvim
{ import = "astrocommunity.editing-support.hypersonic-nvim" }
A Neovim plugin that provides an explanation for regular expressions.
Repository: https://github.com/tomiis4/hypersonic.nvim
{ import = "astrocommunity.editing-support.mcphub-nvim" }
A powerful Neovim plugin for managing MCP (Model Context Protocol) servers
Note: This plugin requires mcp-hub to be
installed. This can be done with npm, bun,
yarn, or pnpm.
Repository: https://github.com/ravitemer/mcphub.nvim/tree/main
{ import = "astrocommunity.editing-support.mini-operators" }
Text edit operators. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.operators
{ import = "astrocommunity.editing-support.mini-splitjoin" }
Neovim Lua plugin to split and join arguments. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.splitjoin
{ import = "astrocommunity.editing-support.multicursors-nvim" }
A multi cursor plugin for Neovim. Repository: https://github.com/smoka7/multicursors.nvim
{ import = "astrocommunity.editing-support.multiple-cursors-nvim" }
A multi-cursor plugin for Neovim that works in normal, insert/replace, or visual modes, and with almost every command
Repository: https://github.com/brenton-leighton/multiple-cursors.nvim
{ import = "astrocommunity.editing-support.neogen" }
A better annotation generator. Supports multiple languages and annotation conventions.
Repository: https://github.com/danymat/neogen
{ import = "astrocommunity.editing-support.nvim-context-vt" }
Virtual text context for neovim treesitter
Repository: https://github.com/andersevenrud/nvim_context_vt
{ import = "astrocommunity.editing-support.nvim-devdocs" }
Repository: https://github.com/warpaint9299/nvim-devdocs
nvim-devdocs is a plugin which brings DevDocs documentations into neovim. Install, search and preview documentations directly inside neovim in markdown format with telescope integration. You can also use custom commands like glow to render the markdown for a better experience.
Astrocommunity note: glow render will work out of the box if you have it on your PATH
{ import = "astrocommunity.editing-support.nvim-origami" }
Fold with relentless elegance.
Repository: https://github.com/chrisgrieser/nvim-origami
{ import = "astrocommunity.editing-support.nvim-paredit" }
A Paredit implementation for Neovim, built using Treesitter and written in Lua.
Supported Languages: Clojure, Fennel, Scheme, CommonLisp
Repository: https://github.com/julienvincent/nvim-paredit
{ import = "astrocommunity.editing-support.nvim-parinfer" }
parinfer for Neovim
Supported Languages: Clojure, Scheme, LISP, Racket, Hy, Fennel, Janet, Carp, Wast, Yuck, Dune
Repository: https://github.com/gpanders/nvim-parinfer
{ import = "astrocommunity.editing-support.nvim-regexplainer" }
Describe the regexp under the cursor
Repository: https://github.com/bennypowers/nvim-regexplainer
Toggle it with gR
{ import = "astrocommunity.editing-support.nvim-treesitter-context" }
Show code context.
Repository: https://github.com/nvim-treesitter/nvim-treesitter-context
{ import = "astrocommunity.editing-support.nvim-treesitter-endwise" }
This is a simple plugin that helps to end certain structures automatically. In Ruby, this means adding end after if, do, def, etc. This even works for languages nested inside other, such as Markdown with a Lua code block!
Supported Languages: Ruby, Lua, Vimscript, Bash, Elixir, Fish
Repository: https://github.com/RRethy/nvim-treesitter-endwise
{ import = "astrocommunity.editing-support.nvim-treesitter-sexp" }
A plugin for Neovim for editing code by manipulating the Treesitter AST. Basically a reimplementation of vim-sexp using treesitter queries. This is particularly useful for editing Lisps and manipulating data structures
Supported Languages: Clojure, Fennel, Janet, Query
Repository: https://github.com/PaterJason/nvim-treesitter-sexp
NOTE: Disabled for Neovim 0.11 (treesitter breaking changes)
{ import = "astrocommunity.editing-support.nvim-ts-rainbow" }
Rainbow parentheses for neovim using tree-sitter.
Repository: https://github.com/mrjones2014/nvim-ts-rainbow
Note: This repository has been archived by the owner on Jun 7, 2023. It is now read-only.
As recommended by the author of this plugin, you might want to use nvim-ts-rainbow2
{ import = "astrocommunity.editing-support.nvim-ts-rainbow2" }
Rainbow delimiters for Neovim through Tree-sitter
Repository: https://github.com/HiPhish/nvim-ts-rainbow2
Note: This plugin has been deprecated in favor of the new rainbow-delimiters.nvim
This is a hard fork of the nvim-ts-rainbow package & is recommended over it.
{ import = "astrocommunity.editing-support.other-nvim" }
Open alternative files for the current buffer.
Supported Languages:
Repository: https://github.com/rgroli/other.nvim
{ import = "astrocommunity.editing-support.parpar-nvim" }
Plugin for Neovim that seamlessly integrates Parinfer and Paredit for editing lisp code.
Supported Languages: Clojure, Fennel, Scheme, CommonLisp
Repository: https://github.com/dundalek/parpar.nvim
{ import = "astrocommunity.editing-support.quick-scope" }
Visual guides on current line for f and t motions.
Repository: https://github.com/unblevable/quick-scope
{ import = "astrocommunity.editing-support.rainbow-delimiters-nvim" }
Rainbow delimiters for Neovim with Tree-sitter
Repository: https://github.com/HiPhish/rainbow-delimiters.nvim
This is a hard fork of the nvim-ts-rainbow2 plugin & is recommended over it.
{ import = "astrocommunity.editing-support.refactoring-nvim" }
The Refactoring library based off the Refactoring book by Martin Fowler
Repository: https://github.com/ThePrimeagen/refactoring.nvim
{ import = "astrocommunity.editing-support.rustowl" }
Visualize Ownership and Lifetimes in Rust.
See docs for usage
Repository: https://github.com/cordx56/rustowl
[!NOTE] This plugin can take a while to build, and
Lazy.nvimhas a build timeout. It’s recommended to **increase the build timeout* so this plugin can build.
{ import = "astrocommunity.editing-support.stickybuf-nvim" }
Neovim plugin for locking a buffer to a window
Have you ever accidentally opened a file into your file explorer or quickfix window?
Repository: https://github.com/stevearc/stickybuf.nvim
{ import = "astrocommunity.editing-support.suda-vim" }
🥪 An alternative sudo.vim for Vim and Neovim, limited support sudo in Windows
Repository: https://github.com/lambdalisue/suda.vim
suda is a plugin to read or write files with sudo command.
{ import = "astrocommunity.editing-support.telescope-undo-nvim" }
A telescope extension to view and search your undo tree 🌴
Repository: https://github.com/debugloop/telescope-undo.nvim
{ import = "astrocommunity.editing-support.text-case-nvim" }
An all in one plugin for converting text case in Neovim
Repository: https://github.com/johmsalas/text-case.nvim
{ import = "astrocommunity.editing-support.todo-comments-nvim" }
✅ Highlight, list and search todo comments in your projects
Repository: https://github.com/folke/todo-comments.nvim
Note: This plugins is part of AstroNvim core as of v4.0.0
{ import = "astrocommunity.editing-support.treesj" }
Neovim plugin for splitting/joining blocks of code
Repository: https://github.com/Wansmer/treesj
{ import = "astrocommunity.editing-support.true-zen-nvim" }
🦝 Clean and elegant distraction-free writing for NeoVim
Repository: https://github.com/Pocco81/true-zen.nvim
{ import = "astrocommunity.editing-support.ultimate-autopair-nvim" }
Repository https://github.com/altermo/ultimate-autopair.nvim
<Leader>ua UI toggle keymap and
notification previously used for nvim-autopair.{ import = "astrocommunity.editing-support.undotree" }
The undo history visualizer for VIM
Repository: https://github.com/mbbill/undotree
{ import = "astrocommunity.editing-support.vector-code-nvim" }
Note: This plugin requires vectorcode-cli to be
installed. This can be done with uv
Repository: https://github.com/Davidyz/VectorCode
{ import = "astrocommunity.editing-support.vim-doge" }
(Do)cumentation (Ge)nerator for nearly 20 languages 📚 Generate proper code documentation with a single keypress. ⚡️🔥
Repository: https://github.com/kkoomen/vim-doge
{ import = "astrocommunity.editing-support.vim-exchange" }
Exchange text and selections easily
Repository: https://github.com/tommcdo/vim-exchange
{ import = "astrocommunity.editing-support.vim-move" }
Moves lines and selections in a more visual manner
Repository: https://github.com/matze/vim-move
{ import = "astrocommunity.editing-support.vim-visual-multi" }
Multiple cursors plugin for vim/neovim.
Repository: https://github.com/mg979/vim-visual-multi
{ import = "astrocommunity.editing-support.wildfire-nvim" }
Wildfire burns treesitter
Repository: https://github.com/SUSTech-data/wildfire.nvim
Smart selection of the closest text object. A modern successor to wildfire.vim, empowered with the superpower of treesitter.
{ import = "astrocommunity.editing-support.yanky-nvim" }
Improved Yank and Put functionalities for Neovim.
Repository: https://github.com/gbprod/yanky.nvim
{ import = "astrocommunity.editing-support.zen-mode-nvim" }
🧘 Distraction-free coding for Neovim
Disables diagnostics, indentation, and winbar when entering Zen Mode.
Optionally disables mini.indentscope and offscreen matchups for vim-matchup, if installed.
Repository: https://github.com/folke/zen-mode.nvim
{ import = "astrocommunity.file-explorer.fyler-nvim" }
A neovim file manager which can edit file system like a buffer with tree view
Repository: https://github.com/A7Lavinraj/fyler.nvim
{ import = "astrocommunity.file-explorer.mini-files" }
Status: Beta
Neovim Lua plugin to navigate and manipulate file system. Part of mini.nvim library
For any issues that’s causes by mini.nvim itself, please
report those here:
https://github.com/echasnovski/mini.nvim/issues/377
Repository: https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-files.md
Navigate and manipulate file system
{ import = "astrocommunity.file-explorer.oil-nvim" }
Neovim file explorer: edit your filesystem like a buffer
Repository: https://github.com/stevearc/oil.nvim
{ import = "astrocommunity.file-explorer.telescope-file-browser-nvim" }
File Browser extension for telescope.nvim
Repository: https://github.com/nvim-telescope/telescope-file-browser.nvim
{ import = "astrocommunity.file-explorer.yazi-nvim" }
A Neovim Plugin for the yazi terminal file manager
yazi installed on your systemRepository: https://github.com/mikavilpas/yazi.nvim
{ import = "astrocommunity.fuzzy-finder.fzf-lua" }
Improved fzf.vim written in lua
Repository: https://github.com/ibhagwan/fzf-lua
{ import = "astrocommunity.fuzzy-finder.namu-nvim" }
Flexible and sleek fuzzy picker, LSP symbol navigator, and more. Powered by builtin Selecta, inspired by Zed.
Repository: https://github.com/bassamsdata/namu.nvim
{ import = "astrocommunity.fuzzy-finder.snacks-picker" }
Snacks now comes with a modern fuzzy-finder to navigate the Neovim universe.
Repository: https://github.com/folke/snacks.nvim/blob/main/docs/picker.md
{ import = "astrocommunity.fuzzy-finder.telescope-nvim" }
Find, Filter, Preview, Pick. All lua, all the time.
Repository: https://github.com/nvim-telescope/telescope.nvim
{ import = "astrocommunity.fuzzy-finder.telescope-zoxide" }
An extension for telescope.nvim that allows you operate zoxide within Neovim.
Repository: https://github.com/jvgrootveld/telescope-zoxide
{ import = "astrocommunity.game.leetcode-nvim" }
A Neovim plugin enabling you to solve LeetCode problems.
Repository: https://github.com/kawre/leetcode.nvim
{ import = "astrocommunity.git.blame-nvim" }
Neovim fugitive style git blame plugin
Repository: https://github.com/FabijanZulj/blame.nvim
Adds git blame visualizer.
{ import = "astrocommunity.git.codediff-nvim" }
VSCode-style side-by-side diff rendering with two-tier highlighting (line + character level) using VSCode’s algorithm implemented in C.
Repository: https://github.com/esmuellert/codediff.nvim
[!NOTE] The plugin automatically downloads pre-built C binaries from GitHub releases.
{ import = "astrocommunity.git.diffview-nvim" }
Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Repository: https://github.com/sindrets/diffview.nvim
{ import = "astrocommunity.git.fugit2-nvim" }
A porcelain git helper inside Neovim powered by libgit2
Requires:
Repository: https://github.com/SuperBo/fugit2.nvim
{ import = "astrocommunity.git.gist-nvim" }
gist.nvim is a Neovim plugin that allows you to create a GitHub Gist from the current file. The plugin uses the gh command-line tool to create the Gist and provides a simple interface for specifying the Gist’s description and privacy settings.
Repository https://github.com/rawnly/gist.nvim
Requirements:
gh command-line
tool to create the Gist.{ import = "astrocommunity.git.git-blame-nvim" }
Git Blame plugin for Neovim written in Lua
Repository: https://github.com/f-person/git-blame.nvim
Adds git-blame info to all lines.
{ import = "astrocommunity.git.gitgraph-nvim" }
Git Graph plugin for neovim
Repository https://github.com/isakbm/gitgraph.nvim
{ import = "astrocommunity.git.gitlinker-nvim" }
A lua neovim plugin to generate shareable file permalinks (with line ranges) for several git web frontend hosts. Inspired by tpope/vim-fugitive’s :GBrowse
Repository: https://github.com/linrongbin16/gitlinker.nvim
{ import = "astrocommunity.git.mini-diff" }
Work with diff hunks. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.diff
{ import = "astrocommunity.git.mini-git" }
Neovim Lua plugin to automate tracking of Git related data.
Repository: https://github.com/echasnovski/mini-git
Git integration
{ import = "astrocommunity.git.neogit" }
magit for neovim
Repository: https://github.com/TimUntersberger/neogit
A work-in-progress Magit clone for Neovim that is geared toward the Vim philosophy.
{ import = "astrocommunity.git.nvim-tinygit" }
Lightweight and nimble git client for nvim.
Repository: https://github.com/chrisgrieser/nvim-tinygit
{ import = "astrocommunity.git.octo-nvim" }
Edit and review GitHub issues and pull requests from the comfort of your favorite editor
Repository: https://github.com/pwntester/octo.nvim
{ import = "astrocommunity.git.openingh-nvim" }
Open file or project in GitHub for neovim written in lua
Repository: https://github.com/Almo7aya/openingh.nvim
Opens the current file or project page in GitHub.
{ import = "astrocommunity.icon.mini-icons" }
Icon provider. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.icons
{ import = "astrocommunity.indent.indent-blankline-nvim" }
Indent guides for Neovim
Repository: https://github.com/lukas-reineke/indent-blankline.nvim
Adds indentation guides to all lines (including empty lines), looks cool together with mini-identscope
{ import = "astrocommunity.indent.indent-rainbowline" }
Provides rainbow indentation like indent-rainbow in Visual Studio Code Extension
Repository: https://github.com/TheGLander/indent-rainbowline.nvim
{ import = "astrocommunity.indent.indent-tools-nvim" }
Neovim pluging for dealing with indentations
Repository: https://github.com/arsham/indent-tools.nvim
{ import = "astrocommunity.indent.mini-indentscope" }
Neovim Lua plugin to visualize and operate on indent scope. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.indentscope
Visualize and operate on indent scope, looks cool with indent-blankline-nvim together
{ import = "astrocommunity.indent.snacks-indent-hlchunk" }
A recipe to replicate hlchunk.nvim-style indent chunk
highlighting using folke/snacks.nvim.
This setup enables visual chunk borders with rounded corners and lines (╭─╰│), providing a lightweight alternative to shellRaining/hlchunk.nvim.
{ import = "astrocommunity.keybinding.hydra-nvim" }
Create custom submodes and menus
Repository: https://github.com/nvimtools/hydra.nvim
This implements configuration of Hydra.nvim through the
opts table to make it easier for the user to configure
various Hydra heads as well as allow AstroCommunity entries to also
provide Hydra heads if it makes sense. Here is an example of defining a
Hydra using the opts table:
return {
"nvimtools/hydra.nvim",
opts = {
-- the first key is the name if name isn't set in the table
["Side scroll"] = {
mode = "n",
body = "z",
heads = {
{ "h", "5zh", { desc = "←" } },
{ "l", "5zl", { desc = "→" } },
{ "H", "zH", { desc = "half screen ←" } },
{ "L", "zL", { desc = "half screen →" } },
},
},
},
}For advanced users, this also makes the resulting Hydra objects
available through the use of the AstroCore utility:
plugin_opts. Here is an example of retrieving the Hydra
object during runtime:
require("lazy").load { plugins = { "hydra.nvim" } } -- load Hydra before loading opts
local hydra_opts = require("astrocore").plugin_opts "hydra.nvim" -- get the plugin options
local side_scroll_hydra = hydra_opts["Side scroll"].hydra -- get the created hydra by key name
side_scroll_hydra:activate() -- use the object like normal{ import = "astrocommunity.keybinding.mini-clue" }
Show next key clues. Part of the mini.nvim library.
Repository: https://github.com/echasnovski/mini.clue
{ import = "astrocommunity.lsp.actions-preview-nvim" }
Fully customizable previewer for LSP code actions.
Repository: https://github.com/aznhe21/actions-preview.nvim
{ import = "astrocommunity.lsp.coc-nvim" }
Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Repository: https://github.com/neoclide/coc.nvim
{ import = "astrocommunity.lsp.delimited-nvim" }
A tidy, more informative goto_{next,prev} for Neovim
Repository: https://github.com/mizlan/delimited.nvim
{ import = "astrocommunity.lsp.dev-tools-nvim" }
Friendly developer tools for Nvim - Code Actions LSP server and library
Repository: https://github.com/yarospace/dev-tools.nvim
{ import = "astrocommunity.lsp.garbage-day-nvim" }
Garbage collector that stops inactive LSP clients to free RAM.
Repository: https://github.com/zeioth/garbage-day.nvim
{ import = "astrocommunity.lsp.inc-rename-nvim" }
Incremental LSP renaming based on Neovim’s command-preview feature.
Repository: https://github.com/smjonas/inc-rename.nvim
{ import = "astrocommunity.lsp.lsp-inlayhints-nvim" }
Repository: https://github.com/lvimuser/lsp-inlayhints.nvim
Partial implementation of LSP inlay hint.
{ import = "astrocommunity.lsp.lsp-lens-nvim" }
Neovim plugin for displaying reference and definition info upon functions like JB’s IDEA.
Repository: https://github.com/VidocqH/lsp-lens.nvim
{ import = "astrocommunity.lsp.lsp-signature-nvim" }
Repository: https://github.com/ray-x/lsp_signature.nvim
Show function signature when you type.
Additional hint is visually distracting therefore “hint_enable” option is set to false.
{ import = "astrocommunity.lsp.lsplinks-nvim" }
LSP textDocument/documentLink support for neovim
Repository: https://github.com/icholy/lsplinks.nvim
{ import = "astrocommunity.lsp.lspsaga-nvim" }
improve neovim lsp experience
Repository: https://github.com/nvimdev/lspsaga.nvim
{ import = "astrocommunity.lsp.nvim-java" }
Painless Java in Neovim
Repository: https://github.com/nvim-java/nvim-java
{ import = "astrocommunity.lsp.nvim-lint" }
An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.
Repository: https://github.com/mfussenegger/nvim-lint
{ import = "astrocommunity.lsp.nvim-lsp-endhints" }
Display LSP inlay hints at the end of the line, rather than within the line.
Repository: https://github.com/chrisgrieser/nvim-lsp-endhints
{ import = "astrocommunity.lsp.nvim-lsp-file-operations" }
Repository: https://github.com/antosha417/nvim-lsp-file-operations
Neovim plugin that adds support for file operations using built-in
LSP by integrating with nvim-tree and
neo-tree.
{ import = "astrocommunity.lsp.sonarlint-nvim" }
A community plugin that integrates SonarLint language server for static code analysis and linting.
Repository: https://gitlab.com/schrieveslaach/sonarlint.nvim
{ import = "astrocommunity.lsp.ts-error-translator-nvim" }
A Neovim port of Matt Pocock’s ts-error-translator for VSCode for turning messy and confusing TypeScript errors into plain English.
Repository: https://github.com/dmmulroy/ts-error-translator.nvim
{ import = "astrocommunity.markdown-and-latex.glow-nvim" }
A markdown preview directly in your neovim.
Repository: https://github.com/ellisonleao/glow.nvim
{ import = "astrocommunity.markdown-and-latex.markdown-preview-nvim" }
This plugin requires Node.js to be installed on your system. Without it, the installation process will fail, and the plugin won’t work.
markdown preview plugin for (neo)vim
Repository: https://github.com/iamcco/markdown-preview.nvim
Preview markdown on your modern browser with synchronised scrolling and flexible configuration
{ import = "astrocommunity.markdown-and-latex.markmap-nvim" }
Visualize your Markdown as mindmaps with markmap
Repository: https://github.com/Zeioth/markmap.nvim
Note: This plugin requires markmap-cli to be
installed. This can be done with npm install -g markmap-cli
or yarn global add markmap-cli.
{ import = "astrocommunity.markdown-and-latex.markview-nvim" }
An experimental markdown previewer for Neovim
Repository: https://github.com/OXY2DEV/markview.nvim
{ import = "astrocommunity.markdown-and-latex.peek-nvim" }
Markdown preview plugin for Neovim
Repository: https://github.com/toppair/peek.nvim
{ import = "astrocommunity.markdown-and-latex.render-markdown-nvim" }
Plugin to improve viewing Markdown files in Neovim
Repository: https://github.com/MeanderingProgrammer/render-markdown.nvim
{ import = "astrocommunity.markdown-and-latex.texpresso-vim" }
Neovim mode for TeXpresso.
Repository: https://github.com/let-def/texpresso.vim
{ import = "astrocommunity.markdown-and-latex.vimtex" }
VimTeX: A modern Vim and neovim filetype plugin for LaTeX files.
Repository: https://github.com/lervag/vimtex
lazy to false by default.{ import = "astrocommunity.media.codesnap-nvim" }
📸 Snapshot plugin with rich features that can make pretty code snapshots for Neovim
Repository: https://github.com/mistricky/codesnap.nvim
This plugin spec defaults the save_path to
~/Pictures.
[!NOTE]
The latest version of CodeSnap does not support Windows. If you are a Windows user, this plugin will pin the latest compatible version, which is 0.0.11.
If you already have this plugin installed on your computer, make sure to delete the current version by running the following command:
:Lazy clean codesnap.nvim
{ import = "astrocommunity.media.cord-nvim" }
🚀 Discord Rich Presence for Neovim
Repository: https://github.com/vyfor/cord.nvim
{ import = "astrocommunity.media.drop-nvim" }
🍁 Fun little plugin that can be used as a screensaver and on your dashboard
Repository: https://github.com/folke/drop.nvim
{ import = "astrocommunity.media.image-nvim" }
This plugin attempts to add image support to Neovim.
Repository: https://github.com/3rd/image.nvim
Works with Kitty + Tmux, and it handles painful things like rendering an image at a given position in a buffer, scrolling, windows, etc.
It has built-in Markdown and Neorg integrations that you can use right now. It can also render image files as images when opened.
Requirements
These are things you have to setup on your own
This plugin is configured to be used with kitty terminal
{ import = "astrocommunity.media.img-clip-nvim" }
Effortlessly embed images into any markup language, like LaTeX, Markdown or Typst
Repository: https://github.com/HakonHarnes/img-clip.nvim
{ import = "astrocommunity.media.neocord-nvim" }
Discord Rich Presence for Neovim (Fork of presence.nvim)
Repository: https://github.com/IogaMaster/neocord
{ import = "astrocommunity.media.pets-nvim" }
Display pets in your editor 🐱
Repository: https://github.com/giusgad/pets.nvim
{ import = "astrocommunity.media.presence-nvim" }
Discord Rich Presence for Neovim
Repository: https://github.com/andweeb/presence.nvim
{ import = "astrocommunity.media.vim-wakatime" }
Vim plugin for automatic time tracking and metrics generated from your programming activity.
Repository: https://github.com/wakatime/vim-wakatime
{ import = "astrocommunity.motion.before-nvim" }
Plugin for Neovim which tracks edit locations
Repository: https://github.com/bloznelis/before.nvim
{ import = "astrocommunity.motion.flash-nvim" }
flash.nvim lets you navigate your code with search
labels, enhanced character motions, and Treesitter integration.
Repository: https://github.com/folke/flash.nvim
/ or ?. Labels appear next to the matches,
allowing you to quickly jump to any location. Labels are guaranteed not
to exist as a continuation of the search pattern.f, t, F,
T motionsexact,
search (regex), and fuzzy search modes{ import = "astrocommunity.motion.flit-nvim" }
Enhanced f/t motions for Leap
Repository: https://github.com/ggandor/flit.nvim
f/F/t/T motions on steroids, building on the Leap interface.
{ import = "astrocommunity.motion.grapple-nvim" }
Neovim plugin for tagging important files
Repository: https://github.com/cbochs/grapple.nvim
local status = require "astrocore.status"
status.component.grapple = {
provider = function()
local available, grapple = pcall(require, "grapple")
if available then
return grapple.statusline()
end
end,
}Example Configuration:
return {
plugins = {
{
"rebelot/heirline.nvim",
opts = function(_, opts)
local status = require("astrocore.status")
-- custom heirline statusline component for grapple
status.component.grapple = {
provider = function()
local available, grapple = pcall(require, "grapple")
if available then
return grapple.statusline()
end
end,
}
opts.statusline = {
hl = { fg = "fg", bg = "bg" },
status.component.mode(),
status.component.git_branch(),
status.component.grapple, -- load the custom component
status.component.file_info { filetype = {}, filename = false, file_modified = false },
status.component.git_diff(),
status.component.diagnostics(),
status.component.fill(),
status.component.cmd_info(),
status.component.fill(),
status.component.lsp(),
status.component.treesitter(),
status.component.nav(),
status.component.mode { surround = { separator = "right" } },
}
end,
},
},
}{ import = "astrocommunity.motion.harp-nvim" }
Neovim integration for use with harp
Dependencies:
Repository: https://github.com/Thorinori/harp-nvim
{ import = "astrocommunity.motion.harpoon" }
Repository: https://github.com/ThePrimeagen/harpoon
Getting you where you want with the fewest keystrokes.
{ import = "astrocommunity.motion.hop-nvim" }
Neovim motions on speed!
Repository: https://github.com/smoka7/hop.nvim
Hop is an EasyMotion-like plugin allowing you to jump anywhere in a document with as few keystrokes as possible. It does so by annotating text in your buffer with hints, short string sequences for which each character represents a key to type to jump to the annotated text. Most of the time, those sequences’ lengths will be between 1 to 3 characters, making every jump target in your document reachable in a few keystrokes.
{ import = "astrocommunity.motion.leap-nvim" }
Neovim’s answer to the mouse 🦘
Repository: https://codeberg.org/andyg/leap.nvim
{ import = "astrocommunity.motion.marks-nvim" }
A better user experience for interacting with and manipulating Vim marks. Requires Neovim 0.5+.
Repository: https://github.com/chentoast/marks.nvim
{ import = "astrocommunity.motion.mini-ai" }
Neovim Lua plugin to extend and create a/i
textobjects. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.ai
Extend and create a/i textobjects
{ import = "astrocommunity.motion.mini-basics" }
Neovim Lua plugin with common configuration presets for options, mappings, and autocommands. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.basics
{ import = "astrocommunity.motion.mini-bracketed" }
Neovim Lua plugin to go forward/backward with square brackets. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.bracketed
{ import = "astrocommunity.motion.mini-jump" }
Neovim Lua plugin to jump forward/backward to a single character. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.jump
Jump to next/previous single character
{ import = "astrocommunity.motion.mini-move" }
Neovim Lua plugin to move any selection in any direction. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.move
{ import = "astrocommunity.motion.mini-surround" }
Neovim Lua plugin with fast and feature-rich surround actions. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.surround
Fast and feature-rich surround actions
{ import = "astrocommunity.motion.nvim-spider" }
Use the w, e, b motions like a spider. Move by subwords and skip insignificant punctuation.
Repository: https://github.com/chrisgrieser/nvim-spider
-- positions vim's `w` will move to
local myVariableName = FOO_BAR_BAZ
-- ^ ^ ^
-- positions spider's `w` will move to
local myVariableName = FOO_BAR_BAZ
-- ^ ^ ^ ^ ^ ^ ^ foo == bar .. "baz"
-- ^ ^ significant punctuation
foo:find("a")
-- ^ ^ ^ insignificant punctuation { import = "astrocommunity.motion.nvim-surround" }
Add/change/delete surrounding delimiter pairs with ease. Written with ❤️ in Lua.
Repository: https://github.com/kylechui/nvim-surround
Surround selections, stylishly.
The three “core” operations of
add/delete/change can be done
with the keymaps ys{motion}{char}, ds{char},
and cs{target}{replacement}, respectively. For the
following examples, * will denote the cursor position:
Old text Command New text
--------------------------------------------------------------------------------
surr*ound_words ysiw) (surround_words)
*make strings ys$" "make strings"
[delete ar*ound me!] ds] delete around me!
remove <b>HTML t*ags</b> dst remove HTML tags
'change quot*es' cs'" "change quotes"
<b>or tag* types</b> csth1<CR> <h1>or tag types</h1>
delete(functi*on calls) dsf function calls
Detailed information on how to use this plugin can be found in :h nvim-surround.usage.
{ import = "astrocommunity.motion.nvim-tree-pairs" }
NeoVim plugin for jumping to the other end of the current Tree-sitter node
Repository: https://github.com/yorickpeterse/nvim-tree-pairs
{ import = "astrocommunity.motion.portal-nvim" }
Neovim plugin for improved location list navigation
Repository: https://github.com/cbochs/portal.nvim
{ import = "astrocommunity.motion.tabout-nvim" }
tabout plugin for neovim
Repository: https://github.com/abecodes/tabout.nvim
{ import = "astrocommunity.motion.vim-matchup" }
vim match-up: even better % 👊 navigate and highlight matching words 👊 modern matchit and matchparen. Supports both vim and neovim + tree-sitter.
Repository: https://github.com/andymass/vim-matchup
match-up is a plugin that lets you highlight, navigate, and operate
on sets of matching text. It extends vim’s % key to
language-specific words instead of just single characters.
{ import = "astrocommunity.neovim-lua-development.helpview-nvim" }
Decorations for vimdoc/help files in Neovim
Repository: https://github.com/OXY2DEV/helpview.nvim
{ import = "astrocommunity.neovim-lua-development.lazydev-nvim" }
Faster LuaLS setup for Neovim
Repository: https://github.com/folke/lazydev.nvim
Note: This plugins is part of AstroNvim core as of v4.22.0
{ import = "astrocommunity.neovim-lua-development.lua-console-nvim" }
A handy scratch pad / REPL / debug console for Lua development and Neovim exploration
Repository: https://github.com/yarospace/lua-console.nvim
{ import = "astrocommunity.note-taking.global-note-nvim" }
It’s a simple Neovim plugin that provides a global note in a float window.
Repository: https://github.com/backdround/global-note.nvim
Notes: A project local note has also been setup
{ import = "astrocommunity.note-taking.neorg" }
Modernity meets insane extensibility. The future of organizing your life in Neovim.
Repository: https://github.com/nvim-neorg/neorg
Requirements: Lua 5.1/LuaJIT and Lua header files installed as system dependencies
{ import = "astrocommunity.note-taking.obsidian-nvim" }
Neovim plugin for Obsidian, written in Lua
Repository: https://github.com/obsidian-nvim/obsidian.nvim
A Neovim plugin for writing and navigating an Obsidian vault, written in Lua.
This config assumes the vault location is at
~/obsidian-vault. You can move the vault there. If you
instead want to change the location in the config, you can create a new
file plugins/obsidian.lua, copy the contents of this
init.lua to it, and then edit the 2 following lines
event = { "BufReadPre */obsidian-vault/*.md" },
and
dir = "~/obsidian-vault",
to match your vault location.
We set mappings to an empty table, because
gf is used for lazy loading in keys
if you don’t want gf for lazy loading, you should remove
keys and mappings tables
The plugin may also nag and ask you to create a
templates directory in the vault. You can use
mkdir templates to create an empty directory.
{ import = "astrocommunity.note-taking.venn-nvim" }
Draw ASCII diagrams in Neovim with ease.
Repository: https://github.com/jbyuki/venn.nvim
:ToggleVenn
┌───┐
┌────────│ A │──────────┐
│ └───┘ │
│ │
▼ ┌───┐ ▼
B───────►│ C │ D
└─┬─┘ │
│ │
┌─┴─┐ │
│ E │◄─────────┘
└───┘
{ import = "astrocommunity.note-taking.zk-nvim" }
Neovim extension for the zk plain text note-taking assistant.
Repository: https://github.com/mickael-menu/zk-nvim
:warning: This plugin will setup and start the LSP server for you, do not call
require("lspconfig").zk.setup().
{ import = "astrocommunity.pack.angular" }
This plugin pack does the following:
angular Treesitter parser with nvim-treesitter-angularangular language servers{ import = "astrocommunity.pack.ansible" }
This plugin pack does the following:
yaml Treesitter parsersansible-lint and
ansible-language-server via
mason-tool-installer.nvim, if enabledmason-lspconfig.nvim to use
ansiblels if enablednull-ls sources:
nvim-lint sources:
yaml.ansible file
types{ import = "astrocommunity.pack.astro" }
This plugin pack does the following:
astro and scss Treesitter
parsersastro language serverjs-debug-adapter for debugging{ import = "astrocommunity.pack.bash" }
This plugin pack does the following:
bash Treesitter parserbashls language servershfmt formattershellcheck linterbash debugger:warning: Also attaches to zsh files with experimental support.
{ import = "astrocommunity.pack.biome" }
Biome is a fast toolchain for web projects, providing formatting and linting via CLI and LSP.
Formatter
Linter
{ import = "astrocommunity.pack.blade" }
Requires:
laravel-dev-generators in your path. See the releases
section of https://github.com/haringsrob/laravel-dev-toolsThis plugin pack does the following:
blade Treesitter parser: https://github.com/EmranMR/tree-sitter-bladeblade language server: https://github.com/haringsrob/laravel-dev-toolsnull-ls or conform{ import = "astrocommunity.pack.chezmoi" }
This plugin pack does the following:
{ import = "astrocommunity.pack.clojure" }
Include the Clojure language pack in the
lua/community.lua file
{ import = "astrocommunity.pack.clojure" },The Clojure pack requires:
The Clojure language pack includes:
clojure treesitter parsersNOTE: Conjure is available as a code-runner plugin config. nvim-paredit and nvim-parinfer are available as editing-support plugin configurations
:ConjureSchool in a Clojure buffer runs an interactive
tutorial for Conjure
Plugins in the language pack can be disabled and default options overridden.
Example: Include the Clojure language pack and disable the parinfer
plugin by setting the enabled key to false.
{ import = "astrocommunity.pack.clojure" },
{ "gpanders/nvim-parinfer", enabled = false },
{ "julienvincent/nvim-paredit", enabled = false },Example: Change the test runner used by Conjure.
clojure.test runner is used by default
{ import = "astrocommunity.pack.clojure" },
{
"AstroNvim/astrocore",
opts = {
options = {
g = {
-- Set Test runner: "clojure", "clojurescript", "kaocha"
["conjure#client#clojure#nrepl#test#runner"] = "kaocha",
},
},
},
},NOTE:
:help conjure-client-clojure-nreplfor full list of Conjure options for Clojure.
{ import = "astrocommunity.pack.cmake" }
This plugin pack does the following:
cmake Treesitter parserneocmake language server{ import = "astrocommunity.pack.cpp" }
This plugin pack does the following:
cpp c objc
cuda proto Treesitter parsersclangd language serverclang-format formatteroffset_encondings for clangd to avoid conflicts
with null-ls{ import = "astrocommunity.pack.crystal" }
This plugin pack does the following:
vim-crystal/vim-crystal for syntax highlighting
and snippetscrystalline language servercodelldb for debugging{ import = "astrocommunity.pack.cs-omnisharp" }
Requirements: dotnet must be in your
PATH and executable
This plugin pack does the following:
c_sharp Treesitter parsersomnisharp language serveromnisharp-extended-lsp.nvim
for better go to definition/type definitionnull-ls sources:
coreclr debug adapters for nvim-dap{ import = "astrocommunity.pack.cs" }
Requirements: dotnet must be in your
PATH and executable
This plugin pack does the following:
c_sharp Treesitter parserscsharp_ls language servercsharpls-extended-lsp.nvim
for better go to definition/type definitionnull-ls sources:
coreclr debug adapters for nvim-dap{ import = "astrocommunity.pack.cue" }
Requirements: cue must be in your
PATH and executable
This plugin pack does the following:
cue Treesitter parsersdagger language servernull-ls sources:
{ import = "astrocommunity.pack.dart" }
This plugin pack does the following:
dart Treesitter parsersdartls language server{ import = "astrocommunity.pack.diff-keybindings" }
diff
keybindingsAdds keybindings for the diff command under
<Leader> D.
{ import = "astrocommunity.pack.docker" }
This plugin pack does the following:
dockerfile Treesitter parserdocker-language-server
for providing features for the Docker ecosystemhadolint
linter{ import = "astrocommunity.pack.edgedb" }
EdgeDB is a next-generation graph-relational database designed as a spiritual successor to the relational database.
This plugin pack adds support for syntax highlighting of EdgeQL files.
{ import = "astrocommunity.pack.elixir-phoenix" }
Adds baseline support for Elixir/Phoenix projects.
This plugin pack does the following:
tailwindcss AstroCommunity packelixirls language serverelixir and heex Treesitter
parserstailwindcss is configured for html-eex and
class: style hinting.{ import = "astrocommunity.pack.elm" }
This plugin pack does the following:
elm Treesitter parserselm-language-server language serverelm-format formatterThe default elm-language-server configuration matches all currently supported features for Neovim LSP.
elm-test is not directly supported by neo-test but it’s available via neotest-vim-test.
However, it is common practice to peruse both elm-test
and elm-review directly via the command line.
{ import = "astrocommunity.pack.eslint" }
ESLint statically analyzes your code to quickly find problems. It is built into most text editors and you can run ESLint as part of your continuous integration pipeline.
To use ESLint, you must have Node.js LTS installed and built with SSL support. (If you are using an official Node.js distribution, SSL is always built in.)
{ import = "astrocommunity.pack.fish" }
Requires the following in your PATH
This plugin pack does the following:
fish Treesitter parserfish_indent formatterfish linter{ import = "astrocommunity.pack.full-dadbod" }
This plugin pack adds:
{ import = "astrocommunity.pack.gleam" }
This plugin pack does the following:
gleam Treesitter parsergleam language server{ import = "astrocommunity.pack.go" }
Requirements: go must be in your
PATH and executable
This plugin pack does the following:
go Treesitter parsersgopls language server
gofumpt for
formatting{ import = "astrocommunity.pack.godot" }
Requirements: Godot needs to be running to use LSP and DAP for GDScript
This plugin pack does the following:
gdscript language server (expects to be running
on port 6005 or $GDScript_Port environment
variable)nvim-dap for debugger listening on port
6006 or $GDScript_Debug_Port environment
variablegdscript treesitter parsersgodot_resource treesitter parsersglsl treesitter parsers{ import = "astrocommunity.pack.golangci-lint" }
Fast linters runner for Go.
This plugin pack integrates golangci-lint into your AstroNvim setup using the golangci-lint-langserver.
Features:
golangci-lint-langserver via
Mason.golangci-lint.golangci-lint efficiently in the background.Note: This pack imports the Go language pack
(astrocommunity.pack.go) for a complete Go development
environment.
{ import = "astrocommunity.pack.harper" }
Harper is an English grammar checker designed to be just right.
Repository: https://github.com/elijah-potter/harper/blob/master/harper-ls
To add your configuration, you have to extend
AstroNvim/astrolsp opts.
See the options that
harper-lssupport here.
---@type LazySpec
return {
{
"AstroNvim/astrolsp",
opts = {
config = {
harper_ls = {
settings = {
["harper-ls"] = {
--- Your configuration
},
},
},
},
},
},
}{ import = "astrocommunity.pack.haskell" }
Requires:
Optionally:
This plugin pack does the following:
haskell treesitter parsershaskell-language-server language serverhaskell-debug-adapter dap adapteryaml language packjson language packneotest from AstrocommunityOptionally available:
:warning: A local hoogle installation is required for this to work.
To install, set { "luc-tielen/telescope_hoogle" }, in
user/plugins/core.lua and install this pack as normal.
{ import = "astrocommunity.pack.haxe" }
This plugin pack does the following:
haxe Treesitter parser: https://github.com/vantreeseba/tree-sitter-haxehaxe language server{ import = "astrocommunity.pack.helm" }
This plugin pack does the following:
go-template Treesitter parsershelm-ls language server{ import = "astrocommunity.pack.html-css" }
This plugin pack is meant as a base that is being imported by more specific web development plugin packs. It does the following:
html and css Treesitter parsershtml, css and emmet_ls
language server{ import = "astrocommunity.pack.hurl" }
Requirements: hurl must be in your
PATH ane executable.
This pack does the following:
.hurl files.{ import = "astrocommunity.pack.hyprlang" }
This plugin pack offers language support for Hyprland config file. It does the following:
hyprlang filetype which will be assumed from below
patterns:
*.hl extension.*/hypr/.*.conf, hypr.*.confhyprlang Treesitter parsershyprls tool first
:Mason to install hyprls via mason{ import = "astrocommunity.pack.java" }
Requires:
JDK-17 or higher to function.This plugin pack does the following:
java treesitter parsershtml treesitter parsers (XML)jdtls language serverlemminx language server (XML)javadbg and javatest debug adapters
for nvim-dapWe require that the root folder of your projects include one of these
files/folders: .git, mvnw,
gradlew
jdtls requires Java 11+ but can be used to develop on
any Java version. If you develop using different Java runtimes, you can
set the runtimes you have available in the settings of
jdtls. Here is a simple example:
"AstroNvim/astrocommunity",
{ import = "astrocommunity.pack.java" },
{
"mfussenegger/nvim-jdtls",
opts = {
settings = {
java = {
configuration = {
runtimes = {
{
name = "JavaSE-11",
path = "/usr/lib/jvm/java-11-openjdk/",
},
},
},
},
format = {
enabled = true,
settings = { -- you can use your preferred format style
url = "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",
profile = "GoogleStyle",
},
},
},
},
}{ import = "astrocommunity.pack.jj" }
Pack for the Jujutsu/jj Git-compatible VCS.
This plugin pack does the following:
<Leader>jf for files in repository (falls back to
git files if not in jj repo), like jj files<Leader>jd for files with changes, like
jj diff<Leader>jc for files with conflicts, like
jj resolve --list.jjdescription files (for
use with jj describe) with vim-jjdescription<Leader>jl or <Leader>ju
respectively, if the corresponding binaries are in
$PATH{ import = "astrocommunity.pack.json" }
This plugin pack does the following:
json Treesitter parserjsonls language server{ import = "astrocommunity.pack.julia" }
Requirements: julia must be in your
PATH and executable
This plugin pack does the following:
julia Treesitter parsersjulials language servercmpBecause of the long pre-compilation times of Julia it is highly
recommended to utilize system images for the
LanguageServer.jl. This requires some manual setup which
this pack will automatically detect and disable the installation of
julials if it is detected. A description of how to set up
precompiled system images for the Julia language server can be found at
this repository: https://github.com/mehalter/.julia
If you are going down this route, along with importing the pack from
AstroCommunity, you also need to add the following plugin specification
to your plugins/ directory:
[!NOTE] You should make sure that
julialsis not installed in Mason
return {
"AstroNvim/astrolsp",
opts = {
-- manually set up the Julia language server
-- since we won't be using Mason
servers = { "julials" },
config = {
julials = {
on_new_config = function(new_config)
-- check for nvim-lspconfig julia sysimage shim
-- this path may need to be updated if you set it up differently
-- than the repository recommends above
local julia = (vim.env.JULIA_DEPOT_PATH or vim.fn.expand "~/.julia")
.. "/environments/nvim-lspconfig/bin/julia"
-- if the shim is found, then update the julia command
if require("lspconfig").util.path.is_file(julia) then new_config.cmd[1] = julia end
end,
},
},
},
}{ import = "astrocommunity.pack.just" }
This plugin does the following:
just Treesitter parser: https://github.com/IndianBoy42/tree-sitter-justjust-lsp: https://github.com/terror/just-lsp{ import = "astrocommunity.pack.kotlin" }
Requires: - JDK-17 or higher to function.
This plugin pack does the following:
kotlin treesitter parserskotlin_language_server language serverktlint through null-lskotlin-debug-adapter debug adapter for
nvim-dap{ import = "astrocommunity.pack.laravel" }
Note: Installation of phpactor requires
composer
Note: laravel-dev-generators in your
path. See the releases section of https://github.com/haringsrob/laravel-dev-tools
Note: For proper blade template highlighting, you’ll need to manually add the queries file https://github.com/EmranMR/tree-sitter-blade/discussions/19#discussion-5400675
This plugin pack does the following:
laravel.nvim for laravel specific toolslaravel-ide-helper.nvim for laravel model
infoblade-nav.nvim for cmp and gf for
views/routes/configs and morepint for formatting{ import = "astrocommunity.pack.lean" }
This plugin pack does the following:
{ import = "astrocommunity.pack.lua" }
This plugin pack does the following:
lua Treesitter parserlua_ls language serverstylua formatterselene linter
aarch64 machines this is skipped.{ import = "astrocommunity.pack.markdown" }
This plugin pack does the following:
markdown and markdown_inline
Treesitter parsersmarksman language server{ import = "astrocommunity.pack.mdx" }
This plugin pack does the following:
markdown.mdx filetypemdx_analyzer language server{ import = "astrocommunity.pack.moonbit" }
Requires:
This plugin pack does the following:
moonbit.nvim
plugin which adds
moonbit Treesitter parsermoonbit-lsp language serverneotest-moonbit neotest adapter{ import = "astrocommunity.pack.nextflow" }
This plugin pack does the following:
nextflow filetypevim-language-nextflow
for syntax highlightingnextflow_ls
to lspconfig
nextflow icons to mini.iconsWhile the Nextflow language server is young in development it is yet
to be added to Mason or nvim-lspconfig so it currently
requires manual configuration to get up and running.
language-server-all.jar downloaded from the Nextflow
Language Server Releases or built from the sourceplugins/return {
"AstroNvim/astrolsp",
opts = {
-- This line enables the setup of the Nextfow language server
servers = { "nextflow_ls" },
configs = {
-- Must set the command with the path to your JAR file
nextflow_ls = {
cmd = { "java", "-jar", "<path to language-server-all.jar>" },
},
},
},
}{ import = "astrocommunity.pack.nginx" }
This plugin pack does the following:
nginx Treesitter parsersnginx-language-server language servernginx-config-formatter formatter{ import = "astrocommunity.pack.nim" }
This plugin pack does the following:
nim and nim_format_string Treesitter
parsersnim_langserver language servernimpretty formatter’{ import = "astrocommunity.pack.nix" }
Requires the following in your PATH
This plugin pack does the following:
nix Treesitter parsersnixd language servernull-ls sources:
{ import = "astrocommunity.pack.nushell" }
Requires:
This plugin pack does the following:
nushell treesitter parsersnushell
language servernufmt as the default formatter for nushell{ import = "astrocommunity.pack.nvchad-ui" }
Lightweight & high performance UI plugin for nvchad
Repository: https://github.com/NvChad/ui
{ import = "astrocommunity.pack.ocaml" }
This plugin pack does the following:
ocaml, ocaml_interface,
ocamllex, menhir Treesitter parsersocamllsp language server{ import = "astrocommunity.pack.oxlint" }
Oxlint is designed to catch erroneous or useless code without requiring any configurations by default.
{ import = "astrocommunity.pack.php" }
Note: Installation of phpactor requires
composer
This plugin pack does the following:
php and phpdoc Treesitter
parsersphpactor language serversphp-cs-fixer for formattingphp-debug-adapter for debugging{ import = "astrocommunity.pack.pkl" }
This plugin pack does the following:
pkl Treesitter parser: https://github.com/apple/tree-sitter-pklpkl language plugin: https://github.com/apple/pkl-neovim{ import = "astrocommunity.pack.prettier" }
Prettier is an opinionated code formatter with support for:
JavaScript · TypeScript · Flow · JSX · JSON CSS · SCSS · Less HTML · Vue · Angular GraphQL · Markdown · YAML Your favorite language?
It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
{ import = "astrocommunity.pack.prisma" }
This plugin pack does the following:
prisma Treesitter parserprismals language servers{ import = "astrocommunity.pack.proto" }
This plugin pack does the following:
proto Treesitter parsersbuf and uses it for language server and
formatting{ import = "astrocommunity.pack.ps1" }
This plugin pack does the following:
powershell-editor-services language server{ import = "astrocommunity.pack.purescript" }
This plugin pack does the following:
purescript Treesitter parserspurescript-language-server language serverpurs-tidy formatter{ import = "astrocommunity.pack.python" }
Requirements: python must be in your
PATH and executable
This is the base Python pack that provides core functionality:
python and toml Treesitter
parsersdebugpy for debugging with
nvim-dap-pythonvenv-selector.nvim for virtual environment
selectionneotest-python for test runningThis pack can be combined with the following subpacks for additional tooling:
basedpyright language serverruff language server
for linting and formattingisort
formatterblack
formatter-- Base pack only
{ import = "astrocommunity.pack.python.base" }
-- Base pack with basedpyright and ruff
{ import = "astrocommunity.pack.python.base" },
{ import = "astrocommunity.pack.python.basedpyright" },
{ import = "astrocommunity.pack.python.ruff" },
-- Base pack with basedpyright, black and isort
{ import = "astrocommunity.pack.python.base" },
{ import = "astrocommunity.pack.python.basedpyright" },
{ import = "astrocommunity.pack.python.black" },
{ import = "astrocommunity.pack.python.isort" },{ import = "astrocommunity.pack.quarto" }
Requirements:
This plugin pack does the foolowing:
quarto-nvimotter.nvimr,python,markdown,markdown_inline,julia,bash,yaml,lua,vim,query,vimdoc,latex,html,
and css parsers tonvim-treesitter{ import = "astrocommunity.pack.rainbow-delimiter-indent-blankline" }
Provides rainbow indent guides that tie into their relevant bracket
pairs, and a scope guide Provides rainbow-delimiters.nvim
and configures indent-blankline.nvim as described in the indent-blankline.nvim
documentation
Repositores:
{ import = "astrocommunity.pack.rego" }
This plugin pack does the following:
rego Treesitter parserregols language serveropacheck linter{ import = "astrocommunity.pack.ruby" }
This plugin does the following
{ import = "astrocommunity.pack.rust" }
This plugin pack does the following:
rust Treesitter parsers[!NOTE] This pack DOES not add
rust_analyzer. This should be managed by rustup. To add it to rustup, run:rustup component add rust-analyzer
Configuring the LSP is out of scope for community packs, but here are some interesting things you may want to do:
Add this into your LSP configuration to make the rust-analyzer use
its own profile. The effect is that you will use more disk space as
rust-analyzer gets its own special folder in targets. The
upside is that you can run cargo build without that being
blocked while rust-analyzer runs.
The following can be added to the configuration of AstroLSP to customize the profiles used by rust-analyzer.
return {
"AstroNvim/astrolsp",
opts = {
config = {
rust_analyzer = {
settings = {
["rust-analyzer"] = {
cargo = {
extraEnv = { CARGO_PROFILE_RUST_ANALYZER_INHERITS = "dev" },
extraArgs = { "--profile", "rust-analyzer" },
},
},
},
},
},
},
}cargo check for
rust-analyzer.check.commandBy default, this pack configures
rust-analyzer.check.command to use
cargo clippy instead of cargo check.
In some cases (for example, on large projects where
cargo clippy is slow), you may want to use
cargo check instead.
You can configure the settings with AstroLSP similar to the instructions shown above:
return {
"AstroNvim/astrolsp",
opts = {
config = {
rust_analyzer = {
settings = {
["rust-analyzer"] = {
check = { command = "check", extraArgs = {} },
},
},
},
},
},
}Currently, rust-analyzer itself cannot be configured per
project, adding
rust-analyzer.toml support is still in progress.
However, rustaceanvim supports
loading rust-analyzer.json files from the root of your
project. If you want to use cargo check as your default
rust-analyzer.check.command, you can create a
rust-analyzer.json file in the root of your project with
the following contents: For more information on the
rust-analyzer configuration, see the rust-analyzer
documentation.
{
"rust-analyzer": {
"check": {
"command": "check"
}
}
}{ import = "astrocommunity.pack.scala" }
Requires:
metals or coursier in your pathThis plugin pack does the following:
scala treesitter parsersmetals language servernvim-dap{ import = "astrocommunity.pack.spring-boot" }
This plugin pack integrates the java pack with
sprint-boot.nvim to provide a better OOTB experience with
Spring boot. It utilizes the spring-tools
https://github.com/spring-projects/spring-tools extension for VS Code
under the hood.
Repository: https://github.com/JavaHello/spring-boot.nvim
{ import = "astrocommunity.pack.sql" }
This plugin pack does the following:
sql Treesitter parsersqls language server
go must be in your PATH and
executable.{ import = "astrocommunity.pack.svelte" }
This plugin pack does the following:
svelte and scss Treesitter
parserssvelte language servervtsls with typescript-svelte-plugin
for Svelte supportjs-debug-adapter for debugging{ import = "astrocommunity.pack.swift" }
Requires:
This plugin pack does the following:
swift Treesitter parserssourcekit in LSP serverssourcekit in LSP configcodelldb for debuggingWhen it comes to linting and formatting, Swift is not standardized
yet. Thus, you need to set your favorite configuration in
user/null-ls.lua. For example:
[...]
config.sources = {
-- Set a formatter
null_ls.builtins.formatting.swiftformat, -- https://github.com/nicklockwood/SwiftFormat
-- null_ls.builtins.formatting.swift_format, -- https://github.com/apple/swift-format
-- Set a linter
null_ls.builtins.diagnostics.swiftlint,
}
[...]Make sure to install SwiftLint and either one of SwiftFormat OR Apple’s Swift-Format.
{ import = "astrocommunity.pack.tailwindcss" }
This plugin pack does the following:
css Treesitter parsertailwindcss and cssls language
serversprettierd formattertailwindcss-colorizer-cmp.nvim
to cmp completion sources{ import = "astrocommunity.pack.templ" }
This plugin pack does the following:
templ treesitter parsertempl language server{ import = "astrocommunity.pack.terraform" }
This plugin pack does the following:
terraform Treesitter parserterraformls language servertflint and tfsec linters{ import = "astrocommunity.pack.thrift" }
This plugin pack does the following:
thrift Treesitter parsersthriftls language servers{ import = "astrocommunity.pack.toml" }
This plugin pack does the following:
toml Treesitter parsertaplo language server{ import = "astrocommunity.pack.typescript-all-in-one" }
This plugin pack does the following:
denols or vtsls based on
the project{ import = "astrocommunity.pack.typescript-deno" }
This plugin pack does the following:
typescript, javascript, and
tsx Treesitter parsersdenols language server{ import = "astrocommunity.pack.typescript" }
This plugin pack does the following:
typescript, javascript,
tsx, and jsdoc Treesitter parsersvtsls language serverneotest is installedgs mapping for goto_source_definition
instead of typings.To enable HTML, CSS and Emmet support, you can add the
html-css pack to your community.lua
config:
{ import = "astrocommunity.pack.html-css" }neotest-jest?To customize the neotest-jest plugin, you need to
configure it like you would with any other plugin
Learn more about the spec setup used by
lazyhere.
---@type LazySpec
return {
"nvim-neotest/neotest-jest",
opts = function(_, opts)
-- Add your opts
end,
}{ import = "astrocommunity.pack.typst" }
This plugin pack does the following:
typst.vim for syntaxtinymist language servertypst-preview.nvim pluginNote: To start the preview - Run TypstPreview
{ import = "astrocommunity.pack.verilog" }
This plugin pack does the following:
verilog Treesitter parsersverible language servernull-ls sources:
{ import = "astrocommunity.pack.vue" }
This plugin pack does the following:
vue and scss Treesitter parsersvue language serverjs-debug-adapter for debugging{ import = "astrocommunity.pack.wgsl" }
This plugin pack does the following:
wgsl Treesitter parser: https://github.com/szebniok/tree-sitter-wgslwgsl language server{ import = "astrocommunity.pack.xml" }
xml and html treesitter parserslemminx language server{ import = "astrocommunity.pack.yaml" }
This plugin pack does the following:
yaml Treesitter parseryamlls language server{ import = "astrocommunity.pack.zig" }
Requirements:
This plugin pack does the following:
zig Treesitter parserszls language server{ import = "astrocommunity.programming-language-support.csv-vim" }
A Filetype plugin for csv files
Repository: https://github.com/chrisbra/csv.vim
{ import = "astrocommunity.programming-language-support.dooku-nvim" }
Generate and open your code HTML documentation inside Neovim.
Repository: https://github.com/Zeioth/dooku.nvim
{ import = "astrocommunity.programming-language-support.kulala-nvim" }
A minimal 🤏 HTTP-client 🐼 interface 🖥️ for Neovim ❤️.
Dependencies:
Repository: : https://github.com/mistweaverco/kulala.nvim
{ import = "astrocommunity.programming-language-support.nvim-jqx" }
If only one could easily browse and preview json files in neovim. Oh wait, nvim-jqx does just that!
Dependencies - jq
Repository: https://github.com/gennaro-tedesco/nvim-jqx
{ import = "astrocommunity.programming-language-support.rest-nvim" }
A fast Neovim http client written in Lua.
Repository: : https://github.com/rest-nvim/rest.nvim
{ import = "astrocommunity.programming-language-support.web-tools-nvim" }
Neovim Wrapper for ❤️ browser-sync
Requires: * Hurl/curl web API testing
Repository: https://github.com/ray-x/web-tools.nvim/tree/master
{ import = "astrocommunity.programming-language-support.xbase" }
xbase is a WIP plugin, and the experience provided by this plugin might be lackluster.
You should also include the swift pack for basic language support. To add it into your setup, add:
...
{import ="astrocommunity.pack.swift"}Make sure you have sourcekit-lsp installed on your machine.
Install Xcode Device Simulators: To enable simulator functionality from within Neovim, you need to have Xcode Device Simulators installed on your machine. You can install these simulators from Xcode.
Mappings: The default mappings for the xbase plugin overlap with AstroNvim’s default. Therefore, you should set the mappings yourself. Refer to xBase documentation for more options.
opts = {
-- ... (other options)
mappings = {
enable = true,
build_picker = "<leader>rb", -- Set to 0 to disable
run_picker = "<leader>ra", -- Set to 0 to disable
watch_picker = 0, -- Set to 0 to disable
all_picker = 0, -- Set to 0 to disable
toggle_split_log_buffer = 0,
toggle_vsplit_log_buffer = "<leader>rs",
},
-- ... (other options)
}{ import = "astrocommunity.project.linear-nvim" }
A NeoVim plugin to browse and create issues in your Linear workspace. Written in Lua
Repository: https://github.com/rmanocha/linear-nvim
{ import = "astrocommunity.project.neoconf-nvim" }
Deprecated in AstroNvim v6.
neoconf.nvimdoes not support thevim.lsp.configAPI used in v6 and is no longer maintained by folke.
Use project-local lsp/<server_name>.lua files
(:h lsp-config) or language server config files (e.g.,
.luarc.json) instead.
Repository: https://github.com/folke/neoconf.nvim
{ import = "astrocommunity.project.project-nvim" }
The superior project management solution for neovim.
Repository: https://github.com/jay-babu/project.nvim
Note: The functionality of this plugin is part of AstroNvim
as of v4.0.0.
To enable automatic :cd or chdir to project root, or to
configure other options, see the project rooter
documentation. Enabling this plugin will disable the built-in
project rooter.
{ import = "astrocommunity.project.projectmgr-nvim" }
Quickly switch between projects and automate startup tasks.
Repository: https://github.com/charludo/projectmgr.nvim
telescope.nvim:ProjectMgr (or P) toggles a telescope picker
with your projects. The telescope preview displays information about
your project and its current git state. The following actions and
keybinds are available:
| Key | Action |
|---|---|
<CR> |
Open the project under your cursor |
<C-a> |
Add a project. You will be asked for a name, a path, and optionally startup and shutdown commands. |
<C-d> /
<C-x> |
Delete project under your cursor |
<C-e> /
<C-u> |
Edit the project under your cursor |
<C-q> /
<ESC> |
Close the window without doing anything |
<Leader>P |
Open the ProjectMgr panel |
telescope.nvimprojectmgr comes with a fallback window in case you
aren’t using telescope.nvim. The same actions are
available. The keybinds are slightly different: <C-a>
is replaced by just a, <C-q> becomes
just q, and so on.
{ import = "astrocommunity.quickfix.nvim-bqf" }
Better quickfix window in Neovim, polish old quickfix window.
Repository: https://github.com/kevinhwang91/nvim-bqf
{ import = "astrocommunity.quickfix.quicker-nvim" }
Improved UI and workflow for the Neovim quickfix
Repository: https://github.com/stevearc/quicker.nvim
{ import = "astrocommunity.recipes.ai" }
Website: https://docs.astronvim.com/recipes/ai
This plugin specification configures completion engines to make
<Tab> function as only snippet navigation and AI
suggestion acceptance. Navigating completion items would then be done
with other mappings such as
<C-n>/<C-p>. AI plugins can then
interface with this by setting up the vim.g.ai_accept as a
function to do their acceptance command.
{ import = "astrocommunity.recipes.astrolsp-auto-signature-help" }
Website: https://docs.astronvim.com/recipes/advanced_lsp/#automatic-signature-help
This plugin specification configures AstroLSP to automatically trigger the LSP signature help when necessary and relevant.
{ import = "astrocommunity.recipes.astrolsp-no-insert-inlay-hints" }
Website: https://docs.astronvim.com/recipes/advanced_lsp/#disable-in-insert-mode
This plugin specification configures AstroLSP to disable inlay hints in a buffer when going into insert mode and re-enables them when leaving insert mode.
{ import = "astrocommunity.recipes.auto-session-restore" }
Website: https://docs.astronvim.com/recipes/sessions/#automatically-restore-previous-session
This plugin specification configures AstroLSP to automatically restore their previous session for a given directory when opening Neovim with no arguments.
{ import = "astrocommunity.recipes.cache-colorscheme" }
Website: https://docs.astronvim.com/recipes/colorscheme/#cache-colorscheme
This plugin specification caches the last chosen colorscheme by the user to persist colorscheme changes without modifying user configuration.
{ import = "astrocommunity.recipes.diagnostic-virtual-lines-current-line" }
Website: https://docs.astronvim.com/recipes/diagnostics/#virtual-line-current-line-only
This plugin specification configures AstroCore to show virtual text except on the current line which shows as virtual lines.
{ import = "astrocommunity.recipes.disable-borders" }
Website: https://docs.astronvim.com/recipes/disable_borders
This plugin specification fully disables borders from floating windows in the plugins provided by core AstroNvim.
{ import = "astrocommunity.recipes.disable-tabline" }
Website: https://docs.astronvim.com/recipes/disable_tabline/#fully-disable-tabline
This plugin specification fully disables tabline and
removes relevant mappings.
{ import = "astrocommunity.recipes.heirline-clock-statusline" }
Website: https://docs.astronvim.com/recipes/status#default-statusline-with-clock
This plugin specification configures the statusline in
AstroNvim to show a clock in the right hand side mode indicator.
{ import = "astrocommunity.recipes.heirline-mode-text-statusline" }
Website: https://docs.astronvim.com/recipes/status#default-statusline-with-mode-text
This plugin specification configures the statusline in
AstroNvim to show the mode text
{ import = "astrocommunity.recipes.heirline-nvchad-statusline" }
Website: https://docs.astronvim.com/recipes/status#replicate-nvchad-statusline
This plugin specification configures the statusline in
AstroNvim to emulate the NvChad statusline
{ import = "astrocommunity.recipes.heirline-tabline-buffer-number" }
Add buffer number underscored before the filename in hierline tabline in the top.
This makes navigation with :b<num> much
easier.
{ import = "astrocommunity.recipes.heirline-vscode-winbar" }
Website: https://docs.astronvim.com/recipes/status#replicate-visual-studio-code-winbar
This plugin specification configures the winbar in
AstroNvim to look more like VS Code’s
{ import = "astrocommunity.recipes.neo-tree-dark" }
Dark themed color scheme for neo-tree.nvim
Repository: https://github.com/nvim-neo-tree/neo-tree.nvim
Note: Highlight groups are designed to match
astrotheme. Customize the table if you are using different
colorscheme.
{ import = "astrocommunity.recipes.neovide" }
Website: https://docs.astronvim.com/recipes/neovide
vim.g)This recipe uses several global variables to configure its behavior.
neovide_scale_factor (default: 1) - The current scale
factor of Neovide.neovide_increment_scale_factor (default: 0.1) -
Determines the increment/decrement value for adjusting the scale
factor.neovide_min_scale_factor (default: 0.7) - The minimum
scale allowed.neovide_max_scale_factor (default: 2.0) - The maximum
scale allowed.neovide_initial_scale_factor (default: from
neovide_scale_factor) - Used to have the scale factor reset
to the initial value.:NeovideSetScaleFactor {scale_factor:number} [force]Sets the Neovide scale factor. If force is provided as
the second argument, the scale factor is set without applying the
minimum and maximum constraints.
:NeovideResetScaleFactorResets the scale factor to
vim.g.neovide_initial_scale_factor.
| Mappings | Action |
|---|---|
Ctrl + = |
Increase the Neovide scale factor by
neovide_increment_scale_factor |
Ctrl + - |
Decrease the Neovide scale factor by
neovide_increment_scale_factor |
Ctrl + 0 |
Reset the Neovide scale factor to
neovide_initial_scale_factor |
{ import = "astrocommunity.recipes.picker-lsp-mappings" }
Repository: https://docs.astronvim.com/recipes/mappings/#enable-picker-lsp-mappings
Use picker for LSP search operations
Supports:
{ import = "astrocommunity.recipes.picker-nvchad-theme" }
Repository: https://docs.astronvim.com/recipes/picker_theme
Emulate the default NvChad picker theme.
Supports:
{ import = "astrocommunity.recipes.telescope-lsp-mappings" }
Repository: https://docs.astronvim.com/recipes/mappings/#enable-telescope-lsp-mappings
Use Telescope mappings for LSP search operations
{ import = "astrocommunity.recipes.telescope-nvchad-theme" }
Repository: https://docs.astronvim.com/recipes/telescope_theme
Emulate the default NvChad Telescope theme.
{ import = "astrocommunity.recipes.telescope-nvim-snacks" }
Find, Filter, Preview, Pick. All lua, all the time.
This adds the telescope.nvim plugin without removing snacks. Use this if another plugin depends on a telescope but you wish to continue using snacks as your picker.
Repository: https://github.com/nvim-telescope/telescope.nvim
{ import = "astrocommunity.recipes.vscode-icons" }
Website: https://docs.astronvim.com/recipes/icons/#vs-code-style-icons
This plugin specification configures the AstroNvim icons to look more like VS Code’s
{ import = "astrocommunity.recipes.vscode" }
Website: https://docs.astronvim.com/recipes/vscode
Some users may be wanting to integrate their Neovim configuration
with their VS Code editor. This spec configures AstroNvim to play nicely
with the VS Code Extension vscode-neovim.
This plugin spec works by overriding the default cond
function in lazy.nvim. If you want to enable one of your
own plugins, you can simply add cond = true to the plugin
spec or set it to your own function for doing computation when deciding
how to conditionally enable the plugin. See the Lazy.nvim
Documentation for details on doing more advanced modification of the
condition.
If there are more plugins that play nicely with the
vscode-neovim extension, feel free to make a PR to add it
to the list of enabled plugins!
{ import = "astrocommunity.register.nvim-neoclip-lua" }
neoclip is a clipboard manager for neovim inspired by
for example clipmenu. It
records everything that gets yanked in your vim session (up to a limit
which is by default 1000 entries but can be configured). You can then
select an entry in the history using telescope
or fzf-lua
which then gets populated in a register of your choice.
Repository: https://github.com/AckslD/nvim-neoclip.lua
{ import = "astrocommunity.remote-development.distant-nvim" }
🚧 (Alpha stage software) Edit files, run programs, and work with LSP on a remote machine from the comfort of your local environment 🚧
Repository: https://github.com/chipsenkbeil/distant.nvim
{ import = "astrocommunity.remote-development.netman-nvim" }
Neovim (Lua powered) Network Resource Manager
Repository: https://github.com/miversen33/netman.nvim
{ import = "astrocommunity.remote-development.nvim-sftp-sync" }
Neovim plugin that helps you sync your projects to an SFTP server
Requires:
Repository: https://github.com/dcampos/nvim-sftp-sync
{ import = "astrocommunity.remote-development.remote-sshfs-nvim" }
sshfs & ssh<leader>Re edit ssh config file<leader>Rc select ssh target which is saved in
your ssh config file<leader>Rd disconnect (this will unmount
sshfs)fd and ripgrep be installed on server
machine{ import = "astrocommunity.scrolling.cinnamon-nvim" }
Smooth scrolling for ANY movement command 🤯. A Neovim plugin written in Lua!
Repository: https://github.com/declancm/cinnamon.nvim
A highly customizable Neovim Lua plugin to smooth scrolling for any movement command.
{ import = "astrocommunity.scrolling.mini-animate" }
Neovim Lua plugin to animate common Neovim actions. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.animate
{ import = "astrocommunity.scrolling.neoscroll-nvim" }
Smooth scrolling neovim plugin written in lua
Repository: https://github.com/karb94/neoscroll.nvim
{ import = "astrocommunity.scrolling.nvim-scrollbar" }
Extensible Neovim Scrollbar
Repository: https://github.com/petertriho/nvim-scrollbar
{ import = "astrocommunity.scrolling.satellite-nvim" }
Decorate scrollbar for Neovim
Repository: https://github.com/lewis6991/satellite.nvim
{ import = "astrocommunity.scrolling.vim-smoothie" }
Smooth scrolling for Vim done right
Repository: https://github.com/psliwka/vim-smoothie
{ import = "astrocommunity.search.grug-far-nvim" }
Find And Replace plugin for neovim
Repository: https://github.com/MagicDuck/grug-far.nvim
{ import = "astrocommunity.search.nvim-hlslens" }
Hlsearch Lens for Neovim
Repository: https://github.com/kevinhwang91/nvim-hlslens
{ import = "astrocommunity.search.nvim-spectre" }
Find the enemy and replace them with dark power.
Repository: https://github.com/nvim-pack/nvim-spectre
{ import = "astrocommunity.search.sad-nvim" }
Space Age seD in Neovim. A project-wide find and replace plugin for Neovim.
Requires: - sad - fzf so you can confirm/select
the matches to apply your changes - by default the plugin using fd to list all files in the
current folder, you can use git ls_file - a pager tool,
e.g. delta
Repository: https://github.com/ray-x/sad.nvim
{ import = "astrocommunity.session.vim-workspace" }
Automated Vim session management with file auto-save and persistent undo history
The configuration of the plugin:
cd dir and nvim to start the
workspaceRepository: https://github.com/thaerkh/vim-workspace
{ import = "astrocommunity.snippet.mini-snippets" }
Manage and expand snippets. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.snippets
Sets up:
mini_snippets_stop autocommand
augroup in AstroCore~/.config/nvim/snippets/global.json~/.config/nvim/snippets/<lang>.jsonsnippets
folder such as friendly-snippets.vscode/project.code-snippets and
.vscode/<lang>.code-snippetsProvided Integrations:
friendly-snippetsblink.cmp to use mini.snippets
if it’s availablenvim-cmp to use mini.snippets
if it’s available{ import = "astrocommunity.snippet.nvim-snippets" }
Snippet support using native neovim snippets
Repository: https://github.com/garymjr/nvim-snippets
{ import = "astrocommunity.split-and-window.colorful-winsep-nvim" }
Make your nvim window separators colorful with smooth animations
Repository: https://github.com/nvim-zh/colorful-winsep.nvim
{ import = "astrocommunity.split-and-window.edgy-nvim" }
Easily create and manage predefined window layouts, bringing a new edge to your workflow
Repository: https://github.com/folke/edgy.nvim
{ import = "astrocommunity.split-and-window.mini-map" }
Blazing fast minimap and scrollbar for vim with no external dependencies.
Repository: https://github.com/echasnovski/mini.map
{ import = "astrocommunity.split-and-window.minimap-vim" }
📡 Blazing fast minimap / scrollbar for vim, powered by code-minimap written in Rust.
Requires: - code-minimap
Repository: https://github.com/wfxr/minimap.vim
{ import = "astrocommunity.split-and-window.neominimap-nvim" }
Yet another minimap plugin for Neovim
Repository: https://github.com/Isrothy/neominimap.nvim
{ import = "astrocommunity.split-and-window.windows-nvim" }
Automatically expand width of the current window. Maximizes and restore it. And all this with nice animations!
Repository: https://github.com/anuvyklack/windows.nvim
{ import = "astrocommunity.startup.alpha-nvim" }
a lua powered greeter like vim-startify / dashboard-nvim
Repository: https://github.com/goolord/alpha-nvim
{ import = "astrocommunity.startup.fsplash-nvim" }
Show a custom splash screen in a floating window
Repository: https://github.com/jovanlanik/fsplash.nvim
Note: This plugin will also disable the Alpha dashboard by default
{ import = "astrocommunity.startup.mini-starter" }
Neovim Lua plugin with fast and flexible start screen. Part of ‘mini.nvim’ library.
Repository: https://github.com/echasnovski/mini.starter
{ import = "astrocommunity.syntax.hlargs-nvim" }
Highlight arguments’ definitions and usages, using Treesitter
Repository: https://github.com/m-demare/hlargs.nvim
{ import = "astrocommunity.syntax.vim-cool" }
A very simple plugin that makes hlsearch more useful.
Repository: https://github.com/romainl/vim-cool
Vim-cool disables search highlighting when you are done searching and
re-enables it when you search again. That’s it. No more
:noh<CR>, no more
/sytdstdrsid<CR>, and no more dodgy
<C-l> mappings.
{ import = "astrocommunity.syntax.vim-easy-align" }
🌻 A Vim alignment plugin
Repository: https://github.com/junegunn/vim-easy-align
{ import = "astrocommunity.syntax.vim-sandwich" }
Set of operators and textobjects to search/select/edit sandwiched texts.
Repository: https://github.com/machakann/vim-sandwich
{ import = "astrocommunity.terminal-integration.flatten-nvim" }
Open files and command output from neovim terminals in your current neovim instance
Repository: https://github.com/willothy/flatten.nvim
{ import = "astrocommunity.terminal-integration.floaterm" }
Beautiful floating terminal manager for Neovim.
Repository: https://github.com/nvzone/floaterm
{ import = "astrocommunity.terminal-integration.nvim-unception" }
A plugin that leverages Neovim’s built-in RPC functionality to simplify opening files from within Neovim’s terminal emulator without nesting sessions.
Repository: https://github.com/samjwill/nvim-unception
{ import = "astrocommunity.terminal-integration.toggleterm-manager-nvim" }
A Telescope extension to manage Toggleterm’s terminals in NeoVim
Key <Leader>ts is mapped to open the telescope
interface.
Additionally added keymaps in the Telescope interface:
n normal mode:
<CR>: toggle the selected terminal.r: rename the selected terminal.d: delete the selected terminal.n: create a new terminal bufferi insert mode:
<CR>: toggle the selected terminal.<C-r>: rename the selected terminal.<C-d>: delete the selected terminal.<C-i>: create a new terminal bufferRepository: https://github.com/ryanmsnyder/toggleterm-manager.nvim
{ import = "astrocommunity.terminal-integration.vim-tmux-navigator" }
Seamless navigation between tmux panes and vim splits
Repository: https://github.com/christoomey/vim-tmux-navigator
Navigate between vim and tmux panes seamlessly
{ import = "astrocommunity.terminal-integration.vim-tmux-yank" }
Synchronize Vim, Tmux, and OS clipboards via OSC 52
Repository: https://github.com/jabirali/vim-tmux-yank
This is a simple plugin for synchronizing the clipboards of
vim/nvim, tmux, and a variety of
operating systems, even over remote connections. It does so via a
terminal escape called OSC 52.
{ import = "astrocommunity.terminal-integration.vim-tpipeline" }
Embed your vim statusline in tmux
Repository: https://github.com/vimpostor/vim-tpipeline
Embed your vim statusline in the tmux statusline!
{ import = "astrocommunity.test.crazy-coverage-nvim" }
Neovim plugin for displaying code coverage
Repository: https://github.com/mr-u0b0dy/crazy-coverage.nvim
{ import = "astrocommunity.test.neotest" }
An extensible framework for interacting with tests within NeoVim.
Repository: https://github.com/nvim-neotest/neotest
{ import = "astrocommunity.test.nvim-coverage" }
Displays test coverage data in the sign column
Repository: https://github.com/andythigpen/nvim-coverage
{ import = "astrocommunity.test.vim-test" }
Run your tests at the speed of thought
Repository: https://github.com/vim-test/vim-test
{ import = "astrocommunity.utility.hover-nvim" }
Hover plugin framework for Neovim
Repository: https://github.com/lewis6991/hover.nvim
{ import = "astrocommunity.utility.live-preview" }
Seamless live preview for your documents—right in your browser.
Repository: https://github.com/brianhuster/live-preview.nvim
{ import = "astrocommunity.utility.live-server-nvim" }
Live reload local development servers inside of neovim
Requires:
One of the following:
Repository: https://github.com/barrett-ruth/live-server.nvim
{ import = "astrocommunity.utility.lua-json5" }
Requires:
A json5 parser for luajit
Repository: https://github.com/Joakker/lua-json5
{ import = "astrocommunity.utility.mason-tool-installer-nvim" }
Install and upgrade third party tools automatically
Repository: https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim
Note: This integrates with mason-null-ls,
mason-lspconfig, and mason-nvim-dap by moving
any ensure_installed lists into
mason-tool-installer and removes them from those
plugins.
{ import = "astrocommunity.utility.neodim" }
Neovim plugin for dimming the highlights of unused functions, variables, parameters, and more
Repository: https://github.com/zbirenbaum/neodim
{ import = "astrocommunity.utility.noice-nvim" }
💥 Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
Repository: https://github.com/folke/noice.nvim
{ import = "astrocommunity.utility.nvim-toggler" }
Invert text in vim.
Keybindings: The default binding is <Leader>i to
invert the word under your cursor.
Repository: https://github.com/nguyenvukhang/nvim-toggler
{ import = "astrocommunity.utility.nvzone-menu" }
Menu plugin for neovim (supports nested menus) made using volt
Repository: nvzone/nvzone-menu.nvim
neo-tree.nvim for file operations{ import = "astrocommunity.utility.telescope-coc-nvim" }
An extension for telescope.nvim that allows you to find/filter/preview/pick results from coc.nvim.
Repository: https://github.com/fannheyward/telescope-coc.nvim
{ import = "astrocommunity.utility.telescope-fzy-native-nvim" }
FZY style sorter that is compiled
Dependencies: * It is possible that you will already have a compiled binary matching your system. You can find out information about compiling the binary at the implementation repo: https://github.com/romgrk/fzy-lua-native
Repository: https://github.com/nvim-telescope/telescope-fzy-native.nvim
{ import = "astrocommunity.utility.telescope-lazy-nvim" }
Telescope extension that provides handy functionality about plugins installed via lazy.nvim
Repository: https://github.com/tsakirist/telescope-lazy.nvim
{ import = "astrocommunity.utility.telescope-live-grep-args-nvim" }
Live grep with args
Dependencies: * ripgrep
Repository: https://github.com/nvim-telescope/telescope-live-grep-args.nvim
{ import = "astrocommunity.utility.vim-fetch" }
Make Vim handle line and column numbers in file names with a minimum of fuss
Repository: https://github.com/wsdjeg/vim-fetch
{ import = "astrocommunity.workflow.bad-practices-nvim" }
A plugin to help give up bad practices in vim.
Repository: https://github.com/antonk52/bad-practices.nvim
{ import = "astrocommunity.workflow.hardtime-nvim" }
A Neovim plugin helping you establish good command workflow and habit
Repository: https://github.com/m4xshen/hardtime.nvim
{ import = "astrocommunity.workflow.precognition-nvim" }
precognition.nvim assists with discovering motions (Both vertical and horizontal) to navigate your current buffer
Repository: https://github.com/tris203/precognition.nvim