---@module "plugins.terminal" --- This module defines the terminal plugins spec for the Neovim configuration. -- ╭─────────────────────────────────────────────────────────╮ -- │ Terminals │ -- ╰─────────────────────────────────────────────────────────╯ return { { -- Smart-Splits 'mrjones2014/smart-splits.nvim', lazy = false, build = require('data.types').smart_splits.build(), -- cond = not require('data.func').is_ghostty(), }, -- { -- Image Renderer -- '3rd/image.nvim', -- lazy = true, -- ft = require('data.types').image, -- config = function() -- require('image').setup({ -- backend = 'kitty', -- Kitty will provide the best experience, but you need a compatible terminal -- processor = 'magick_cli', -- kitty_method = 'normal', -- integrations = { -- markdown = { -- enabled = true, -- clear_in_insert_mode = false, -- download_remote_images = true, -- only_render_image_at_cursor = false, -- filetypes = { 'markdown', 'vimwiki' }, -- markdown extensions (ie. quarto) can go here -- }, -- neorg = { -- enabled = true, -- clear_in_insert_mode = false, -- download_remote_images = true, -- only_render_image_at_cursor = false, -- filetypes = { 'norg' }, -- }, -- html = { -- enabled = false, -- }, -- css = { -- enabled = false, -- }, -- }, -- max_width = 200, -- tweak to preference -- max_height = 40, -- ^ -- max_height_window_percentage = math.huge, -- this is necessary for a good experience -- max_width_window_percentage = math.huge, -- window_overlap_clear_enabled = false, -- window_overlap_clear_ft_ignore = { -- 'cmp_menu', -- 'cmp_docs', -- 'neotree', -- 'neominimap', -- 'minimap', -- '', -- }, -- hijack_file_patterns = { -- '*.png', -- '*.jpg', -- '*.jpeg', -- '*.gif', -- '*.webp', -- '*.avif', -- }, -- render image files as images when opened -- }) -- end, -- cond = function() -- -- Disable image rendering in Neovide -- -- or when vim.g.useimage = false -- if vim.g.useimage == false then -- return false -- end -- return not vim.g.neovide -- end, -- }, -- { -- ToggleTerm -- 'akinsho/toggleterm.nvim', -- event = 'TermOpen', -- keys = require('data.keys').toggleterm, -- config = function() -- require('toggleterm').setup(require('data.types').toggleterm) -- end, -- }, { -- Kitty-Runner 'jghauser/kitty-runner.nvim', cond = require('data.func').is_kitty(), }, { -- Kitty-Scrollback 'mikesmithgh/kitty-scrollback.nvim', enabled = true, lazy = true, cmd = require('data.cmd').kitty_scrollback, event = { 'User KittyScrollbackLaunch' }, version = '*', config = function() -- Using Kitty-Scrollback if require('data.func').is_kitty_scrollback() then require('kitty-scrollback').setup() end end, cond = require('data.func').is_kitty_scrollback(), }, { -- Nekifoch 'NeViRAIDE/nekifoch.nvim', lazy = true, cmd = require('data.cmd').nekifoch, opts = { kitty_conf_path = vim.env.HOME .. '/.kittyoverrides', }, keys = require('data.keys').nekifoch, cond = require('data.func').is_kitty(), }, { -- WezTerm 'willothy/wezterm.nvim', config = true, cond = require('data.func').is_wezterm(), }, { -- Tmux 'aserowy/tmux.nvim', config = function() return require('tmux').setup() end, cond = require('data.func').is_tmux(), }, -- { -- Ghostyy -- 'isak102/ghostty.nvim', -- cond = require('data.func').is_ghostty(), -- config = function() -- require('ghostty').setup() -- end, -- }, }