init
This commit is contained in:
185
lua/config/markview.lua
Normal file
185
lua/config/markview.lua
Normal file
@ -0,0 +1,185 @@
|
||||
require('markview').setup({
|
||||
markdown = {
|
||||
debounce = 300, -- Задержка обновления
|
||||
|
||||
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" -- Упрощенная подсветка без градиента
|
||||
}
|
||||
}
|
||||
};
|
||||
list_items = {
|
||||
enable = true,
|
||||
wrap = false,
|
||||
|
||||
indent_size = 2,
|
||||
shift_width = 4,
|
||||
|
||||
marker_minus = {
|
||||
add_padding = false,
|
||||
conceal_on_checkboxes = true,
|
||||
|
||||
text = "",
|
||||
hl = "MarkviewListItemMinus"
|
||||
},
|
||||
|
||||
marker_plus = {
|
||||
add_padding = false,
|
||||
conceal_on_checkboxes = true,
|
||||
|
||||
text = "",
|
||||
hl = "MarkviewListItemPlus"
|
||||
},
|
||||
|
||||
marker_star = {
|
||||
add_padding = false,
|
||||
conceal_on_checkboxes = true,
|
||||
|
||||
text = "",
|
||||
hl = "MarkviewListItemStar"
|
||||
},
|
||||
|
||||
marker_dot = {
|
||||
add_padding = false,
|
||||
conceal_on_checkboxes = true,
|
||||
},
|
||||
|
||||
marker_parenthesis = {
|
||||
add_padding = false,
|
||||
conceal_on_checkboxes = true,
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
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 }, -- Рендерить весь остальной текст
|
||||
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
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user