NvChad is built upon its personal plugins and many general Neovim plugins, below are the features that are provided by nvchad plugins ( our ui plugin, base46 )
Base46
Base46 is NvChad's highly performant theming plugin and has 68 themes.
How it works?
Gets highlight groups
Do some computations i.e. check for overridden highlight groups, new highlight groups, theme overrides, custom user themes etc.
Now, base46 compiles all of that into bytecode.
Integration files aren't loaded by default; for example highlight group for telescope, nvimtree etc are put into different files.
highlight groups are lazyloaded i.e. you load them when needed
example : dofile(vim.g.base46_cache .. "cmp")
In the below video, you can see that the chadrc file's ( user config ) UI related options reload on the fly
Theme switcher
A theme switcher with telescope.nvim that reloads themes on the fly using the base46 plugin + plenary.nvim.
Statusline
We have our own statusline module ( our UI Plugin ) which has 4 statusline styles
Tabufline
NvChad's tabufline module ( from UI Plugin ) is a mix of tabline & bufferline.
It manages buffers & tabs, buttons in it are clickable
Each tab will have its own set of buffers stored, and the tabufline will show those only.
Think of it like workspaces on Linux/Windows where windows stay in their own workspaces, but in vim buffers from all tabs will be shown in every tab!
Term
NvChad's terminal module to toggle and run commands in Neovim terminal buffer
Its features are :
Creating new terminal windows
Creating toggleable terminal windows
Creating terminal window for code runner
All of the above functions allow floating, horizontal, vertical windows
Each window can have its own cmd/size/cmd/ highlight group
Using it with our telescope picker ( :Telescope terms ) to unhide terminal buffers leader + pt .
Nvdash is NvChad's minimal dashboard module, It's very simple at this stage and will get more features in the future!
Command to run it Nvdash, its disabled on startup, check the nvconfig.lua for its syntax and override it from chadrc.
NvCheatsheet
Auto-generated mappings cheatsheet module, which has a similar layout to that of CSS's masonry layout.
It has 2 themes ( grid & simple )
command to toggle it : NvCheatsheet and mapping leader + ch
General Neovim plugins
These plugins aren't related to nvchad, we just tweak them a bit and theme the UI related ones.
Telescope.nvim
Telescope.nvim is a highly extensible fuzzy finder over lists. Built on the latest awesome features from Neovim core. Telescope is centered around modularity, allowing for easy customization.
Below are 2 styles of telescope in nvchad ( bordered and borderless )
Nvim-tree.lua
nvim-tree.lua is a file explorer tree for Neovim written in Lua.
Nvim-cmp
nvim-cmp is a completion plugin for Neovim coded in Lua.
Below are some cmp styles in nvchad
Note that that's just the cmp look in everblush theme, there are more 57 themes! You can hide cmp icons, cmpkind txt etc from the user config ( chadrc ) itself!
whichkey.nvim - Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.
nvim-colorizer.lua - Fastest Neovim colorizer, hex colors, hsl codes and much more.
nvim-treesitter - Nvim Treesitter configurations and abstraction layer, we use it for syntax highlighting & auto-indenting.
blankline - Indent guides for Neovim i.e indentline plugin.