diff --git a/init.lua b/init.lua index fbf2747..ed68403 100644 --- a/init.lua +++ b/init.lua @@ -15,10 +15,5 @@ require("config.indent-blankline") require("config.fzf") require("config.mkdx") -require("config.mutton") -vim.api.nvim_create_autocmd("FileType", { - pattern = "mchat", - callback = function() - vim.opt_local.foldenable = false - end, -}) +--require("config.mutton") +require("config.cigan") diff --git a/lua/config/cigan.lua b/lua/config/cigan.lua new file mode 100644 index 0000000..5919f51 --- /dev/null +++ b/lua/config/cigan.lua @@ -0,0 +1,58 @@ + +vim.api.nvim_set_keymap("n", "", ":lua SaveAndRunScript()", { noremap = true, silent = true }) + +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") + + if current_buf ~= target_file then + vim.notify("Ошибка: Открыт не файл ~/desktop/govno/ui.md", vim.log.levels.ERROR) + return + end + + -- Сохраняем изменения в текущем файле + vim.cmd("write") + + -- Запускаем скрипт ~/cigan/interface.py асинхронно + local script_path = vim.fn.expand("~/dev/cigan/interface.py") + vim.fn.jobstart("bash " .. script_path, { + on_exit = function(_, exit_code) + if exit_code ~= 0 then + vim.notify("Ошибка при выполнении скрипта", 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", true, false, true), "n", true) + 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 diff --git a/lua/config/nvim-treesitter.lua b/lua/config/nvim-treesitter.lua index 838dff4..63fee6f 100644 --- a/lua/config/nvim-treesitter.lua +++ b/lua/config/nvim-treesitter.lua @@ -1,5 +1,27 @@ require'nvim-treesitter.configs'.setup { - ensure_installed = { "markdown", "bash", "markdown_inline", "lua", "python", "javascript", "html", "css", "c", "cpp", "rust" }, - highlight = { enable = true }, - indent = { enable = true } + highlight = { + enable = true, + disable = function(lang, buf) + -- Проверяем, существует ли буфер и связан ли он с файлом + if not buf or buf == 0 then + return true + end + + -- Получаем информацию о файле + local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + if not ok or not stats or not stats.size then + return true + end + + -- Отключаем подсветку для больших файлов + local max_filesize = 500 * 1024 -- 500 KB + if stats.size > max_filesize then + return true + end + + -- Включаем подсветку для всех остальных случаев + return false + end, + }, } + diff --git a/lua/config/render-markdown.lua b/lua/config/render-markdown.lua index 2e33cdb..0c78422 100644 --- a/lua/config/render-markdown.lua +++ b/lua/config/render-markdown.lua @@ -1,5 +1,6 @@ require('render-markdown').setup({ - render_modes = true, + debounce = 100, +-- render_modes = true, heading = { enabled = true, icons = { "", }, @@ -7,7 +8,7 @@ require('render-markdown').setup({ border = { true, true, true, false, false, false}, border_virtual = true, width = 'block', - right_pad = 2, + right_pad = 1, left_pad = 1, }, sign = { enabled = false }, diff --git a/lua/plugins.lua b/lua/plugins.lua index 43c29a8..80c6588 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -16,6 +16,15 @@ return { { "rebelot/kanagawa.nvim", -- Kanagawa тема }, + { + "navarasu/onedark.nvim", + config = function() + require("onedark").setup({ + style = "dark", -- Выберите стиль: 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer' + }) + require("onedark").load() -- Активируйте тему + end, + }, -- Иконки {