From 5a6f16bfbdfecfce77dd0e4272ecb4d72e370577 Mon Sep 17 00:00:00 2001 From: mirzaev Date: Tue, 21 Mar 2023 22:44:09 +1000 Subject: [PATCH] =?UTF-8?q?=D0=BE=D1=82=D1=81=D1=82=D1=83=D0=BF=D1=8B=20?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B1?= =?UTF-8?q?=D0=B5=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/plugins/packer.lua | 301 ++++++++++++++++++++-------------------- lua/plugins/trouble.lua | 71 +++++----- lua/settings/tabs.lua | 20 ++- 3 files changed, 200 insertions(+), 192 deletions(-) diff --git a/lua/plugins/packer.lua b/lua/plugins/packer.lua index 3b9688d..a0337ba 100644 --- a/lua/plugins/packer.lua +++ b/lua/plugins/packer.lua @@ -2,185 +2,186 @@ vim.cmd('packadd packer.nvim') return require('packer').startup(function(use) - -- Менеджер плагинов Packer (автообновление) - use 'wbthomason/packer.nvim' + -- Менеджер плагинов Packer (автообновление) + use 'wbthomason/packer.nvim' - -- Быстрая настройка LSP-серверов - use { - 'neovim/nvim-lspconfig', - after = 'coq_nvim', - config = function() require('plugins/lspconfig') end - } + -- Быстрая настройка LSP-серверов + use { + 'neovim/nvim-lspconfig', + after = 'coq_nvim', + config = function() require('plugins/lspconfig') end + } - -- Прогресс LSP - use { - 'j-hui/fidget.nvim', - config = function() require('plugins/fidget') end - } + -- Прогресс LSP + use { + 'j-hui/fidget.nvim', + config = function() require('plugins/fidget') end + } - -- Интерфейс отображающий найденные проблемы LSP-серверами - use { - 'folke/trouble.nvim', - requires = 'kyazdani42/nvim-web-devicons', - config = function() require('plugins/trouble') end - } + -- Интерфейс отображающий найденные проблемы LSP-серверами + use { + 'folke/trouble.nvim', + requires = 'kyazdani42/nvim-web-devicons', + config = function() require('plugins/trouble') end + } - -- Пиктограммы для плагинов - use { - 'onsails/lspkind-nvim', - config = function() require('plugins/lspkind') end - } + -- Пиктограммы для плагинов + use { + 'onsails/lspkind-nvim', + config = function() require('plugins/lspkind') end + } - -- Пиктограммы для плагинов - use { - 'nvim-tree/nvim-web-devicons', - config = function() require('plugins/nvim-web-devicons') end - } + -- Пиктограммы для плагинов + use { + 'nvim-tree/nvim-web-devicons', + config = function() require('plugins/nvim-web-devicons') end + } - -- Интеграция с GIT - use { - 'lewis6991/gitsigns.nvim', - config = function() require('plugins/gitsigns') end - } + -- Интеграция с GIT + use { + 'lewis6991/gitsigns.nvim', + config = function() require('plugins/gitsigns') end + } - -- Обработчик GIT-команд - use 'tpope/vim-fugitive' + -- Обработчик GIT-команд + use 'tpope/vim-fugitive' - -- Отображение изменений GIT - use 'mhinz/vim-signify' + -- Отображение изменений GIT + use 'mhinz/vim-signify' - -- Отрисовка в реальном времени найденных ошибок LSP-серверами - use { - 'onsails/diaglist.nvim', - config = function() require('plugins/diaglist') end - } + -- Отрисовка в реальном времени найденных ошибок LSP-серверами + use { + 'onsails/diaglist.nvim', + config = function() require('plugins/diaglist') end + } - -- Интерфейс строки состояния - use { - 'nvim-lualine/lualine.nvim', - requires = 'kyazdani42/nvim-web-devicons', - config = function() require('plugins/lualine') end - } + -- Интерфейс строки состояния + use { + 'nvim-lualine/lualine.nvim', + requires = 'kyazdani42/nvim-web-devicons', + config = function() require('plugins/lualine') end + } - -- Дополнение для "nvim-lualine/lualine.nvim" с отображением прогресса работы с LSP-серверами - use { - 'arkav/lualine-lsp-progress', - config = function() require('plugins/lualine-lsp-progress') end - } + -- Дополнение для "nvim-lualine/lualine.nvim" с отображением прогресса работы с LSP-серверами + use { + 'arkav/lualine-lsp-progress', + config = function() require('plugins/lualine-lsp-progress') end + } - -- Интерфейс строки буфера файлов - use { - 'akinsho/bufferline.nvim', - tag = "v3.*", - requires = 'nvim-tree/nvim-web-devicons', - config = function() require('plugins/bufferline') end - } + -- Интерфейс строки буфера файлов + use { + 'akinsho/bufferline.nvim', + tag = "v3.*", + requires = 'nvim-tree/nvim-web-devicons', + config = function() require('plugins/bufferline') end + } - -- Интерфейс древовидной структуры файлов - use { - 'nvim-neo-tree/neo-tree.nvim', - branch = 'v2.x', - requires = { - 'nvim-lua/plenary.nvim', - 'kyazdani42/nvim-web-devicons', - 'MunifTanjim/nui.nvim' - }, - config = function() require('plugins/neo-tree') end - } + -- Интерфейс древовидной структуры файлов + use { + 'nvim-neo-tree/neo-tree.nvim', + branch = 'v2.x', + requires = { + 'nvim-lua/plenary.nvim', + 'kyazdani42/nvim-web-devicons', + 'MunifTanjim/nui.nvim' + }, + config = function() require('plugins/neo-tree') end + } - -- Автодополнение скобок и кавычек - use { - 'windwp/nvim-autopairs', - config = function() require('plugins/autopairs') end - } + -- Автодополнение скобок и кавычек + use { + 'windwp/nvim-autopairs', + config = function() require('plugins/autopairs') end + } - -- Цвета для отображения найденных ошибок LSP-сервером в случае если другие цвета не найдены - use 'folke/lsp-colors.nvim' + -- Цвета для отображения найденных ошибок LSP-сервером в случае если другие цвета не найдены + use 'folke/lsp-colors.nvim' - -- Клиентская реализация DAP - use { - 'mfussenegger/nvim-dap', - config = function() require('plugins/dap') end - } + -- Клиентская реализация DAP + use { + 'mfussenegger/nvim-dap', + config = function() require('plugins/dap') end + } - -- Автозавершение - use { - 'ms-jpq/coq_nvim', - branch = 'coq', - config = function() require('plugins/coq') end - } + -- Автозавершение + use { + 'ms-jpq/coq_nvim', + branch = 'coq', + config = function() require('plugins/coq') end + } - -- Готовые наброски для автозавершения "ms-jpq/coq_nvim" - use { - 'ms-jpq/coq.artifacts', - branch = 'artifacts' - } + -- Готовые наброски для автозавершения "ms-jpq/coq_nvim" + use { + 'ms-jpq/coq.artifacts', + branch = 'artifacts' + } - -- Пользовательские готовые наброски для автозавершения "ms-jpq/coq_nvim" - use { - 'ms-jpq/coq.thirdparty', - branch = '3p' - } + -- Пользовательские готовые наброски для автозавершения "ms-jpq/coq_nvim" + use { + 'ms-jpq/coq.thirdparty', + branch = '3p' + } - -- Линтер - use { - 'mfussenegger/nvim-lint', - config = function() require('plugins/lint') end - } + -- Линтер + use { + 'mfussenegger/nvim-lint', + config = function() require('plugins/lint') end + } - -- Тестирование - use { - 'vim-test/vim-test', - config = function() require('plugins/vim-test') end - } + -- Тестирование + use { + 'vim-test/vim-test', + config = function() require('plugins/vim-test') end + } - -- Интерфейс для поиска - use { - 'nvim-telescope/telescope.nvim', - tag = '0.1.1', - config = function() require('plugins/telescope') end - } + -- Интерфейс для поиска + use { + 'nvim-telescope/telescope.nvim', + tag = '0.1.1', + config = function() require('plugins/telescope') end + } - -- Интеграция treesitter - use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate', - config = function() require('plugins/treesitter') end - } + -- Интеграция treesitter + use { + 'nvim-treesitter/nvim-treesitter', + run = ':TSUpdate', + config = function() require('plugins/treesitter') end + } - -- Удобное комментирование - use 'b3nj5m1n/kommentary' + -- Удобное комментирование + use 'b3nj5m1n/kommentary' - -- Древовидное представление символов - use { - 'simrat39/symbols-outline.nvim', - config = function() require('plugins/symbols-outline') end - } + -- Древовидное представление символов + use { + 'simrat39/symbols-outline.nvim', + config = function() require('plugins/symbols-outline') end + } - -- Интерфейс для отображения тегов в отдельном окне - use 'preservim/tagbar' + -- Интерфейс для отображения тегов в отдельном окне + use 'preservim/tagbar' - -- PHP-теги для "preservim/tagbar" (phpctags для ctags) - use { - 'vim-php/phpctags', - run = 'composer install' - } + -- PHP-теги для "preservim/tagbar" (phpctags для ctags) + use { + 'vim-php/phpctags', + run = 'composer install' + } - -- Аналог LSP-сервера для поддержки оболочки fish - use 'dag/vim-fish' + -- Аналог LSP-сервера для поддержки оболочки fish + use 'dag/vim-fish' - -- Цветовая тема - use { - 'rktjmp/lush.nvim', - config = function() require('plugins/lush') end - }; + -- Цветовая тема + use { + 'rktjmp/lush.nvim', + config = function() require('plugins/lush') end + }; - -- Аналог LSP-сервера для подержки синтаксиса nginx - use 'chr4/nginx.vim' + -- Аналог LSP-сервера для подержки синтаксиса nginx + use 'chr4/nginx.vim' - -- Форматировщик Prettier - use { - 'prettier/vim-prettier', - run = 'yarn install --frozen-lockfile --production' - } + -- Форматировщик Prettier + use { + 'prettier/vim-prettier', + run = 'yarn install --frozen-lockfile --production', + config = function() require('plugins/vim-prettier') end + } end) diff --git a/lua/plugins/trouble.lua b/lua/plugins/trouble.lua index de15971..5a528ed 100644 --- a/lua/plugins/trouble.lua +++ b/lua/plugins/trouble.lua @@ -1,40 +1,41 @@ -require('trouble').setup { - position = "bottom", -- position of the list can be: bottom, top, left, right - height = 10, -- height of the trouble list when position is top or bottom - width = 50, -- width of the list when position is left or right - icons = true, -- use devicons for filenames +require('trouble').setup({ + position = "bottom", -- position of the list can be: bottom, top, left, right + height = 10, -- height of the trouble list when position is top or bottom + width = 50, -- width of the list when position is left or right + icons = true, -- use devicons for filenames mode = "workspace_diagnostics", -- "workspace_diagnostics", "document_diagnostics", "quickfix", "lsp_references", "loclist" - fold_open = "", -- icon used for open folds - fold_closed = "", -- icon used for closed folds - group = true, -- group results by file - padding = true, -- add an extra new line on top of the list - action_keys = { -- key mappings for actions in the trouble list - -- map to {} to remove a mapping, for example: + fold_open = "", -- icon used for open folds + fold_closed = "", -- icon used for closed folds + group = true, -- group results by file + padding = true, -- add an extra new line on top of the list + action_keys = { + -- key mappings for actions in the trouble list + -- map to {} to remove a mapping, for example: -- close = {}, - close = "q", -- close the list - cancel = "", -- cancel the preview and get back to your last window / buffer / cursor - refresh = "r", -- manually refresh - jump = {"", ""}, -- jump to the diagnostic or open / close folds - open_split = { "" }, -- open buffer in new split - open_vsplit = { "" }, -- open buffer in new vsplit - open_tab = { "" }, -- open buffer in new tab - jump_close = {"o"}, -- jump to the diagnostic and close the list - toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode - toggle_preview = "P", -- toggle auto_preview - hover = "K", -- opens a small popup with the full multiline message - preview = "p", -- preview the diagnostic location - close_folds = {"zM", "zm"}, -- close all folds - open_folds = {"zR", "zr"}, -- open all folds - toggle_fold = {"zA", "za"}, -- toggle fold of current file - previous = "k", -- previous item - next = "j" -- next item + close = "q", -- close the list + cancel = "", -- cancel the preview and get back to your last window / buffer / cursor + refresh = "r", -- manually refresh + jump = { "", "" }, -- jump to the diagnostic or open / close folds + open_split = { "" }, -- open buffer in new split + open_vsplit = { "" }, -- open buffer in new vsplit + open_tab = { "" }, -- open buffer in new tab + jump_close = { "o" }, -- jump to the diagnostic and close the list + toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode + toggle_preview = "P", -- toggle auto_preview + hover = "K", -- opens a small popup with the full multiline message + preview = "p", -- preview the diagnostic location + close_folds = { "zM", "zm" }, -- close all folds + open_folds = { "zR", "zr" }, -- open all folds + toggle_fold = { "zA", "za" }, -- toggle fold of current file + previous = "k", -- previous item + next = "j" -- next item }, - indent_lines = true, -- add an indent guide below the fold icons - auto_open = false, -- automatically open the list when you have diagnostics - auto_close = false, -- automatically close the list when you have no diagnostics - auto_preview = true, -- automatically preview the location of the diagnostic. to close preview and go back to last window - auto_fold = false, -- automatically fold a file trouble list at creation - auto_jump = {"lsp_definitions"}, -- for the given modes, automatically jump if there is only a single result + indent_lines = true, -- add an indent guide below the fold icons + auto_open = false, -- automatically open the list when you have diagnostics + auto_close = false, -- automatically close the list when you have no diagnostics + auto_preview = true, -- automatically preview the location of the diagnostic. to close preview and go back to last window + auto_fold = false, -- automatically fold a file trouble list at creation + auto_jump = { "lsp_definitions" }, -- for the given modes, automatically jump if there is only a single result signs = { -- icons / text used for a diagnostic error = "", @@ -44,4 +45,4 @@ require('trouble').setup { other = "﫠" }, use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client -} +}) diff --git a/lua/settings/tabs.lua b/lua/settings/tabs.lua index 3a04232..bdc1eac 100644 --- a/lua/settings/tabs.lua +++ b/lua/settings/tabs.lua @@ -1,11 +1,17 @@ --- Количество пробелов для сдвига +-- Количество пробелов для отступа (ширина) vim.opt.shiftwidth = 2 --- Количество пробелов при переносе строки () -vim.opt.tabstop = 2 +-- Количество учитываемых пробелов при операциях редактирования (например: вставка - отступа) +vim.opt.softtabstop = 2 --- Подстраивать новые строки под предыдущий отступ -vim.opt.smartindent = true +-- Количество пробелов которые будет конвертированы в отступы +vim.opt.tabstop = 4 --- Отступы вместо пробелов -vim.opt.expandtab = true +-- Пробелы вместо отступов +vim.opt.expandtab = false + +-- Копировать отступ из текущей строки при создании новой +vim.opt.autoindent = true + +-- Умный отступ при создании новой строки +vim.opt.smartindent = true