init.lua 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. -- vim:fileencoding=utf-8:foldmethod=marker:foldmarker={{{,}}}
  2. -- Working plugins marked as "(on)"
  3. -- Plugins with dependencies marked as "+ DEPS"
  4. -- In the end added interesting plugins with full links and short description
  5. return {
  6. -- {{{ NvChad installed plugins
  7. -- List located in ~/.local/share/nvim/lazy/NvChad/lua/nvchad/plugins/init.lua
  8. -- {{{ Conform - Formatters (works on save) (on)
  9. -- Plugin for formatting
  10. {
  11. "stevearc/conform.nvim",
  12. event = "BufWritePre", -- uncomment for format on save
  13. config = function()
  14. require "configs.conform"
  15. end,
  16. },
  17. -- }}}
  18. -- {{{ nvim-lspconifg (on)
  19. {
  20. "neovim/nvim-lspconfig",
  21. config = function()
  22. require("nvchad.configs.lspconfig").defaults()
  23. require "configs.lspconfig"
  24. end,
  25. },
  26. -- }}}
  27. -- {{{ Mason - Install LSP things (for Python + HTML) (on)
  28. -- ":Mason" for launch
  29. {
  30. "williamboman/mason.nvim",
  31. opts = {
  32. ensure_installed = {
  33. "lua-language-server",
  34. "stylua",
  35. "html-lsp",
  36. "css-lsp",
  37. "pyright",
  38. "pylint,",
  39. --"prettier",
  40. --"eslint-lsp",
  41. --"gopls",
  42. --"js-debug-adapter",
  43. --"typescript-language-server",
  44. },
  45. },
  46. },
  47. -- }}}
  48. -- {{{ nvim-treesitter - Syntax highlight (on)
  49. -- ":TSInstallInfo" for all supported languages list
  50. {
  51. "nvim-treesitter/nvim-treesitter",
  52. opts = {
  53. ensure_installed = {
  54. "vim",
  55. "lua",
  56. "vimdoc",
  57. "html",
  58. "css",
  59. --"typescript",
  60. --"javascript",
  61. --"go",
  62. "python",
  63. },
  64. },
  65. },
  66. -- }}}
  67. -- {{{ indent-blankline - show indents visually
  68. {
  69. "lukas-reineke/indent-blankline.nvim",
  70. config = function()
  71. require "configs.indent-blankline"
  72. end,
  73. },
  74. -- }}}
  75. -- {{{ cmp - autocompletion
  76. {
  77. "hrsh7th/nvim-cmp",
  78. opts = function()
  79. require "configs.nvim-cmp"
  80. end,
  81. },
  82. -- }}}
  83. -- {{{ WhichKey - show available keymaps as popup
  84. {
  85. "folke/which-key.nvim",
  86. keys = { "<leader>", "<c-r>", "<c-w>", '"', "'", "`", "c", "v", "g" },
  87. cmd = "WhichKey",
  88. config = function(_, opts)
  89. dofile(vim.g.base46_cache .. "whichkey")
  90. require("which-key").setup(opts)
  91. require "configs.which-key"
  92. end,
  93. },
  94. -- }}}
  95. -- {{{ nvim-colorizer - show color in realtime. For example - "#FF0000" will be
  96. {
  97. "NvChad/nvim-colorizer.lua",
  98. event = "User FilePost",
  99. config = function()
  100. require "configs.nvim-colorizer"
  101. end,
  102. -- opts = {
  103. -- user_default_options = { names = false },
  104. -- filetypes = {
  105. -- "*",
  106. -- "!lazy",
  107. -- },
  108. -- },
  109. -- config = function(_, opts)
  110. -- require("colorizer").setup(opts)
  111. --
  112. -- -- execute colorizer as soon as possible
  113. -- vim.defer_fn(function()
  114. -- require("colorizer").attach_to_buffer(0)
  115. -- end, 0)
  116. -- end,
  117. },
  118. -- }}}
  119. -- End NvChad installed plugins}}}
  120. -- {{{ Plugins added by sekhali
  121. -- {{{ Dressing - UI (on)
  122. -- Improve nvim UI (e.g. rename is showing not in bottom, but near renaming text)
  123. {
  124. "stevearc/dressing.nvim",
  125. lazy = false,
  126. opts = {},
  127. },
  128. -- }}}
  129. -- {{{ nvim-lint - Linters support (on)
  130. -- formatter - makes code better
  131. -- linter - tells you where you wrote code as asshole
  132. {
  133. "mfussenegger/nvim-lint",
  134. event = "VeryLazy",
  135. config = function()
  136. require "configs.nvim-lint"
  137. end,
  138. },
  139. -- }}}
  140. -- {{{ leap - Impreved movement (on)
  141. -- s[char] for search FORward
  142. -- S[char] for search BACKward
  143. -- [Enter] for move FORward
  144. -- [Backspace] for move BACKward
  145. {
  146. "ggandor/leap.nvim",
  147. lazy = false,
  148. config = function()
  149. require("leap").add_default_mappings(true)
  150. end,
  151. },
  152. -- }}}
  153. -- {{{ trouble - Show diagnostics (on) + DEPS
  154. {
  155. "folke/trouble.nvim",
  156. lazy = false,
  157. dependencies = { "nvim-tree/nvim-web-devicons" },
  158. },
  159. -- }}}
  160. -- {{{ todo-comments - highlight todo comments (on)
  161. {
  162. "folke/todo-comments.nvim",
  163. dependencies = { "nvim-lua/plenary.nvim" },
  164. lazy = false,
  165. config = function()
  166. require("todo-comments").setup()
  167. end,
  168. }, -- To make a plugin not be loaded
  169. -- }}}
  170. -- {{{ vim-fugitive - use Git inside vim (on)
  171. {
  172. "https://github.com/tpope/vim-fugitive",
  173. },
  174. -- }}}
  175. -- {{{ vim-flog - git branch viewer for vim (on) + DEPS
  176. -- requires luajit 2.1 or lua 5.1
  177. {
  178. "rbong/vim-flog",
  179. dependencies = {
  180. "tpope/vim-fugitive",
  181. },
  182. lazy = false,
  183. },
  184. -- }}}
  185. -- {{{ vim-python-docstring - docstring generator for Python (on)
  186. {
  187. "https://github.com/pixelneo/vim-python-docstring",
  188. ft = { "python" },
  189. },
  190. -- }}}
  191. -- {{{ vim-multiple-cursors - multiple cursors for vim (on)
  192. {
  193. "https://github.com/terryma/vim-multiple-cursors",
  194. lazy = false,
  195. },
  196. -- }}}
  197. -- {{{ pretty-fold - better folds for nvim (on)
  198. -- this is a fork with fixes for nvim 0.10
  199. {
  200. "https://github.com/bbjornstad/pretty-fold.nvim",
  201. lazy = false,
  202. config = function()
  203. require "configs.pretty-fold"
  204. end,
  205. },
  206. -- }}}
  207. -- End plugins added by sekhali}}}
  208. }
  209. -- {{{ May be install it later <a name="may-be-later"></a>
  210. --[[
  211. 1. AI autocompletion (Copilot alternative)
  212. https://github.com/Exafunction/codeium.vim
  213. 2. A framework for interacting with tests within NeoVim.
  214. https://github.com/nvim-neotest/neotest
  215. 3. Debug Adapter Protocol client implementation for NeoVim
  216. https://github.com/mfussenegger/nvim-dap
  217. 4. A UI for nvim-dap
  218. https://github.com/rcarriga/nvim-dap
  219. 5. Properly configures LuaLS for editing your Nvim config by lazily updating your workspace libraries.
  220. https://github.com/folke/lazydev.nvim
  221. 6. Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
  222. https://github.com/sindrets/diffview.nvim
  223. 7. Better quickfix window
  224. https://github.com/kevinhwang91/nvim-bqf
  225. 8.
  226. --]]
  227. -- }}}