return { { "stevearc/conform.nvim", event = "BufWritePre", opts = require "configs.conform", }, { "neovim/nvim-lspconfig", config = function() require "configs.lspconfig" end, }, { "stevearc/dressing.nvim", lazy = false, opts = {}, }, { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "vim", "lua", "vimdoc", "html", "css", "javascript", "typescript", "tsx", "json", "yaml", "toml", "bash", "dockerfile", "markdown", "markdown_inline", "gitcommit", "diff", }, }, }, -- Автозакрытие HTML/JSX тегов { "windwp/nvim-ts-autotag", event = "InsertEnter", opts = {}, }, -- Оборачивание текста в скобки/кавычки (ysiw", cs"', ds") { "kylechui/nvim-surround", event = "VeryLazy", opts = {}, }, -- Подсветка TODO/FIXME/HACK в коде { "folke/todo-comments.nvim", event = "BufRead", opts = {}, }, -- Автопереключение раскладки: English в Normal, восстановление в Insert { "keaising/im-select.nvim", event = "VimEnter", opts = { default_im_select = "com.apple.keylayout.US", default_command = "im-select", }, }, -- Просмотр markdown в терминале (mermaid, картинки, таблицы) { "aquele-dinho/mdviewer", ft = "markdown", config = function() vim.opt.rtp:append(vim.fn.stdpath "data" .. "/lazy/mdviewer/contrib/neovim/mdviewer.nvim") require("mdviewer").setup { style = "clean", window_type = "vsplit", auto_refresh = true, mermaid_mode = "terminal", } end, }, }