125 lines
3.7 KiB
Lua
125 lines
3.7 KiB
Lua
---@module "plugins.terminal"
|
|
--- This module defines the terminal plugins spec for the Neovim configuration.
|
|
-- ╭─────────────────────────────────────────────────────────╮
|
|
-- │ Terminals │
|
|
-- ╰─────────────────────────────────────────────────────────╯
|
|
local data = require("data")
|
|
|
|
return {
|
|
{ -- Smart-Splits
|
|
"mrjones2014/smart-splits.nvim",
|
|
lazy = false,
|
|
build = data.types.smart_splits.build(),
|
|
},
|
|
{ -- Image Renderer
|
|
"3rd/image.nvim",
|
|
ft = 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 = "VeryLazy",
|
|
keys = data.keys.toggleterm,
|
|
config = function()
|
|
require("toggleterm").setup(data.types.toggleterm)
|
|
end,
|
|
},
|
|
{ -- Kitty-Runner
|
|
"jghauser/kitty-runner.nvim",
|
|
cond = data.func.is_kitty(),
|
|
},
|
|
{ -- Kitty-Scrollback
|
|
"mikesmithgh/kitty-scrollback.nvim",
|
|
enabled = true,
|
|
lazy = true,
|
|
cmd = data.cmd.kitty_scrollback,
|
|
event = { "User KittyScrollbackLaunch" },
|
|
version = "*",
|
|
config = function() -- Using Kitty-Scrollback
|
|
if data.func.is_kitty_scrollback() then
|
|
require("kitty-scrollback").setup()
|
|
end
|
|
end,
|
|
cond = data.func.is_kitty_scrollback(),
|
|
},
|
|
{ -- Nekifoch
|
|
"NeViRAIDE/nekifoch.nvim",
|
|
lazy = true,
|
|
cmd = data.cmd.nekifoch,
|
|
opts = {
|
|
kitty_conf_path = vim.env.HOME .. "/.kittyoverrides",
|
|
},
|
|
keys = data.keys.nekifoch,
|
|
cond = data.func.is_kitty(),
|
|
},
|
|
{ -- WezTerm
|
|
"willothy/wezterm.nvim",
|
|
config = true,
|
|
cond = data.func.is_wezterm(),
|
|
},
|
|
{ -- Tmux
|
|
"aserowy/tmux.nvim",
|
|
config = function()
|
|
return require("tmux").setup()
|
|
end,
|
|
cond = data.func.is_tmux(),
|
|
},
|
|
}
|