local Util = require("lazyvim.util") return { { "voldikss/vim-floaterm", cmd = { "FloatermNew", "FloatermToggle", "FloatermNext", "FloatermPrev", "FloatermLast", "FloatermFirst" }, --stylua: ignore keys = { { "Ts", "FloatermNew --disposable --name=duaroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= dua i", desc = "Workspace Size (root dir)" }, { "TS", "FloatermNew --disposable --name=duabuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= dua i", desc = "Workspace Size (cwd)" }, { "", "FloatermNew --disposable --name=yaziroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= yazi", desc = "File Explorer (root dir)" }, { "gg", "FloatermNew --disposable --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit", desc = "Lazygit (root dir)" }, { "gG", "FloatermNew --disposable --name=lazygitbuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= lazygit", desc = "Lazygit (cwd)" }, { "Td", "FloatermNew --disposable --name=lazydocker --opener=edit --titleposition=center --height=0.85 --width=0.85 lazydocker", desc = "Lazydocker" }, { "Tb", "FloatermNew --disposable --name=btop --opener=edit --titleposition=center --height=0.85 --width=0.85 btop", desc = "Btop" }, { "fd", "FloatermNew --disposable --name=dots --opener=edit --titleposition=center --height=0.85 --width=0.85 dots", desc = "Dotfiles" }, { "Tn", "FloatermNew --disposable --name=navi --opener=edit --titleposition=center --height=0.85 --width=0.85 pages", desc = "Navi Pages" }, { "Tp", "FloatermNew --disposable --name=proc --opener=edit --titleposition=center --height=0.85 --width=0.85 proc", desc = "Systemd Processes" }, { "TB", "FloatermNew --disposable --name=bandwhich --opener=edit --titleposition=center --height=0.85 --width=0.85 bandwhich", desc = "Bandwidth" }, { "gF", "FloatermNew --disposable --name=forgit --opener=edit --titleposition=center --height=0.85 --width=0.85 fgit", desc = "Forgit" }, { "cif", "FloatermNew! --disposable --name=scc --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= codeinfo", desc = "Code info/fetch" }, { "gf", "FloatermNew! --disposable --name=onefetch --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd= gfetch", desc = "Gitfetch" }, { "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" }, { "", "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() Util.on_load("telescope.nvim", function() require("telescope").load_extension("floaterm") end) end, keys = { { "st", "Telescope floaterm", desc = "Terminals" }, }, }, { "folke/which-key.nvim", opts = { defaults = { ["ce"] = { name = "+r[e]pl" }, ["ft"] = { name = "+terminals" }, ["T"] = { name = "+tools" }, }, }, }, { "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", 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, }, }