From bfe8ee9cba642525a5bbbe0b27f6049ba9ee1ef4 Mon Sep 17 00:00:00 2001 From: LostNeophyte Date: Wed, 25 Jan 2023 20:35:07 +0100 Subject: fix: don't overriding user's config --- lua/lvim/core/terminal.lua | 84 ++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 44 deletions(-) (limited to 'lua/lvim/core/terminal.lua') diff --git a/lua/lvim/core/terminal.lua b/lua/lvim/core/terminal.lua index 34892303..57606ef8 100644 --- a/lua/lvim/core/terminal.lua +++ b/lua/lvim/core/terminal.lua @@ -2,53 +2,49 @@ local M = {} local Log = require "lvim.core.log" M.config = function() - local config = { - opts = { - -- size can be a number or function which is passed the current terminal - size = 20, - open_mapping = [[]], - 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 = false, - -- 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 = , - -- height = , - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, + lvim.builtin.terminal.opts = { + -- size can be a number or function which is passed the current terminal + size = 20, + open_mapping = [[]], + 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 = false, + -- 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 = , + -- height = , + winblend = 0, + highlights = { + border = "Normal", + background = "Normal", }, - -- Add executables on the config.lua - -- { cmd, keymap, description, direction, size } - -- lvim.builtin.terminal.execs = {...} to overwrite - -- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"} - -- TODO: pls add mappings in which key and refactor this - }, - execs = { - { nil, "", "Horizontal Terminal", "horizontal", 0.3 }, - { nil, "", "Vertical Terminal", "vertical", 0.4 }, - { nil, "", "Float Terminal", "float", nil }, }, + -- Add executables on the config.lua + -- { cmd, keymap, description, direction, size } + -- lvim.builtin.terminal.execs = {...} to overwrite + -- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"} + -- TODO: pls add mappings in which key and refactor this + } + lvim.builtin.terminal.execs = { + { nil, "", "Horizontal Terminal", "horizontal", 0.3 }, + { nil, "", "Vertical Terminal", "vertical", 0.4 }, + { nil, "", "Float Terminal", "float", nil }, } - ---@cast config +LvimBuiltin - require("lvim.core.builtins").extend_defaults(config) - lvim.builtin.terminal = config + lvim.builtin.terminal = require("lvim.core.builtins").add_completion "terminal" end --- Get current buffer size -- cgit v1.2.3