# Neovim config
## Install Instructions
> Install requires Neovim 0.10+. Always review the code before installing a configuration.
Clone the repository and install the plugins:
```sh
git clone git@github.com:pnx/dotfiles ~/.config/pnx/dotfiles
```
Open Neovim with this config:
```sh
NVIM_APPNAME=pnx/dotfiles/nvim nvim
```
## File structure
```sh
├── after
│ ├── ftplugin # filetype specific settings.
│ └── indent #indent settings.
├── init.lua
└── lua
└── user
├── extras.lua
├── icons.lua # icons used for plugins/settings
├── keymaps.lua
├── lazy.lua # plugin manager
├── options.lua
└─── plugins #plugins
├── core # core plugins
├── editor # editor specific plugins/settings
├── lang #language specific plugins/settings
└── ide # IDE plugins
```
Plugin directory is organized by category. at minimum there should be a `.lua` file, but if that file
becomes to large, the code can be splitted into multiple files in a subdirectory with the same name
and included in the main `.lua` file
## Plugins
### bars-and-lines
+ [luukvbaal/statuscol.nvim](https://dotfyle.com/plugins/luukvbaal/statuscol.nvim)
### color
+ [brenoprata10/nvim-highlight-colors](https://dotfyle.com/plugins/brenoprata10/nvim-highlight-colors)
### colorscheme
+ [catppuccin/nvim](https://dotfyle.com/plugins/catppuccin/nvim)
### completion
+ [hrsh7th/nvim-cmp](https://dotfyle.com/plugins/hrsh7th/nvim-cmp)
### editing-support
+ [windwp/nvim-autopairs](https://dotfyle.com/plugins/windwp/nvim-autopairs)
+ [windwp/nvim-ts-autotag](https://dotfyle.com/plugins/windwp/nvim-ts-autotag)
### file-explorer
+ [nvim-neo-tree/neo-tree.nvim](https://dotfyle.com/plugins/nvim-neo-tree/neo-tree.nvim)
### formatting
+ [stevearc/conform.nvim](https://dotfyle.com/plugins/stevearc/conform.nvim)
### fuzzy-finder
+ [nvim-telescope/telescope.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope.nvim)
### git
+ [lewis6991/gitsigns.nvim](https://dotfyle.com/plugins/lewis6991/gitsigns.nvim)
### icon
+ [nvim-tree/nvim-web-devicons](https://dotfyle.com/plugins/nvim-tree/nvim-web-devicons)
### indent
+ [lukas-reineke/indent-blankline.nvim](https://dotfyle.com/plugins/lukas-reineke/indent-blankline.nvim)
### keybinding
+ [folke/which-key.nvim](https://dotfyle.com/plugins/folke/which-key.nvim)
### lsp
+ [j-hui/fidget.nvim](https://dotfyle.com/plugins/j-hui/fidget.nvim)
+ [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig)
+ [nvimtools/none-ls.nvim](https://dotfyle.com/plugins/nvimtools/none-ls.nvim)
### markdown-and-latex
+ [MeanderingProgrammer/render-markdown.nvim](https://dotfyle.com/plugins/MeanderingProgrammer/render-markdown.nvim)
### nvim-dev
+ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim)
+ [MunifTanjim/nui.nvim](https://dotfyle.com/plugins/MunifTanjim/nui.nvim)
### plugin-manager
+ [folke/lazy.nvim](https://dotfyle.com/plugins/folke/lazy.nvim)
### snippet
+ [rafamadriz/friendly-snippets](https://dotfyle.com/plugins/rafamadriz/friendly-snippets)
+ [L3MON4D3/LuaSnip](https://dotfyle.com/plugins/L3MON4D3/LuaSnip)
### split-and-window
+ [echasnovski/mini.bufremove](https://dotfyle.com/plugins/echasnovski/mini.bufremove)
### statusline
+ [pnx/lualine-lsp-status](https://dotfyle.com/plugins/pnx/lualine-lsp-status)
+ [nvim-lualine/lualine.nvim](https://dotfyle.com/plugins/nvim-lualine/lualine.nvim)
### syntax
+ [nvim-treesitter/nvim-treesitter-textobjects](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter-textobjects)
+ [nvim-treesitter/nvim-treesitter](https://dotfyle.com/plugins/nvim-treesitter/nvim-treesitter)
### test
+ [nvim-neotest/neotest](https://dotfyle.com/plugins/nvim-neotest/neotest)
### utility
+ [kevinhwang91/nvim-ufo](https://dotfyle.com/plugins/kevinhwang91/nvim-ufo)
## Language Servers
+ cmake
+ html
+ php
+ typescript
+ c/c++
+ golang