2024-02-14 17:15:26 +00:00
local static = require ( " codesnap.static " )
2024-03-16 17:07:12 +00:00
local table_utils = require ( " codesnap.utils.table " )
local string_utils = require ( " codesnap.utils.string " )
2024-04-05 15:23:17 +00:00
local config_module = require ( " codesnap.config " )
2024-03-16 17:07:12 +00:00
2024-02-21 10:33:44 +00:00
local main = {
cwd = static.cwd ,
preview_switch = static.preview_switch ,
}
2024-02-13 06:05:36 +00:00
function main . setup ( config )
2024-02-19 14:27:17 +00:00
static.config = table_utils.merge ( static.config , config == nil and { } or config )
2024-03-16 17:07:12 +00:00
end
2024-04-02 10:18:37 +00:00
function main . copy_into_clipboard ( extension )
2024-04-05 15:23:17 +00:00
require ( " generator " ) . copy_into_clipboard ( config_module.get_config ( extension ) )
2024-03-16 17:07:12 +00:00
vim.cmd ( " delmarks <> " )
vim.notify ( " Save snapshot into clipboard successfully " )
2024-02-21 10:33:44 +00:00
end
2024-04-02 10:18:37 +00:00
function main . save_snapshot ( extension )
2024-03-16 17:07:12 +00:00
if string_utils.is_str_empty ( static.config . save_path ) then
2024-04-02 12:04:37 +00:00
error (
" If you want to save snapshot in somewhere, you should config the save_path before, refer: https://github.com/mistricky/codesnap.nvim?tab=readme-ov-file#save-the-snapshot " ,
0
)
2024-03-16 17:07:12 +00:00
end
2024-04-05 16:10:08 +00:00
local matched_extension = string.match ( static.config . save_path , " %.(.+)$ " )
if matched_extension ~= " png " and matched_extension ~= nil then
error ( " The extension of save_path should be .png " , 0 )
end
local config = config_module.get_config ( extension )
require ( " generator " ) . save_snapshot ( config )
2024-03-16 17:07:12 +00:00
vim.cmd ( " delmarks <> " )
2024-04-05 16:10:08 +00:00
vim.notify ( " Save snapshot in " .. config.save_path .. " successfully " )
2024-02-21 10:33:44 +00:00
end
2024-02-13 06:05:36 +00:00
return main