You will want to clone the repo and run the packer install. It may require a little tweaking if using on windows as I store a fair bit in ~/.local on macos/linux and my home directory is initialised by the setup scripts not the neovim scripts.
When I want to reset my local install I run the following which can probably be adapted for Windows:
rm -rf ~/.local/share/nvim && rm -rf ~/.cache/nvim && git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim
The init.lua file is the where the entire high level configuration reside. This file works as follows:
- Sets leader to
<space>
and log level towarn
- Creates global
_G.my = {}
- Sets UI config in global variable
_G
:_G.my.ui = { theme = 'rose-pine', bg = 'dark' }
- Loads Plugin: impatient.nvim
- Loads config module: plugins
- Loads config module: settings
- Loads config module: mappings
- Sets the colorscheme
File Path: lua/plugins/init.lua
Plugins are loaded in the following order:
- Packet loads itself.
- Impatient
norcalli/nvim-terminal
->terminal
tami5/sqlite.lua
- FZF
- Telescope & Dependencies ->
telescope
sudormrfbin/cheatsheet.nvim
->cheatsheet
- Treesitter & Dependencies ->
treesitter
,treesitter-context
- Clipboard & Registers ->
neoclip
- File Management ->
nvim-tree
- Window Management & Navigation ->
,
,,
, `` - Completion Plugins ->
,
,,
, `` - Snippets ->
,
,,
, `` - Git Plugins ->
,
,,
, `` - Buffer Plugins ->
,
,,
, `` - LSP Configuration ->
mason
,lsp-signature
,null-ls
,goto-preview
,symbols
- Terminal & Command Plugins ->
toggleterm
,fterm
,toggletasks
- Search highlighting ->
todo
- Navigation ->
neoscroll
,which
- Project/Session Management ->
harpoon
,project
,sessions
,workspaces
,persistence
- Language Plugins ->
yaml
,go
,webtools
- UI Plugins ->
notify
,marks
,lualine
,colorizer
,zen-mode
,twilight
,indent-blankline
,comment-box
,alpha-nvim
,nvim-bqf
,trouble
- Colorschemes ->
nightfox
- Integrations ->
http-rest
- General Plugins ->
mini
,numb
,comment
,undotree
- ->
,
,,
, `` - -> ``
File Path: lua/plugins/mason.lua
File Path: lua/config/lsp/mason.lua
File Path: lua/config/lsp/lang.lua
- Returns a dictionary (lua table) with keys: 'parsers', 'servers'
File Path: lua/config/lsp/utils.lua
- Returns a dictionary (lua table) with keys: 'capabilities', 'hs_version', 'hs_path'
- Returns a dictionary (lua table) with method: 'get_python_path'
We run the following mason functions:
mason.setup(settings)
mason_lspconfig.setup()
mason_null_ls.setup()
mason_lspconfig.setup_handlers()
Next we loop through the list of servers, retrieve configuration and run lspconfig[server].setup(opts)
where opts is the server configuration.
File Path: lua/plugins/lsp-signature.lua
File Path: lua/config/lsp/signature.lua
- Returns a dictionary (lua table) with keys: '', ''
- Returns a dictionary (lua table) with method: ''
File Path: lua/plugins/null-ls.lua
- Returns a dictionary (lua table) with keys: '', ''
- Returns a dictionary (lua table) with method: ''
File Path: lua/plugins/goto-preview.lua
File Path: lua/plugins/symbols.lua
File Path: lua/settings/init.lua
File Path: lua/mappings/init.lua