user toggleterm instead of fterm

This commit is contained in:
christianchiarulli 2021-07-14 23:15:12 -04:00
parent f95e150518
commit f58782563e
7 changed files with 85 additions and 85 deletions

View file

@ -69,7 +69,7 @@ O.leader_key = ' '
-- After changing plugin config it is recommended to run :PackerCompile
O.plugin.dashboard.active = true
O.plugin.floatterm.active = true
O.plugin.terminal.active = true
O.plugin.zen.active = true
-- if you don't want all the parsers change this to a table of the ones you want

View file

@ -1,76 +0,0 @@
local M = {}
M.config = function()
O.plugin.floatterm = {
active = false,
dimensions = {
height = 0.9,
width = 0.9,
x = 0.5,
y = 0.3,
},
border = "single", -- or 'double'
}
end
M.setup = function()
local status_ok, fterm = pcall(require, "FTerm")
if not status_ok then
return
end
fterm.setup(O.plugin.floatterm)
-- Create LazyGit Terminal
local term = require "FTerm.terminal"
local lazy = term:new():setup {
cmd = "lazygit",
dimensions = O.plugin.floatterm.dimensions,
}
local function is_installed(exe)
return vim.fn.executable(exe) == 1
end
-- Use this to toggle gitui in a floating terminal
function _G.__fterm_lazygit()
if is_installed "lazygit" ~= true then
print "Please install lazygit. Check documentation for more information"
return
end
lazy:toggle()
end
-- Map esc to exit inside lazygit
-- vim.api.nvim_exec(
-- [[
-- function LazyGitNativation()
-- echom &filetype
-- if &filetype ==# 'FTerm'
-- tnoremap <Esc> q
-- tnoremap <C-v><Esc> <Esc>
-- endif
-- endfunction
-- ]],
-- false
-- )
O.plugin.which_key.mappings["gg"] = "LazyGit"
vim.api.nvim_set_keymap("n", "<A-i>", "<CMD>lua require('FTerm').toggle()<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<leader>gg", "<CMD>lua _G.__fterm_lazygit()<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap(
"t",
"<A-i>",
"<C-\\><C-n><CMD>lua require('FTerm').toggle()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap("n", "<A-l>", "<CMD>lua _G.__fterm_lazygit()<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap(
"t",
"<A-l>",
"<C-\\><C-n><CMD>lua _G.__fterm_lazygit()<CR>",
{ noremap = true, silent = true }
)
end
return M

68
lua/core/terminal.lua Normal file
View file

@ -0,0 +1,68 @@
local M = {}
M.config = function()
O.plugin["terminal"] = {
-- size can be a number or function which is passed the current terminal
size = 5,
-- open_mapping = [[<c-\>]],
open_mapping = [[<c-t>]],
hide_numbers = true, -- hide the number column in toggleterm buffers
shade_filetypes = {},
shade_terminals = true,
shading_factor = 2, -- the degree by which to darken to terminal colour, default: 1 for dark backgrounds, 3 for light
start_in_insert = true,
insert_mappings = true, -- whether or not the open mapping applies in insert mode
persist_size = true,
-- direction = 'vertical' | 'horizontal' | 'window' | 'float',
direction = "float",
close_on_exit = true, -- close the terminal window when the process exits
shell = vim.o.shell, -- change the default shell
-- 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",
},
},
}
end
M.setup = function()
local status_ok, terminal = pcall(require, "toggleterm")
if not status_ok then
print(terminal)
return
end
vim.api.nvim_set_keymap(
"n",
"<leader>gg",
"<cmd>lua require('core.terminal')._lazygit_toggle()<CR>",
{ noremap = true, silent = true }
)
O.plugin.which_key.mappings["gg"] = "LazyGit"
terminal.setup(O.plugin.terminal)
end
local function is_installed(exe)
return vim.fn.executable(exe) == 1
end
M._lazygit_toggle = function()
if is_installed "lazygit" ~= true then
print "Please install lazygit. Check documentation for more information"
return
end
local Terminal = require("toggleterm.terminal").Terminal
local lazygit = Terminal:new { cmd = "lazygit", hidden = true }
lazygit:toggle()
end
return M

View file

@ -121,7 +121,7 @@ require("core.gitsigns").config()
require("core.compe").config()
require("core.dashboard").config()
require("core.dap").config()
require("core.floatterm").config()
require("core.terminal").config()
require("core.zen").config()
require("core.telescope").config()
require("core.treesitter").config()

View file

@ -189,13 +189,22 @@ return require("packer").startup(function(use)
-- TODO: remove in favor of akinsho/nvim-toggleterm.lua
-- Floating terminal
-- use {
-- "numToStr/FTerm.nvim",
-- event = "BufWinEnter",
-- config = function()
-- require("core.floatterm").setup()
-- end,
-- disable = not O.plugin.floatterm.active,
-- }
use {
"numToStr/FTerm.nvim",
"akinsho/nvim-toggleterm.lua",
event = "BufWinEnter",
config = function()
require("core.floatterm").setup()
require("core.terminal").setup()
end,
disable = not O.plugin.floatterm.active,
disable = not O.plugin.terminal.active,
}
-- Zen Mode

View file

@ -21,7 +21,7 @@ O.leader_key = " "
-- TODO: User Config for predefined plugins
-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
O.plugin.dashboard.active = true
O.plugin.floatterm.active = true
O.plugin.terminal.active = true
O.plugin.zen.active = false
O.plugin.zen.window.height = 0.90
@ -50,7 +50,6 @@ O.lang.tsserver.linter = nil
-- O.lang.latex.auto_save = false
-- O.lang.latex.ignore_errors = { }
-- Additional Plugins
-- O.user_plugins = {
-- {"folke/tokyonight.nvim"}, {

View file

@ -21,7 +21,7 @@ O.leader_key = " "
-- TODO: User Config for predefined plugins
-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
O.plugin.dashboard.active = true
O.plugin.floatterm.active = true
O.plugin.terminal.active = true
O.plugin.zen.active = false
O.plugin.zen.window.height = 0.90
@ -57,7 +57,7 @@ O.lang.tsserver.linter = nil
O.lang.latex.active = true
O.lang.latex.aux_directory = "."
O.lang.latex.bibtex_formatter = "texlab"
O.lang.latex.build.args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' }
O.lang.latex.build.args = { "-pdf", "-interaction=nonstopmode", "-synctex=1", "%f" }
O.lang.latex.build.executable = "latexmk"
O.lang.latex.build.forward_search_after = false
O.lang.latex.build.on_save = false