165 lines
4.8 KiB
Lua
165 lines
4.8 KiB
Lua
return {
|
||
-- ==============================
|
||
-- Визуальные плагины
|
||
-- ==============================
|
||
|
||
-- Темы оформления
|
||
{
|
||
"bluz71/vim-nightfly-colors", -- Nightfly тема
|
||
},
|
||
{
|
||
"folke/tokyonight.nvim", -- TokyoNight тема
|
||
},
|
||
{
|
||
"morhetz/gruvbox", -- Gruvbox тема
|
||
},
|
||
{
|
||
"rebelot/kanagawa.nvim", -- Kanagawa тема
|
||
},
|
||
|
||
-- Иконки
|
||
{
|
||
"nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов
|
||
},
|
||
|
||
-- Интерфейс и UI
|
||
{
|
||
"MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown
|
||
dependencies = { "echasnovski/mini.nvim", opt = true },
|
||
config = function()
|
||
require("config.render-markdown")
|
||
end,
|
||
},
|
||
{
|
||
"nvim-lualine/lualine.nvim", -- Статусная строка
|
||
dependencies = { "kyazdani42/nvim-web-devicons", optional = true },
|
||
},
|
||
{
|
||
"lukas-reineke/indent-blankline.nvim", -- Визуализация отступов
|
||
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",
|
||
}
|
||
},
|
||
{
|
||
"iamcco/markdown-preview.nvim",
|
||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||
build = "cd app && yarn install",
|
||
init = function()
|
||
vim.g.mkdp_filetypes = { "markdown" }
|
||
end,
|
||
ft = { "markdown" },
|
||
},
|
||
-- ==============================
|
||
-- Функциональные плагины
|
||
-- ==============================
|
||
|
||
-- 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 серверами
|
||
},
|
||
|
||
-- Поиск и навигация
|
||
{
|
||
"ibhagwan/fzf-lua", -- FZF для быстрого поиска
|
||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||
opts = {},
|
||
},
|
||
{
|
||
"nvim-lua/plenary.nvim", -- Библиотека для других плагинов
|
||
},
|
||
|
||
-- Другие функциональные плагины
|
||
{
|
||
"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",
|
||
config = function()
|
||
require("config.nvim-treesitter")
|
||
end,
|
||
},
|
||
{
|
||
'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
|
||
}
|
||
}
|