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.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")
|
||||||
|
@ -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()
|
||||||
|
@ -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
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
|
-- Для 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
|
||||||
|
@ -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 = {
|
||||||
|
Loading…
Reference in New Issue
Block a user