From 609668d22a2de01aea7a5eb61a9349fa6af0daa4 Mon Sep 17 00:00:00 2001 From: c-my Date: Sun, 17 Apr 2022 21:38:09 +0800 Subject: [PATCH] toggleterm: setup --- lua/configs/plugins/toggleterm.lua | 61 +++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/lua/configs/plugins/toggleterm.lua b/lua/configs/plugins/toggleterm.lua index 859e3bf..c3bf532 100644 --- a/lua/configs/plugins/toggleterm.lua +++ b/lua/configs/plugins/toggleterm.lua @@ -1,3 +1,62 @@ local toggleterm = require("toggleterm") -toggleterm.setup() +local shell = vim.o.shell + +if vim.loop.os_uname().sysname == 'Windows_NT' then + shell = 'powershell' +end + +toggleterm.setup({ + -- size can be a number or function which is passed the current terminal + -- size = 20 | function(term) + -- if term.direction == "horizontal" then + -- return 15 + -- elseif term.direction == "vertical" then + -- return vim.o.columns * 0.4 + -- end + -- end, + open_mapping = [[]], + -- on_open = fun(t: Terminal), -- function to run when the terminal opens + -- on_close = fun(t: Terminal), -- function to run when the terminal closes + -- on_stdout = fun(t: Terminal, job: number, data: string[], name: string) -- callback for processing output on stdout + -- on_stderr = fun(t: Terminal, job: number, data: string[], name: string) -- callback for processing output on stderr + -- on_exit = fun(t: Terminal, job: number, exit_code: number, name: string) -- function to run when terminal process exits + hide_numbers = true, -- hide the number column in toggleterm buffers + shade_filetypes = {}, + -- highlights = { + -- -- highlights which map to a highlight group name and a table of it's values + -- -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split + -- Normal = { + -- guibg = , + -- }, + -- NormalFloat = { + -- link = 'Normal' + -- }, + -- FloatBorder = { + -- guifg = , + -- guibg = , + -- }, + -- }, + shade_terminals = true, + -- shading_factor = '', -- 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 + terminal_mappings = true, -- whether or not the open mapping applies in the opened terminals + persist_size = true, + -- direction = 'vertical' | 'horizontal' | 'tab' | 'float', + direction = 'float', + close_on_exit = true, -- close the terminal window when the process exits + shell = 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_open_win' + -- see :h nvim_open_win 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 = 'single', + -- width = , + -- height = , + winblend = 3, + } +})