From 2e7e64def1c90dbd68b3c4643d70908221f91791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=95=D0=9C=D0=90?= Date: Wed, 23 Apr 2025 00:25:36 +0300 Subject: [PATCH] something... --- init.lua | 6 ++- lua/config/cigan.lua | 81 +++++++++++----------------------- lua/config/common-settings.lua | 56 ++++++++++++----------- lua/config/markview.lua | 11 ++--- 4 files changed, 67 insertions(+), 87 deletions(-) diff --git a/init.lua b/init.lua index 62b3d14..4b0e9e5 100644 --- a/init.lua +++ b/init.lua @@ -17,4 +17,8 @@ require("config.fzf") require("config.mkdx") require("config.mutton") -require("config.cigan") + + +require('config.cigan') + +vim.api.nvim_set_keymap('n', '', [[lua require('config.cigan').run_script()]], { noremap = true, silent = true }) diff --git a/lua/config/cigan.lua b/lua/config/cigan.lua index e8ac0ee..8c20612 100644 --- a/lua/config/cigan.lua +++ b/lua/config/cigan.lua @@ -1,62 +1,33 @@ -vim.api.nvim_set_keymap("n", "", ":lua SaveAndRunScript()", { noremap = true, silent = true }) +local M = {} -function SaveAndRunScript() - -- Проверяем, что открыт именно буфер ~/cigan/ui.md - local current_buf = vim.api.nvim_buf_get_name(0) - local target_file = vim.fn.expand("~/desktop/govno/ui.md") +function M.run_script() + -- Проверяем, что открыт именно файл ~/desktop/govno/ui.md + local current_file = vim.fn.expand('%:p') -- Полный путь к текущему файлу + local target_file = vim.fn.expand('~/desktop/govno/ui.md') - if current_buf ~= target_file then - vim.notify("Ошибка: Открыт не файл ~/desktop/govno/ui.md", vim.log.levels.ERROR) - return + if current_file ~= target_file then + print("Ошибка: Открыт не тот файл. Должен быть открыт " .. target_file) + return + end + + -- Сохраняем файл + vim.cmd('w') + + -- Запускаем скрипт + print("Ожидайте ответа") + local script_path = vim.fn.expand('~/dev/python/interface.py') + + vim.fn.jobstart({'python3', script_path}, { + on_exit = function() + vim.cmd('e') -- Перезагружаем файл после завершения скрипта + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), 'n', false) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("20", true, false, true), 'n', false) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), 'n', false) + print("Отвечено!") end + }) - -- Сохраняем изменения в текущем файле - 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("Ошибка при выполнении скрипта. Код выхода: " .. exit_code, vim.log.levels.ERROR) - return - end - - -- Обновляем буфер ~/cigan/ui.md и переходим в конец файла - vim.cmd("edit") - vim.cmd('echo "Сгенерировано!"') - end, - }) end - - -vim.api.nvim_set_keymap('n', 'y', ':lua CheckBufferAndRun()', { noremap = true, silent = false }) - -function CheckBufferAndRun() - -- Получаем полный путь к текущему файлу - local current_file = vim.fn.expand('%:p') - - -- Путь к целевому файлу - local target_file = vim.fn.expand('~/desktop/govno/ui.md') - - -- Проверяем, совпадает ли текущий файл с целевым - if current_file == target_file then - -- Выполняем скрипт на удаленном сервере через SSH - vim.cmd('!ssh xer@dev "~/cigan/new_chat.sh"') - vim.cmd('echo "Новый чат создан!"') - else - -- Выводим сообщение об ошибке - vim.cmd('echo "Ошибка: Эта команда работает только в файле ~/desktop/govno/ui.md"') - end -end +return M diff --git a/lua/config/common-settings.lua b/lua/config/common-settings.lua index aa43442..e1359a6 100644 --- a/lua/config/common-settings.lua +++ b/lua/config/common-settings.lua @@ -89,34 +89,38 @@ vim.opt.showmatch = true vim.o.laststatus = 0 -- Отключает строку состояния --- init.lua -- Функция для случайного выбора цветовой темы --- --- local function set_random_colorscheme() --- -- Список доступных цветовых тем --- local colorschemes = { --- "tokyonight-night", --- "gruvbox", --- "kanagawa", --- "kanagawa-wave", --- "kanagawa-dragon", --- "nightfly", --- "randomhue", --- "darkblue", --- "habamax", --- "minischeme", --- "retrobox", --- "slate", --- "zaibatsu", --- } --- math.randomseed(os.time()) --- local random_index = math.random(1, #colorschemes) --- vim.cmd("colorscheme " .. colorschemes[random_index]) --- end --- set_random_colorscheme() --- vim.api.nvim_create_user_command("RandomColorscheme", set_random_colorscheme, {}) + -- local function set_random_colorscheme() + -- -- Список доступных цветовых тем + -- local colorschemes = { + -- "default", + -- "tokyonight-night", + -- "gruvbox", + -- "kanagawa", + -- "kanagawa-wave", + -- "kanagawa-dragon", + -- "nightfly", + -- "darkblue", + -- "habamax", + -- "retrobox", + -- "slate", + -- "zaibatsu", + -- "lunaperche", + -- "desert", + -- "quiet", + -- "sorbet", + -- "unokai", + -- "wildcharm", + -- } + -- math.randomseed(os.time()) + -- local random_index = math.random(1, #colorschemes) + -- vim.cmd("colorscheme " .. colorschemes[random_index]) + -- end + -- set_random_colorscheme() + -- vim.api.nvim_create_user_command("RandomColorscheme", set_random_colorscheme, {}) + -- --vim.cmd("colorscheme retrobox") @@ -129,7 +133,7 @@ vim.o.laststatus = 0 -- Отключает строку состояния --vim.cmd("colorscheme nightfly") --vim.cmd("colorscheme randomhue") --vim.cmd("colorscheme kanagawa") -vim.cmd("colorscheme habamax") +vim.cmd("colorscheme wildcharm") diff --git a/lua/config/markview.lua b/lua/config/markview.lua index 5b2477f..f9ad4d9 100644 --- a/lua/config/markview.lua +++ b/lua/config/markview.lua @@ -1,5 +1,7 @@ require('markview').setup({ markdown = { + debounce = 300, -- Задержка обновления + headings = { enable = true, org_shift_char = " ", @@ -99,7 +101,7 @@ require('markview').setup({ }, marker_plus = { - add_padding = true, + add_padding = false, conceal_on_checkboxes = true, text = "", @@ -107,7 +109,7 @@ require('markview').setup({ }, marker_star = { - add_padding = true, + add_padding = false, conceal_on_checkboxes = true, text = "", @@ -115,12 +117,12 @@ require('markview').setup({ }, marker_dot = { - add_padding = true, + add_padding = false, conceal_on_checkboxes = true, }, marker_parenthesis = { - add_padding = true, + add_padding = false, conceal_on_checkboxes = true, } }, @@ -135,7 +137,6 @@ require('markview').setup({ 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 = {