feat: add toggleterm
This commit is contained in:
parent
982c79ebc1
commit
5f50067512
6 changed files with 28 additions and 51 deletions
|
@ -1,8 +0,0 @@
|
|||
local set_highlight = require('cosmic.utils.theme').set_highlight
|
||||
|
||||
-- terminal highlights
|
||||
set_highlight('FloatBorder', {
|
||||
guibg = 'None',
|
||||
})
|
||||
|
||||
vim.cmd('hi! link FloatermBorder FloatBorder')
|
|
@ -1,23 +0,0 @@
|
|||
local user_config = require('cosmic.core.user')
|
||||
|
||||
return {
|
||||
'voldikss/vim-floaterm',
|
||||
cmd = { 'FloatermToggle', 'FloatermNew' },
|
||||
--[[ keys = { ]]
|
||||
--[[ { '<C-l>', '<cmd>FloatermToggle<cr>', desc = 'Floating Terminal' }, ]]
|
||||
--[[ }, ]]
|
||||
config = function()
|
||||
local g = vim.g
|
||||
local title = vim.env.SHELL
|
||||
|
||||
g.floaterm_width = 0.7
|
||||
g.floaterm_height = 0.8
|
||||
g.floaterm_title = '[' .. title .. ']:($1/$2)'
|
||||
g.floaterm_borderchars = '─│─│╭╮╯╰'
|
||||
g.floaterm_opener = 'vsplit'
|
||||
|
||||
require('cosmic.plugins.terminal.highlights')
|
||||
--[[ require('cosmic.plugins.terminal.mappings') ]]
|
||||
end,
|
||||
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'terminal'),
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
local map = require('cosmic.utils').set_keymap
|
||||
|
||||
map('n', '<C-l>', ':FloatermToggle<CR>', { desc = 'Toggle Floaterm' })
|
||||
map('t', '<C-l>', [[<C-\><C-n>]], { desc = 'Close Floaterm' })
|
||||
map('t', '<C-w>l', [[<C-\><C-n>:FloatermNext<CR>]], { desc = 'Next terminal' })
|
||||
map('t', '<C-w>h', [[<C-\><C-n>:FloatermPrev<CR>]], { desc = 'Prev terminal' })
|
||||
map('t', '<C-w>n', [[<C-\><C-n>:FloatermNew<CR>]], { desc = 'New terminal' })
|
||||
map('t', '<C-w>c', [[<C-\><C-n>:FloatermKill<CR>]], { desc = 'Kill current terminal' })
|
|
@ -15,24 +15,28 @@ return {
|
|||
},
|
||||
},
|
||||
})
|
||||
local terminal_utils = require('cosmic.plugins.toggleterm.utils')
|
||||
|
||||
local Terminal = require('toggleterm.terminal').Terminal
|
||||
|
||||
local function new_terminal()
|
||||
local terminal = Terminal:new()
|
||||
terminal:toggle()
|
||||
end
|
||||
|
||||
map('n', '<leader>kn', new_terminal, { desc = 'New terminal' })
|
||||
map('t', '<esc>', [[<C-\><C-n>]], { desc = 'Visual mode' })
|
||||
|
||||
-- toggle terminals
|
||||
map('n', '<leader>k', ':ToggleTerm<CR>', { desc = 'Toggle Terminal' })
|
||||
map('t', '<leader>k', [[<C-\><C-n>]] .. ':ToggleTerm<CR>', { desc = 'Toggle Terminal' })
|
||||
|
||||
-- new terminal
|
||||
map('n', '<leader>kn', terminal_utils.new_terminal, { desc = 'New terminal' })
|
||||
map('t', '<leader>kn', terminal_utils.new_terminal, { desc = 'New terminal' })
|
||||
|
||||
-- select terminal to open
|
||||
map('n', '<leader>kk', ':TermSelect<CR>', { desc = 'Choose open terminal' })
|
||||
map('t', '<leader>kk', [[<C-\><C-n>]] .. ':TermSelect<CR>', { desc = 'Choose open terminal' })
|
||||
|
||||
map('t', '<esc>', [[<C-\><C-n>]], { desc = 'Visual mode' })
|
||||
map('t', '<leader>kn', new_terminal, { desc = 'New terminal' })
|
||||
map('n', '<leader>kr', ':ToggleTermSetName<CR>', { desc = 'Rename terminal' })
|
||||
-- rename terminal
|
||||
map('n', '<leader>kr', ':ToggleTermSetName<CR>', { desc = 'Rename terminal', buffer = 0 })
|
||||
map('t', '<leader>kr', [[<C-\><C-n>]] .. ':ToggleTermSetName<CR>', { desc = 'Rename terminal', buffer = 0 })
|
||||
|
||||
-- terminal only mappings
|
||||
vim.cmd("autocmd! TermOpen term://* lua require('cosmic.plugins.toggleterm.utils').set_terminal_keymaps()")
|
||||
|
||||
-- @TODO: close all
|
||||
end,
|
||||
|
|
12
lua/cosmic/plugins/toggleterm/utils.lua
Normal file
12
lua/cosmic/plugins/toggleterm/utils.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
local map = require('cosmic.utils').set_keymap
|
||||
local Terminal = require('toggleterm.terminal').Terminal
|
||||
|
||||
function M.new_terminal()
|
||||
local terminal = Terminal:new()
|
||||
terminal:toggle()
|
||||
end
|
||||
|
||||
function M.set_terminal_keymaps() end
|
||||
|
||||
return M
|
|
@ -38,7 +38,7 @@ Full featured native LSP functionality!
|
|||
- Custom statusline via [lualine](https://github.com/nvim-lualine/lualine.nvim)
|
||||
- Explore files via [nvim-tree](https://github.com/kyazdani42/nvim-tree.lua)
|
||||
- Fuzzy finder via [Telescope](https://github.com/nvim-telescope/telescope.nvim)
|
||||
- Floating terminal with [vim-floaterm](https://github.com/voldikss/vim-floaterm)
|
||||
- Floating terminal with [toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim)
|
||||
- Auto LSP/formatter/linter installation via [mason.nvim](https://github.com/williamboman/mason.nvim)
|
||||
- Autocompletion via [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
|
||||
- Snippet support via [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
|
||||
|
|
Loading…
Add table
Reference in a new issue