markview
This commit is contained in:
parent
115e0b93c5
commit
6dd726ea14
5
init.lua
5
init.lua
@ -9,11 +9,12 @@ require("config.nvim-treesitter")
|
||||
require("config.lualine")
|
||||
require("config.nvim-cmp")
|
||||
require("config.nvim-lspconfig")
|
||||
require("config.render-markdown")
|
||||
--require("config.render-markdown")
|
||||
require("config.markview")
|
||||
|
||||
require("config.indent-blankline")
|
||||
require("config.fzf")
|
||||
require("config.mkdx")
|
||||
|
||||
--require("config.mutton")
|
||||
require("config.mutton")
|
||||
require("config.cigan")
|
||||
|
@ -13,30 +13,34 @@ function SaveAndRunScript()
|
||||
|
||||
-- Сохраняем изменения в текущем файле
|
||||
vim.cmd("write")
|
||||
vim.notify("Файл сохранен.", vim.log.levels.INFO)
|
||||
|
||||
-- Запускаем скрипт ~/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, {
|
||||
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)
|
||||
if exit_code ~= 0 then
|
||||
vim.notify("Ошибка при выполнении скрипта", vim.log.levels.ERROR)
|
||||
vim.notify("Ошибка при выполнении скрипта. Код выхода: " .. exit_code, vim.log.levels.ERROR)
|
||||
return
|
||||
end
|
||||
|
||||
-- Обновляем буфер ~/cigan/ui.md и переходим в конец файла
|
||||
vim.cmd("edit")
|
||||
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)
|
||||
vim.cmd('echo "Сгенерировано!"')
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<leader>y', ':lua CheckBufferAndRun()<CR>', { noremap = true, silent = false })
|
||||
|
||||
function CheckBufferAndRun()
|
||||
|
@ -119,8 +119,8 @@ vim.o.laststatus = 0 -- Отключает строку состояния
|
||||
|
||||
|
||||
|
||||
--vim.cmd("colorscheme tokyonight-night")
|
||||
--vim.cmd("colorscheme gruvbox")
|
||||
--vim.cmd("colorscheme retrobox")
|
||||
--vim.cmd("colorscheme retrobox")
|
||||
--vim.cmd("colorscheme astra") -- Применение темы
|
||||
--vim.cmd("colorscheme kanagawa") -- Основная схема
|
||||
--vim.cmd("colorscheme kanagawa-wave") -- Более светлая версия
|
||||
@ -129,7 +129,7 @@ vim.o.laststatus = 0 -- Отключает строку состояния
|
||||
--vim.cmd("colorscheme nightfly")
|
||||
--vim.cmd("colorscheme randomhue")
|
||||
--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.number = true
|
||||
vim.opt.relativenumber = true
|
||||
|
145
lua/config/markview.lua
Normal file
145
lua/config/markview.lua
Normal 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
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
|
||||
vim.g.mutton_min_center_width = 95
|
||||
-- Для Mutton
|
||||
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
|
||||
|
@ -31,14 +31,14 @@ return {
|
||||
"nvim-tree/nvim-web-devicons", -- Провайдер иконок для других плагинов
|
||||
},
|
||||
|
||||
-- Интерфейс и UI
|
||||
{
|
||||
"MeanderingProgrammer/render-markdown.nvim", -- Рендеринг Markdown
|
||||
dependencies = { "echasnovski/mini.nvim", opt = true },
|
||||
config = function()
|
||||
require("config.render-markdown")
|
||||
end,
|
||||
},
|
||||
-- Интерфейс и 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 },
|
||||
@ -130,11 +130,22 @@ return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
dependencies = { "OXY2DEV/markview.nvim" },
|
||||
config = function()
|
||||
require("config.nvim-treesitter")
|
||||
end,
|
||||
},
|
||||
{
|
||||
{
|
||||
"OXY2DEV/markview.nvim",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("config.markview")
|
||||
end,
|
||||
dependencies = {
|
||||
"saghen/blink.cmp"
|
||||
},
|
||||
},
|
||||
{
|
||||
'gsuuon/model.nvim',
|
||||
config = function()
|
||||
local bash_provider = {
|
||||
|
Loading…
Reference in New Issue
Block a user