refactor: clean & re-organise default_config + chadrc
this completely overhauls the design of the two configuration files, aiming to move options & various tables into a more sensible table structure BREAKING CHANGE: this will break any user modificiations to the current config
This commit is contained in:
		
							parent
							
								
									80c8bf4243
								
							
						
					
					
						commit
						9961cc0113
					
				| @ -2,32 +2,87 @@ | ||||
| -- use custom/chadrc.lua instead | ||||
| 
 | ||||
| local M = {} | ||||
| M.ui, M.options, M.plugin_status, M.mappings, M.custom = {}, {}, {}, {}, {} | ||||
| M.options, M.ui, M.mappings, M.plugin = {}, {}, {}, {} | ||||
| 
 | ||||
| -- non plugin ui configs, available without any plugins | ||||
| -- non plugin normal, available without any plugins | ||||
| M.options = { | ||||
|    -- NeoVim/Vim options | ||||
|    clipboard = "unnamedplus", | ||||
|    cmdheight = 1, | ||||
|    ruler = false, | ||||
|    hidden = true, | ||||
|    ignorecase = true, | ||||
|    mapleader = " ", | ||||
|    mouse = "a", | ||||
|    number = true, | ||||
|    -- relative numbers in normal mode tool at the bottom of options.lua | ||||
|    numberwidth = 2, | ||||
|    relativenumber = false, | ||||
|    expandtab = true, | ||||
|    shiftwidth = 2, | ||||
|    smartindent = true, | ||||
|    tabstop = 8, -- Number of spaces that a <Tab> in the file counts for | ||||
|    timeoutlen = 400, | ||||
|    -- interval for writing swap file to disk, also used by gitsigns | ||||
|    updatetime = 250, | ||||
|    undofile = true, -- keep a permanent undo (across restarts) | ||||
|    -- NvChad options | ||||
|    nvChad = { | ||||
|       copy_cut = true, -- copy cut text ( x key ), visual and normal mode | ||||
|       copy_del = true, -- copy deleted text ( dd key ), visual and normal mode | ||||
|       insert_nav = true, -- navigation in insertmode | ||||
|       window_nav = true, | ||||
|       theme_toggler = false, | ||||
|       -- used for updater | ||||
|       update_url = "https://github.com/NvChad/NvChad", | ||||
|       update_branch = "main", | ||||
|    }, | ||||
| } | ||||
| 
 | ||||
| -- ui configs | ||||
| M.ui = { | ||||
|    italic_comments = false, | ||||
|    -- theme to be used, to see all available themes, open the theme switcher by <leader> + th | ||||
|    -- theme to be used, check available themes with `<leader> + t + h` | ||||
|    theme = "onedark", | ||||
|    -- theme toggler, toggle between two themes, see theme_toggleer mappings | ||||
|    -- toggle between two themes, see theme_toggler mappings | ||||
|    theme_toggler = { | ||||
|       enabled = false, | ||||
|       fav_themes = { | ||||
|       "onedark", | ||||
|          "one-light", | ||||
|       }, | ||||
|       "gruvchad", | ||||
|    }, | ||||
|    -- Enable this only if your terminal has the colorscheme set which nvchad uses | ||||
|    -- For Ex : if you have onedark set in nvchad , set onedark's bg color on your terminal | ||||
|    -- For Ex : if you have onedark set in nvchad, set onedark's bg color on your terminal | ||||
|    transparency = false, | ||||
| } | ||||
|   | ||||
| -- plugin related ui options | ||||
| M.ui.plugin = { | ||||
|    -- statusline related options | ||||
|    statusline = { | ||||
| -- these are plugin related options | ||||
| M.plugins = { | ||||
|     -- enable and disable plugins (false for disable) | ||||
|     plugin_status = { | ||||
|          autosave = false, -- to autosave files | ||||
|          blankline = true, -- show code scope with symbols | ||||
|          bufferline = true, -- list open buffers up the top, easy switching too | ||||
|          cheatsheet = true, -- search your commands/keymappings | ||||
|          colorizer = true, -- color RGB, HEX, CSS, NAME color codes | ||||
|          comment = true, -- easily (un)comment code, language aware | ||||
|          dashboard = false, -- NeoVim 'home screen' on open | ||||
|          esc_insertmode = true, -- map to <ESC> with no lag | ||||
|          feline = true, -- statusline | ||||
|          gitsigns = true, -- gitsigns in statusline | ||||
|          lspsignature = true, -- lsp enhancements | ||||
|          neoformat = true, -- universal code formatter | ||||
|          neoscroll = true, -- smooth scroll | ||||
|          telescope_media = false, -- media previews within telescope finders | ||||
|          truezen = false, -- distraction free & minimalist UI mode | ||||
|          vim_fugitive = false, -- git integration & tooling | ||||
|          vim_matchup = true, -- % operator enhancements | ||||
|    }, | ||||
|   options = { | ||||
|     lspconfig = { | ||||
|       servers = {} -- eg: "HTML" | ||||
|     }, | ||||
|     statusline = { -- statusline related options | ||||
|       -- these are filetypes, not pattern matched | ||||
|       -- if a filetype is present in shown, it will always show the statusline, irrespective of filetypes in hidden | ||||
|       -- shown filetypes will overrule hidden filetypes | ||||
|       hidden = { | ||||
|         "help", | ||||
|         "dashboard", | ||||
| @ -38,71 +93,25 @@ M.ui.plugin = { | ||||
|       -- default, round , slant , block , arrow | ||||
|       style = "default", | ||||
|     }, | ||||
| } | ||||
| 
 | ||||
| -- non plugin normal, available without any plugins | ||||
| M.options = { | ||||
|    clipboard = "unnamedplus", | ||||
|    cmdheight = 1, | ||||
|    copy_cut = true, -- copy cut text ( x key ), visual and normal mode | ||||
|    copy_del = true, -- copy deleted text ( dd key ), visual and normal mode | ||||
|    expandtab = true, | ||||
|    hidden = true, | ||||
|    ignorecase = true, | ||||
|    insert_nav = true, -- navigation in insertmode | ||||
|    window_nav = true, | ||||
|    mapleader = " ", | ||||
|    mouse = "a", | ||||
|    number = true, | ||||
|    -- relative numbers in normal mode tool at the bottom of options.lua | ||||
|    numberwidth = 2, | ||||
|    permanent_undo = true, | ||||
|    shiftwidth = 2, | ||||
|    smartindent = true, | ||||
|    tabstop = 8, -- Number of spaces that a <Tab> in the file counts for | ||||
|    timeoutlen = 400, | ||||
|    relativenumber = false, | ||||
|    ruler = false, | ||||
|    updatetime = 250, | ||||
|    -- used for updater | ||||
|    update_url = "https://github.com/NvChad/NvChad", | ||||
|    update_branch = "main", | ||||
| } | ||||
| 
 | ||||
| -- these are plugin related options | ||||
| M.options.plugin = { | ||||
|     autosave = false, -- autosave on changed text or insert mode leave | ||||
|     -- timeout to be used for using escape with a key combination, see mappings.plugin.better_escape | ||||
|     esc_insertmode_timeout = 300, | ||||
| } | ||||
| 
 | ||||
| -- enable and disable plugins (false for disable) | ||||
| M.plugin_status = { | ||||
|    autosave = false, -- to autosave files | ||||
|    blankline = true, -- beautified blank lines | ||||
|    bufferline = true, -- buffer shown as tabs | ||||
|    cheatsheet = true, -- fuzzy search your commands/keymappings | ||||
|    colorizer = true, | ||||
|    comment = true, -- universal commentor | ||||
|    dashboard = false, -- a nice looking dashboard | ||||
|    esc_insertmode = true, -- escape from insert mode using custom keys | ||||
|    feline = true, -- statusline | ||||
|    gitsigns = true, -- gitsigns in statusline | ||||
|    lspsignature = true, -- lsp enhancements | ||||
|    neoformat = true, -- universal formatter | ||||
|    neoscroll = true, -- smooth scroll | ||||
|    telescope_media = false, -- see media files in telescope picker | ||||
|    truezen = false, -- no distraction mode for nvim | ||||
|    vim_fugitive = false, -- git in nvim | ||||
|    vim_matchup = true, -- % magic, match it but improved | ||||
|   }, | ||||
|   default_plugin_config_replace = {}, | ||||
| } | ||||
| 
 | ||||
| -- mappings -- don't use a single keymap twice -- | ||||
| -- non plugin mappings | ||||
| M.mappings = { | ||||
|    -- custom = {}, -- all custom user mappings | ||||
|    -- close current focused buffer | ||||
|    close_buffer = "<leader>x", | ||||
|    copy_whole_file = "<C-a>", -- copy all contents of the current buffer | ||||
|    line_number_toggle = "<leader>n", -- show or hide line number | ||||
|    new_buffer = "<S-t>", -- open a new buffer | ||||
|    new_tab = "<C-t>b", -- open a new vim tab | ||||
|    save_file = "<C-s>", -- save file using :w | ||||
|    theme_toggler = "<leader>tt", -- for theme toggler, see in ui.theme_toggler | ||||
|    -- navigation in insert mode, only if enabled in options | ||||
|    insert_nav = { | ||||
|       backward = "<C-h>", | ||||
| @ -112,27 +121,21 @@ M.mappings = { | ||||
|       prev_line = "<C-j>", | ||||
|       top_of_line = "<C-a>", | ||||
|    }, | ||||
|    window_nav = { | ||||
|    --better window movement | ||||
|    window_nav = { | ||||
|       moveLeft = "<C-h>", | ||||
|       moveRight = "<C-l>", | ||||
|       moveUp = "<C-k>", | ||||
|       moveDown = "<C-j>", | ||||
|     }, | ||||
|    line_number_toggle = "<leader>n", -- show or hide line number | ||||
|    new_buffer = "<S-t>", -- open a new buffer | ||||
|    new_tab = "<C-t>b", -- open a new vim tab | ||||
|    save_file = "<C-s>", -- save file using :w | ||||
|    theme_toggler = "<leader>tt", -- for theme toggler, see in ui.theme_toggler | ||||
|    -- terminal related mappings | ||||
|    terminal = { | ||||
|       -- multiple mappings can be given for esc_termmode and esc_hide_termmode | ||||
|       -- get out of terminal mode | ||||
|       esc_termmode = { "jk" }, -- multiple mappings allowed | ||||
|       -- get out of terminal mode and hide it | ||||
|       -- it does not close it, see pick_term mapping to see hidden terminals | ||||
|       esc_hide_termmode = { "JK" }, -- multiple mappings allowed | ||||
|       -- show hidden terminal buffers in a telescope picker | ||||
|       -- show & recover hidden terminal buffers in a telescope picker | ||||
|       pick_term = "<leader>W", | ||||
|       -- below three are for spawning terminals | ||||
|       new_horizontal = "<leader>h", | ||||
| @ -144,19 +147,22 @@ M.mappings = { | ||||
| } | ||||
| 
 | ||||
| -- all plugins related mappings | ||||
| -- to get short info about a plugin, see the respective string in plugin_status, if not present, then info here | ||||
| M.mappings.plugin = { | ||||
| M.mappings.plugins = { | ||||
|    -- list open buffers up the top, easy switching too | ||||
|    bufferline = { | ||||
|       next_buffer = "<TAB>", -- next buffer | ||||
|       prev_buffer = "<S-Tab>", -- previous buffer | ||||
|    }, | ||||
|    -- search your commands/keymappings | ||||
|    cheatsheet = { | ||||
|       default_keys = "<leader>dk", | ||||
|       user_keys = "<leader>uk", | ||||
|    }, | ||||
|    -- easily (un)comment code, language aware | ||||
|    comment = { | ||||
|       toggle = "<leader>/", -- trigger comment on a single/selected lines/number prefix | ||||
|       toggle = "<leader>/", -- toggle comment (works on multiple lines) | ||||
|    }, | ||||
|    -- NeoVim 'home screen' on open | ||||
|    dashboard = { | ||||
|       bookmarks = "<leader>bm", | ||||
|       new_file = "<leader>fn", -- basically create a new buffer | ||||
| @ -164,18 +170,20 @@ M.mappings.plugin = { | ||||
|       session_load = "<leader>l", -- load a saved session | ||||
|       session_save = "<leader>s", -- save a session | ||||
|    }, | ||||
|    -- note: this is an edditional mapping to escape, escape key will still work | ||||
|    better_escape = { | ||||
|    -- map to <ESC> with no lag | ||||
|    better_escape = { -- <ESC> will still work | ||||
|       esc_insertmode = { "jk" }, -- multiple mappings allowed | ||||
|    }, | ||||
|    -- file explorer/tree | ||||
|    nvimtree = { | ||||
|       -- file tree | ||||
|       toggle = "<C-n>", | ||||
|       focus = "<leader>e", | ||||
|    }, | ||||
|    -- universal code formatter | ||||
|    neoformat = { | ||||
|       format = "<leader>fm", | ||||
|    }, | ||||
|    -- multitool for finding & picking things | ||||
|    telescope = { | ||||
|       buffers = "<leader>fb", | ||||
|       find_files = "<leader>ff", | ||||
| @ -185,16 +193,19 @@ M.mappings.plugin = { | ||||
|       help_tags = "<leader>fh", | ||||
|       live_grep = "<leader>fw", | ||||
|       oldfiles = "<leader>fo", | ||||
|       themes = "<leader>th", | ||||
|    }, | ||||
|       themes = "<leader>th", -- NvChad theme picker | ||||
|       -- media previews within telescope finders | ||||
|       telescope_media = { | ||||
|          media_files = "<leader>fp", | ||||
|       }, | ||||
|    truezen = { -- distraction free modes mapping, hide statusline, tabline, line numbers | ||||
|    }, | ||||
|    -- distraction free & minimalist UI mode | ||||
|    truezen = { | ||||
|       ataraxis_mode = "<leader>zz", -- center | ||||
|       focus_mode = "<leader>zf", | ||||
|       minimalistic_mode = "<leader>zm", -- as it is | ||||
|    }, | ||||
|    -- git integration & tooling | ||||
|    vim_fugitive = { | ||||
|       diff_get_2 = "<leader>gh", | ||||
|       diff_get_3 = "<leader>gl", | ||||
| @ -203,26 +214,5 @@ M.mappings.plugin = { | ||||
|    }, | ||||
| } | ||||
| 
 | ||||
| -- user custom mappings | ||||
| -- e.g: name = { "mode" , "keys" , "cmd" , "options"} | ||||
| -- name: can be empty or something unique with repect to other custom mappings | ||||
| --    { mode, key, cmd } or name = { mode, key, cmd } | ||||
| -- mode: usage: mode or { mode1, mode2 }, multiple modes allowed, available modes => :h map-modes, | ||||
| -- keys: multiple keys allowed, same synxtax as modes | ||||
| -- cmd:  for vim commands, must use ':' at start and add <CR> at the end if want to execute | ||||
| -- options: see :h nvim_set_keymap() opts section | ||||
| M.custom.mappings = { | ||||
|    -- clear_all = { | ||||
|    --    "n", | ||||
|    --    "<leader>cc", | ||||
|    --    "gg0vG$d", | ||||
|    -- }, | ||||
| } | ||||
| 
 | ||||
| M.plugins = { | ||||
|    lspconfig = { | ||||
|       -- servers = {"html", "cssls"} | ||||
|       servers = {}, | ||||
|    }, | ||||
| } | ||||
| return M | ||||
|  | ||||
| @ -5,7 +5,8 @@ local config = utils.load_config() | ||||
| local map = utils.map | ||||
| 
 | ||||
| local maps = config.mappings | ||||
| local plugin_maps = maps.plugin | ||||
| local plugin_maps = maps.plugins | ||||
| local nvChad_options = config.options.nvChad | ||||
| 
 | ||||
| local cmd = vim.cmd | ||||
| 
 | ||||
| @ -32,17 +33,17 @@ M.misc = function() | ||||
| 
 | ||||
|    local function optional_mappings() | ||||
|       -- don't yank text on cut ( x ) | ||||
|       if not config.options.copy_cut then | ||||
|       if not nvChad_options.copy_cut then | ||||
|          map({ "n", "v" }, "x", '"_x') | ||||
|       end | ||||
| 
 | ||||
|       -- don't yank text on delete ( dd ) | ||||
|       if not config.options.copy_del then | ||||
|       if not nvChad_options.copy_del then | ||||
|          map({ "n", "v" }, "dd", '"_dd') | ||||
|       end | ||||
| 
 | ||||
|       -- navigation within insert mode | ||||
|       if config.options.insert_nav then | ||||
|       if nvChad_options.insert_nav then | ||||
|          local inav = maps.insert_nav | ||||
| 
 | ||||
|          map("i", inav.backward, "<Left>") | ||||
| @ -54,7 +55,7 @@ M.misc = function() | ||||
|       end | ||||
| 
 | ||||
|       -- easier navigation between windows | ||||
|       if config.options.window_nav then | ||||
|       if nvChad_options.window_nav then | ||||
|          local wnav = maps.window_nav | ||||
| 
 | ||||
|          map("n", wnav.moveLeft, "<C-w>h") | ||||
| @ -64,11 +65,11 @@ M.misc = function() | ||||
|        end | ||||
| 
 | ||||
|       -- check the theme toggler | ||||
|       if config.ui.theme_toggler.enabled then | ||||
|       if nvChad_options.theme_toggler then | ||||
|          map( | ||||
|             "n", | ||||
|             maps.theme_toggler, | ||||
|             ":lua require('nvchad').toggle_theme(require('core.utils').load_config().ui.theme_toggler.fav_themes) <CR>" | ||||
|             ":lua require('nvchad').toggle_theme(require('core.utils').load_config().ui.theme_toggler) <CR>" | ||||
|          ) | ||||
|       end | ||||
|    end | ||||
| @ -113,7 +114,7 @@ M.misc = function() | ||||
|    end | ||||
| 
 | ||||
|    local function user_config_mappings() | ||||
|       local custom_maps = config.custom.mappings or "" | ||||
|       local custom_maps = config.mappings.custom or "" | ||||
|       if type(custom_maps) ~= "table" then | ||||
|          return | ||||
|       end | ||||
| @ -190,7 +191,7 @@ M.telescope = function() | ||||
| end | ||||
| 
 | ||||
| M.telescope_media = function() | ||||
|    local m = plugin_maps.telescope_media | ||||
|    local m = plugin_maps.telescope.telescope_media | ||||
| 
 | ||||
|    map("n", m.media_files, ":Telescope media_files <CR>") | ||||
| end | ||||
|  | ||||
| @ -15,7 +15,7 @@ opt.expandtab = options.expandtab | ||||
| opt.shiftwidth = options.shiftwidth | ||||
| opt.smartindent = options.smartindent | ||||
| 
 | ||||
| -- disable tilde on end of buffer: https://github.com/  neovim/neovim/pull/8546#issuecomment-643643758 | ||||
| -- disable tilde on end of buffer: https://github.com/neovim/neovim/pull/8546#issuecomment-643643758 | ||||
| opt.fillchars = { eob = " " } | ||||
| 
 | ||||
| opt.hidden = options.hidden | ||||
| @ -37,7 +37,7 @@ opt.splitright = true | ||||
| opt.tabstop = options.tabstop | ||||
| opt.termguicolors = true | ||||
| opt.timeoutlen = options.timeoutlen | ||||
| opt.undofile = options.permanent_undo | ||||
| opt.undofile = options.undofile | ||||
| 
 | ||||
| -- interval for writing swap file to disk, also used by gitsigns | ||||
| opt.updatetime = options.updatetime | ||||
|  | ||||
| @ -117,8 +117,8 @@ end | ||||
| -- hide statusline | ||||
| -- tables fetched from load_config function | ||||
| M.hide_statusline = function() | ||||
|    local hidden = require("core.utils").load_config().ui.plugin.statusline.hidden | ||||
|    local shown = require("core.utils").load_config().ui.plugin.statusline.shown | ||||
|    local hidden = require("core.utils").load_config().plugins.options.statusline.hidden | ||||
|    local shown = require("core.utils").load_config().plugins.options.statusline.shown | ||||
|    local api = vim.api | ||||
|    local buftype = api.nvim_buf_get_option("%", "ft") | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| -- IMPORTANT NOTE : This is the user config, can be edited. Will be preserved if updated with internal updater | ||||
| 
 | ||||
| local M = {} | ||||
| M.ui, M.options, M.plugin_status, M.mappings, M.custom = {}, {}, {}, {}, {} | ||||
| M.options, M.ui, M.mappings, M.plugins = {}, {}, {}, {} | ||||
| 
 | ||||
| -- To use this file, copy the strucutre of `core/default_config.lua`, | ||||
| -- then define your new var, an example of setting relative number: | ||||
| @ -11,25 +11,15 @@ M.ui, M.options, M.plugin_status, M.mappings, M.custom = {}, {}, {}, {}, {} | ||||
| -- } | ||||
| 
 | ||||
| 
 | ||||
| -- To change the Packer `config` of a plugin that comes with NvChad, | ||||
| -- add a table entry below matching the plugin github name | ||||
| --              '-' -> '_', remove any '.lua', '.nvim' extensions | ||||
| -- this string will be called in a `require` | ||||
| --              use "(custom.configs).my_func()" to call a function | ||||
| --              use "custom.blankline" to call a file | ||||
| M.custom.default_plugin_overrides = { | ||||
|   -- indent_blankline = "custom.blankline", | ||||
| } | ||||
| 
 | ||||
| -- user custom mappings | ||||
| -- e.g: name = { "mode" , "keys" , "cmd" , "options"} | ||||
| -- name: can be empty or something unique with repect to other custom mappings | ||||
| --    { mode, key, cmd } or name = { mode, key, cmd } | ||||
| -- mode: usage: mode or { mode1, mode2 }, multiple modes allowed, available modes => :h map-modes, | ||||
| -- keys: multiple keys allowed, same synxtax as modes | ||||
| -- cmd:  for vim commands, must use ':' at start and add <CR> at the end if want to execute | ||||
| -- options: see :h nvim_set_keymap() opts section | ||||
| M.custom.mappings = { | ||||
| -- format: name = { "mode" , "keys" , "cmd" , "options"} | ||||
|   -- name: can be empty or something unique with repect to other custom mappings | ||||
|   --    { mode, key, cmd } or name = { mode, key, cmd } | ||||
|   -- mode: usage: mode or { mode1, mode2 }, multiple modes allowed, available modes => :h map-modes, | ||||
|   -- keys: multiple keys allowed, same synxtax as modes | ||||
|   -- cmd:  for vim commands, must use ':' at start and add <CR> at the end if want to execute | ||||
|   -- options: see :h nvim_set_keymap() opts section | ||||
| M.mappings.custom = { | ||||
|    -- clear_all = { | ||||
|    --    "n", | ||||
|    --    "<leader>cc", | ||||
| @ -37,4 +27,23 @@ M.custom.mappings = { | ||||
|    -- }, | ||||
| } | ||||
| 
 | ||||
| -- NvChad included plugin options & overrides | ||||
| M.plugins = { | ||||
|   options = { | ||||
|    --  lspconfig = { | ||||
|    --    -- servers = {"html", "cssls"} | ||||
|    --    servers = {}, | ||||
|    -- }, | ||||
|   }, | ||||
|   -- To change the Packer `config` of a plugin that comes with NvChad, | ||||
|   -- add a table entry below matching the plugin github name | ||||
|   --              '-' -> '_', remove any '.lua', '.nvim' extensions | ||||
|   -- this string will be called in a `require` | ||||
|   --              use "(custom.configs).my_func()" to call a function | ||||
|   --              use "custom.blankline" to call a file | ||||
|   default_plugin_config_replace = { | ||||
|      | ||||
|   }, | ||||
| } | ||||
| 
 | ||||
| return M | ||||
|  | ||||
| @ -57,7 +57,7 @@ capabilities.textDocument.completion.completionItem.resolveSupport = { | ||||
|    }, | ||||
| } | ||||
| 
 | ||||
| local servers = require("core.utils").load_config().plugins.lspconfig.servers | ||||
| local servers = require("core.utils").load_config().plugins.options.lspconfig.servers | ||||
| 
 | ||||
| for _, lsp in ipairs(servers) do | ||||
|    nvim_lsp[lsp].setup { | ||||
|  | ||||
| @ -1,7 +1,5 @@ | ||||
| local M = {} | ||||
| 
 | ||||
| local config = require("core.utils").load_config() | ||||
| 
 | ||||
| M.autopairs = function() | ||||
|    local present1, autopairs = pcall(require, "nvim-autopairs") | ||||
|    local present2, autopairs_completion = pcall(require, "nvim-autopairs.completion.cmp") | ||||
| @ -25,7 +23,7 @@ M.autosave = function() | ||||
|    end | ||||
| 
 | ||||
|    autosave.setup { | ||||
|       enabled = config.options.plugin.autosave, -- takes boolean value from chadrc.lua | ||||
|       enabled = config.plugins.options.autosave, -- takes boolean value from init.lua | ||||
|       execution_message = "autosaved at : " .. vim.fn.strftime "%H:%M:%S", | ||||
|       events = { "InsertLeave", "TextChanged" }, | ||||
|       conditions = { | ||||
| @ -40,10 +38,10 @@ M.autosave = function() | ||||
| end | ||||
| 
 | ||||
| M.better_escape = function() | ||||
|    local m = require("core.utils").load_config().mappings.plugin.better_escape.esc_insertmode | ||||
|    local config = require("core.utils").load_config() | ||||
|    require("better_escape").setup { | ||||
|       mapping = m, | ||||
|       timeout = config.options.plugin.esc_insertmode_timeout or 300, | ||||
|       mapping = config.mappings.plugins.better_escape.esc_insertmode, | ||||
|       timeout = config.plugins.options.esc_insertmode_timeout, | ||||
|    } | ||||
| end | ||||
| 
 | ||||
|  | ||||
| @ -42,7 +42,7 @@ local icon_styles = { | ||||
|    }, | ||||
| } | ||||
| 
 | ||||
| local user_statusline_style = require("core.utils").load_config().ui.plugin.statusline.style | ||||
| local user_statusline_style = require("core.utils").load_config().plugins.options.statusline.style | ||||
| local statusline_style = icon_styles[user_statusline_style] | ||||
| 
 | ||||
| -- Initialize the components table | ||||
|  | ||||
| @ -7,16 +7,14 @@ end | ||||
| local use = packer.use | ||||
| 
 | ||||
| return packer.startup(function() | ||||
|    local plugin_status = require("core.utils").load_config().plugin_status | ||||
| 
 | ||||
|    -- local plugin_overrides = require("core.utils").load_config().custom.plugin_overrides | ||||
|    local plugin_status = require("core.utils").load_config().plugins.plugin_status | ||||
| 
 | ||||
|    -- FUNCTION: override_req, use `chadrc` plugin config override if present | ||||
|    -- name = name inside `default_config` / `chadrc` | ||||
|    -- default_req = run this if 'name' does not exist in `default_config` / `chadrc` | ||||
|    -- if override or default_req start with `(`, then strip that and assume override calls a function, not a whole file | ||||
|    local override_req = function(name, default_req) | ||||
|      local override = require("core.utils").load_config().custom.default_plugin_overrides[name] | ||||
|      local override = require("core.utils").load_config().plugins.default_plugin_config_replace[name] | ||||
|      local result | ||||
|      | ||||
|      if override == nil then | ||||
| @ -166,7 +164,7 @@ return packer.startup(function() | ||||
|       "Pocco81/AutoSave.nvim", | ||||
|       config = override_req("autosave", "(plugins.configs.others).autosave()"), | ||||
|       cond = function() | ||||
|          return require("core.utils").load_config().options.plugin.autosave == true | ||||
|          return require("core.utils").load_config().plugins.options.autosave == true | ||||
|       end, | ||||
|    } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user