Go to file
Aki 36cb57ecce
NvChad Updater | Chadrc Fixes | Cleanup and Formatting | Misc (#288)
* tree-wide: Format files

ugh why do people don't push formatted stuff

* mappings|init: Move init mappings to a function, only call when required | Show err message for init

because mappings.lua is called from multiple places, so there should't be any code that executes without calling a specific function

show error message when something fails in init.lua
makes no sense to not

rearrange plugin functions alphabetically, but keep misc at top

* feat: Do not depend on user config | Fix merging of configs

because it is a user config, so our config shoudn't break even we if dont have it

use our own table merge function

move loading config to a function

use a global variable to store the config, so no need to call the table function everytime

* Add NvChadUpdate command and shortcut for it

map leader+uu to it

summary of what it does:

first ask the user for confirmation and tell that the updater is gonna run git reset --hard in config repo and chadrc will be restored

take backup of chadrc in a lua string and locally in a file with chadrc.bak.(random numbers)

git reset on config dir and git pull

whether success or error, restore the chadrc file

if restore fails, then print backup file path

for more deep understanding, read the comments in utils.lua

* NvChadUpdater: Make update repo and url configurable | Improvr logging
2021-08-19 12:33:11 +05:30
.github Delete FUNDING.yml 2021-07-05 15:25:11 +05:30
lua NvChad Updater | Chadrc Fixes | Cleanup and Formatting | Misc (#288) 2021-08-19 12:33:11 +05:30
.gitignore Added .gitignore and lazy load lsp_signature more (#218) 2021-08-07 15:24:31 +05:30
.stylua.toml chore: stylua formatting update (#261) 2021-08-16 13:19:09 +05:30
LICENSE Initial commit 2021-03-07 20:03:18 +05:30
README.md Update README.md 2021-08-19 10:25:22 +05:30
init.lua NvChad Updater | Chadrc Fixes | Cleanup and Formatting | Misc (#288) 2021-08-19 12:33:11 +05:30

README.md

NvChad

Lua

Showcase





Very Very Useful lua plugins used in my config

Lspkind-nvim

This tiny plugin adds vscode-like pictograms to neovim built-in lsp completion items :


Nvim-tree.lua

fast file tree :


Telescope-nvim

A fuzzy file finder, picker, sorter, previewer and much more:


Indent-blankline.nvim

adds indentline :

Galaxyline

fastest statusline plugin I've used so far:


Nvim-bufferline.lua

As a top tabline like thing which lets me handle tabs and buffers like switching , sorting and closing them etc.

Nvim-web-devicons

Lua fork of vim devicons which lets me change icons of filetypes

Nvim-treesitter

Better syntax highlighting for programming languages ( NvChad by default comes with lua/bash treesitter parsers ).

without / with Treesitter :

Credits

Elianiva helped me with neovim lua related issues many times, NvChad wouldnt exist without his help at all!

Features

  • File navigation with Nvimtree
  • Using plugins that are mouse friendly
  • Beautiful inbuilt themes
  • lazy loading 100% of plugins
  • managing tabs , buffers with bufferline
  • autosave
  • icons on nvimtree , telescope , bufferline/statusline and almost everywhere! with nvim-web-devicons
  • minimal status line ( galaxyline)
  • gitsigns (colored bars for git in my config)
  • nvim-lspconfig for nvim-lsp configuration
  • lspInstall for installing lsp servers easily
  • nvim-compe for autocompletion
  • lspkind to show pictograms on autocompletion items
  • telescope for file finding , picking , previewing (files and even images)
  • nvim-treesitter for syntax highlighting
  • nvim-autopairs for autolosing braces and stuffs
  • neoformat for prettifying / formatting code
  • packer.nvim as package manager
  • indent-blankline.Nvim for indentlines
  • smooth scrolling
  • luasnip for snippet plugin and snip support from VSCode through vsnip supporting custom and predefined snips (friendly-snippets)
  • Distraction free modes ( modes in which statusline , tabline etc stuff get disabled so its just the text visible in the buffer similar to goyo.vim)
  • Code formatting / prettifying
  • gitsigns for git diffs

Bloat

  • To all those who think this is probably bloated , sure it is . Bloat means different to everyone . NvChad has like 30 ~ plugins but that doesnt mean those plugins are compromsing neovim's speed, snappiness or making it slow. No matter how many plugins I'd add on nvchad , it wouldnt compromise speed / snappiness / make it slow or whatever since it uses packer.nvim as plugin manager , packer.nvim lets you lazy load plugins i.e loading plugins on certain events , mappings , sequentially loading them etc so loading them only when needed , I have lazy loaded all the plugins so most plugins arent loaded by default , hence not affecting neovim's startup/launch time.

TODO

It would be nice if NvChad focuses on existing plugins and config before adding new things , some plugins like whichkey , telescope , treesitter still have basic configs! Also adding new features that'd make NvChad slow or its startuptime slow wouldnt be encouraged , if that feature's really needed then It'll be mentioned in the wiki with its config.

  • Debloat the config.
  • Make NvChad more faster (reduce startuptime too).
  • Add another section in the wiki explaining the whole config (must be helpful for newbies).
  • Add more themes.
  • Preview shortcuts in the form of a pretty cheatsheet.
  • Add a user config so it doesnt get hard to update :c

Chad contributors

💝 Support

If you enjoy using NvChad and would like to show your appreciation, you may want to tip me here.

It is never required but always appreciated.

undefined undefined undefined

Warning

I get hearings from some plugin devs that nvchad users bring issues on discourse/reddit/matrix/gh repos etc. Please dont do that :/ . Bring NvChad related issues here ONLY and dont ever bother plugin devs, THIS IS A CLEAR WARNING! 😠