kickstart.nvim/lua/custom/plugins/images.lua

105 lines
3.5 KiB
Lua

return {
-- {
-- 'vhyrro/luarocks.nvim',
-- priority = 1001,
-- opts = {
-- rocks = { 'magick' },
-- },
-- event = 'VeryLazy', -- Adjust this based on your needs
-- },
-- {
-- 'willothy/wezterm.nvim',
-- config = true,
-- event = 'BufWinEnter', -- Or another appropriate event
-- },
-- {
-- '3rd/image.nvim',
-- enabled = true,
-- commit = 'deb158d',
-- dev = false,
-- ft = { 'markdown', 'quarto', 'vimwiki' },
-- config = function()
-- local image = require 'image'
-- image.setup {
-- backend = 'wezterm',
-- integrations = {
-- markdown = {
-- enabled = true,
-- only_render_image_at_cursor = true,
-- filetypes = { 'markdown', 'vimwiki', 'quarto' },
-- },
-- },
-- editor_only_render_when_focused = false,
-- window_overlap_clear_enabled = true,
-- tmux_show_only_in_active_window = true,
-- window_overlap_clear_ft_ignore = { 'cmp_menu', 'cmp_docs', 'scrollview', 'scrollview_sign' },
-- max_width = nil,
-- max_height = nil,
-- max_width_window_percentage = nil,
-- max_height_window_percentage = 30,
-- kitty_method = 'normal',
-- }
--
-- local function clear_all_images()
-- local bufnr = vim.api.nvim_get_current_buf()
-- local images = image.get_images { buffer = bufnr }
-- for _, img in ipairs(images) do
-- img:clear()
-- end
-- end
--
-- local function get_image_at_cursor(buf)
-- local images = image.get_images { buffer = buf }
-- local row = vim.api.nvim_win_get_cursor(0)[1] - 1
-- for _, img in ipairs(images) do
-- if img.geometry ~= nil and img.geometry.y == row then
-- local og_max_height = img.global_state.options.max_height_window_percentage
-- img.global_state.options.max_height_window_percentage = nil
-- return img, og_max_height
-- end
-- end
-- return nil
-- end
--
-- local create_preview_window = function(img, og_max_height)
-- local buf = vim.api.nvim_create_buf(false, true)
-- local win_width = vim.api.nvim_get_option_value('columns', {})
-- local win_height = vim.api.nvim_get_option_value('lines', {})
-- local win = vim.api.nvim_open_win(buf, true, {
-- relative = 'editor',
-- style = 'minimal',
-- width = win_width,
-- height = win_height,
-- row = 0,
-- col = 0,
-- zindex = 1000,
-- })
-- vim.keymap.set('n', 'q', function()
-- vim.api.nvim_win_close(win, true)
-- img.global_state.options.max_height_window_percentage = og_max_height
-- end, { buffer = buf })
-- return { buf = buf, win = win }
-- end
--
-- local handle_zoom = function(bufnr)
-- local img, og_max_height = get_image_at_cursor(bufnr)
-- if img == nil then
-- return
-- end
--
-- local preview = create_preview_window(img, og_max_height)
-- image.hijack_buffer(img.path, preview.win, preview.buf)
-- end
--
-- vim.keymap.set('n', '<leader>io', function()
-- local bufnr = vim.api.nvim_get_current_buf()
-- handle_zoom(bufnr)
-- end, { buffer = true, desc = 'image [o]pen' })
--
-- vim.keymap.set('n', '<leader>ic', clear_all_images, { desc = 'image [c]lear' })
-- end,
-- },
--
}