From 619709eb2f0c32e0c96b1983403a6e84911c3895 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sat, 10 Jul 2021 03:19:32 -0400 Subject: [PATCH] refactor settings for hotswap --- init.lua | 8 +++++-- lua/default-config.lua | 46 +++++++++++++++++++++++++++++++++++--- lua/lv-utils/init.lua | 1 + lua/settings.lua | 50 ++++-------------------------------------- 4 files changed, 54 insertions(+), 51 deletions(-) diff --git a/init.lua b/init.lua index b22d8871..982623d0 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,15 @@ require "default-config" require "keymappings" -vim.cmd("luafile " .. CONFIG_PATH .. "/lv-config.lua") -require "settings" +local status_ok, _ = pcall(vim.cmd, "luafile " .. CONFIG_PATH .. "/lv-config.lua") +if not status_ok then + print "something is wrong with your lv-config" +end require "plugins" vim.g.colors_name = O.colorscheme -- Colorscheme must get called after plugins are loaded or it will break new installs. +require "settings" require "lv-utils" require "lv-treesitter" + -- TODO these guys need to be in language files -- require "lsp" -- if O.lang.emmet.active then diff --git a/lua/default-config.lua b/lua/default-config.lua index 03d72dbc..a23fb8a6 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -11,6 +11,49 @@ O = { format_on_save = true, vnsip_dir = vim.fn.stdpath "config" .. "/snippets", + default_options = { + backup = false, -- creates a backup file + clipboard = "unnamedplus", -- allows neovim to access the system clipboard + cmdheight = 2, -- more space in the neovim command line for displaying messages + colorcolumn = "99999", -- fixes indentline for now + completeopt = { "menuone", "noselect" }, + conceallevel = 0, -- so that `` is visible in markdown files + fileencoding = "utf-8", -- the encoding written to a file + guifont = "monospace:h17", -- the font used in graphical neovim applications + hidden = true, -- required to keep multiple buffers and open multiple buffers + hlsearch = false, -- highlight all matches on previous search pattern + ignorecase = true, -- ignore case in search patterns + mouse = "a", -- allow the mouse to be used in neovim + pumheight = 10, -- pop up menu height + showmode = false, -- we don't need to see things like -- INSERT -- anymore + showtabline = 2, -- always show tabs + smartcase = true, -- smart case + smartindent = true, -- make indenting smarter again + splitbelow = true, -- force all horizontal splits to go below current window + splitright = true, -- force all vertical splits to go to the right of current window + swapfile = false, -- creates a swapfile + termguicolors = true, -- set term gui colors (most terminals support this) + timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds) + title = true, -- set the title of window to the value of the titlestring + -- opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to + undodir = CACHE_PATH .. "/undo", -- set an undo directory + undofile = true, -- enable persisten undo + updatetime = 300, -- faster completion + writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited + expandtab = true, -- convert tabs to spaces + shiftwidth = 2, -- the number of spaces inserted for each indentation + tabstop = 2, -- insert 2 spaces for a tab + cursorline = true, -- highlight the current line + number = true, -- set numbered lines + relativenumber = false, -- set relative numbered lines + numberwidth = 4, -- set number column width to 2 {default 4} + signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time + wrap = false, -- display lines as one long line + spell = false, + spelllang = "en", + scrolloff = 8, -- is one of my fav + }, + -- TODO refactor for tree auto_close_tree = 0, nvim_tree_disable_netrw = 0, @@ -58,11 +101,8 @@ O = { diffview = { active = false }, ts_context_commentstring = { active = false }, ts_hintobjects = { active = false }, - ts_autotag = { active = false }, - ts_rainbow = { active = false }, ts_textobjects = { active = false }, ts_textsubjects = { active = false }, - telescope_fzy = { active = false }, telescope_project = { active = false }, indent_line = { active = false }, lush = { active = false }, diff --git a/lua/lv-utils/init.lua b/lua/lv-utils/init.lua index 6a7d3c88..00c806a2 100644 --- a/lua/lv-utils/init.lua +++ b/lua/lv-utils/init.lua @@ -3,6 +3,7 @@ local lv_utils = {} function lv_utils.reload_lv_config() vim.cmd "source ~/.config/nvim/lv-config.lua" vim.cmd "source ~/.config/nvim/lua/plugins.lua" + vim.cmd "source ~/.config/nvim/lua/settings.lua" vim.cmd "source ~/.config/nvim/lua/lv-neoformat/init.lua" vim.cmd ":PackerCompile" vim.cmd ":PackerInstall" diff --git a/lua/settings.lua b/lua/settings.lua index 6ce4ff91..756e7746 100644 --- a/lua/settings.lua +++ b/lua/settings.lua @@ -18,52 +18,6 @@ end --- SETTINGS --- opt.shortmess:append "c" -O.default_options = { - backup = false, -- creates a backup file - clipboard = "unnamedplus", -- allows neovim to access the system clipboard - cmdheight = 2, -- more space in the neovim command line for displaying messages - colorcolumn = "99999", -- fixes indentline for now - completeopt = { "menuone", "noselect" }, - conceallevel = 0, -- so that `` is visible in markdown files - fileencoding = "utf-8", -- the encoding written to a file - guifont = "monospace:h17", -- the font used in graphical neovim applications - hidden = true, -- required to keep multiple buffers and open multiple buffers - hlsearch = false, -- highlight all matches on previous search pattern - ignorecase = true, -- ignore case in search patterns - mouse = "a", -- allow the mouse to be used in neovim - pumheight = 10, -- pop up menu height - showmode = false, -- we don't need to see things like -- INSERT -- anymore - showtabline = 2, -- always show tabs - smartcase = true, -- smart case - smartindent = true, -- make indenting smarter again - splitbelow = true, -- force all horizontal splits to go below current window - splitright = true, -- force all vertical splits to go to the right of current window - swapfile = false, -- creates a swapfile - termguicolors = true, -- set term gui colors (most terminals support this) - timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds) - title = true, -- set the title of window to the value of the titlestring - -- opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to - undodir = CACHE_PATH .. "/undo", -- set an undo directory - undofile = true, -- enable persisten undo - updatetime = 300, -- faster completion - writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited - expandtab = true, -- convert tabs to spaces - shiftwidth = 2, -- the number of spaces inserted for each indentation - tabstop = 2, -- insert 2 spaces for a tab - cursorline = true, -- highlight the current line - number = true, -- set numbered lines - relativenumber = false, -- set relative numbered lines - numberwidth = 4, -- set number column width to 2 {default 4} - signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time - wrap = false, -- display lines as one long line - spell = false, - spelllang = "en", - scrolloff = 8, -- is one of my fav -} - -for k, v in pairs(O.default_options) do - opt[k] = v -end local disabled_built_ins = { "netrw", @@ -88,3 +42,7 @@ local disabled_built_ins = { for _, plugin in pairs(disabled_built_ins) do vim.g["loaded_" .. plugin] = 1 end + +for k, v in pairs(O.default_options) do + vim.opt[k] = v +end