plugins.lua 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
  2. if not (vim.uv or vim.loop).fs_stat(lazypath) then
  3. vim.fn.system({
  4. "git",
  5. "clone",
  6. "--filter=blob:none",
  7. "https://github.com/folke/lazy.nvim.git",
  8. "--branch=stable", -- latest stable release
  9. lazypath,
  10. })
  11. end
  12. vim.opt.rtp:prepend(lazypath)
  13. require("lazy").setup({
  14. -- Colorschemes
  15. { 'navarasu/onedark.nvim', priority = 1000 },
  16. 'itchyny/landscape.vim',
  17. -- File Explorer (NvimTree)
  18. {
  19. 'nvim-tree/nvim-tree.lua',
  20. dependencies = { 'nvim-tree/nvim-web-devicons' },
  21. },
  22. -- CMake Tools
  23. {
  24. 'Civitasv/cmake-tools.nvim',
  25. lazy = true,
  26. cmd = { "CMakeGenerate", "CMakeBuild", "CMakeRun", "CMakeDebugTarget" },
  27. },
  28. -- Airline
  29. 'vim-airline/vim-airline',
  30. 'vim-airline/vim-airline-themes',
  31. -- Automatically close pairs like (), {}, etc.
  32. {
  33. 'windwp/nvim-autopairs',
  34. event = "InsertEnter",
  35. config = true
  36. -- use opts = {} for passing setup options
  37. -- this is equivalent to setup({}) function
  38. },
  39. -- Git
  40. 'tpope/vim-fugitive',
  41. 'lewis6991/gitsigns.nvim',
  42. -- LSP & Completion
  43. 'neovim/nvim-lspconfig',
  44. 'ThePrimeagen/refactoring.nvim',
  45. {
  46. 'Saghen/blink.cmp',
  47. build = 'cargo build --release',
  48. },
  49. 'L3MON4D3/LuaSnip',
  50. -- Formatting & Linting
  51. 'stevearc/conform.nvim',
  52. 'mfussenegger/nvim-lint',
  53. -- Search & Edit utilities
  54. 'romainl/vim-cool',
  55. 'tpope/vim-commentary',
  56. 'preservim/tagbar',
  57. 'mattn/emmet-vim',
  58. 'justinmk/vim-sneak',
  59. 'mhinz/vim-startify',
  60. 'csch0/vim-startify-renderer-nerdfont',
  61. 'tpope/vim-surround',
  62. -- Treesitter
  63. {
  64. 'nvim-treesitter/nvim-treesitter',
  65. branch = 'main',
  66. build = ':TSUpdate'
  67. },
  68. -- Indentation
  69. 'lukas-reineke/indent-blankline.nvim',
  70. -- Telescope
  71. {
  72. 'nvim-telescope/telescope.nvim',
  73. dependencies = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-media-files.nvim' }
  74. },
  75. -- Wilder
  76. {
  77. 'gelguy/wilder.nvim',
  78. build = ':UpdateRemotePlugins'
  79. },
  80. -- Markdown Preview
  81. {
  82. 'iamcco/markdown-preview.nvim',
  83. cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
  84. build = "cd app && npm install",
  85. init = function()
  86. vim.g.mkdp_filetypes = { "markdown" }
  87. end,
  88. ft = { "markdown" },
  89. },
  90. -- Which-Key
  91. 'folke/which-key.nvim',
  92. -- Whitespace
  93. 'ntpeters/vim-better-whitespace',
  94. -- Colorpicker
  95. 'KabbAmine/vCoolor.vim',
  96. -- Buffer resizing
  97. 'ahonn/resize.vim',
  98. -- Colorizer
  99. 'NvChad/nvim-colorizer.lua',
  100. -- Android
  101. 'hsanson/vim-android',
  102. -- Debugging (DAP)
  103. {
  104. 'mfussenegger/nvim-dap',
  105. dependencies = {
  106. 'rcarriga/nvim-dap-ui',
  107. 'nvim-neotest/nvim-nio',
  108. 'theHamsta/nvim-dap-virtual-text',
  109. 'mfussenegger/nvim-dap-python',
  110. },
  111. }
  112. })