This commit is contained in:
СЕМА 2025-04-15 20:44:47 +03:00
parent 115e0b93c5
commit 6dd726ea14
6 changed files with 185 additions and 22 deletions

View File

@ -9,11 +9,12 @@ require("config.nvim-treesitter")
require("config.lualine") require("config.lualine")
require("config.nvim-cmp") require("config.nvim-cmp")
require("config.nvim-lspconfig") require("config.nvim-lspconfig")
require("config.render-markdown") --require("config.render-markdown")
require("config.markview")
require("config.indent-blankline") require("config.indent-blankline")
require("config.fzf") require("config.fzf")
require("config.mkdx") require("config.mkdx")
--require("config.mutton") require("config.mutton")
require("config.cigan") require("config.cigan")

View File

@ -13,30 +13,34 @@ function SaveAndRunScript()
-- Сохраняем изменения в текущем файле -- Сохраняем изменения в текущем файле
vim.cmd("write") vim.cmd("write")
vim.notify("Файл сохранен.", vim.log.levels.INFO)
-- Запускаем скрипт ~/cigan/interface.py асинхронно -- Запускаем скрипт ~/cigan/interface.py асинхронно
local script_path = vim.fn.expand("~/dev/cigan/interface.py") local script_path = vim.fn.expand("~/dev/cigan/interface.py")
vim.notify("Запуск скрипта: " .. script_path, vim.log.levels.INFO)
vim.fn.jobstart("bash " .. script_path, { vim.fn.jobstart("bash " .. script_path, {
on_stdout = function(_, data)
vim.notify("STDOUT: " .. table.concat(data, "\n"), vim.log.levels.INFO)
end,
on_stderr = function(_, data)
vim.notify("STDERR: " .. table.concat(data, "\n"), vim.log.levels.ERROR)
end,
on_exit = function(_, exit_code) on_exit = function(_, exit_code)
if exit_code ~= 0 then if exit_code ~= 0 then
vim.notify("Ошибка при выполнении скрипта", vim.log.levels.ERROR) vim.notify("Ошибка при выполнении скрипта. Код выхода: " .. exit_code, vim.log.levels.ERROR)
return return
end end
-- Обновляем буфер ~/cigan/ui.md и переходим в конец файла -- Обновляем буфер ~/cigan/ui.md и переходим в конец файла
vim.cmd("edit") vim.cmd("edit")
vim.cmd('echo "Сгенерировано!"') vim.cmd('echo "Сгенерировано!"')
--vim.cmd("normal! G") -- Переход в конец файла
-- Добавляем нажатие 20 и Ctrl+e
--vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("2<C-e>", true, false, true), "n", true)
end, end,
}) })
end end
vim.api.nvim_set_keymap('n', '<leader>y', ':lua CheckBufferAndRun()<CR>', { noremap = true, silent = false }) vim.api.nvim_set_keymap('n', '<leader>y', ':lua CheckBufferAndRun()<CR>', { noremap = true, silent = false })
function CheckBufferAndRun() function CheckBufferAndRun()

View File

@ -119,8 +119,8 @@ vim.o.laststatus = 0 -- Отключает строку состояния
--vim.cmd("colorscheme tokyonight-night") --vim.cmd("colorscheme retrobox")
--vim.cmd("colorscheme gruvbox") --vim.cmd("colorscheme retrobox")
--vim.cmd("colorscheme astra") -- Применение темы --vim.cmd("colorscheme astra") -- Применение темы
--vim.cmd("colorscheme kanagawa") -- Основная схема --vim.cmd("colorscheme kanagawa") -- Основная схема
--vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия --vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия
@ -129,7 +129,7 @@ vim.o.laststatus = 0 -- Отключает строку состояния
--vim.cmd("colorscheme nightfly") --vim.cmd("colorscheme nightfly")
--vim.cmd("colorscheme randomhue") --vim.cmd("colorscheme randomhue")
--vim.cmd("colorscheme kanagawa") --vim.cmd("colorscheme kanagawa")
vim.cmd("colorscheme tokyonight-night") vim.cmd("colorscheme habamax")
@ -203,3 +203,5 @@ vim.opt.termguicolors = true
vim.opt.linebreak = true vim.opt.linebreak = true
vim.opt.number = true
vim.opt.relativenumber = true

145
lua/config/markview.lua Normal file
View File

@ -0,0 +1,145 @@
require('markview').setup({
markdown = {
headings = {
enable = true,
org_shift_char = " ",
shift_width = 0,
org_indent = false,
org_indent_wrap = false,
heading_1 = {
style = "label",
sign = "",
},
heading_2 = {
style = "label",
sign = "",
},
heading_3 = {
style = "label",
},
heading_4 = {
style = "label",
},
heading_5 = {
style = "label",
},
heading_6 = {
style = "label",
},
setext_1 = {
style = "decorated",
sign = "", sign_hl = "MarkviewHeading1Sign",
icon = "", hl = "MarkviewHeading1",
border = ""
},
setext_2 = {
style = "decorated",
sign = "", sign_hl = "MarkviewHeading2Sign",
icon = "", hl = "MarkviewHeading2",
border = ""
}
};
horizontal_rules = {
enable = true, -- Оставляем предпросмотр горизонтальных линий включенным
parts = {
{
type = "repeating",
repeat_amount = function (buffer)
local utils = require("markview.utils");
local window = utils.buf_getwin(buffer)
local width = vim.api.nvim_win_get_width(window)
local textoff = vim.fn.getwininfo(window)[1].textoff;
return math.floor((width - textoff - 3) / 2);
end,
text = "", -- Символ для повторения
hl = "MarkviewBlockQuoteDefault" -- Упрощенная подсветка без градиента
},
{
type = "text",
text = " $ ", -- Центральный символ изменен на "$"
hl = "MarkviewBlockQuoteDefault" -- Упрощенная подсветка без градиента
},
{
type = "repeating",
repeat_amount = function (buffer)
local utils = require("markview.utils");
local window = utils.buf_getwin(buffer)
local width = vim.api.nvim_win_get_width(window)
local textoff = vim.fn.getwininfo(window)[1].textoff;
return math.ceil((width - textoff - 3) / 2);
end,
direction = "right",
text = "", -- Символ для повторения
hl = "MarkviewBlockQuoteDefault" -- Упрощенная подсветка без градиента
}
}
};
},
preview = {
enable = true,
enable_hybrid_mode = true,
modes = { "n", "i", "v", "c" }, -- Работает во всех основных режимах
hybrid_modes = { "n", "v", "c" }, -- Hybrid mode во всех режимах
linewise_hybrid_mode = true, -- Линейный режим hybrid
edit_range = { 0, 0 }, -- Диапазон для input mode (-1, 1)
draw_range = { vim.o.lines, vim.o.lines }, -- Рендерить весь остальной текст
debounce = 200, -- Задержка обновления
filetypes = { "markdown", "rmd", "quarto", "typst" }, -- Поддерживаемые форматы
ignore_buftypes = { "nofile" },
callbacks = {
on_attach = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 3
end
end,
on_detach = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 0
end
end,
on_enable = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 3
end
end,
on_disable = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 0
end
end,
on_hybrid_enable = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 3
end
end,
on_hybrid_disable = function(_, wins)
for _, win in ipairs(wins) do
vim.wo[win].conceallevel = 0
end
end,
on_mode_change = function(_, wins, current_mode)
local preview_modes = { "n", "i", "v", "c" }
for _, win in ipairs(wins) do
if vim.tbl_contains(preview_modes, current_mode) then
vim.wo[win].conceallevel = 3
else
vim.wo[win].conceallevel = 0
end
end
end
}
}
})

View File

@ -1,4 +1,4 @@
vim.g.mutton_min_center_width = 95
-- Для Mutton -- Для Mutton
local normal_bg = vim.fn.synIDattr(vim.fn.hlID("Normal"), "bg") local normal_bg = vim.fn.synIDattr(vim.fn.hlID("Normal"), "bg")
vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = normal_bg} ) -- overrides `~` character at the end of buffer vim.api.nvim_set_hl(0, "EndOfBuffer", { fg = normal_bg} ) -- overrides `~` character at the end of buffer

View File

@ -31,14 +31,14 @@ return {
"nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов "nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов
}, },
-- Интерфейс и UI -- Интерфейс и UI
{ -- {
"MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown -- "MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown
dependencies = { "echasnovski/mini.nvim", opt = true }, -- dependencies = { "echasnovski/mini.nvim", opt = true },
config = function() -- config = function()
require("config.render-markdown") -- require("config.render-markdown")
end, -- end,
}, -- },
{ {
"nvim-lualine/lualine.nvim", -- Статусная строка "nvim-lualine/lualine.nvim", -- Статусная строка
dependencies = { "kyazdani42/nvim-web-devicons", optional = true }, dependencies = { "kyazdani42/nvim-web-devicons", optional = true },
@ -130,11 +130,22 @@ return {
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
dependencies = { "OXY2DEV/markview.nvim" },
config = function() config = function()
require("config.nvim-treesitter") require("config.nvim-treesitter")
end, end,
}, },
{ {
"OXY2DEV/markview.nvim",
lazy = false,
config = function()
require("config.markview")
end,
dependencies = {
"saghen/blink.cmp"
},
},
{
'gsuuon/model.nvim', 'gsuuon/model.nvim',
config = function() config = function()
local bash_provider = { local bash_provider = {