Skip to content
/ ui Public

Lightweight & high performance UI plugin for nvchad

License

Notifications You must be signed in to change notification settings

NvChad/ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NvChad UI Plugin

This ui plugin is a collection of many UI modules like statusline, tabline, cheatsheet, nvdash and much more!

  • Docs at :h nvui

Install

  • Create lua/chadrc.lua file that returns a table, can be empty table too.
  • Table structure must be same as nvconfig.lua

In your plugins file

 "nvim-lua/plenary.nvim",

 {
   "nvchad/ui",
    config = function()
      require "nvchad" 
    end
 },

 {
    "nvchad/base46",
    lazy = true,
    build = function()
      require("base46").load_all_highlights()
    end,
 },

Base46 setup

 -- put this in your main init.lua file ( before lazy setup )
 vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46_cache/"

-- put this after lazy setup 

-- (method 1, For heavy lazyloaders)
 dofile(vim.g.base46_cache .. "defaults")
 dofile(vim.g.base46_cache .. "statusline")

-- (method 2, for non lazyloaders) to load all highlights at once
 for _, v in ipairs(vim.fn.readdir(vim.g.base46_cache)) do
   dofile(vim.g.base46_cache .. v)
 end

List of Features with screenshots

Tabufline

  • Mix of tabline & bufferline.
  • 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!
NvChad.-.Maintain.buffers.per.tab.tabufline.Neovim.V_9iJ96U_k8.webm

Statusline

  • Statusline with 4 different styles

nvchad statusline

Term

  • Create, toggle terminals with cmd, window options ( can also be used to color each term window differently! )
  • Manage code runner
  • ( :Telescope terms ) to unhide terminal buffers leader + pt .

Lsp Signature

  • Minimal signature window ( 50 LOC ~), just uses vim.lsp.buf.signature_help on some autocmds.

image

Lsp Variable Renamer

  • Used for renaming

image

Colorify

  • Minimal colorizer module that colors hex colors and all LSP related variables etc ( useful for tailwind, css etc and every lsp that supports it )
  • Just supports virtual text, fg, bg

image image image

Nvdash

  • 150 ~ LOC Dashboard module, minimal & nothing fancy!

nvdash

Cmp styles

  • A lot of cmp theming with base46!
  • Do know that nvchad's base46 has like 68 themes, so dont judge the screenshots by colors!
  • Support for Tailwind & Css LSP colors

image image image image image image image

Modern Theme Picker

  • With 3 different styles : bordered, compact, flat

image

NvCheatsheet

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

Colorify

  • Colors hex color on buffer and lsp colors on the buffer, like tailwind etc

image

Automatic Mason install

  • MasonInstallAll command will now capture all the mason tools from your config
  • Supported plugins are : lspconfig, nvim-lint, conform.nvim
  • So for example if you have lspconfig like this :
require("lspconfig").html.setup{}
require("lspconfig").clangd.setup{}

Then running MasonInstallAll will install both the mason pkgs

check :h nvui.mason for more info

Credits

  • Huge thanks to @lucario387 for creating nvchad_types.