feat(nvim): floaterm as default terminal instead of toggleterm

had some problem with toggleterm so now floaterm is my new best friend. it needs some testing and
mappings but now is really functional
This commit is contained in:
Sergio Laín 2023-10-22 18:43:34 +02:00
parent b66c8dd1bf
commit 580e839fb6
No known key found for this signature in database
GPG key ID: 14C9B8080681777B
4 changed files with 52 additions and 39 deletions

View file

@ -2,6 +2,38 @@ return {
{ {
"voldikss/vim-floaterm", "voldikss/vim-floaterm",
cmd = { "FloatermNew", "FloatermToggle", "FloatermNext", "FloatermPrev" }, cmd = { "FloatermNew", "FloatermToggle", "FloatermNext", "FloatermPrev" },
enabled = false, --stylua: ignore
keys = {
{ "<leader>cis", "<cmd>FloatermNew --disposable --name=duaroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> dua i<CR>", desc = "Workspace Size (root dir)" },
{ "<leader>ciS", "<cmd>FloatermNew --disposable --name=duabuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<buffer> dua i<CR>", desc = "Workspace Size (cwd)" },
{ "<A-e>", "<cmd>FloatermNew --disposable --name=yaziroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> yazi<CR>", desc = "File Explorer (root dir)" },
{ "<leader>gg", "<cmd>FloatermNew --disposable --name=lazygitroot --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> lazygit<CR>", desc = "Lazygit (root dir)" },
{ "<leader>gG", "<cmd>FloatermNew --disposable --name=lazygitbuffer --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<buffer> lazygit<CR>", desc = "Lazygit (cwd)" },
{ "<leader>fD", "<cmd>FloatermNew --disposable --name=lazydocker --opener=edit --titleposition=center --height=0.85 --width=0.85 lazydocker<CR>", desc = "Lazydocker" },
{ "<leader>cPp", "<cmd>FloatermNew --disposable --name=lazynpm --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> lazynpm<CR>", desc = "Lazynpm" },
{ "<leader>cib", "<cmd>FloatermNew --disposable --name=btop --opener=edit --titleposition=center --height=0.85 --width=0.85 btop<CR>", desc = "Btop" },
{ "<leader>fd", "<cmd>FloatermNew --disposable --name=dots --opener=edit --titleposition=center --height=0.85 --width=0.85 dots<CR>", desc = "Dotfiles" },
{ "<leader>cin", "<cmd>FloatermNew --disposable --name=navi --opener=edit --titleposition=center --height=0.85 --width=0.85 pages<CR>", desc = "Navi Pages" },
{ "<leader>cip", "<cmd>FloatermNew --disposable --name=proc --opener=edit --titleposition=center --height=0.85 --width=0.85 proc<CR>", desc = "Systemd Processes" },
{ "<leader>cic", "<cmd>FloatermNew! --disposable --name=scc --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> codeinfo<CR>", desc = "Codefetch" },
{ "<leader>cig", "<cmd>FloatermNew! --disposable --name=onefetch --opener=edit --titleposition=center --height=0.85 --width=0.85 --cwd=<root> gfetch<CR>", desc = "Gitfetch" },
{ "<leader>CT", "<cmd>FloatermNew --name=gpt --opener=edit --titleposition=center --width=0.85 --height=0.85 gpt<CR>", desc = "Terminal GPT" },
{ "<leader>ctn", "<cmd>FloatermNew --name=node --opener=edit --titleposition=center --wintype=split --height=0.35 node<CR>", desc = "Node" },
{ "<leader>ctp", "<cmd>FloatermNew --name=python --opener=edit --titleposition=center --wintype=split --height=0.35 python<CR>", desc = "Python" },
{ "<C-l>", "<Esc><Esc><cmd>FloatermNext<CR>", mode = { "t" }, desc = "Next Terminal" },
{ "<C-h>", "<Esc><Esc><cmd>FloatermPrev<CR>", mode = { "t" }, desc = "Prev Terminal" },
{ "<C-Right>", "<Esc><Esc><cmd>FloatermLast<CR>", mode = { "t" }, desc = "Last Terminal" },
{ "<C-Left>", "<Esc><Esc><cmd>FloatermFirst<CR>", mode = { "t" }, desc = "First Terminal" },
{ "<leader>st", "<cmd>Telescope floaterm<cr>", desc = "Terminals" },
},
},
{
"folke/which-key.nvim",
opts = {
defaults = {
["<leader>ci"] = { name = "+info" },
["<leader>ct"] = { name = "+terminals" },
},
},
}, },
} }

View file

@ -22,6 +22,14 @@ return {
end) end)
end, end,
}, },
{
"dawsers/telescope-floaterm.nvim",
config = function()
Util.on_load("telescope.nvim", function()
require("telescope").load_extension("floaterm")
end)
end,
},
{ {
"debugloop/telescope-undo.nvim", "debugloop/telescope-undo.nvim",
opts = {}, opts = {},
@ -426,6 +434,7 @@ return {
["<C-j>"] = actions.move_selection_next, ["<C-j>"] = actions.move_selection_next,
["<esc>"] = actions.close, ["<esc>"] = actions.close,
["<C-u>"] = false, ["<C-u>"] = false,
["<C-p>"] = require("telescope.actions.layout").toggle_preview,
}, },
}, },
file_ignore_patterns = { file_ignore_patterns = {

View file

@ -0,0 +1,10 @@
return {
{
"folke/todo-comments.nvim",
-- stylua: ignore
keys = {
{ "<leader>st", false},
{ "<leader>sT", "<cmd>TodoTelescope<cr>", desc = "Todo" },
},
},
}

View file

@ -1,38 +0,0 @@
return {
{
"akinsho/nvim-toggleterm.lua",
cmd = "ToggleTerm",
opts = {
-- size can be a number or function which is passed the current terminal
size = 20,
open_mapping = [[<c-\>]],
hide_numbers = true, -- hide the number column in toggleterm buffers
shade_filetypes = {},
shade_terminals = true,
start_in_insert = true,
insert_mappings = true, -- whether or not the open mapping applies in insert mode
persist_size = true,
persist_mode = true, -- if set to true (default) the previous terminal mode will be remembered
direction = "float",
close_on_exit = false, -- close the terminal window when the process exits
shell = "/bin/fish", -- change the default shell
auto_scroll = true, -- automatically scroll to the bottom on terminal output
-- This field is only relevant if direction is set to 'float'
float_opts = {
-- The border key is *almost* the same as 'nvim_win_open'
-- see :h nvim_win_open for details on borders however
-- the 'curved' border is a custom border type
-- not natively supported but implemented in this plugin.
-- border = 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open
border = "curved",
-- width = <value>,
-- height = <value>,
winblend = 3,
highlights = { border = "Normal", background = "Normal" },
},
},
keys = {
{ [[<c-\>]], "<cmd>ToggleTerm<CR>", mode = "n", desc = "Toggle terminal" },
},
},
}