return { { "voldikss/vim-floaterm", cmd = { "FloatermNew", "FloatermToggle", "FloatermNext", "FloatermPrev", "FloatermLast", "FloatermFirst" }, --stylua: ignore keys = { { "", "FloatermNew --disposable --name=yaziroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= yazi", desc = "Yazi" }, { "gg", "FloatermNew --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit", desc = "Lazygit (root dir)" }, { "gG", "FloatermNew --name=lazygitbuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit", desc = "Lazygit (cwd)" }, { "cen", "FloatermNew --name=node --opener=edit --titleposition=center --wintype=split --height=0.35 node", desc = "Node" }, { "cep", "FloatermNew --name=python --opener=edit --titleposition=center --wintype=split --height=0.35 python", desc = "Python" }, { "gF", function() local git_path = vim.api.nvim_buf_get_name(0) vim.api.nvim_command("FloatermNew --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 lazygit -f " .. vim.trim(git_path)) end, desc = "File History (LazyGit)" }, { "gl", "FloatermNew --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 lazygit log", desc = "File History (LazyGit)" }, { "", "FloatermNext", mode = { "t" }, desc = "Next Terminal" }, { "", "FloatermPrev", mode = { "t" }, desc = "Prev Terminal" }, { "", "FloatermLast", mode = { "t" }, desc = "Last Terminal" }, { "", "FloatermFirst", mode = { "t" }, desc = "First Terminal" }, { [[]], "FloatermToggle", mode = { "n", "t" }, desc = "Toggle Terminal" }, { "ftf", "FloatermNew --name=floatroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=", desc = "Floating (root dir)" }, { "ftF", "FloatermNew --name=floatbuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=", desc = "Floating (cwd)" }, { "fts", "FloatermNew --name=splitroot --opener=edit --titleposition=center --height=0.35 --wintype=split --cwd=", desc = "Split (root dir)" }, { "ftS", "FloatermNew --name=splitbuffer --opener=edit --titleposition=center --height=0.35 --wintype=split --cwd=", desc = "Split (cwd)" }, }, }, { "dawsers/telescope-floaterm.nvim", config = function() LazyVim.on_load("telescope.nvim", function() require("telescope").load_extension("floaterm") end) end, keys = { { [[]], "Telescope floaterm", desc = "Terminals" }, }, }, { "folke/which-key.nvim", opts = { spec = { { "ce", group = "r[e]pl", icon = "󰫧 " }, { "ft", group = "terminals", icon = " " }, }, }, }, { "folke/edgy.nvim", optional = true, opts = function(_, opts) table.insert(opts.bottom, { ft = "floaterm", title = "Floaterm", size = { height = 0.4 }, filter = function(buf, win) return vim.api.nvim_win_get_config(win).relative == "" end, }) end, }, { "goolord/alpha-nvim", optional = true, opts = function(_, dashboard) -- stylua: ignore local button = dashboard.button("G", "󰊢 " .. " Git", "FloatermNew --disposable --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit") button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" table.insert(dashboard.section.buttons.val, 7, button) return dashboard end, }, { "nvimdev/dashboard-nvim", optional = true, opts = function(_, opts) local git = { action = "FloatermNew --disposable --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit", desc = " Git", icon = " ", key = "G", } git.desc = git.desc .. string.rep(" ", 43 - #git.desc) git.key_format = " %s" table.insert(opts.config.center, 7, git) end, }, }