diff --git a/src_files/.config/nvim/init.lua b/src_files/.config/nvim/init.lua index 2281c9e..1667e5b 100644 --- a/src_files/.config/nvim/init.lua +++ b/src_files/.config/nvim/init.lua @@ -4,7 +4,7 @@ local csgAutocmd = vim.api.nvim_create_autocmd require("settings") require("plugin_manager") require("key_mappings") -require("colorscheme_settings") +require("theme") csgAutocmd({"BufWritePre"}, { group = csGroup, diff --git a/src_files/.config/nvim/lua/colorscheme_settings.lua b/src_files/.config/nvim/lua/colorscheme_settings.lua deleted file mode 100644 index 7d3503d..0000000 --- a/src_files/.config/nvim/lua/colorscheme_settings.lua +++ /dev/null @@ -1,17 +0,0 @@ -local defaultColorScheme = "tokyodark" - -function SetColorSchemeWrapper(scheme) - scheme = scheme or defaultColorScheme - vim.cmd.colorscheme(scheme) -end - -SetColorSchemeWrapper(defaultColorScheme) --- --- SetColorSchemeWrapper("tokyodark") --- SetColorSchemeWrapper("tokyonight-night") --- SetColorSchemeWrapper("bamboo-vulgaris") --- SetColorSchemeWrapper("rose-pine-main") --- SetColorSchemeWrapper("gruvbox") --- SetColorSchemeWrapper("slate") --- SetColorSchemeWrapper("sorbet") - diff --git a/src_files/.config/nvim/lua/plugin_manager.lua b/src_files/.config/nvim/lua/plugin_manager.lua index e3a3b6b..b0b4580 100644 --- a/src_files/.config/nvim/lua/plugin_manager.lua +++ b/src_files/.config/nvim/lua/plugin_manager.lua @@ -22,8 +22,13 @@ vim.opt.rtp:prepend(path_lazy_nvim) require("lazy").setup({ spec = { - { import = "plugins_lazy" }, + { import = "plugins_lazy" }, }, checker = { enabled = false }, change_detection = { notify = false }, + dev = { + path = "~/dev/git/other/omarchy/plugins", + patterns = { 'LazyVim' }, + fallback = false, + }, }) diff --git a/src_files/.config/nvim/lua/theme.lua b/src_files/.config/nvim/lua/theme.lua new file mode 100644 index 0000000..1c20377 --- /dev/null +++ b/src_files/.config/nvim/lua/theme.lua @@ -0,0 +1,31 @@ +local defaultColorScheme = "tokyodark" +-- local defaultColorScheme = "tokyonight-night" +-- local defaultColorScheme = "bamboo-vulgaris" +-- local defaultColorScheme = "rose-pine-main" +-- local defaultColorScheme = "gruvbox" +-- local defaultColorScheme = "slate" +-- local defaultColorScheme = "sorbet" + +local ok, theme_specs = pcall(dofile, (os.getenv('DIR_CURRENT_THEME') or "") .. "/neovim.lua") +if not ok then + vim.notify( + 'current theme file not found, using default: ' .. defaultColorScheme, + vim.log.levels.INFO + ) + vim.cmd.colorscheme(defaultColorScheme) + return +end + +local first = theme_specs[1] +local plugin_name = (type(first.name) == 'string' and first.name) + or (type(first[1]) == 'string' and first[1]:match('.*/(.*)')) + or 'plugin_name_not_found' + +local last = theme_specs[#theme_specs] +local colorscheme = ((type(last.opts) == 'table' and type(last.opts.colorscheme) == 'string') and last.opts.colorscheme) + or plugin_name:gsub("%.%w+$", "") + +colorscheme = (colorscheme == 'plugin_name_not_found' and defaultColorScheme) + or colorscheme +vim.cmd.colorscheme(colorscheme) + diff --git a/theme-switcher-testing/neovim-all.lua b/theme-switcher-testing/neovim-all.lua new file mode 100644 index 0000000..9a50c11 --- /dev/null +++ b/theme-switcher-testing/neovim-all.lua @@ -0,0 +1,68 @@ +return { + { + "ellisonleao/gruvbox.nvim", + name = "gruvbox", + -- lazy = false, + -- priority = 1000, + opts = { + terminal_colors = true, -- add neovim terminal colors + undercurl = true, + underline = true, + bold = true, + italic = { + strings = true, + emphasis = true, + comments = true, + operators = false, + folds = true, + }, + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "", -- "hard", "soft", or "" + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = false, + }, + }, + { + "folke/tokyonight.nvim", + lazy = false, + priority = 1000, + opts = { + style = "night", -- "night", "storm", "moon", "day" + styles = { + functions = {} -- disable italic for functions + }, + on_colors = function(colors) + colors.hint = colors.orange + colors.error = "#ff0000" + colors.fg_gutter = "#9098B8" + end, + }, + }, + { + "tiagovla/tokyodark.nvim", + lazy = false, + priority = 1000, + opts = { + custom_highlights = function(highlights, _palette) + highlights.Comment['fg'] = "#8a9097" + highlights.LineNr['fg'] = "#8088A8" + return highlights + end, + }, + }, + { + 'ribru17/bamboo.nvim', + -- lazy = false, + -- priority = 1000, + config = function() + require('bamboo').setup { } + require('bamboo').load() + end, + }, +} diff --git a/theme-switcher-testing/neovim-bamboo.lua b/theme-switcher-testing/neovim-bamboo.lua new file mode 100644 index 0000000..d8dfef1 --- /dev/null +++ b/theme-switcher-testing/neovim-bamboo.lua @@ -0,0 +1,11 @@ +return { + { + 'ribru17/bamboo.nvim', + -- lazy = false, + -- priority = 1000, + config = function() + require('bamboo').setup { } + require('bamboo').load() + end, + }, +} diff --git a/theme-switcher-testing/neovim-catppuccin.lua b/theme-switcher-testing/neovim-catppuccin.lua new file mode 100644 index 0000000..07a53cf --- /dev/null +++ b/theme-switcher-testing/neovim-catppuccin.lua @@ -0,0 +1,19 @@ +return { + { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + config = function() + require("catppuccin").setup({ + flavour = "latte", -- other options: "mocha", "frappe", "macchiato" + }) + vim.cmd.colorscheme("catppuccin-latte") + end, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "catppuccin-latte", + }, + }, +} diff --git a/theme-switcher-testing/neovim-everforest.lua b/theme-switcher-testing/neovim-everforest.lua new file mode 100644 index 0000000..c1110fb --- /dev/null +++ b/theme-switcher-testing/neovim-everforest.lua @@ -0,0 +1,15 @@ +return { + { + "neanias/everforest-nvim", + opts = { + background = "soft", + }, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "everforest", + background = "soft", + }, + }, +} diff --git a/theme-switcher-testing/neovim-gruvbox.lua b/theme-switcher-testing/neovim-gruvbox.lua new file mode 100644 index 0000000..49a2fc1 --- /dev/null +++ b/theme-switcher-testing/neovim-gruvbox.lua @@ -0,0 +1,31 @@ +return { + { + "ellisonleao/gruvbox.nvim", + name = "gruvbox", + -- lazy = false, + -- priority = 1000, + opts = { + terminal_colors = true, -- add neovim terminal colors + undercurl = true, + underline = true, + bold = true, + italic = { + strings = true, + emphasis = true, + comments = true, + operators = false, + folds = true, + }, + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "", -- "hard", "soft", or "" + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = false, + }, + }, +} diff --git a/theme-switcher-testing/neovim-matteblack.lua b/theme-switcher-testing/neovim-matteblack.lua new file mode 100644 index 0000000..d8e354d --- /dev/null +++ b/theme-switcher-testing/neovim-matteblack.lua @@ -0,0 +1,9 @@ +return { + { "tahayvr/matteblack.nvim", lazy = false, priority = 1000 }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "matteblack", + }, + }, +} diff --git a/theme-switcher-testing/neovim-nordfox.lua b/theme-switcher-testing/neovim-nordfox.lua new file mode 100644 index 0000000..27a68b1 --- /dev/null +++ b/theme-switcher-testing/neovim-nordfox.lua @@ -0,0 +1,9 @@ +return { + { "EdenEast/nightfox.nvim" }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "nordfox", + }, + }, +} diff --git a/theme-switcher-testing/neovim-tokyodark.lua b/theme-switcher-testing/neovim-tokyodark.lua new file mode 100644 index 0000000..32a4e9a --- /dev/null +++ b/theme-switcher-testing/neovim-tokyodark.lua @@ -0,0 +1,14 @@ +return { + { + "tiagovla/tokyodark.nvim", + lazy = false, + priority = 1000, + opts = { + custom_highlights = function(highlights, _palette) + highlights.Comment['fg'] = "#8a9097" + highlights.LineNr['fg'] = "#8088A8" + return highlights + end, + }, + }, +} diff --git a/theme-switcher-testing/neovim-tokyonight.lua b/theme-switcher-testing/neovim-tokyonight.lua new file mode 100644 index 0000000..df464be --- /dev/null +++ b/theme-switcher-testing/neovim-tokyonight.lua @@ -0,0 +1,18 @@ +return { + { + "folke/tokyonight.nvim", + lazy = false, + priority = 1000, + opts = { + style = "night", -- "night", "storm", "moon", "day" + styles = { + functions = {} -- disable italic for functions + }, + on_colors = function(colors) + colors.hint = colors.orange + colors.error = "#ff0000" + colors.fg_gutter = "#9098B8" + end, + }, + }, +} diff --git a/theme-switcher-testing/neovim.lua b/theme-switcher-testing/neovim.lua new file mode 100644 index 0000000..32a4e9a --- /dev/null +++ b/theme-switcher-testing/neovim.lua @@ -0,0 +1,14 @@ +return { + { + "tiagovla/tokyodark.nvim", + lazy = false, + priority = 1000, + opts = { + custom_highlights = function(highlights, _palette) + highlights.Comment['fg'] = "#8a9097" + highlights.LineNr['fg'] = "#8088A8" + return highlights + end, + }, + }, +} diff --git a/theme-switcher-testing/plugins/LazyVim/lua/LazyVim/init.lua b/theme-switcher-testing/plugins/LazyVim/lua/LazyVim/init.lua new file mode 100644 index 0000000..44964a2 --- /dev/null +++ b/theme-switcher-testing/plugins/LazyVim/lua/LazyVim/init.lua @@ -0,0 +1,8 @@ +local M = {} + +M.opts = {} + +function M.setup(opts) +end + +return M