diff options
Diffstat (limited to '.config/nvim')
| -rw-r--r-- | .config/nvim/ascetic.lua | 0 | ||||
| -rw-r--r-- | .config/nvim/colors/ascetic.lua | 350 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/wacky/core/colorscheme.lua | 28 | ||||
| -rw-r--r-- | .config/nvim/lua/wacky/plugins-setup.lua | 5 | ||||
| -rw-r--r-- | .config/nvim/lua/wacky/plugins/lualine.lua | 8 | ||||
| -rw-r--r-- | .config/nvim/plugin/packer_compiled.lua | 19 |
7 files changed, 367 insertions, 45 deletions
diff --git a/.config/nvim/ascetic.lua b/.config/nvim/ascetic.lua new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.config/nvim/ascetic.lua diff --git a/.config/nvim/colors/ascetic.lua b/.config/nvim/colors/ascetic.lua new file mode 100644 index 0000000..1db88c7 --- /dev/null +++ b/.config/nvim/colors/ascetic.lua @@ -0,0 +1,350 @@ +-- Ascetic colorscheme for Neovim +-- Monochrome low-contrast colorscheme +-- Author: Wacky404 +-- License: MIT License (MIT) +-- Converted to Lua from VimScript +-- Original vimscript author Aos Dabbagh <hello@aos.sh> + +local M = {} + +-- Clear existing highlights +vim.cmd("hi clear") +if vim.fn.exists("syntax_on") then + vim.cmd("syntax reset") +end + +vim.g.colors_name = "ascetic" + +local is_dark = vim.o.background == "dark" + +-- Configuration options +local ascetic_transparent_bg = 1 +local ascetic_accent_colors = 1 +local ascetic_highlight_strings = vim.g.ascetic_highlight_strings or 0 + +-- Color palette +local colors = { + blackest = { gui = "#D1D1D1", cterm = "0" }, + black = { gui = "#212121", cterm = "0" }, + darkest_gray = { gui = "#323232", cterm = "236" }, + darker_gray = { gui = "#414141", cterm = "8" }, + dark_gray = { gui = "#767676", cterm = "242" }, + medium_gray = { gui = "#999999", cterm = "243" }, + light_gray = { gui = "#B2B2B2", cterm = "249" }, + white = { gui = "#C0C0C0", cterm = "81" }, + lighter_white = { gui = "#F1F1F1", cterm = "15" }, + actual_white = { gui = "#FFFFFF", cterm = "231" }, + green = { gui = "#9ef4a9", cterm = "68" }, +} + +local none = { gui = "NONE", cterm = "NONE" } + +-- Theme variables based on background +local theme = {} + +if is_dark then + theme = { + blackest = colors.blackest, + black = colors.black, + darkest_gray = colors.darkest_gray, + darker_gray = colors.darker_gray, + dark_gray = colors.dark_gray, + medium_gray = colors.medium_gray, + light_gray = colors.light_gray, + white = colors.white, + lighter_white = colors.lighter_white, + actual_white = colors.actual_white, + } +else + theme = { + blackest = colors.actual_white, + black = colors.white, + darkest_gray = colors.light_gray, + darker_gray = colors.medium_gray, + dark_gray = colors.dark_gray, + medium_gray = colors.darker_gray, + light_gray = colors.darkest_gray, + white = colors.black, + lighter_white = colors.blackest, + actual_white = colors.blackest, + green = colors.green, + } +end + +local bg = theme.black +local fg = theme.white + +-- Accent colors (subtle and harmonious with monochrome palette) +local accent = {} +if ascetic_accent_colors == 1 then + accent = { + blue = { gui = "#9ef4a9", cterm = "68" }, -- terminal green + red = { gui = "#A0A0A0", cterm = "247" }, -- Warm light gray for errors + green = { gui = "#9ef4a9", cterm = "233" }, -- Deep black (same as blue) + orange = { gui = "#959595", cterm = "246" }, -- Neutral gray for warnings + } +else + accent = { + blue = theme.actual_white, + red = theme.dark_gray, + green = theme.lighter_white, + orange = theme.light_gray, + } +end + +-- Helper function to set highlights +local function highlight(group, style) + local cmd = "highlight " .. group + + if style.fg then + cmd = cmd .. " guifg=" .. style.fg.gui .. " ctermfg=" .. style.fg.cterm + else + cmd = cmd .. " guifg=NONE ctermfg=NONE" + end + + if style.bg then + cmd = cmd .. " guibg=" .. style.bg.gui .. " ctermbg=" .. style.bg.cterm + else + cmd = cmd .. " guibg=NONE ctermbg=NONE" + end + + if style.sp then + cmd = cmd .. " guisp=" .. style.sp.gui + else + cmd = cmd .. " guisp=NONE" + end + + if style.gui then + cmd = cmd .. " gui=" .. style.gui + else + cmd = cmd .. " gui=NONE" + end + + if style.cterm then + cmd = cmd .. " cterm=" .. style.cterm + else + cmd = cmd .. " cterm=NONE" + end + + vim.cmd(cmd) +end + +-- Helper function to link highlights +local function link(from, to) + vim.cmd("hi! link " .. from .. " " .. to) +end + +-- Set highlights +if ascetic_transparent_bg == 1 then + highlight("Normal", { fg = fg }) +else + highlight("Normal", { fg = fg, bg = bg }) +end + +highlight("Comment", { fg = theme.dark_gray }) +highlight("Cursor", { fg = bg, bg = fg }) + +-- Link basic syntax groups +link("Constant", "Normal") +link("Character", "Constant") +link("Boolean", "Constant") +link("Number", "Constant") +link("Float", "Constant") +link("Identifier", "Constant") +link("Function", "Constant") +link("Statement", "Constant") +link("Conditional", "Constant") +link("Operator", "Constant") +link("Exception", "Constant") +link("PreProc", "Constant") +link("Type", "Constant") +link("Special", "Constant") + +-- String highlighting +if ascetic_highlight_strings == 1 then + highlight("String", { fg = colors.medium_gray }) +else + link("String", "Constant") +end + +-- UI elements +highlight("ColorColumn", { bg = theme.darkest_gray }) +link("CursorColumn", "ColorColumn") +link("CursorLine", "ColorColumn") +link("CursorLineNr", "ColorColumn") + +link("Directory", "Normal") + +highlight("WarningMsg", { fg = fg }) +highlight("ErrorMsg", { fg = fg, gui = "reverse", cterm = "reverse" }) +highlight("VertSplit", { fg = theme.black, bg = theme.black }) + +highlight("Folded", { fg = theme.medium_gray }) +link("FoldColumn", "Folded") + +highlight("SignColumn", { fg = theme.medium_gray, bg = theme.black }) + +highlight("LineNr", { fg = theme.dark_gray }) +highlight("MatchParen", { fg = accent.green, gui = "underline", cterm = "underline" }) +highlight("NonText", { fg = theme.darker_gray }) + +-- Popup menu +highlight("Pmenu", { fg = fg, bg = bg }) +highlight("PmenuSel", { fg = fg, bg = theme.darker_gray }) +highlight("PmenuSbar", { fg = fg, bg = bg }) +highlight("PmenuThumb", { fg = fg, bg = bg }) + +-- Search (using white highlight) +highlight("Search", { fg = theme.actual_white, gui = "underline,bold", cterm = "underline,bold" }) +highlight("IncSearch", { fg = theme.actual_white, gui = "reverse", cterm = "reverse" }) + +highlight("Question", { fg = fg }) +highlight("SpecialKey", { fg = theme.darker_gray }) + +-- Spell checking +link("SpellBad", "Normal") +link("SpellLocal", "SpellBad") +link("SpellCap", "SpellBad") +link("SpellRare", "SpellBad") + +-- Status line (transparent with blur effect) +if is_dark then + highlight("StatusLine", { fg = theme.dark_gray, bg = none, blend = 50 }) + highlight("StatusLineNC", { fg = theme.darker_gray, bg = none, blend = 60 }) +else + -- Light mode - use darker colors for better contrast + highlight("StatusLine", { fg = theme.medium_gray, bg = none, blend = 20 }) + highlight("StatusLineNC", { fg = theme.dark_gray, bg = none, blend = 30 }) +end + +-- Winbar Fix +highlight("WinBar", { fg = fg, bg = none }) +highlight("WinBarNC", { fg = theme.dark_gray, bg = none }) + +-- Additional lualine highlights for transparency +vim.api.nvim_create_autocmd("ColorScheme", { + pattern = "ascetic", + callback = function() + -- Override any lualine highlights that might have backgrounds + local lualine_groups = { + "lualine_a_normal", + "lualine_b_normal", + "lualine_c_normal", + "lualine_a_insert", + "lualine_b_insert", + "lualine_c_insert", + "lualine_a_visual", + "lualine_b_visual", + "lualine_c_visual", + "lualine_a_command", + "lualine_b_command", + "lualine_c_command", + "lualine_a_replace", + "lualine_b_replace", + "lualine_c_replace", + "lualine_x_normal", + "lualine_y_normal", + "lualine_z_normal", + "lualine_x_insert", + "lualine_y_insert", + "lualine_z_insert", + "lualine_x_visual", + "lualine_y_visual", + "lualine_z_visual", + "lualine_x_command", + "lualine_y_command", + "lualine_z_command", + "lualine_x_replace", + "lualine_y_replace", + "lualine_z_replace", + "lualine_a_inactive", + "lualine_b_inactive", + "lualine_c_inactive", + } + + for _, group in ipairs(lualine_groups) do + vim.api.nvim_set_hl(0, group, { bg = "NONE", blend = 20 }) + end + end, +}) + +-- Tab line +highlight("TabLine", { fg = theme.white, bg = none }) +highlight("TabLineFill", { bg = none }) +highlight("TabLineSel", { fg = fg, bg = theme.darker_gray }) + +highlight("Title", { fg = fg, gui = "bold", cterm = "bold" }) +highlight("Visual", { bg = theme.darker_gray }) +link("VisualNOS", "Visual") + +highlight("WildMenu", { fg = fg, bg = bg, gui = "bold", cterm = "bold" }) + +highlight("Underlined", { gui = "underline", cterm = "underline" }) + +highlight("Error", { fg = accent.red }) +highlight("Todo", { fg = theme.dark_gray, gui = "bold,italic", cterm = "bold,italic" }) + +-- Floating windows +highlight("NormalFloat", { fg = fg, bg = bg }) +highlight("FloatBorder", { fg = theme.dark_gray }) + +-- Vim diff +highlight("DiffAdd", { fg = accent.green }) +highlight("DiffChange", { fg = accent.orange }) +highlight("DiffDelete", { fg = accent.red }) +highlight("DiffText", { fg = accent.blue }) + +-- Fugitive +link("FugitiveblameHash", "Normal") +link("FugitiveblameUncommitted", "FugitiveblameHash") +link("FugitiveblameTime", "FugitiveblameHash") +link("FugitiveblameNotCommittedYet", "FugitiveblameHash") + +-- Telescope +highlight("TelescopeSelection", { bg = theme.darkest_gray, gui = "bold" }) +link("TelescopeMatching", "Search") + +-- Terminal colors +if vim.fn.has("termguicolors") == 1 and vim.o.termguicolors then + vim.g.terminal_ansi_colors = { + bg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + theme.blackest.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + fg.gui, + theme.actual_white.gui, + } +end + +if vim.fn.has("nvim") == 1 then + vim.g.terminal_color_foreground = fg.gui + vim.g.terminal_color_background = bg.gui + vim.g.terminal_color_0 = bg.gui + vim.g.terminal_color_1 = fg.gui + vim.g.terminal_color_2 = fg.gui + vim.g.terminal_color_3 = fg.gui + vim.g.terminal_color_4 = fg.gui + vim.g.terminal_color_5 = fg.gui + vim.g.terminal_color_6 = fg.gui + vim.g.terminal_color_7 = fg.gui + vim.g.terminal_color_8 = theme.blackest.gui + vim.g.terminal_color_9 = fg.gui + vim.g.terminal_color_10 = fg.gui + vim.g.terminal_color_11 = fg.gui + vim.g.terminal_color_12 = fg.gui + vim.g.terminal_color_13 = fg.gui + vim.g.terminal_color_14 = fg.gui + vim.g.terminal_color_15 = theme.actual_white.gui +end + +return M diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index e68f05c..2ade1af 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,10 +1,10 @@ require("wacky.plugins-setup") require("wacky.core.options") require("wacky.core.keymaps") +require("wacky.plugins.lualine") require("wacky.core.colorscheme") require("wacky.plugins.transparent") require("wacky.plugins.nvim-oil") -require("wacky.plugins.lualine") require("wacky.plugins.telescope") require("wacky.plugins.nvim-cmp") require("wacky.plugins.lsp.mason") diff --git a/.config/nvim/lua/wacky/core/colorscheme.lua b/.config/nvim/lua/wacky/core/colorscheme.lua index c330433..1bf0bb0 100644 --- a/.config/nvim/lua/wacky/core/colorscheme.lua +++ b/.config/nvim/lua/wacky/core/colorscheme.lua @@ -1,31 +1,5 @@ -require("kanso").setup({ - compile = false, -- enable compiling the colorscheme - undercurl = true, -- enable undercurls - commentStyle = { italic = true }, - functionStyle = {}, - keywordStyle = { italic = true }, - statementStyle = {}, - typeStyle = {}, - disableItalics = false, - transparent = true, -- do not set background color - dimInactive = false, -- dim inactive window `:h hl-NormalNC` - terminalColors = false, -- define vim.g.terminal_color_{0,17} - colors = { -- add/modify theme and palette colors - palette = {}, - theme = { zen = {}, pearl = {}, ink = {}, all = {} }, - }, - overrides = function(colors) -- add/modify highlights - return {} - end, - theme = "zen", -- Load "zen" theme - background = { -- map the value of 'background' option to a theme - dark = "zen", -- try "ink" ! - light = "pearl", - }, -}) - -- setup must be called before loading -vim.cmd("colorscheme kanso") +vim.cmd("colorscheme ascetic") -- This is for the Zenbone Theme -- vim.cmd("set background=light") diff --git a/.config/nvim/lua/wacky/plugins-setup.lua b/.config/nvim/lua/wacky/plugins-setup.lua index e49295d..3b8d2fa 100644 --- a/.config/nvim/lua/wacky/plugins-setup.lua +++ b/.config/nvim/lua/wacky/plugins-setup.lua @@ -36,9 +36,6 @@ return packer.startup(function(use) -- transparent background use("xiyaowong/transparent.nvim") - -- Color Scheme is here!!! - use("webhooked/kanso.nvim") -- preferred colorscheme atm - use("szw/vim-maximizer") -- maximizes and restores current window -- don't take this out; allows for pane navigation on splits @@ -62,7 +59,7 @@ return packer.startup(function(use) }) -- statusline - use("nvim-lualine/lualine.nvim") + use({ "nvim-lualine/lualine.nvim" }) -- fuzzy finding w/ telescope use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- dependency for better sorting performance diff --git a/.config/nvim/lua/wacky/plugins/lualine.lua b/.config/nvim/lua/wacky/plugins/lualine.lua index 99425cd..4f44314 100644 --- a/.config/nvim/lua/wacky/plugins/lualine.lua +++ b/.config/nvim/lua/wacky/plugins/lualine.lua @@ -3,4 +3,10 @@ if not status then return end -lualine.setup() +lualine.setup({ + options = { + theme = "auto", + section_separators = "", + component_separators = "", + }, +}) diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua index f098ce8..3759990 100644 --- a/.config/nvim/plugin/packer_compiled.lua +++ b/.config/nvim/plugin/packer_compiled.lua @@ -120,18 +120,13 @@ _G.packer_plugins = { path = "/Users/cole/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", url = "https://github.com/lewis6991/gitsigns.nvim" }, - ["kanso.nvim"] = { - loaded = true, - path = "/Users/cole/.local/share/nvim/site/pack/packer/start/kanso.nvim", - url = "https://github.com/webhooked/kanso.nvim" - }, ["lspkind.nvim"] = { loaded = true, path = "/Users/cole/.local/share/nvim/site/pack/packer/start/lspkind.nvim", url = "https://github.com/onsails/lspkind.nvim" }, ["lspsaga.nvim"] = { - config = { "\27LJ\2\nò\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\0025\3\t\0005\4\b\0=\4\n\3=\3\v\2B\0\2\1K\0\1\0\aui\vcolors\1\0\1\vcolors\0\1\0\1\14normal_bg\f#022746\15definition\1\0\1\tedit\t<CR>\19scroll_preview\1\0\3\15definition\0\19scroll_preview\0\aui\0\1\0\2\16scroll_down\n<C-f>\14scroll_up\n<C-b>\nsetup\flspsaga\frequire\0" }, + config = { "\27LJ\2\nò\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\0025\3\t\0005\4\b\0=\4\n\3=\3\v\2B\0\2\1K\0\1\0\aui\vcolors\1\0\1\vcolors\0\1\0\1\14normal_bg\f#022746\15definition\1\0\1\tedit\t<CR>\19scroll_preview\1\0\3\aui\0\15definition\0\19scroll_preview\0\1\0\2\16scroll_down\n<C-f>\14scroll_up\n<C-b>\nsetup\flspsaga\frequire\0" }, load_after = {}, loaded = true, needs_bufread = false, @@ -242,7 +237,7 @@ _G.packer_plugins = { url = "https://github.com/nvim-telescope/telescope.nvim" }, ["toggleterm.nvim"] = { - config = { "\27LJ\2\nf\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\3\14direction\15horizontal\14autochdir\1\tsize\3\15\nsetup\15toggleterm\frequire\0" }, + config = { "\27LJ\2\nf\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\3\tsize\3\15\14autochdir\1\14direction\15horizontal\nsetup\15toggleterm\frequire\0" }, loaded = true, path = "/Users/cole/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", url = "https://github.com/akinsho/toggleterm.nvim" @@ -293,21 +288,21 @@ time([[Setup for markdown-preview.nvim]], false) time([[Config for Navigator.nvim]], true) try_loadstring("\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14Navigator\frequire\0", "config", "Navigator.nvim") time([[Config for Navigator.nvim]], false) --- Config for: toggleterm.nvim -time([[Config for toggleterm.nvim]], true) -try_loadstring("\27LJ\2\nf\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\3\14direction\15horizontal\14autochdir\1\tsize\3\15\nsetup\15toggleterm\frequire\0", "config", "toggleterm.nvim") -time([[Config for toggleterm.nvim]], false) -- Config for: nvim-ts-autotag time([[Config for nvim-ts-autotag]], true) try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag") time([[Config for nvim-ts-autotag]], false) +-- Config for: toggleterm.nvim +time([[Config for toggleterm.nvim]], true) +try_loadstring("\27LJ\2\nf\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\3\tsize\3\15\14autochdir\1\14direction\15horizontal\nsetup\15toggleterm\frequire\0", "config", "toggleterm.nvim") +time([[Config for toggleterm.nvim]], false) -- Load plugins in order defined by `after` time([[Sequenced loading]], true) vim.cmd [[ packadd nvim-lspconfig ]] vim.cmd [[ packadd lspsaga.nvim ]] -- Config for: lspsaga.nvim -try_loadstring("\27LJ\2\nò\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\0025\3\t\0005\4\b\0=\4\n\3=\3\v\2B\0\2\1K\0\1\0\aui\vcolors\1\0\1\vcolors\0\1\0\1\14normal_bg\f#022746\15definition\1\0\1\tedit\t<CR>\19scroll_preview\1\0\3\15definition\0\19scroll_preview\0\aui\0\1\0\2\16scroll_down\n<C-f>\14scroll_up\n<C-b>\nsetup\flspsaga\frequire\0", "config", "lspsaga.nvim") +try_loadstring("\27LJ\2\nò\1\0\0\5\0\f\0\0156\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\0025\3\t\0005\4\b\0=\4\n\3=\3\v\2B\0\2\1K\0\1\0\aui\vcolors\1\0\1\vcolors\0\1\0\1\14normal_bg\f#022746\15definition\1\0\1\tedit\t<CR>\19scroll_preview\1\0\3\aui\0\15definition\0\19scroll_preview\0\1\0\2\16scroll_down\n<C-f>\14scroll_up\n<C-b>\nsetup\flspsaga\frequire\0", "config", "lspsaga.nvim") time([[Sequenced loading]], false) vim.cmd [[augroup packer_load_aucmds]] |
