something...
This commit is contained in:
@ -1,62 +1,33 @@
|
||||
|
||||
vim.api.nvim_set_keymap("n", "<leader><Enter>", ":lua SaveAndRunScript()<CR>", { 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("<S-g>", 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("<C-e>", 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', '<leader>y', ':lua CheckBufferAndRun()<CR>', { 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
|
||||
|
||||
Reference in New Issue
Block a user