WIP - Added toggleterm, based upon curtanips work (#237)
* Added toggleterm, based upon curtanips work Also other various term fixes & changed term mappings * new NvChad config to hide statusline by filetype
This commit is contained in:
parent
3f44f0761a
commit
91c8736146
|
@ -1,6 +1,10 @@
|
||||||
local M = {
|
local M = {
|
||||||
ui = {
|
ui = {
|
||||||
theme = "onedark"
|
theme = "onedark",
|
||||||
|
hidden_statusline = { -- these are filetypes, not pattern matched
|
||||||
|
"NvimTree",
|
||||||
|
"toggleterm"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
options = {
|
options = {
|
||||||
permanent_undo = true,
|
permanent_undo = true,
|
||||||
|
@ -86,13 +90,15 @@ local M = {
|
||||||
diffget_3 = "<leader>gl",
|
diffget_3 = "<leader>gl",
|
||||||
git_blame = "<leader>gb"
|
git_blame = "<leader>gb"
|
||||||
},
|
},
|
||||||
|
toggleterm = {
|
||||||
|
toggle_window = "<leader>w",
|
||||||
|
toggle_right = "<leader>v",
|
||||||
|
toggle_bot = "<leader>h",
|
||||||
|
},
|
||||||
misc = {
|
misc = {
|
||||||
openTerm_right = "<C-l>",
|
esc_Termmode = "jk",
|
||||||
openTerm_bottom = "<C-x>",
|
|
||||||
openTerm_currentBuf = "<C-t>t",
|
|
||||||
copywhole_file = "<C-a>",
|
copywhole_file = "<C-a>",
|
||||||
toggle_linenr = "<leader>n",
|
toggle_linenr = "<leader>n"
|
||||||
esc_Termmode = "jk"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,10 +35,6 @@ map("", "k", 'v:count ? "k" : "gk"', {expr = true})
|
||||||
map("", "<Down>", 'v:count ? "j" : "gj"', {expr = true})
|
map("", "<Down>", 'v:count ? "j" : "gj"', {expr = true})
|
||||||
map("", "<Up>", 'v:count ? "k" : "gk"', {expr = true})
|
map("", "<Up>", 'v:count ? "k" : "gk"', {expr = true})
|
||||||
|
|
||||||
-- OPEN TERMINALS --
|
|
||||||
map("n", miscMap.openTerm_right, ":vnew +terminal | setlocal nobuflisted <CR>", opt) -- term over right
|
|
||||||
map("n", miscMap.openTerm_bottom, ":10new +terminal | setlocal nobuflisted <CR>", opt) -- term bottom
|
|
||||||
map("n", miscMap.openTerm_currentBuf, ":terminal <CR>", opt) -- term buffer
|
|
||||||
|
|
||||||
-- copy whole file content
|
-- copy whole file content
|
||||||
map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
||||||
|
@ -46,6 +42,25 @@ map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
||||||
-- toggle numbers
|
-- toggle numbers
|
||||||
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
||||||
|
|
||||||
|
-- open a new buffer as a Terminal
|
||||||
|
-- get out of terminal with jk
|
||||||
|
map("t", miscMap.esc_Termmode, "<C-\\><C-n>", opt)
|
||||||
|
|
||||||
|
|
||||||
|
M.toggleterm = function()
|
||||||
|
local m = user_map.toggleterm
|
||||||
|
|
||||||
|
-- Open terminals
|
||||||
|
map("n", m.toggle_window, ":execute v:count . 'ToggleTerm direction=window' <CR>", opt)
|
||||||
|
map("n", m.toggle_right, ":execute v:count . 'ToggleTerm direction=vertical' <CR>", opt)
|
||||||
|
map("n", m.toggle_bot, ":execute v:count . 'ToggleTerm direction=horizontal' <CR>", opt)
|
||||||
|
|
||||||
|
-- 'Un' toggle a term from within terminal edit mode
|
||||||
|
map("t", m.toggle_window, "<C-\\><C-n> :ToggleTerm <CR>", opt)
|
||||||
|
map("t", m.toggle_right, "<C-\\><C-n> :ToggleTerm <CR>", opt)
|
||||||
|
map("t", m.toggle_bot, "<C-\\><C-n> :ToggleTerm <CR>", opt)
|
||||||
|
end
|
||||||
|
|
||||||
M.truezen = function()
|
M.truezen = function()
|
||||||
local m = user_map.truezen
|
local m = user_map.truezen
|
||||||
|
|
||||||
|
@ -113,9 +128,6 @@ end
|
||||||
-- use ESC to turn off search highlighting
|
-- use ESC to turn off search highlighting
|
||||||
map("n", "<Esc>", ":noh<CR>", opt)
|
map("n", "<Esc>", ":noh<CR>", opt)
|
||||||
|
|
||||||
-- get out of terminal with jk
|
|
||||||
map("t", miscMap.esc_Termmode, "<C-\\><C-n>", opt)
|
|
||||||
|
|
||||||
-- Packer commands till because we are not loading it at startup
|
-- Packer commands till because we are not loading it at startup
|
||||||
cmd("silent! command PackerCompile lua require 'pluginList' require('packer').compile()")
|
cmd("silent! command PackerCompile lua require 'pluginList' require('packer').compile()")
|
||||||
cmd("silent! command PackerInstall lua require 'pluginList' require('packer').install()")
|
cmd("silent! command PackerInstall lua require 'pluginList' require('packer').install()")
|
||||||
|
|
|
@ -66,9 +66,9 @@ for _, plugin in pairs(disabled_built_ins) do
|
||||||
g["loaded_" .. plugin] = 1
|
g["loaded_" .. plugin] = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Don't show status line on vim terminals
|
-- Don't show status line on certain windows
|
||||||
vim.cmd [[ au TermOpen term://* setlocal nonumber laststatus=0 ]]
|
vim.cmd [[ au TermOpen term://* setlocal nonumber norelativenumber ]]
|
||||||
vim.cmd [[ au TermClose term://* setlocal number laststatus=2 ]]
|
vim.cmd [[let hidden_statusline = luaeval('require("chadrc").ui.hidden_statusline') | autocmd BufEnter,BufWinEnter,WinEnter,CmdwinEnter,TermEnter * nested if index(hidden_statusline, &ft) >= 0 | set laststatus=0 | else | set laststatus=2 | endif]]
|
||||||
|
|
||||||
-- Open a file from its last left off position
|
-- Open a file from its last left off position
|
||||||
-- vim.cmd [[ au BufReadPost * if expand('%:p') !~# '\m/\.git/' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif ]]
|
-- vim.cmd [[ au BufReadPost * if expand('%:p') !~# '\m/\.git/' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif ]]
|
||||||
|
|
|
@ -199,6 +199,16 @@ return packer.startup(
|
||||||
}
|
}
|
||||||
|
|
||||||
-- misc plugins
|
-- misc plugins
|
||||||
|
use {
|
||||||
|
"akinsho/nvim-toggleterm.lua",
|
||||||
|
event = "BufWinEnter",
|
||||||
|
config = function()
|
||||||
|
require "plugins.toggleterm"
|
||||||
|
end,
|
||||||
|
setup = function()
|
||||||
|
require "mappings".toggleterm()
|
||||||
|
end
|
||||||
|
}
|
||||||
use {
|
use {
|
||||||
"windwp/nvim-autopairs",
|
"windwp/nvim-autopairs",
|
||||||
after = "nvim-compe",
|
after = "nvim-compe",
|
||||||
|
|
|
@ -93,6 +93,3 @@ g.nvim_tree_bindings = {
|
||||||
{key = "q", cb = tree_cb("close")},
|
{key = "q", cb = tree_cb("close")},
|
||||||
{key = "g?", cb = tree_cb("toggle_help")}
|
{key = "g?", cb = tree_cb("toggle_help")}
|
||||||
}
|
}
|
||||||
|
|
||||||
-- hide statusline when nvim tree is opened
|
|
||||||
vim.cmd [[au BufEnter,BufWinEnter,WinEnter,CmdwinEnter * if bufname('%') == "NvimTree" | set laststatus=0 | else | set laststatus=2 | endif]]
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
local present, toggleterm = pcall(require, "toggleterm")
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
toggleterm.setup {
|
||||||
|
-- size can be a number or function which is passed the current terminal
|
||||||
|
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 = [[<C-\>]], -- mapping set in mappings.lua
|
||||||
|
hide_numbers = true, -- hide the number column in toggleterm buffers
|
||||||
|
shade_terminals = false,
|
||||||
|
start_in_insert = true,
|
||||||
|
-- insert_mappings = true, -- see 'open_mapping', not set on purpose
|
||||||
|
-- whether or not the open mapping applies in insert mode
|
||||||
|
persist_size = true,
|
||||||
|
direction = 'vertical',
|
||||||
|
close_on_exit = true, -- close the terminal window when the process exits
|
||||||
|
-- This field is only relevant if direction is set to 'float'
|
||||||
|
float_opts = {
|
||||||
|
border = 'single',
|
||||||
|
winblend = 0,
|
||||||
|
highlights = {
|
||||||
|
border = "Normal",
|
||||||
|
background = "Normal",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue