Inbuilt features

  • 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, extensions, nvterm, nvim-colorizer )

Base46

  • Base46 is NvChad's highlight performant theming plugin and has many ported themes ( around 57+ ).

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

nvchad statusline

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!

Nvterm

  • NvChad's terminal plugin to toggle and run commands in Neovim terminal buffer
  • Using it with our telescope picker ( :Telescope terms ) to unhide terminal buffers leader + pt .

Dashboard

  • 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 default_config.lua for its syntax and override it from chadrc.

nvdash

NvCheatsheet

  • Auto-generated mappings cheatsheet module, which has a similar layout to that of CSS's masonry layout.
  • It has 2 themes ( grid & simple )

nvcheatsheet

  • 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 )

telescope

Nvim-tree.lua

  • nvim-tree.lua is a file explorer tree for Neovim written in Lua.

nvim tree

Nvim-cmp

  • nvim-cmp is a completion plugin for Neovim coded in Lua.
  • Below are some cmp styles in nvchad

nvim-cmp

  • 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!

Auto-completion & LSP


  • lazy.nvim - A modern plugin manager for Neovim
  • 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.
  • gitsigns.nvim - Git integration for buffers
  • nvim-autopairs
  • comment.nvim - Commenting plugin
  • mason.nvim - Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.