SexNvim/lua/plugins.lua

186 lines
5.3 KiB
Lua
Raw Normal View History

2025-02-28 01:39:45 +03:00
return {
-- ==============================
-- Визуальные плагины
-- ==============================
2025-02-28 01:39:45 +03:00
-- Темы оформления
2025-02-28 01:39:45 +03:00
{
"bluz71/vim-nightfly-colors", -- Nightfly тема
},
{
"folke/tokyonight.nvim", -- TokyoNight тема
},
{
"morhetz/gruvbox", -- Gruvbox тема
},
{
"rebelot/kanagawa.nvim", -- Kanagawa тема
2025-02-28 01:39:45 +03:00
},
2025-04-10 22:48:33 +03:00
{
"navarasu/onedark.nvim",
config = function()
require("onedark").setup({
style = "dark", -- Выберите стиль: 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer'
})
require("onedark").load() -- Активируйте тему
end,
},
2025-02-28 01:39:45 +03:00
-- Иконки
{
"nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов
},
2025-02-28 01:39:45 +03:00
2025-04-15 20:44:47 +03:00
-- Интерфейс и UI
-- {
-- "MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown
-- dependencies = { "echasnovski/mini.nvim", opt = true },
-- config = function()
-- require("config.render-markdown")
-- end,
-- },
2025-02-28 01:39:45 +03:00
{
"nvim-lualine/lualine.nvim", -- Статусная строка
dependencies = { "kyazdani42/nvim-web-devicons", optional = true },
2025-02-28 01:39:45 +03:00
},
{
"lukas-reineke/indent-blankline.nvim", -- Визуализация отступов
2025-02-28 01:39:45 +03:00
config = function()
require("config.indent-blankline")
end,
},
{
"folke/noice.nvim",
event = "VeryLazy",
opts = {
-- add any options here
},
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify",
}
2025-02-28 01:39:45 +03:00
},
2025-04-03 15:18:04 +03:00
{
2025-04-12 15:55:11 +03:00
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
vim.g.mkdp_markdown_css = vim.fn.expand("~/.config/nvim/markdown.css")
end,
ft = { "markdown" },
2025-04-03 15:18:04 +03:00
},
-- ==============================
-- Функциональные плагины
-- ==============================
2025-02-28 01:39:45 +03:00
-- LSP и автодополнение
{
"hrsh7th/cmp-nvim-lsp", -- Интеграция nvim-cmp с LSP
},
{
"hrsh7th/cmp-nvim-lsp-signature-help", -- Поддержка сигнатур LSP в автодополнении
},
{
"hrsh7th/cmp-path", -- Автодополнение путей
},
{
"hrsh7th/nvim-cmp", -- Основной плагин автодополнения
},
{
"neovim/nvim-lspconfig", -- Конфигурация LSP
},
{
"williamboman/mason.nvim", -- Управление LSP серверами
2025-02-28 15:54:04 +03:00
},
2025-02-28 01:39:45 +03:00
-- Поиск и навигация
{
"ibhagwan/fzf-lua", -- FZF для быстрого поиска
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
},
{
"nvim-lua/plenary.nvim", -- Библиотека для других плагинов
},
2025-03-01 13:25:22 +03:00
-- Другие функциональные плагины
{
"antoinemadec/FixCursorHold.nvim", -- Исправление CursorHold событий
},
{
"gabenespoli/vim-mutton", -- Дополнительные возможности для работы с текстом
},
{
"kyazdani42/nvim-tree.lua", -- Файловый менеджер
dependencies = { "nvim-tree/nvim-web-devicons" },
},
{
"nanotee/zoxide.vim", -- Интеграция с zoxide для быстрой навигации
},
{
"SidOfc/mkdx", -- Улучшения для работы с Markdown
},
-- Treesitter для синтаксического анализа
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
2025-04-15 20:44:47 +03:00
dependencies = { "OXY2DEV/markview.nvim" },
config = function()
require("config.nvim-treesitter")
end,
},
2025-04-15 20:44:47 +03:00
{
"OXY2DEV/markview.nvim",
lazy = false,
config = function()
require("config.markview")
end,
dependencies = {
"saghen/blink.cmp"
},
},
{
2025-04-03 15:18:04 +03:00
'gsuuon/model.nvim',
config = function()
local bash_provider = {
request_completion = function(handlers, params, options)
local input = params.input
local command = "~/test '" .. input .. "'"
local handle = io.popen(command)
local result = handle:read("*a")
handle:close()
local response = vim.json.decode(result)
handlers.on_partial(response.message.content)
handlers.on_finish()
end
}
require('model').setup({
chats = {
mybash = {
provider = bash_provider,
create = function(input, context)
return {
messages = {
{ role = 'user', content = input }
}
}
end,
run = function(messages, config)
local last_message = messages[#messages]
return { input = last_message.content }
end
}
}
})
end
}
2025-02-28 01:39:45 +03:00
}