diff options
author | Christian Chiarulli <[email protected]> | 2021-07-13 21:13:55 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2021-07-13 21:13:55 -0400 |
commit | a097fa4c04e6db34bb409e0dea302c20629da8ec (patch) | |
tree | fb1c5bdd14cac82a363ea6c25b03a475050305f2 /lua/core/floatterm.lua | |
parent | 04f9f53914a7dd999117ed73c5fa0ab3b0dc95e4 (diff) |
LunarVim 0.4.8 (#919)0.4.8
Diffstat (limited to 'lua/core/floatterm.lua')
-rw-r--r-- | lua/core/floatterm.lua | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/lua/core/floatterm.lua b/lua/core/floatterm.lua new file mode 100644 index 00000000..3d7e0e6e --- /dev/null +++ b/lua/core/floatterm.lua @@ -0,0 +1,76 @@ +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 |