diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 9c7ab83..4cc5b66 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,16 +1,19 @@ -- Eryn Wells vim.opt.runtimepath:prepend "~/.vim" -vim.cmd [[ source ~/.vimrc.common ]] + +vim.cmd [[ + source ~/.vimrc.common + source ~/.vim/plugins.vim +]] require 'configuration' +require 'colors' require 'keys' require 'os' -vim.cmd [[ source ~/.vim/plugins.vim ]] - -function ensure_metadata_directories_exist() - paths = { +function ensureMetadataDirectoriesExist() + local paths = { vim.opt.backupdir:get(), vim.opt.directory:get(), vim.opt.undodir:get() @@ -24,4 +27,4 @@ function ensure_metadata_directories_exist() end end -ensure_metadata_directories_exist() +ensureMetadataDirectoriesExist() diff --git a/config/nvim/lua/colors.lua b/config/nvim/lua/colors.lua new file mode 100644 index 0000000..a0a5718 --- /dev/null +++ b/config/nvim/lua/colors.lua @@ -0,0 +1,35 @@ +-- Eryn Wells + +-- Allow using GUI style colors (#RRGGBB hex codes) in color terminals. This is +-- required for most modern color themes. +vim.g.termguicolors = true + +function reloadColorscheme(colorschemeName) + vim.cmd { + cmd = "colorscheme", + args = {colorschemeName}, + } + + if vim.env.TERM_PROGRAM == "Apple_Terminal" then + -- Add a correction for Apple's Terminal.app, which doesn't support + -- 24-bit colors and needs some adjustment to cope. + vim.cmd [[ + highlight default Folded cterm=bold term=bold ctermfg=NONE ctermbg=NONE + highlight default CursorLine term=underline cterm=NONE ctermbg=0 + highlight default CursorLineNr term=underline cterm=NONE ctermfg=7 ctermbg=0 + ]] + end + + if vim.g.colors_name == "witchhazel" then + vim.cmd [[ + highlight! default link LineNr CursorLineNr + highlight! default link CursorLineNr CursorLine + ]] + elseif vim.g.colors_name == "dracula" then + vim.cmd [[ + highlight CursorLineNr guibg=#44475a + ]] + end +end + +reloadColorscheme("dracula")