From 982c79ebc1eed3d40ec75f94a2f9ad7a37c1423e Mon Sep 17 00:00:00 2001 From: Matthew Leong <mattleong91@gmail.com> Date: Sun, 9 Jun 2024 23:45:05 -0700 Subject: [PATCH] feat: init toggleterm --- lua/cosmic/config/examples/editor.lua | 2 +- lua/cosmic/core/mappings.lua | 11 +++++- lua/cosmic/plugins/auto-session/mappings.lua | 2 +- lua/cosmic/plugins/noice/init.lua | 2 +- lua/cosmic/plugins/nvim-tree/init.lua | 2 +- lua/cosmic/plugins/telescope/init.lua | 2 +- lua/cosmic/plugins/terminal/init.lua | 6 ++-- lua/cosmic/plugins/terminal/mappings.lua | 2 +- lua/cosmic/plugins/toggleterm/init.lua | 37 +++++++++++--------- lua/cosmic/utils/init.lua | 4 +-- 10 files changed, 41 insertions(+), 29 deletions(-) diff --git a/lua/cosmic/config/examples/editor.lua b/lua/cosmic/config/examples/editor.lua index aec7e5b..6604db6 100644 --- a/lua/cosmic/config/examples/editor.lua +++ b/lua/cosmic/config/examples/editor.lua @@ -1,7 +1,7 @@ -- Override Cosmic editor options local g = vim.g -local map = require('cosmic.utils').map +local map = require('cosmic.utils').set_keymap local opt = vim.opt -- Default leader is <space> diff --git a/lua/cosmic/core/mappings.lua b/lua/cosmic/core/mappings.lua index a7743fe..a36b4ac 100644 --- a/lua/cosmic/core/mappings.lua +++ b/lua/cosmic/core/mappings.lua @@ -1,4 +1,4 @@ -local map = require('cosmic.utils').map +local map = require('cosmic.utils').set_keymap -- Quickfix mappings map('n', '<leader>ck', ':cexpr []<cr>', { desc = 'Clear list' }) @@ -34,4 +34,13 @@ map('n', '<C-Down>', ':resize +2<CR>', { desc = 'Resize +2' }) map('n', '<C-Left>', ':vertical resize -2<CR>', { desc = 'Vertical Resize -2' }) map('n', '<C-Right>', ':vertical resize +2<CR>', { desc = 'Vertical Resize +2' }) +-- map('n', '<C-h>', [[<Cmd>wincmd h<CR>]], {}) +-- map('n', '<C-j>', [[<Cmd>wincmd j<CR>]], {}) +-- map('n', '<C-k>', [[<Cmd>wincmd k<CR>]], {}) +-- map('n', '<C-l>', [[<Cmd>wincmd l<CR>]], {}) +--[[ map('n', '<C-h>', '<C-w>h', {}) ]] +--[[ map('n', '<C-j>', '<C-w>j', {}) ]] +--[[ map('n', '<C-k>', '<C-w>k', {}) ]] +--[[ map('n', '<C-l>', '<C-w>l', {}) ]] + map('n', '<leader>bo', '<cmd>%bd|e#<cr>', { desc = 'Close all buffers but the current one' }) -- https://stackoverflow.com/a/42071865/516188 diff --git a/lua/cosmic/plugins/auto-session/mappings.lua b/lua/cosmic/plugins/auto-session/mappings.lua index 339df10..1b7ef87 100644 --- a/lua/cosmic/plugins/auto-session/mappings.lua +++ b/lua/cosmic/plugins/auto-session/mappings.lua @@ -1,4 +1,4 @@ -local map = require('cosmic.utils').map +local map = require('cosmic.utils').set_keymap -- session map('n', '<leader>sl', '<cmd>silent RestoreSession<cr>', { desc = 'Restore session' }) diff --git a/lua/cosmic/plugins/noice/init.lua b/lua/cosmic/plugins/noice/init.lua index 103851a..7b1178c 100644 --- a/lua/cosmic/plugins/noice/init.lua +++ b/lua/cosmic/plugins/noice/init.lua @@ -1,6 +1,6 @@ local user_config = require('cosmic.core.user') local u = require('cosmic.utils') -local map = require('cosmic.utils').map +local map = require('cosmic.utils').set_keymap return { 'folke/noice.nvim', diff --git a/lua/cosmic/plugins/nvim-tree/init.lua b/lua/cosmic/plugins/nvim-tree/init.lua index 6baff09..2703be3 100644 --- a/lua/cosmic/plugins/nvim-tree/init.lua +++ b/lua/cosmic/plugins/nvim-tree/init.lua @@ -46,7 +46,7 @@ return { require('nvim-tree').setup(u.merge(args, user_config.plugins.nvim_tree or {})) end, init = function() - local map = require('cosmic.utils').map + local map = require('cosmic.utils').set_keymap map('n', '<C-n>', ':NvimTreeToggle<CR>', { desc = 'Toggle Tree' }) map('n', '<leader>nt', ':NvimTreeToggle<CR>', { desc = 'Toggle Tree' }) diff --git a/lua/cosmic/plugins/telescope/init.lua b/lua/cosmic/plugins/telescope/init.lua index aa064c0..85bc515 100644 --- a/lua/cosmic/plugins/telescope/init.lua +++ b/lua/cosmic/plugins/telescope/init.lua @@ -15,7 +15,7 @@ return { init = function() -- normal mappings local u = require('cosmic.utils') - local map = u.map + local map = u.set_keymap map('n', '<leader>ff', '', { callback = require('cosmic.plugins.telescope.utils').project_files, diff --git a/lua/cosmic/plugins/terminal/init.lua b/lua/cosmic/plugins/terminal/init.lua index 4c460e6..c66062a 100644 --- a/lua/cosmic/plugins/terminal/init.lua +++ b/lua/cosmic/plugins/terminal/init.lua @@ -3,9 +3,9 @@ local user_config = require('cosmic.core.user') return { 'voldikss/vim-floaterm', cmd = { 'FloatermToggle', 'FloatermNew' }, - keys = { - { '<C-l>', '<cmd>FloatermToggle<cr>', desc = 'Floating Terminal' }, - }, + --[[ keys = { ]] + --[[ { '<C-l>', '<cmd>FloatermToggle<cr>', desc = 'Floating Terminal' }, ]] + --[[ }, ]] config = function() local g = vim.g local title = vim.env.SHELL diff --git a/lua/cosmic/plugins/terminal/mappings.lua b/lua/cosmic/plugins/terminal/mappings.lua index 1b18aa5..614ae55 100644 --- a/lua/cosmic/plugins/terminal/mappings.lua +++ b/lua/cosmic/plugins/terminal/mappings.lua @@ -1,4 +1,4 @@ -local map = require('cosmic.utils').map +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' }) diff --git a/lua/cosmic/plugins/toggleterm/init.lua b/lua/cosmic/plugins/toggleterm/init.lua index ea270c1..f837bcb 100644 --- a/lua/cosmic/plugins/toggleterm/init.lua +++ b/lua/cosmic/plugins/toggleterm/init.lua @@ -1,5 +1,5 @@ local user_config = require('cosmic.core.user') -local map = require('cosmic.utils').map +local map = require('cosmic.utils').set_keymap local create_buf_map = require('cosmic.utils').create_buf_map return { 'akinsho/toggleterm.nvim', @@ -9,29 +9,32 @@ return { float_opts = { border = user_config.border, }, + highlights = { + FloatBorder = { + link = 'FloatBorder', + }, + }, }) local Terminal = require('toggleterm.terminal').Terminal - function new_terminal() - local terminal = Terminal:new({ - on_open = function(term) - local buf_map = create_buf_map(term.bufnr, { - noremap = false, - }) - vim.cmd('startinsert!') - end, - -- function to run on closing the terminal - on_close = function(term) - vim.cmd('startinsert!') - end, - }) + local function new_terminal() + local terminal = Terminal:new() terminal:toggle() end - map('n', '<C-l>', ':ToggleTerm<CR>', { desc = 'Toggle Terminal' }) - map('t', '<esc>', [[<C-\><C-n>]], { desc = 'Close Floaterm' }) - map('t', '<C-w>n', new_terminal, { desc = 'New terminal' }) + map('n', '<leader>kn', new_terminal, { desc = 'New terminal' }) + + map('n', '<leader>k', ':ToggleTerm<CR>', { desc = 'Toggle Terminal' }) + map('t', '<leader>k', [[<C-\><C-n>]] .. ':ToggleTerm<CR>', { desc = 'Toggle Terminal' }) + 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' }) + + -- @TODO: close all end, lazy = false, } diff --git a/lua/cosmic/utils/init.lua b/lua/cosmic/utils/init.lua index a848e92..4143fec 100644 --- a/lua/cosmic/utils/init.lua +++ b/lua/cosmic/utils/init.lua @@ -1,6 +1,6 @@ local M = {} -function M.map(mode, lhs, rhs, opts) +function M.set_keymap(mode, lhs, rhs, opts) local defaults = { silent = true, noremap = true, @@ -10,7 +10,7 @@ end function M.create_buf_map(bufnr, opts) return function(mode, lhs, rhs, map_opts) - M.map( + M.set_keymap( mode, lhs, rhs,