aboutsummaryrefslogtreecommitdiff
path: root/lua/plugins.lua
blob: 2e5eb510d78c869d1a7ccf986b459c582bc22fa7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
vim.cmd.packadd('packer.nvim')

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

  -- Поддержка асинхронной работы
  use 'nvim-lua/plenary.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)