return { "akinsho/toggleterm.nvim", version = "*", opts = { size = function(term) if term.direction == "horizontal" then return 15 elseif term.direction == "vertical" then return vim.o.columns * 0.4 end end, open_mapping = "tt", start_in_insert = true, insert_mappings = false, persist_size = false, direction = "float", float_opts = { border = "curved", width = function() return math.floor(vim.o.columns * 0.75) end, height = function() return math.floor(vim.o.lines * 0.75) end, }, -- Check if 'fish' is executable, otherwise use Neovim's default shell shell = vim.fn.executable("fish") == 1 and "fish" or vim.o.shell, }, }