diff options
author | christianchiarulli <[email protected]> | 2021-07-14 23:15:12 -0400 |
---|---|---|
committer | christianchiarulli <[email protected]> | 2021-07-14 23:15:12 -0400 |
commit | f58782563ea933f31e8886f511ec2b5824def19b (patch) | |
tree | e6cfaf7f5a980cfe19b2a9d884a75e363e1e78e8 | |
parent | f95e150518e40f08a2cb31365e90895e31465d7e (diff) |
user toggleterm instead of fterm
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | lua/core/floatterm.lua | 76 | ||||
-rw-r--r-- | lua/core/terminal.lua | 68 | ||||
-rw-r--r-- | lua/default-config.lua | 2 | ||||
-rw-r--r-- | lua/plugins.lua | 15 | ||||
-rw-r--r-- | utils/installer/lv-config.example-no-ts.lua | 3 | ||||
-rw-r--r-- | utils/installer/lv-config.example.lua | 4 |
7 files changed, 85 insertions, 85 deletions
@@ -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 diff --git a/lua/core/floatterm.lua b/lua/core/floatterm.lua deleted file mode 100644 index 3d7e0e6e..00000000 --- a/lua/core/floatterm.lua +++ /dev/null @@ -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 diff --git a/lua/core/terminal.lua b/lua/core/terminal.lua new file mode 100644 index 00000000..0f930453 --- /dev/null +++ b/lua/core/terminal.lua @@ -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 diff --git a/lua/default-config.lua b/lua/default-config.lua index 903606ed..e968d6bb 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -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() diff --git a/lua/plugins.lua b/lua/plugins.lua index e7092787..a867cfbe 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -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 diff --git a/utils/installer/lv-config.example-no-ts.lua b/utils/installer/lv-config.example-no-ts.lua index 33d9f433..7ab4536f 100644 --- a/utils/installer/lv-config.example-no-ts.lua +++ b/utils/installer/lv-config.example-no-ts.lua @@ -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"}, { diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua index c52a6e0d..45e7fbed 100644 --- a/utils/installer/lv-config.example.lua +++ b/utils/installer/lv-config.example.lua @@ -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 |