aboutsummaryrefslogblamecommitdiff
path: root/lua/plugins.lua
blob: 9ea9afbcfff731836c303069d9adda4157ddcb32 (plain) (tree)
1
2
3
4
5
6
7
8
9
                              

                                              
                                                                     
                              
 


                                                           


                                                             

                                          
 























                                                                   


                                            
                                              



                                


                            










                                                             
 








                                                   



                                              
                                 

        
 




                                                               
        
   
 





                                          
                                   



        

                                     
 











                                                                                    
                                                                   
                         
    
vim.cmd.packadd('packer.nvim')

return require('packer').startup(function(use)
  -- Инициализация пакетного менеджера
  use 'wbthomason/packer.nvim'

  -- Поддержка асинхронной работы
  use 'nvim-lua/plenary.nvim'

  -- Оптимизация загрузки плагинов
  use 'lewis6991/impatient.nvim'

  -- Тема редактора "sonokai"
  use 'sainnhe/sonokai'

  -- Расширенная подсветка синтаксиса
  use {
    'nvim-treesitter/nvim-treesitter',
    run = ':TSUpdate',
    config = function()
      require('nvim-treesitter.configs').setup {
        ensure_installed = 'all',
        auto_install = true,
        highlight = {
          enable = true,
          additional_vim_regex_highlighting = false,
        }
      }
    end,
  }

  -- Подключение подсветки Git
  use {
    'lewis6991/gitsigns.nvim',
    config = function()
      require('gitsigns').setup()
    end
  }

  -- Структура директории
  use 'preservim/nerdtree'

  -- Информационная строка
  use {
    'nvim-lualine/lualine.nvim',
    config = function()
      require('lualine').setup {
        options = {
          theme = 'sonokai',
        },
        sections = {
          lualine_a = { 'mode' },
          lualine_b = { 'branch', 'diff' },
          lualine_c = { 'filename' },
          lualine_x = { 'encoding', 'filetype', 'filesize' },
          lualine_y = { 'progress' },
          lualine_z = { 'location' },
        }
      }
    end,
  }

  -- Поиск по файлам и буферам
  use {
    'nvim-telescope/telescope.nvim',
    requires = { { 'nvim-lua/plenary.nvim' } },
    config = function()
      require('telescope').setup {}
    end,
  }

  -- Комментирование строк
  use {
    'numToStr/Comment.nvim',
    config = function()
      require('Comment').setup {}
    end,
  }

  -- Автоматическое закрытие скобок
  use {
    'windwp/nvim-autopairs',
    config = function()
      require('nvim-autopairs').setup {}
    end,
  }

  -- Подсветка отступов
  use {
    'lukas-reineke/indent-blankline.nvim',
    config = function()
      require('indent_blankline').setup {
        show_end_of_line = true,
        space_char_blankline = ' ',
      }
    end,
  }

  -- Линтер для файлов
  use 'dense-analysis/ale'

  -- Диагностика, отладка и форматирование кода
  use {
    'jose-elias-alvarez/null-ls.nvim',
    config = function()
      require('null-ls').setup({
        sources = {
          require('null-ls').builtins.formatting.prettier,
        },
      })
    end,
  }

  -- Структура классов и функций файла
  use 'majutsushi/tagbar'
end)