diff options
| author | 2026-02-22 13:02:08 +0300 | |
|---|---|---|
| committer | 2026-02-22 15:28:51 +0300 | |
| commit | ad175cdb4045fbe8fecb686c871b481e312d43dd (patch) | |
| tree | 533b63cdadd138d94ff3247fa5faabea95dfd5a6 | |
| parent | fixes zshrc (diff) | |
| download | dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.gz dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.bz2 dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.xz dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.zip | |
nvim configs
| -rw-r--r-- | config/kitty/kitty.conf | 36 | ||||
| -rw-r--r-- | config/nvim/init.lua | 2 | ||||
| -rw-r--r-- | config/nvim/lazy-lock.json | 11 | ||||
| -rw-r--r-- | config/nvim/lua/autocommands.lua | 18 | ||||
| -rw-r--r-- | config/nvim/lua/keymaps.lua | 8 | ||||
| -rw-r--r-- | config/nvim/lua/options.lua | 5 | ||||
| -rw-r--r-- | config/nvim/lua/plugins.lua | 6 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/dap.lua | 6 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/folding.lua | 8 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lspconfig.lua (renamed from config/nvim/lua/plugins/nvim-lspconfig.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lspsaga.lua (renamed from config/nvim/lua/plugins/lsp_saga.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lualine.lua | 7 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/tree.lua | 53 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/treesitter.lua | 4 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/wrapping.lua | 6 | ||||
| -rw-r--r-- | config/nvim/lua/theme/colors.lua | 1626 | ||||
| -rw-r--r-- | config/nvim/lua/theme/colors256.lua | 110 | ||||
| -rw-r--r-- | config/nvim/lua/theme/init.lua | 5 | ||||
| -rw-r--r-- | zsh/.zshrc | 28 |
19 files changed, 976 insertions, 963 deletions
diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index f239799..3a26ad7 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -1,18 +1,22 @@ -font_size 10.0 +layout horizontal +font_size 11.0 background_opacity 1 -background #030320 -cursor_shape beam -window_margin_width 4 +background #1e1e1f +cursor_shape block +cursor_shape_unfocused hollow +window_margin_width 0 confirm_os_window_close 0 - -# Zoom -map ctrl+plus change_font_size all +1 -map ctrl+equal change_font_size all +1 -map ctrl+kp_add change_font_size all +1 - -map ctrl+minus change_font_size all -1 -map ctrl+underscore change_font_size all -1 -map ctrl+kp_subtract change_font_size all -1 - -map ctrl+0 change_font_size all 0 -map ctrl+kp_0 change_font_size all 0 +wayland_titlebar_color system +linux_display_server wayland +map ctrl+alt+enter launch --cwd=current +map kitty_mod+c copy_to_clipboard +map kitty_mod+up scroll_line_up +map kitty_mod+down scroll_line_down +map kitty_mod+page_up scroll_page_up +map kitty_mod+page_down scroll_page_down +map kitty_mod+h resize_window narrower +map kitty_mod+l resize_window wider +map kitty_mod+j resize_window taller +map kitty_mod+k resize_window shorter 3 +# reset all windows in the tab to default sizes +map kitty_mod+home resize_window reset diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 73b1fcc..b68a053 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,4 +1,5 @@ local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +-- {{{ if not (vim.uv or vim.loop).fs_stat(lazypath) then local lazyrepo = "https://github.com/folke/lazy.nvim.git" local out = vim.fn.system({ @@ -19,6 +20,7 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then os.exit(1) end end +-- }}} vim.opt.rtp:prepend(lazypath) vim.g.mapleader = " " vim.g.maplocalleader = " " diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 79cf4a0..257a01f 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -17,24 +17,27 @@ "lspsaga.nvim": { "branch": "main", "commit": "8efe00d6aed9db6449969f889170f1a7e43101a1" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "multicursor.nvim": { "branch": "1.0", "commit": "630dd29dd696bc977cb81d7dd2fa6bb280f60fc4" }, - "neogit": { "branch": "master", "commit": "9104991a424f5e0891cbe1cb44f91ae22cef28a0" }, + "neogit": { "branch": "master", "commit": "2a47e1df95605b232fbdd5d369ab1bfaaf40fce4" }, "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, "nvim-dap": { "branch": "master", "commit": "db321947bb289a2d4d76a32e76e4d2bd6103d7df" }, "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, + "nvim-drawer": { "branch": "main", "commit": "d80832901fc69c56b39f657dd807cbb00098e36f" }, "nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-tree.lua": { "branch": "master", "commit": "1df1960d0e3a26643a4100f64fa03b991b9f4b85" }, - "nvim-treesitter": { "branch": "main", "commit": "4d9466677a5ceadef104eaa0fe08d60d91c4e9a7" }, + "nvim-tree.lua": { "branch": "master", "commit": "e11ce83ed9a00f065bf676ae4e6c261c766989ba" }, + "nvim-treesitter": { "branch": "main", "commit": "dc42c209f3820bdfaae0956f15de29689aa6b451" }, "nvim-treesitter-context": { "branch": "master", "commit": "64dd4cf3f6fd0ab17622c5ce15c91fc539c3f24a" }, "nvim-treesitter-textobjects": { "branch": "main", "commit": "a0e182ae21fda68c59d1f36c9ed45600aef50311" }, "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, + "region-folding.nvim": { "branch": "master", "commit": "949a3348c51a1c0e08c098b5d2537f3efe53030f" }, "smartcolumn.nvim": { "branch": "main", "commit": "b9cdbdf42f7ac5a659204cd5926017c7ff724a19" }, "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, - "telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" }, + "telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" }, + "wrapping.nvim": { "branch": "master", "commit": "6cdc793511ccccee2ddd5322d640a17b7b255504" }, "zk-nvim": { "branch": "main", "commit": "51c8f858420112dda495a6f4ddbd3943ae433e39" } } diff --git a/config/nvim/lua/autocommands.lua b/config/nvim/lua/autocommands.lua index 9811dbe..aec32ec 100644 --- a/config/nvim/lua/autocommands.lua +++ b/config/nvim/lua/autocommands.lua @@ -118,10 +118,26 @@ vim.api.nvim_create_autocmd({ "VimEnter" }, { return end vim.cmd.cd(data.file) - require("nvim-tree.api").tree.open() + -- require("nvim-tree.api").tree.open() end, }) +local api = require("nvim-tree.api") + +vim.api.nvim_create_augroup("NvimTreeResize", { + clear = true, +}) + +vim.api.nvim_create_autocmd({ "VimResized", "WinResized" }, { + group = "NvimTreeResize", + callback = function() + -- Get the nvim-tree window ID + local winid = api.tree.winid() + if winid then + api.tree.reload() + end + end, +}) vim.api.nvim_create_autocmd("FileType", { pattern = "*.go", callback = function() diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua index d4ca130..4c5c471 100644 --- a/config/nvim/lua/keymaps.lua +++ b/config/nvim/lua/keymaps.lua @@ -12,8 +12,8 @@ vim.keymap.set("v", "i", "<S-i>", { desc = "Select inner object" }) vim.keymap.set("v", "a", "<S-a>", { desc = "Select around object" }) vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selection down" }) vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "Move selection up" }) -vim.keymap.set("v", "<", "<gv", { desc = "Indent left and keep selection" }) -vim.keymap.set("v", ">", ">gv", { desc = "Indent right and keep selection" }) +vim.keymap.set("v", "H", "<gv", { desc = "Indent left and keep selection" }) +vim.keymap.set("v", "L", ">gv", { desc = "Indent right and keep selection" }) -- ========== УПРАВЛЕНИЕ БУФЕРАМИ ========== vim.keymap.set("n", "<leader>bn", "<cmd>bnext<CR>", { desc = "Next buffer" }) @@ -37,3 +37,7 @@ end -- ========== MISCELLANEOUS ========== vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, { desc = "Signature help" }) vim.keymap.set("n", "<A-q>", "gqip", { desc = "Reflow line" }) + +vim.keymap.set({ "n", "v", "s", "x", "o", "i", "l", "c", "t" }, "<C-S-v>", function() + vim.api.nvim_paste(vim.fn.getreg("+"), true, -1) +end, { noremap = true, silent = true }) diff --git a/config/nvim/lua/options.lua b/config/nvim/lua/options.lua index 4a230ad..1801c5c 100644 --- a/config/nvim/lua/options.lua +++ b/config/nvim/lua/options.lua @@ -27,7 +27,7 @@ local options = { cursorline = true, listchars = { tab = "› ", - trail = "-", + trail = "…", nbsp = "+", leadmultispace = "· ", }, @@ -42,13 +42,14 @@ local options = { foldexpr = "v:lua.vim.treesitter.foldexpr()", foldnestmax = 10, -- foldlevel = 9, - foldlevel = 3, + foldlevel = 4, scrolloff = 999, so = vim.fn.floor(vim.fn.winheight(0) / 2), guicursor = "n-v-c:block,i-ci-ve:hor10,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175", langmap = "ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯЖ;ABCDEFGHIJKLMNOPQRSTUVWXYZ:,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz", spelllang = "en,ru_yo", spell = true, + guifont = "FiraCode Nerd Font Mono Ret:h10", } vim.opt.formatoptions:append({ r = true, o = true }) vim.opt.shortmess:append("c") diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index fc51fb7..fe3360c 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -1,14 +1,14 @@ require("lazy").setup({ require("plugins.plenary"), require("plugins.guihua"), - require("plugins.nvim-lspconfig"), require("plugins.goerr"), require("plugins.neogit"), require("plugins.dap"), require("plugins.multicursor"), require("plugins.apidocs"), require("plugins.resize"), - require("plugins.lsp_saga"), + require("plugins.lspconfig"), + require("plugins.lspsaga"), require("plugins.autosave"), require("plugins.cmp"), require("plugins.treesitter"), @@ -23,6 +23,8 @@ require("lazy").setup({ require("plugins.gitsigns"), require("plugins.claudecode"), require("plugins.zk"), + require("plugins.wrapping"), + require("plugins.folding"), }, { performance = { rtp = { diff --git a/config/nvim/lua/plugins/dap.lua b/config/nvim/lua/plugins/dap.lua index 9046fe9..7340da6 100644 --- a/config/nvim/lua/plugins/dap.lua +++ b/config/nvim/lua/plugins/dap.lua @@ -15,9 +15,13 @@ return { dap.configurations.go = { { type = "go", - name = "Debug", + name = "Debug cur file", request = "launch", program = "${file}", + cwd = "${workspaceFolder}", + envFile = "${workspaceFolder}/.env", + buildFlags = "", + outputMode = "remote", }, { type = "go", diff --git a/config/nvim/lua/plugins/folding.lua b/config/nvim/lua/plugins/folding.lua new file mode 100644 index 0000000..9b30204 --- /dev/null +++ b/config/nvim/lua/plugins/folding.lua @@ -0,0 +1,8 @@ +return { + "nicolas-martin/region-folding.nvim", + event = { "BufReadPost", "BufNewFile" }, + opts = { + region_text = { start = "{{{", ending = "}}}" }, + fold_indicator = "▼", + }, +} diff --git a/config/nvim/lua/plugins/nvim-lspconfig.lua b/config/nvim/lua/plugins/lspconfig.lua index 59085f9..59085f9 100644 --- a/config/nvim/lua/plugins/nvim-lspconfig.lua +++ b/config/nvim/lua/plugins/lspconfig.lua diff --git a/config/nvim/lua/plugins/lsp_saga.lua b/config/nvim/lua/plugins/lspsaga.lua index 546c073..546c073 100644 --- a/config/nvim/lua/plugins/lsp_saga.lua +++ b/config/nvim/lua/plugins/lspsaga.lua diff --git a/config/nvim/lua/plugins/lualine.lua b/config/nvim/lua/plugins/lualine.lua index 920e729..bb1842a 100644 --- a/config/nvim/lua/plugins/lualine.lua +++ b/config/nvim/lua/plugins/lualine.lua @@ -4,9 +4,10 @@ return { opts = { options = { icons_enabled = true, - theme = "nightfly", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, + theme = "auto", + -- theme = "nightfly", + -- component_separators = { left = "", right = "" }, + -- section_separators = { left = "", right = "" }, disabled_filetypes = { statusline = {}, winbar = {}, diff --git a/config/nvim/lua/plugins/tree.lua b/config/nvim/lua/plugins/tree.lua index e002f49..18f217b 100644 --- a/config/nvim/lua/plugins/tree.lua +++ b/config/nvim/lua/plugins/tree.lua @@ -1,23 +1,16 @@ -local WIDTH_RATIO = 0.25 - +local HEIGHT_RATIO = 0.8 +local WIDTH_RATIO = 0.5 return { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons", }, opts = { - disable_netrw = true, + disable_netrw = false, hijack_netrw = true, sort = { sorter = "case_sensitive", }, - view = { - width = function() - return math.floor(vim.opt.columns:get() * WIDTH_RATIO) - end, - adaptive_size = true, - centralize_selection = true, - }, git = { enable = true, ignore = false, @@ -37,6 +30,44 @@ return { update_focused_file = { enable = true, }, + on_attach = function(bufnr) + local api = require("nvim-tree.api") + api.config.mappings.default_on_attach(bufnr) + vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7" }) + end, + view = { + float = { + enable = true, + open_win_config = function() + local screen_w = vim.opt.columns:get() + local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get() + local window_w = screen_w * WIDTH_RATIO + local window_h = screen_h * HEIGHT_RATIO + local window_w_int = math.floor(window_w) + local window_h_int = math.floor(window_h) + local center_x = (screen_w - window_w) / 2 + local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get() + local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7" + local border_fg = vim.o.background == "dark" and "#333333" or "#999999" + -- Force highlight for border and nvim-tree background + vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg }) + vim.api.nvim_set_hl(0, "NvimTreeFloatBorder", { fg = border_fg, bg = border_bg }) + vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = border_bg }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = border_bg }) + return { + border = "rounded", + relative = "editor", + row = center_y, + col = center_x, + width = window_w_int, + height = window_h_int, + } + end, + }, + width = function() + return math.floor(vim.opt.columns:get() * WIDTH_RATIO) + end, + }, }, keys = { { @@ -54,4 +85,4 @@ return { desc = "Toggle file tree", }, }, -}
\ No newline at end of file +} diff --git a/config/nvim/lua/plugins/treesitter.lua b/config/nvim/lua/plugins/treesitter.lua index 59e9294..a5ec534 100644 --- a/config/nvim/lua/plugins/treesitter.lua +++ b/config/nvim/lua/plugins/treesitter.lua @@ -35,9 +35,7 @@ return { }, }, }, - build = function() - require("nvim-treesitter.install").update({ with_sync = true })() - end, + build = ":TSUpdate", dependencies = { { "nvim-treesitter/nvim-treesitter-textobjects" }, { diff --git a/config/nvim/lua/plugins/wrapping.lua b/config/nvim/lua/plugins/wrapping.lua new file mode 100644 index 0000000..63a9e24 --- /dev/null +++ b/config/nvim/lua/plugins/wrapping.lua @@ -0,0 +1,6 @@ +return { + "andrewferrier/wrapping.nvim", + config = function() + require("wrapping").setup() + end, +} diff --git a/config/nvim/lua/theme/colors.lua b/config/nvim/lua/theme/colors.lua index dd6f804..ca33eb3 100644 --- a/config/nvim/lua/theme/colors.lua +++ b/config/nvim/lua/theme/colors.lua @@ -1,6 +1,6 @@ vim.cmd("hi clear") if vim.fn.exists("syntax_on") == 1 then - vim.cmd("syntax reset") + vim.cmd("syntax reset") end vim.g.colors_name = "alabaster" @@ -8,797 +8,849 @@ vim.g.colors_name = "alabaster" local theme ---@diagnostic disable: undefined-global if vim.o.background == "dark" then - -- terminal colors - vim.g.terminal_color_0 = "#000000" - vim.g.terminal_color_1 = "#d2322d" - vim.g.terminal_color_2 = "#6abf40" - vim.g.terminal_color_3 = "#cd974b" - vim.g.terminal_color_4 = "#217EBC" - vim.g.terminal_color_5 = "#9B3596" - vim.g.terminal_color_6 = "#178F79" - vim.g.terminal_color_7 = "#cecece" - vim.g.terminal_color_8 = "#333333" - vim.g.terminal_color_9 = "#c33c33" - vim.g.terminal_color_10 = "#95cb82" - vim.g.terminal_color_11 = "#dfdf8e" - vim.g.terminal_color_12 = "#71aed7" - vim.g.terminal_color_13 = "#cc8bc9" - vim.g.terminal_color_14 = "#47BEA9" - vim.g.terminal_color_15 = "#ffffff" - - -- colors - local fg = "#cecece" - local punct_fg = "#708b8d" - local def_fg = "#71ade7" - local const_fg = "#cc8bc9" - local active = "#cd974b" - local string_fg = "#95cb82" - local darker_fg = "#7d7d7d" - local diffadd = "#6abf40" - local diffdelete = "#d2322d" - local diffchange = "#ec8013" - local statusline = "#2c3043" - local comment = "#dfdf8e" - local dim_comment = "#696969" - local mistake = { - fg = "#c33c33", - bg = "#2b1d1e", - } - local error = "#d13e23" - local warn = "#f4b371" - local hint = "#8ebeec" - local info = "#88cc66" - local ansi = { - black = "#333333", - blue = "#71aed7", - brightyellow = "#dfdf8e", - cyan = "#47bea9", - green = "#95cb82", - magenta = "#cc8bc9", - red = "#c33c33", - white = "#cecece", - yellow = "#cd974b", - } - local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment - local pmenu_bg = "#252525" - local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg - local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#333333" } - or { - bg = float_bg, - fg = float_bg, - } - theme = { - Comment = { fg = comment_fg }, - ColorColumn = { bg = "#252525" }, - Conceal = { fg = "#b0b0b0" }, - Cursor = { bg = active, fg = "#000000" }, - -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') - -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM| - CursorColumn = { bg = "#252525" }, - CursorLine = { bg = "#252525" }, - Directory = { fg = ansi.blue }, - DiffAdd = { bg = "#244032", fg = "#56d364" }, - DiffDelete = { bg = "#462c32", fg = "#f85149" }, - DiffText = { fg = "#341a00", bg = "#fff987" }, - DiffChange = { bg = "#341a00", fg = "#e3b341" }, - EndOfBuffer = { fg = "#354c50" }, - -- TermCursor { }, -- cursor in a focused terminal - TermCursorNC = { fg = bg, bg = fg }, - ErrorMsg = { fg = error, bg = mistake.bg }, - VertSplit = { fg = "#2b3d40" }, - Folded = { bg = "#252525", fg = "#7d7d7d" }, - FoldColumn = { bg = bg, fg = "#4d4d4d" }, - SignColumn = {}, - IncSearch = { bg = ansi.yellow, fg = bg }, - -- Substitute { }, -- |:substitute| replacement text highlighting - LineNr = { fg = "#5c5c5c" }, - CursorLineNr = { fg = ansi.blue, bold = 1 }, - MatchParen = { underline = 1, sp = active }, - -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ") - -- MsgArea { }, -- Area for messages and cmdline - -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' - MoreMsg = { fg = ansi.green, bold = 1 }, - NonText = { fg = "#696969" }, - Normal = { bg = bg, fg = fg }, - NormalFloat = { bg = float_bg }, - -- NormalNC { }, -- normal text in non-current windows - FloatBorder = floatborder, - Pmenu = { bg = pmenu_bg }, - PmenuSel = { bg = "#354c50" }, - PmenuSbar = { bg = "#212f31" }, - PmenuThumb = { bg = "#47666b" }, - Question = { fg = diffadd }, - QuickFixLine = { bg = "#252525" }, - Search = { bg = "#354c50" }, - SpecialKey = { fg = ansi.cyan }, - SpellBad = { undercurl = 1, sp = ansi.red }, - SpellCap = { undercurl = 1, sp = ansi.blue }, - SpellLocal = { undercurl = 1, sp = ansi.cyan }, - SpellRare = { undercurl = 1, sp = ansi.magenta }, - StatusLine = { bg = statusline, fg = fg }, - StatusLineNC = { bg = statusline, fg = "#9f9f9f" }, - TabLine = { bg = statusline, fg = "#7d7d7d" }, - TabLineFill = { bg = statusline }, - TabLineSel = { bg = statusline, fg = ansi.blue }, - Title = { fg = const_fg }, - Visual = { bg = "#293334" }, - VisualNOS = { bg = "#293334" }, - WarningMsg = { fg = "#e1ad4c" }, - WildMenu = { bg = "#354c50" }, - WinBar = { bg = bg, fg = ansi.white, bold = true }, - WinBarNC = { bg = bg, fg = "#7d7d7d" }, - - --- SYNTAX I: TS groups link to these - Constant = { fg = const_fg }, - String = { fg = string_fg }, - Character = { fg = const_fg }, - Number = { fg = const_fg }, - Boolean = { fg = const_fg }, - Float = { fg = const_fg }, - Operator = { fg = punct_fg }, - - --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter - Identifier = { fg = def_fg }, -- ansi.white }, - Function = { fg = def_fg }, - Statement = { fg = ansi.white }, - Conditional = { fg = ansi.white }, - Repeat = { fg = ansi.white }, - Label = { fg = def_fg }, - Keyword = { fg = ansi.white }, - Exception = { fg = ansi.white }, - PreProc = { fg = ansi.white }, - Include = { fg = ansi.white }, - Define = { fg = ansi.white }, - Macro = { fg = ansi.white }, - PreCondit = { fg = ansi.white }, - Type = { fg = ansi.white }, - StorageClass = { fg = ansi.white }, - Structure = { fg = def_fg }, - Typedef = { fg = def_fg }, - - Special = { fg = ansi.yellow }, - -- TODO better color than diffchange, try reddish - -- SpecialChar = { fg = diffchange }, -- special character in a constant - -- Tag { }, -- you can use CTRL-] on this - -- Delimiter { }, - SpecialComment = { bg = "#1d292b", fg = ansi.blue }, - debugPc = { bg = "#0f2534" }, - debugBreakpoint = { bg = "#b33229" }, - helpHyperTextJump = { fg = ansi.magenta }, - helpSectionDelim = { fg = ansi.magenta }, - helpExample = { fg = ansi.cyan }, - helpCommand = { fg = ansi.cyan }, - helpHeadline = { fg = ansi.blue }, - helpHeader = { fg = ansi.magenta }, - - Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links - Italic = { italic = 1 }, - - -- ("Ignore", below, may be invisible...) - -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| - - Error = { bg = mistake.bg, fg = mistake.fg }, - - Todo = { bg = "#d0d058", fg = bg }, - - --- Diagnostic - LspReferenceText = { bg = "#253437" }, - LspReferenceRead = { bg = "#253437" }, - LspReferenceWrite = { bg = "#253437", underline = 1, sp = active }, - LspCodeLens = { fg = "#5c5c5c" }, - LspCodeLensSeparator = { fg = "#5c5c5c" }, - - --- Diagnostic - DiagnosticError = { fg = error }, - DiagnosticWarn = { fg = warn }, - DiagnosticHint = { fg = hint }, - DiagnosticInfo = { fg = info }, - DiagnosticVirtualTextError = { bg = "#350B0B", fg = "#D1503A" }, - DiagnosticVirtualTextWarn = { bg = "#3F240A", fg = "#C8935D" }, - DiagnosticVirtualTextHint = { bg = "#1D2B37", fg = "#7E9CB9" }, - DiagnosticVirtualTextInfo = { bg = "#162C0B", fg = "#7BAC62" }, - - --- Treesitter - TSAttribute = {}, - TSConstructor = { fg = ansi.white }, - TSConditional = { fg = ansi.white }, - TSConstBuiltin = { fg = const_fg }, - TSConstMacro = { fg = ansi.white }, - TSError = { bg = mistake.bg, fg = mistake.fg }, - TSException = { fg = ansi.white }, - TSField = { fg = def_fg }, -- ansi.white }, - TSFunction = { fg = ansi.white }, - TSFuncBuiltin = { fg = ansi.white }, - TSFuncMacro = { fg = ansi.white }, - TSKeyword = { fg = ansi.white }, - TSKeywordFunction = { fg = ansi.white }, - TSLabel = { fg = ansi.white }, - TSMethod = { fg = ansi.white }, - TSNamespace = { fg = ansi.white }, - TSNone = { fg = const_fg }, - TSParameter = { fg = ansi.white }, - TSParameterReference = { fg = ansi.white }, - TSProperty = { fg = ansi.white }, - TSPunctDelimiter = { fg = punct_fg }, - TSPunctBracket = { fg = "#bababa" }, - TSPunctSpecial = { fg = punct_fg }, - TSRepeat = { fg = ansi.white }, - TSString = { fg = string_fg }, - TSStringRegex = { bg = "#1d292b", fg = const_fg }, - TSStringEscape = { bg = "#1d292b", fg = const_fg }, - TSSymbol = {}, - TSType = { fg = ansi.white }, - TSTypeBuiltin = { fg = ansi.white }, - TSVariable = { fg = ansi.white }, - TSVariableBuiltin = { fg = ansi.white }, - TSTag = { fg = ansi.white }, - TSTagDelimiter = { fg = punct_fg }, - TSText = { fg = ansi.white }, - ["@attribute"] = {}, - ["@constructor"] = { fg = ansi.white }, - ["@conditional"] = { fg = ansi.white }, - ["@constant.builtin"] = { fg = const_fg }, - ["@constant.macro"] = { fg = ansi.white }, - ["@error"] = { bg = mistake.bg, fg = mistake.fg }, - ["@exception"] = { fg = ansi.white }, - ["@field"] = { fg = ansi.white }, - ["@function"] = { fg = ansi.white }, - ["@function.builtin"] = { fg = ansi.white }, - ["@function.macro"] = { fg = ansi.white }, - ["@keyword"] = { fg = ansi.white }, - ["@keyword.function"] = { fg = ansi.white }, - ["@keyword.operator"] = { fg = punct_fg }, - ["@label"] = { fg = ansi.white }, - ["@method"] = { fg = ansi.white }, - ["@module"] = { fg = ansi.white }, - ["@namespace"] = { fg = ansi.white }, - ["@none"] = { fg = const_fg }, - ["@parameter"] = { fg = ansi.white }, - ["@parameter.reference"] = { fg = ansi.white }, - ["@property"] = { fg = ansi.white }, - ["@punctuation.delimiter"] = { fg = punct_fg }, - ["@punctuation.bracket"] = { fg = "#bababa" }, - ["@punctuation.special"] = { fg = punct_fg }, - ["@repeat"] = { fg = ansi.white }, - ["@string"] = { fg = string_fg }, - ["@string.regex"] = { bg = "#1d292b", fg = const_fg }, - ["@string.escape"] = { bg = "#1d292b", fg = const_fg }, - ["@symbol"] = {}, - ["@type.builtin"] = { fg = ansi.white }, - ["@variable"] = { fg = ansi.white }, - ["@variable.builtin"] = { fg = ansi.white }, - ["@tag"] = { fg = ansi.white }, - ["@tag.delimiter"] = { fg = punct_fg }, - ["@text"] = { fg = ansi.white }, - ["@text.note"] = { bg = "#1d292b", fg = ansi.blue }, - ["@text.warning"] = { bg = "#d0d058", fg = bg }, - - ["@type"] = { fg = def_fg }, + -- terminal colors + vim.g.terminal_color_0 = "#000000" + vim.g.terminal_color_1 = "#d2322d" + vim.g.terminal_color_2 = "#6abf40" + vim.g.terminal_color_3 = "#cd974b" + vim.g.terminal_color_4 = "#217EBC" + vim.g.terminal_color_5 = "#9B3596" + vim.g.terminal_color_6 = "#178F79" + vim.g.terminal_color_7 = "#cecece" + vim.g.terminal_color_8 = "#333333" + vim.g.terminal_color_9 = "#c33c33" + vim.g.terminal_color_10 = "#95cb82" + vim.g.terminal_color_11 = "#dfdf8e" + vim.g.terminal_color_12 = "#71aed7" + vim.g.terminal_color_13 = "#cc8bc9" + vim.g.terminal_color_14 = "#47BEA9" + vim.g.terminal_color_15 = "#ffffff" + + -- colors + local bg = "#1c1c1f" + local fg = "#cecece" + local punct_fg = "#708b8d" + local def_fg = "#71ade7" + local const_fg = "#cc8bc9" + local active = "#cd974b" + local string_fg = "#95cb82" + local darker_fg = "#7d7d7d" + local diffadd = "#6abf40" + local diffdelete = "#d2322d" + local diffchange = "#ec8013" + local statusline = "#2c3043" + local comment = "#dfdf8e" + local dim_comment = "#696969" + local mistake = { + fg = "#c33c33", + bg = "#2b1d1e", + } + local error = "#d13e23" + local warn = "#f4b371" + local hint = "#8ebeec" + local info = "#88cc66" + local ansi = { + black = "#333333", + blue = "#71aed7", + brightyellow = "#dfdf8e", + cyan = "#47bea9", + green = "#95cb82", + magenta = "#cc8bc9", + red = "#c33c33", + white = "#cecece", + yellow = "#cd974b", + } + local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment + local pmenu_bg = "#252525" + local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg + local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#333333" } + or { + bg = float_bg, + fg = float_bg, + } + theme = { + Comment = { fg = comment_fg }, + ColorColumn = { bg = "#252525" }, + Conceal = { fg = "#b0b0b0" }, + Cursor = { bg = active, fg = "#000000" }, + -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') + -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM| + CursorColumn = { bg = "#252525" }, + CursorLine = { bg = "#252525" }, + Directory = { fg = ansi.blue }, + DiffAdd = { bg = "#244032", fg = "#56d364" }, + DiffDelete = { bg = "#462c32", fg = "#f85149" }, + DiffText = { fg = "#341a00", bg = "#fff987" }, + DiffChange = { bg = "#341a00", fg = "#e3b341" }, + EndOfBuffer = { fg = "#354c50" }, + -- TermCursor { }, -- cursor in a focused terminal + TermCursorNC = { fg = bg, bg = fg }, + ErrorMsg = { fg = error, bg = mistake.bg }, + VertSplit = { fg = "#2b3d40" }, + Folded = { bg = "#252525", fg = "#7d7d7d" }, + FoldColumn = { bg = bg, fg = "#4d4d4d" }, + SignColumn = {}, + IncSearch = { bg = ansi.yellow, fg = bg }, + -- Substitute { }, -- |:substitute| replacement text highlighting + LineNr = { fg = "#5c5c5c" }, + CursorLineNr = { fg = ansi.blue, bold = 1 }, + MatchParen = { underline = 1, sp = active }, + -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ") + -- MsgArea { }, -- Area for messages and cmdline + -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' + MoreMsg = { fg = ansi.green, bold = 1 }, + NonText = { fg = "#696969" }, + Normal = { bg = bg, fg = fg }, + NormalFloat = { bg = float_bg }, + -- NormalNC { }, -- normal text in non-current windows + FloatBorder = floatborder, + Pmenu = { bg = pmenu_bg }, + PmenuSel = { bg = "#354c50" }, + PmenuSbar = { bg = "#212f31" }, + PmenuThumb = { bg = "#47666b" }, + Question = { fg = diffadd }, + QuickFixLine = { bg = "#252525" }, + Search = { bg = "#354c50" }, + SpecialKey = { fg = ansi.cyan }, + SpellBad = { undercurl = 1, sp = ansi.red }, + SpellCap = { undercurl = 1, sp = ansi.blue }, + SpellLocal = { undercurl = 1, sp = ansi.cyan }, + SpellRare = { undercurl = 1, sp = ansi.magenta }, + StatusLine = { bg = statusline, fg = fg }, + StatusLineNC = { bg = statusline, fg = "#9f9f9f" }, + TabLine = { bg = statusline, fg = "#7d7d7d" }, + TabLineFill = { bg = statusline }, + TabLineSel = { bg = statusline, fg = ansi.blue }, + Title = { fg = const_fg }, + Visual = { bg = "#293334" }, + VisualNOS = { bg = "#293334" }, + WarningMsg = { fg = "#e1ad4c" }, + WildMenu = { bg = "#354c50" }, + WinBar = { bg = bg, fg = ansi.white, bold = true }, + WinBarNC = { bg = bg, fg = "#7d7d7d" }, + + --- SYNTAX I: TS groups link to these + Constant = { fg = const_fg }, + String = { fg = string_fg }, + Character = { fg = const_fg }, + Number = { fg = const_fg }, + Boolean = { fg = const_fg }, + Float = { fg = const_fg }, + Operator = { fg = punct_fg }, + + --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter + Identifier = { fg = def_fg }, -- ansi.white }, + Function = { fg = def_fg }, + Statement = { fg = ansi.white }, + Conditional = { fg = ansi.white }, + Repeat = { fg = ansi.white }, + Label = { fg = def_fg }, + Keyword = { fg = ansi.white }, + Exception = { fg = ansi.white }, + PreProc = { fg = ansi.white }, + Include = { fg = ansi.white }, + Define = { fg = ansi.white }, + Macro = { fg = ansi.white }, + PreCondit = { fg = ansi.white }, + Type = { fg = ansi.white }, + StorageClass = { fg = ansi.white }, + Structure = { fg = def_fg }, + Typedef = { fg = def_fg }, + + Special = { fg = ansi.yellow }, + -- TODO better color than diffchange, try reddish + -- SpecialChar = { fg = diffchange }, -- special character in a constant + -- Tag { }, -- you can use CTRL-] on this + -- Delimiter { }, + SpecialComment = { bg = "#1d292b", fg = ansi.blue }, + debugPc = { bg = "#0f2534" }, + debugBreakpoint = { bg = "#b33229" }, + helpHyperTextJump = { fg = ansi.magenta }, + helpSectionDelim = { fg = ansi.magenta }, + helpExample = { fg = ansi.cyan }, + helpCommand = { fg = ansi.cyan }, + helpHeadline = { fg = ansi.blue }, + helpHeader = { fg = ansi.magenta }, + + Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links + Italic = { italic = 1 }, + + -- ("Ignore", below, may be invisible...) + -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| + + Error = { bg = mistake.bg, fg = mistake.fg }, + + Todo = { bg = "#d0d058", fg = bg }, + + --- Diagnostic + LspReferenceText = { bg = "#253437" }, + LspReferenceRead = { bg = "#253437" }, + LspReferenceWrite = { bg = "#253437", underline = 1, sp = active }, + LspCodeLens = { fg = "#5c5c5c" }, + LspCodeLensSeparator = { fg = "#5c5c5c" }, + + --- Diagnostic + DiagnosticError = { fg = error }, + DiagnosticWarn = { fg = warn }, + DiagnosticHint = { fg = hint }, + DiagnosticInfo = { fg = info }, + DiagnosticVirtualTextError = { bg = "#350B0B", fg = "#D1503A" }, + DiagnosticVirtualTextWarn = { bg = "#3F240A", fg = "#C8935D" }, + DiagnosticVirtualTextHint = { bg = "#1D2B37", fg = "#7E9CB9" }, + DiagnosticVirtualTextInfo = { bg = "#162C0B", fg = "#7BAC62" }, + + --- Treesitter + TSAttribute = {}, + TSConstructor = { fg = ansi.white }, + TSConditional = { fg = ansi.white }, + TSConstBuiltin = { fg = const_fg }, + TSConstMacro = { fg = ansi.white }, + TSError = { bg = mistake.bg, fg = mistake.fg }, + TSException = { fg = ansi.white }, + TSField = { fg = def_fg }, -- ansi.white }, + TSFunction = { fg = ansi.white }, + TSFuncBuiltin = { fg = ansi.white }, + TSFuncMacro = { fg = ansi.white }, + TSKeyword = { fg = ansi.white }, + TSKeywordFunction = { fg = ansi.white }, + TSLabel = { fg = ansi.white }, + TSMethod = { fg = ansi.white }, + TSNamespace = { fg = ansi.white }, + TSNone = { fg = const_fg }, + TSParameter = { fg = ansi.white }, + TSParameterReference = { fg = ansi.white }, + TSProperty = { fg = ansi.white }, + TSPunctDelimiter = { fg = punct_fg }, + TSPunctBracket = { fg = "#bababa" }, + TSPunctSpecial = { fg = punct_fg }, + TSRepeat = { fg = ansi.white }, + TSString = { fg = string_fg }, + TSStringRegex = { bg = "#1d292b", fg = const_fg }, + TSStringEscape = { bg = "#1d292b", fg = const_fg }, + TSSymbol = {}, + TSType = { fg = ansi.white }, + TSTypeBuiltin = { fg = ansi.white }, + TSVariable = { fg = ansi.white }, + TSVariableBuiltin = { fg = ansi.white }, + TSTag = { fg = ansi.white }, + TSTagDelimiter = { fg = punct_fg }, + TSText = { fg = ansi.white }, + ["@attribute"] = {}, + ["@constructor"] = { fg = ansi.white }, + ["@conditional"] = { fg = ansi.white }, + ["@constant.builtin"] = { fg = const_fg }, + ["@constant.macro"] = { fg = ansi.white }, + ["@error"] = { bg = mistake.bg, fg = mistake.fg }, + ["@exception"] = { fg = ansi.white }, + ["@field"] = { fg = ansi.white }, + ["@function"] = { fg = ansi.white }, + ["@function.builtin"] = { fg = ansi.white }, + ["@function.macro"] = { fg = ansi.white }, + ["@keyword"] = { fg = ansi.white }, + ["@keyword.function"] = { fg = ansi.white }, + ["@keyword.operator"] = { fg = punct_fg }, + ["@label"] = { fg = ansi.white }, + ["@method"] = { fg = ansi.white }, + ["@module"] = { fg = ansi.white }, + ["@namespace"] = { fg = ansi.white }, + ["@none"] = { fg = const_fg }, + ["@parameter"] = { fg = ansi.white }, + ["@parameter.reference"] = { fg = ansi.white }, + ["@property"] = { fg = ansi.white }, + ["@punctuation.delimiter"] = { fg = punct_fg }, + ["@punctuation.bracket"] = { fg = "#bababa" }, + ["@punctuation.special"] = { fg = punct_fg }, + ["@repeat"] = { fg = ansi.white }, + ["@string"] = { fg = string_fg }, + ["@string.regex"] = { bg = "#1d292b", fg = const_fg }, + ["@string.escape"] = { bg = "#1d292b", fg = const_fg }, + ["@symbol"] = {}, + ["@type.builtin"] = { fg = ansi.white }, + ["@variable"] = { fg = ansi.white }, + ["@variable.builtin"] = { fg = ansi.white }, + ["@tag"] = { fg = ansi.white }, + ["@tag.delimiter"] = { fg = punct_fg }, + ["@text"] = { fg = ansi.white }, + ["@text.note"] = { bg = "#1d292b", fg = ansi.blue }, + ["@text.warning"] = { bg = "#d0d058", fg = bg }, + + ["@type"] = { fg = def_fg }, --- - --- Theme specific - ["@AlabasterBase"] = { fg = ansi.white }, - ["@AlabasterConstant"] = { fg = const_fg }, - ["@AlabasterDefinition"] = { fg = def_fg }, - ["@AlabasterPunct"] = { fg = punct_fg }, - ["@AlabasterString"] = { fg = string_fg }, - ["@AlabasterHashbang"] = { fg = dim_comment }, - --- Gitsigns - GitSignsAdd = { fg = diffadd }, - GitSignsChange = { fg = diffchange }, - GitSignsDelete = { fg = diffdelete }, - --- Telescope - TelescopeBorder = { fg = "#2b3d40" }, - TelescopeMatching = { fg = "#f09942" }, - TelescopeMultiSelection = { fg = ansi.magenta }, - TelescopePromptPrefix = { fg = ansi.blue }, - TelescopeSelectionCaret = { fg = mistake.fg }, - TelescopeTitle = { fg = ansi.brightyellow }, - TelescopeResultsTitle = { fg = ansi.yellow }, - --- fzf-lua - FzfLuaBorder = { fg = "#2b3d40" }, - --- mini.nvim - MiniPickMatchCurrent = { fg = "#f09942" }, - --- Neogit - NeogitPopupActionDisabled = { fg = darker_fg }, - NeogitPopupActionKey = { fg = ansi.magenta }, - NeogitPopupOptionDisabled = { fg = darker_fg }, - NeogitPopupOptionKey = { fg = ansi.blue }, - NeogitPopupSwitchDisabled = { fg = darker_fg }, - NeogitPopupSwitchEnabled = { fg = ansi.cyan }, - NeogitPopupSwitchKey = { fg = ansi.magenta }, - --- Fugitive - diffAdded = { link = "DiffAdd" }, - diffRemoved = { link = "DiffDelete" }, - --- Startify - StartifyBracket = { fg = darker_fg }, - StartifyFile = { fg = ansi.white }, - StartifySection = { fg = ansi.green }, - StartifySlash = { fg = "#4e6e75" }, - StartifyPath = { fg = "#4e6e75" }, - --- Statusline - StatuslineAdd = { fg = diffadd, bg = statusline }, - StatuslineErr = { fg = error, bg = statusline }, - StatuslineHint = { fg = hint, bg = statusline }, - StatuslineInfo = { fg = info, bg = statusline }, - StatuslineWarn = { fg = warn, bg = statusline }, - StatuslineBlue = { fg = ansi.blue, bg = statusline }, - StatuslineRed = { fg = ansi.red, bg = statusline }, - StatuslineGreen = { fg = ansi.green, bg = statusline }, - StatuslineCyan = { fg = ansi.cyan, bg = statusline }, - StatuslineMagenta = { fg = ansi.magenta, bg = statusline }, - --- ALE - ALEWarningSign = { fg = warn }, - --- vim-matchup - MatchupVirtualText = { fg = ansi.yellow }, - --- For `highlight link` - AlabasterBlack = { fg = ansi.black }, - AlabasterBlue = { fg = ansi.blue }, - AlabasterBrightYellow = { fg = ansi.brightyellow }, - AlabasterCyan = { fg = ansi.cyan }, - AlabasterGreen = { fg = ansi.green }, - AlabasterDarkGreen = { fg = "#6abf40" }, - AlabasterMagenta = { fg = ansi.magenta }, - AlabasterRed = { fg = ansi.red }, - AlabasterWhite = { fg = ansi.white }, - AlabasterYellow = { fg = ansi.yellow }, - --- Hop - HopNextKey = { fg = ansi.brightyellow }, - HopNextKey1 = { fg = ansi.cyan }, - HopNextKey2 = { fg = "#297567" }, - HopUnmatched = { fg = "#3d3d3d" }, - --- Lightspeed - LightspeedGreyWash = { fg = "#3d3d3d" }, - --- checkhealth - healthSuccess = { fg = ansi.green, bg = bg }, - --- cmp - CmpItemMenuDefault = { fg = ansi.magenta }, - --- nvim-ts-rainbow - rainbowcol1 = { fg = ansi.yellow }, - rainbowcol2 = { fg = ansi.magenta }, - rainbowcol3 = { fg = ansi.blue }, - rainbowcol4 = { fg = ansi.green }, - rainbowcol5 = { fg = ansi.brightyellow }, - rainbowcol6 = { fg = ansi.red }, - rainbowcol7 = { fg = ansi.cyan }, - --- Iswap - ISwapSnipe = { bg = ansi.yellow, fg = bg }, - ISwapGrey = { fg = "#3d3d3d" }, - --- vim-dadbod-ui - dbui_help = { fg = dim_comment }, - dbui_connection_source = { fg = dim_comment }, - --- nvim-dap-virtual-text - NvimDapVirtualText = { bg = "#1d292b", fg = ansi.cyan }, - --- Noice - NoiceCmdlineIcon = { link = "AlabasterDarkGreen" }, - NoiceCmdlinePopupBorder = { link = "AlabasterDarkGreen" }, - NoiceConfirmBorder = { link = "AlabasterDarkGreen" }, - NoiceCmdlinePopupBorderCmdline = { link = "AlabasterDarkGreen" }, - NoiceCmdlineIconCmdline = { link = "AlabasterDarkGreen" }, - NoiceCmdlinePopupBorderFilter = { link = "AlabasterDarkGreen" }, - NoiceCmdlineIconFilter = { link = "AlabasterDarkGreen" }, - NoiceCmdlinePopupBorderLua = { link = "AlabasterDarkGreen" }, - NoiceCmdlineIconLua = { link = "AlabasterDarkGreen" }, - NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" }, - NoiceCmdlineIconSearch = { link = "AlabasterYellow" }, - -- Languages - --- asm - asmDirective = { fg = dim_comment }, - nasmLabel = { link = "@AlabasterDefinition" }, - - ["@lsp.mod.declaration"] = { fg = fg }, - ["@lsp.type.enumMember"] = { fg = fg }, - ["@lsp.type.function"] = { fg = fg }, - ["@lsp.type.method"] = { fg = fg }, - ["@lsp.type.selfKeyword"] = { fg = fg }, - ["@lsp.typemod.class.declaration"] = { fg = def_fg }, - ["@lsp.typemod.class.definition"] = { fg = def_fg }, - ["@lsp.typemod.enum.declaration"] = { fg = def_fg }, - ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg }, - ["@lsp.typemod.function.declaration"] = { fg = def_fg }, - ["@lsp.typemod.function.definition"] = { fg = def_fg }, - ["@lsp.typemod.macro.declaration"] = { fg = def_fg }, - ["@lsp.typemod.method.declaration"] = { fg = def_fg }, - ["@lsp.typemod.selfKeyword"] = { fg = fg }, - ["@lsp.typemod.struct.declaration"] = { fg = def_fg }, - ["@lsp.typemod.type.declaration"] = { fg = def_fg }, - } + --- Theme specific + ["@AlabasterBase"] = { fg = ansi.white }, + ["@AlabasterConstant"] = { fg = const_fg }, + ["@AlabasterDefinition"] = { fg = def_fg }, + ["@AlabasterPunct"] = { fg = punct_fg }, + ["@AlabasterString"] = { fg = string_fg }, + ["@AlabasterHashbang"] = { fg = dim_comment }, + --- Gitsigns + GitSignsAdd = { fg = diffadd }, + GitSignsChange = { fg = diffchange }, + GitSignsDelete = { fg = diffdelete }, + --- Telescope + TelescopeBorder = { fg = "#2b3d40" }, + TelescopeMatching = { fg = "#f09942" }, + TelescopeMultiSelection = { fg = ansi.magenta }, + TelescopePromptPrefix = { fg = ansi.blue }, + TelescopeSelectionCaret = { fg = mistake.fg }, + TelescopeTitle = { fg = ansi.brightyellow }, + TelescopeResultsTitle = { fg = ansi.yellow }, + --- fzf-lua + FzfLuaBorder = { fg = "#2b3d40" }, + --- mini.nvim + MiniPickMatchCurrent = { fg = "#f09942" }, + --- Neogit + NeogitPopupActionDisabled = { fg = darker_fg }, + NeogitPopupActionKey = { fg = ansi.magenta }, + NeogitPopupOptionDisabled = { fg = darker_fg }, + NeogitPopupOptionKey = { fg = ansi.blue }, + NeogitPopupSwitchDisabled = { fg = darker_fg }, + NeogitPopupSwitchEnabled = { fg = ansi.cyan }, + NeogitPopupSwitchKey = { fg = ansi.magenta }, + --- Fugitive + diffAdded = { link = "DiffAdd" }, + diffRemoved = { link = "DiffDelete" }, + --- Startify + StartifyBracket = { fg = darker_fg }, + StartifyFile = { fg = ansi.white }, + StartifySection = { fg = ansi.green }, + StartifySlash = { fg = "#4e6e75" }, + StartifyPath = { fg = "#4e6e75" }, + --- Statusline + StatuslineAdd = { fg = diffadd, bg = statusline }, + StatuslineErr = { fg = error, bg = statusline }, + StatuslineHint = { fg = hint, bg = statusline }, + StatuslineInfo = { fg = info, bg = statusline }, + StatuslineWarn = { fg = warn, bg = statusline }, + StatuslineBlue = { fg = ansi.blue, bg = statusline }, + StatuslineRed = { fg = ansi.red, bg = statusline }, + StatuslineGreen = { fg = ansi.green, bg = statusline }, + StatuslineCyan = { fg = ansi.cyan, bg = statusline }, + StatuslineMagenta = { fg = ansi.magenta, bg = statusline }, + --- ALE + ALEWarningSign = { fg = warn }, + --- vim-matchup + MatchupVirtualText = { fg = ansi.yellow }, + --- For `highlight link` + AlabasterBlack = { fg = ansi.black }, + AlabasterBlue = { fg = ansi.blue }, + AlabasterBrightYellow = { fg = ansi.brightyellow }, + AlabasterCyan = { fg = ansi.cyan }, + AlabasterGreen = { fg = ansi.green }, + AlabasterDarkGreen = { fg = "#6abf40" }, + AlabasterMagenta = { fg = ansi.magenta }, + AlabasterRed = { fg = ansi.red }, + AlabasterWhite = { fg = ansi.white }, + AlabasterYellow = { fg = ansi.yellow }, + --- Hop + HopNextKey = { fg = ansi.brightyellow }, + HopNextKey1 = { fg = ansi.cyan }, + HopNextKey2 = { fg = "#297567" }, + HopUnmatched = { fg = "#3d3d3d" }, + --- Lightspeed + LightspeedGreyWash = { fg = "#3d3d3d" }, + --- checkhealth + healthSuccess = { fg = ansi.green, bg = bg }, + --- cmp + CmpItemMenuDefault = { fg = ansi.magenta }, + --- nvim-ts-rainbow + rainbowcol1 = { fg = ansi.yellow }, + rainbowcol2 = { fg = ansi.magenta }, + rainbowcol3 = { fg = ansi.blue }, + rainbowcol4 = { fg = ansi.green }, + rainbowcol5 = { fg = ansi.brightyellow }, + rainbowcol6 = { fg = ansi.red }, + rainbowcol7 = { fg = ansi.cyan }, + --- Iswap + ISwapSnipe = { bg = ansi.yellow, fg = bg }, + ISwapGrey = { fg = "#3d3d3d" }, + --- vim-dadbod-ui + dbui_help = { fg = dim_comment }, + dbui_connection_source = { fg = dim_comment }, + --- nvim-dap-virtual-text + NvimDapVirtualText = { bg = "#1d292b", fg = ansi.cyan }, + --- nvim-tree + NvimTreeNormal = { bg = "#1c1c1f" }, + NvimTreeNormalNC = { link = "NvimTreeNormal" }, + NvimTreeFloatBorder = { fg = "#333333" }, + NvimTreeWinSeparator = { fg = "#2b3d40" }, + NvimTreeCursorLine = { bg = "#252525" }, + NvimTreeFolderName = { fg = ansi.blue }, + NvimTreeFolderIcon = { fg = ansi.gold or "#cd974b" }, + NvimTreeOpenedFolderName = { fg = ansi.blue, bold = true }, + NvimTreeRootFolder = { fg = ansi.blue, bold = true }, + NvimTreeGitDirty = { fg = diffchange }, + NvimTreeGitStaged = { fg = diffadd }, + NvimTreeGitNew = { fg = ansi.green }, + NvimTreeGitDeleted = { fg = diffdelete }, + NvimTreeGitRenamed = { fg = ansi.magenta }, + NvimTreeExecFile = { fg = ansi.green }, + NvimTreeSpecialFile = { fg = ansi.yellow }, + NvimTreeIndentMarker = { fg = "#4d4d4d" }, + --- Noice + NoiceCmdlineIcon = { link = "AlabasterDarkGreen" }, + NoiceCmdlinePopupBorder = { link = "AlabasterDarkGreen" }, + NoiceConfirmBorder = { link = "AlabasterDarkGreen" }, + NoiceCmdlinePopupBorderCmdline = { link = "AlabasterDarkGreen" }, + NoiceCmdlineIconCmdline = { link = "AlabasterDarkGreen" }, + NoiceCmdlinePopupBorderFilter = { link = "AlabasterDarkGreen" }, + NoiceCmdlineIconFilter = { link = "AlabasterDarkGreen" }, + NoiceCmdlinePopupBorderLua = { link = "AlabasterDarkGreen" }, + NoiceCmdlineIconLua = { link = "AlabasterDarkGreen" }, + NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" }, + NoiceCmdlineIconSearch = { link = "AlabasterYellow" }, + -- Languages + --- asm + asmDirective = { fg = dim_comment }, + nasmLabel = { link = "@AlabasterDefinition" }, + + ["@lsp.mod.declaration"] = { fg = fg }, + ["@lsp.type.enumMember"] = { fg = fg }, + ["@lsp.type.function"] = { fg = fg }, + ["@lsp.type.method"] = { fg = fg }, + ["@lsp.type.selfKeyword"] = { fg = fg }, + ["@lsp.typemod.class.declaration"] = { fg = def_fg }, + ["@lsp.typemod.class.definition"] = { fg = def_fg }, + ["@lsp.typemod.enum.declaration"] = { fg = def_fg }, + ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg }, + ["@lsp.typemod.function.declaration"] = { fg = def_fg }, + ["@lsp.typemod.function.definition"] = { fg = def_fg }, + ["@lsp.typemod.macro.declaration"] = { fg = def_fg }, + ["@lsp.typemod.method.declaration"] = { fg = def_fg }, + ["@lsp.typemod.selfKeyword"] = { fg = fg }, + ["@lsp.typemod.struct.declaration"] = { fg = def_fg }, + ["@lsp.typemod.type.declaration"] = { fg = def_fg }, + } else - -- terminal colors - vim.g.terminal_color_0 = "#000000" - vim.g.terminal_color_1 = "#aa3731" - vim.g.terminal_color_2 = "#448c27" - vim.g.terminal_color_3 = "#cb9000" - vim.g.terminal_color_4 = "#325cc0" - vim.g.terminal_color_5 = "#7a3e9d" - vim.g.terminal_color_6 = "#0083b2" - vim.g.terminal_color_7 = "#f7f7f7" - vim.g.terminal_color_8 = "#777777" - vim.g.terminal_color_9 = "#f05050" - vim.g.terminal_color_10 = "#60cb00" - vim.g.terminal_color_11 = "#ffbc5d" - vim.g.terminal_color_12 = "#007acc" - vim.g.terminal_color_13 = "#e64ce6" - vim.g.terminal_color_14 = "#00aacb" - vim.g.terminal_color_15 = "#f7f7f7" - - -- colors - local bg = "#f7f7f7" - local fg = "#000000" - local punct_fg = "#777777" - local def_fg = "#325cc0" - local const_fg = "#7a3e9d" - local active = "#ffbc5d" - local active_blue = "#007acc" - local string_fg = "#448c27" - local darker_fg = "#7d7d7d" - local diffadd = "#284918" - local diffdelete = "#B40600" - local diffchange = "#ec8013" - local statusline = "#c9c9c9" - local comment = "#aa3731" - local dim_comment = "#696969" - local mistake = { - fg = "#c33c33", - bg = "#f8b28f", - } - local ansi = { - black = "#000000", - blue = "#325cc0", - brightyellow = "#ffbc5d", - cyan = "#0083b2", - green = "#448c27", - magenta = "#7a3e9d", - red = "#aa3731", - white = "#f7f7f7", - yellow = "#cb9000", - } - local error = "#d13e23" - local warn = "#BC7500" - local hint = ansi.blue - local info = "#278C00" - local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment - local pmenu_bg = "#e7e7e7" - local float_bg = vim.g.alabaster_floatborder and bg or pmenu_bg - local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#999999" } - or { - bg = float_bg, - fg = float_bg, - } - theme = { - Comment = { fg = comment_fg }, - ColorColumn = { bg = "#E2EEEE" }, - Conceal = { fg = "#b0b0b0" }, - Cursor = { bg = "#007acc", fg = "#bfdbfe" }, - -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') - -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM| - CursorColumn = { bg = "#E2EEEE" }, - CursorLine = { bg = "#E2EEEE" }, - Directory = { fg = ansi.blue }, - DiffAdd = { bg = "#ADFFB7", fg = "#0A7816" }, - DiffDelete = { bg = "#F8B28F", fg = "#872C28" }, - DiffText = { fg = "#fff987", bg = "#876004" }, - DiffChange = { bg = "#fff987", fg = "#341a00" }, - EndOfBuffer = { fg = "#b6b6b6" }, - -- TermCursor { }, -- cursor in a focused terminal - TermCursorNC = { fg = bg, bg = fg }, - ErrorMsg = { fg = error, bg = mistake.bg }, - VertSplit = { fg = "#abbdc0" }, - Folded = { bg = "#dddddd", fg = "#7d7d7d" }, - FoldColumn = { bg = bg, fg = "#4d4d4d" }, - - SignColumn = {}, - IncSearch = { bg = active, fg = fg }, - -- Substitute { }, -- |:substitute| replacement text highlighting - LineNr = { fg = "#7d7c7c" }, - CursorLineNr = { fg = ansi.blue, bold = 1 }, - MatchParen = { underline = 1, sp = active }, - -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ") - -- MsgArea { }, -- Area for messages and cmdline - -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' - MoreMsg = { fg = ansi.green, bold = 1 }, - NonText = { fg = "#696969" }, - Normal = { bg = bg, fg = fg }, - NormalFloat = { bg = float_bg }, - -- NormalNC { }, -- normal text in non-current windows - FloatBorder = floatborder, - Pmenu = { bg = pmenu_bg }, - PmenuSel = { bg = "#c7c7c7" }, - PmenuSbar = { bg = "#777777" }, - PmenuThumb = { bg = "#333333" }, - Question = { fg = ansi.green }, - QuickFixLine = { bg = "#E2EEEE" }, - Search = { bg = "#fae9b7", fg = fg }, - SpecialKey = { fg = ansi.cyan }, - SpellBad = { undercurl = 1, sp = ansi.red }, - SpellCap = { undercurl = 1, sp = ansi.blue }, - SpellLocal = { undercurl = 1, sp = ansi.cyan }, - SpellRare = { undercurl = 1, sp = ansi.magenta }, - StatusLine = { bg = statusline, fg = fg }, - StatusLineNC = { bg = statusline, fg = "#9f9f9f" }, - TabLine = { bg = statusline, fg = "#7d7d7d" }, - TabLineFill = { bg = statusline }, - TabLineSel = { bg = statusline, fg = ansi.blue }, - Title = { fg = const_fg }, - Visual = { bg = "#bfdbfe" }, - VisualNOS = { bg = "#bfdbfe" }, - WarningMsg = { fg = "#e1ad4c" }, - WildMenu = { bg = "#999999" }, - WinBar = { bg = bg, fg = ansi.black, bold = true }, - WinBarNC = { bg = bg, fg = "#7d7d7d" }, - - --- SYNTAX I: TS groups link to these - Constant = { fg = const_fg }, - String = { fg = string_fg }, - Character = { fg = const_fg }, - Number = { fg = const_fg }, - Boolean = { fg = const_fg }, - Float = { fg = const_fg }, - Operator = { fg = punct_fg }, - - --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter - Identifier = { fg = ansi.black }, - Function = { fg = def_fg }, - Statement = { fg = ansi.black }, - Conditional = { fg = ansi.black }, - Repeat = { fg = ansi.black }, - Label = { fg = def_fg }, - Keyword = { fg = ansi.black }, - Exception = { fg = ansi.black }, - PreProc = { fg = ansi.black }, - Include = { fg = ansi.black }, - Define = { fg = ansi.black }, - Macro = { fg = ansi.black }, - PreCondit = { fg = ansi.black }, - Type = { fg = ansi.black }, - StorageClass = { fg = ansi.black }, - Structure = { fg = def_fg }, - Typedef = { fg = def_fg }, - - Special = { fg = ansi.yellow }, - -- TODO better color than diffchange, try reddish - -- SpecialChar = { fg = diffchange }, -- special character in a constant - -- Tag { }, -- you can use CTRL-] on this - -- Delimiter { }, - SpecialComment = { bg = "#FFDEAA", fg = ansi.blue }, - debugPc = { bg = "#C7C7EE" }, - debugBreakpoint = { bg = "#F8B28F" }, - helpHyperTextJump = { fg = ansi.magenta }, - helpSectionDelim = { fg = ansi.magenta }, - helpExample = { fg = ansi.cyan }, - helpCommand = { fg = ansi.cyan }, - helpHeadline = { fg = ansi.blue }, - helpHeader = { fg = ansi.magenta }, - - Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links - Italic = { italic = 1 }, - - -- ("Ignore", below, may be invisible...) - -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| - - Error = { bg = mistake.bg, fg = mistake.fg }, - - Todo = { bg = "#FFDEAA", fg = ansi.blue }, - - --- Diagnostic - LspReferenceText = { bg = "#dadada" }, - LspReferenceRdad = { bg = "#dadada" }, - LspReferenceWrite = { bg = "#dadada", underline = 1, sp = active_blue }, - LspCodeLens = { fg = "#999999" }, - LspCodeLensSeparator = { fg = "#999999" }, - - --- Diagnostic - DiagnosticError = { fg = error }, - DiagnosticWarn = { fg = warn }, - DiagnosticHint = { fg = hint }, - DiagnosticInfo = { fg = info }, - DiagnosticVirtualTextError = { bg = "#F8B28F", fg = "#411414" }, - DiagnosticVirtualTextWarn = { bg = "#fff987", fg = fg }, - DiagnosticVirtualTextHint = { fg = "#0F171D", bg = "#C3D0DA" }, - DiagnosticVirtualTextInfo = { bg = "#ADFFB7", fg = "#042F09" }, - - --- Treesitter - TSAttribute = {}, - TSConstructor = { fg = ansi.black }, - TSConditional = { fg = ansi.black }, - TSConstBuiltin = { fg = const_fg }, - TSConstMacro = { fg = ansi.black }, - TSError = { bg = mistake.bg, fg = mistake.fg }, - TSException = { fg = ansi.black }, - TSField = { fg = ansi.black }, - TSFunction = { fg = ansi.black }, - TSFuncBuiltin = { fg = ansi.black }, - TSFuncMacro = { fg = ansi.black }, - TSKeyword = { fg = ansi.black }, - TSKeywordFunction = { fg = ansi.black }, - TSLabel = { fg = ansi.black }, - TSMethod = { fg = ansi.black }, - TSNamespace = { fg = ansi.black }, - TSNone = { fg = const_fg }, - TSParameter = { fg = ansi.black }, - TSParameterReference = { fg = ansi.black }, - TSProperty = { fg = ansi.black }, - TSPunctDelimiter = { fg = punct_fg }, - TSPunctBracket = { fg = punct_fg }, - TSPunctSpecial = { fg = punct_fg }, - TSRepeat = { fg = ansi.black }, - TSString = { fg = string_fg }, - TSStringRegex = { bg = bg, fg = "#777777" }, - TSStringEscape = { bg = bg, fg = "#777777" }, - TSSymbol = {}, - TSType = { fg = ansi.black }, - TSTypeBuiltin = { fg = ansi.black }, - TSVariable = { fg = ansi.black }, - TSVariableBuiltin = { fg = ansi.black }, - TSTag = { fg = ansi.black }, - TSTagDelimiter = { fg = punct_fg }, - TSText = { fg = ansi.black }, - - ["@attribute"] = {}, - ["@constructor"] = { fg = ansi.black }, - ["@conditional"] = { fg = ansi.black }, - ["@constant.builtin"] = { fg = const_fg }, - ["@constant.macro"] = { fg = ansi.black }, - ["@error"] = { bg = mistake.bg, fg = mistake.fg }, - ["@exception"] = { fg = ansi.black }, - ["@field"] = { fg = ansi.black }, - ["@function"] = { fg = ansi.black }, - ["@function.builtin"] = { fg = ansi.black }, - ["@function.macro"] = { fg = ansi.black }, - ["@keyword"] = { fg = ansi.black }, - ["@keyword.function"] = { fg = ansi.black }, - ["@label"] = { fg = ansi.black }, - ["@method"] = { fg = ansi.black }, - ["@module"] = { fg = ansi.black }, - ["@namespace"] = { fg = ansi.black }, - ["@none"] = { fg = const_fg }, - ["@parameter"] = { fg = ansi.black }, - ["@parameter.reference"] = { fg = ansi.black }, - ["@property"] = { fg = ansi.black }, - ["@punctuation.delimiter"] = { fg = punct_fg }, - ["@punctuation.bracket"] = { fg = punct_fg }, - ["@punctuation.special"] = { fg = punct_fg }, - ["@repeat"] = { fg = ansi.black }, - ["@string"] = { fg = string_fg }, - ["@string.regex"] = { bg = bg, fg = "#777777" }, - ["@string.escape"] = { bg = bg, fg = "#777777" }, - ["@symbol"] = {}, - ["@type"] = { fg = ansi.black }, - ["@type.builtin"] = { fg = ansi.black }, - ["@variable"] = { fg = ansi.black }, - ["@variable.builtin"] = { fg = ansi.black }, - ["@tag"] = { fg = ansi.black }, - ["@tag.delimiter"] = { fg = punct_fg }, - ["@text"] = { fg = ansi.black }, - ["@text.note"] = { bg = "#dddddd", fg = ansi.blue }, - ["@text.warning"] = { bg = "#FFDEAA", fg = ansi.blue }, - - --- Theme specific - ["@AlabasterConstant"] = { fg = const_fg }, - ["@AlabasterDefinition"] = { fg = def_fg }, - ["@AlabasterPunct"] = { fg = punct_fg }, - ["@AlabasterString"] = { fg = string_fg }, - ["@AlabasterHashbang"] = { fg = dim_comment }, - --- Gitsigns - GitSignsAdd = { fg = "#6abf40" }, - GitSignsChange = { fg = diffchange }, - GitSignsDelete = { fg = diffdelete }, - --- Telescope - TelescopeBorder = { fg = "#abbdc0" }, - TelescopeMatching = { fg = "#CC6F14" }, - TelescopeMultiSelection = { fg = ansi.magenta }, - TelescopePromptPrefix = { fg = ansi.blue }, - TelescopeSelectionCaret = { fg = mistake.fg }, - TelescopeTitle = { fg = ansi.yellow }, - TelescopeResultsTitle = { fg = ansi.yellow }, - --- fzf-lua - FzfLuaBorder = { fg = "#abbdc0" }, - --- Neogit - NeogitPopupActionDisabled = { fg = darker_fg }, - NeogitPopupActionKey = { fg = ansi.magenta }, - NeogitPopupOptionDisabled = { fg = darker_fg }, - NeogitPopupOptionKey = { fg = ansi.blue }, - NeogitPopupSwitchDisabled = { fg = darker_fg }, - NeogitPopupSwitchEnabled = { fg = ansi.cyan }, - NeogitPopupSwitchKey = { fg = ansi.magenta }, - --- Fugitive - diffAdded = { link = "DiffAdd" }, - diffRemoved = { link = "DiffDelete" }, - --- Startify - StartifyBracket = { fg = darker_fg }, - StartifyFile = { fg = ansi.black }, - StartifySection = { fg = ansi.green }, - StartifySlash = { fg = "#4e6e75" }, - StartifyPath = { fg = "#4e6e75" }, - --- Statusline - StatuslineAdd = { fg = diffadd, bg = statusline }, - StatuslineErr = { fg = "#8E1410", bg = statusline }, - StatuslineHint = { fg = hint, bg = statusline }, - StatuslineInfo = { fg = info, bg = statusline }, - StatuslineWarn = { fg = warn, bg = statusline }, - StatuslineBlue = { fg = ansi.blue, bg = statusline }, - StatuslineRed = { fg = ansi.red, bg = statusline }, - StatuslineGreen = { fg = ansi.green, bg = statusline }, - StatuslineCyan = { fg = ansi.cyan, bg = statusline }, - StatuslineMagenta = { fg = ansi.magenta, bg = statusline }, - --- ALE - ALEWarningSign = { fg = warn }, - --- vim-matchup - MatchupVirtualText = { fg = ansi.yellow }, - --- For `highlight link` - AlabasterBlack = { fg = ansi.black }, - AlabasterBlue = { fg = ansi.blue }, - AlabasterBrightYellow = { fg = ansi.brightyellow }, - AlabasterCyan = { fg = ansi.cyan }, - AlabasterGreen = { fg = ansi.green }, - AlabasterBrightGreen = { fg = "#60cb00" }, - AlabasterMagenta = { fg = ansi.magenta }, - AlabasterRed = { fg = ansi.red }, - AlabasterWhite = { fg = ansi.black }, - AlabasterYellow = { fg = ansi.yellow }, - --- Hop - HopNextKey = { fg = ansi.yellow }, - HopNextKey1 = { fg = ansi.blue }, - HopNextKey2 = { fg = "#17A2D6" }, - HopUnmatched = { fg = "#bfbfbf" }, - --- Lightspeed - LightspeedGreyWash = { fg = "#bfbfbf" }, - --- checkhealth - healthSuccess = { fg = ansi.green, bg = bg }, - --- cmp - CmpItemMenuDefault = { fg = ansi.magenta }, - --- nvim-ts-rainbow - rainbowcol1 = { fg = ansi.yellow }, - rainbowcol2 = { fg = ansi.magenta }, - rainbowcol3 = { fg = ansi.blue }, - rainbowcol4 = { fg = ansi.green }, - rainbowcol5 = { fg = ansi.brightyellow }, - rainbowcol6 = { fg = ansi.red }, - rainbowcol7 = { fg = ansi.cyan }, - --- Iswap - ISwapSnipe = { bg = ansi.yellow, fg = bg }, - ISwapGrey = { fg = "#bfbfbf" }, - --- vim-dadbod-ui - dbui_help = { fg = dim_comment }, - dbui_connection_source = { fg = dim_comment }, - --- nvim-dap-virtual-text - NvimDapVirtualText = { bg = "#78D2C9", fg = fg }, - --- Noice - NoiceCmdlineIcon = { link = "AlabasterBrightGreen" }, - NoiceCmdlinePopupBorder = { link = "AlabasterBrightGreen" }, - NoiceConfirmBorder = { link = "AlabasterBrightGreen" }, - NoiceCmdlinePopupBorderCmdline = { link = "AlabasterBrightGreen" }, - NoiceCmdlineIconCmdline = { link = "AlabasterBrightGreen" }, - NoiceCmdlinePopupBorderFilter = { link = "AlabasterBrightGreen" }, - NoiceCmdlineIconFilter = { link = "AlabasterBrightGreen" }, - NoiceCmdlinePopupBorderLua = { link = "AlabasterBrightGreen" }, - NoiceCmdlineIconLua = { link = "AlabasterBrightGreen" }, - NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" }, - NoiceCmdlineIconSearch = { link = "AlabasterYellow" }, - -- Languages - --- asm - asmDirective = { fg = dim_comment }, - nasmLabel = { link = "@AlabasterDefinition" }, - ["@lsp.mod.declaration"] = { fg = fg }, - ["@lsp.type.enumMember"] = { fg = fg }, - ["@lsp.type.function"] = { fg = fg }, - ["@lsp.type.method"] = { fg = fg }, - ["@lsp.type.selfKeyword"] = { fg = fg }, - ["@lsp.typemod.class.declaration"] = { fg = def_fg }, - ["@lsp.typemod.class.definition"] = { fg = def_fg }, - ["@lsp.typemod.enum.declaration"] = { fg = def_fg }, - ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg }, - ["@lsp.typemod.function.declaration"] = { fg = def_fg }, - ["@lsp.typemod.function.definition"] = { fg = def_fg }, - ["@lsp.typemod.macro.declaration"] = { fg = def_fg }, - ["@lsp.typemod.method.declaration"] = { fg = def_fg }, - ["@lsp.typemod.selfKeyword"] = { fg = fg }, - ["@lsp.typemod.struct.declaration"] = { fg = def_fg }, - ["@lsp.typemod.type.declaration"] = { fg = def_fg }, - } + -- terminal colors + vim.g.terminal_color_0 = "#000000" + vim.g.terminal_color_1 = "#aa3731" + vim.g.terminal_color_2 = "#448c27" + vim.g.terminal_color_3 = "#cb9000" + vim.g.terminal_color_4 = "#325cc0" + vim.g.terminal_color_5 = "#7a3e9d" + vim.g.terminal_color_6 = "#0083b2" + vim.g.terminal_color_7 = "#f7f7f7" + vim.g.terminal_color_8 = "#777777" + vim.g.terminal_color_9 = "#f05050" + vim.g.terminal_color_10 = "#60cb00" + vim.g.terminal_color_11 = "#ffbc5d" + vim.g.terminal_color_12 = "#007acc" + vim.g.terminal_color_13 = "#e64ce6" + vim.g.terminal_color_14 = "#00aacb" + vim.g.terminal_color_15 = "#f7f7f7" + + -- colors + local bg = "#f7f7f7" + local fg = "#000000" + local punct_fg = "#777777" + local def_fg = "#325cc0" + local const_fg = "#7a3e9d" + local active = "#ffbc5d" + local active_blue = "#007acc" + local string_fg = "#448c27" + local darker_fg = "#7d7d7d" + local diffadd = "#284918" + local diffdelete = "#B40600" + local diffchange = "#ec8013" + local statusline = "#c9c9c9" + local comment = "#aa3731" + local dim_comment = "#696969" + local mistake = { + fg = "#c33c33", + bg = "#f8b28f", + } + local ansi = { + black = "#000000", + blue = "#325cc0", + brightyellow = "#ffbc5d", + cyan = "#0083b2", + green = "#448c27", + magenta = "#7a3e9d", + red = "#aa3731", + white = "#f7f7f7", + yellow = "#cb9000", + } + local error = "#d13e23" + local warn = "#BC7500" + local hint = ansi.blue + local info = "#278C00" + local comment_fg = vim.g.alabaster_dim_comments and dim_comment or comment + local pmenu_bg = "#e7e7e7" + local float_bg = bg -- vim.g.alabaster_floatborder and bg or pmenu_bg + local floatborder = vim.g.alabaster_floatborder and { bg = bg, fg = "#999999" } + or { + bg = float_bg, + fg = float_bg, + } + theme = { + Comment = { fg = comment_fg }, + ColorColumn = { bg = "#E2EEEE" }, + Conceal = { fg = "#b0b0b0" }, + Cursor = { bg = "#007acc", fg = "#bfdbfe" }, + -- lCursor { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') + -- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM| + CursorColumn = { bg = "#E2EEEE" }, + CursorLine = { bg = "#E2EEEE" }, + Directory = { fg = ansi.blue }, + DiffAdd = { bg = "#ADFFB7", fg = "#0A7816" }, + DiffDelete = { bg = "#F8B28F", fg = "#872C28" }, + DiffText = { fg = "#fff987", bg = "#876004" }, + DiffChange = { bg = "#fff987", fg = "#341a00" }, + EndOfBuffer = { fg = "#b6b6b6" }, + -- TermCursor { }, -- cursor in a focused terminal + TermCursorNC = { fg = bg, bg = fg }, + ErrorMsg = { fg = error, bg = mistake.bg }, + VertSplit = { fg = "#abbdc0" }, + Folded = { bg = "#dddddd", fg = "#7d7d7d" }, + FoldColumn = { bg = bg, fg = "#4d4d4d" }, + + SignColumn = {}, + IncSearch = { bg = active, fg = fg }, + -- Substitute { }, -- |:substitute| replacement text highlighting + LineNr = { fg = "#7d7c7c" }, + CursorLineNr = { fg = ansi.blue, bold = 1 }, + MatchParen = { underline = 1, sp = active }, + -- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ") + -- MsgArea { }, -- Area for messages and cmdline + -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' + MoreMsg = { fg = ansi.green, bold = 1 }, + NonText = { fg = "#696969" }, + Normal = { bg = bg, fg = fg }, + NormalFloat = { bg = float_bg }, + -- NormalNC { }, -- normal text in non-current windows + FloatBorder = floatborder, + Pmenu = { bg = pmenu_bg }, + PmenuSel = { bg = "#c7c7c7" }, + PmenuSbar = { bg = "#777777" }, + PmenuThumb = { bg = "#333333" }, + Question = { fg = ansi.green }, + QuickFixLine = { bg = "#E2EEEE" }, + Search = { bg = "#fae9b7", fg = fg }, + SpecialKey = { fg = ansi.cyan }, + SpellBad = { undercurl = 1, sp = ansi.red }, + SpellCap = { undercurl = 1, sp = ansi.blue }, + SpellLocal = { undercurl = 1, sp = ansi.cyan }, + SpellRare = { undercurl = 1, sp = ansi.magenta }, + StatusLine = { bg = statusline, fg = fg }, + StatusLineNC = { bg = statusline, fg = "#9f9f9f" }, + TabLine = { bg = statusline, fg = "#7d7d7d" }, + TabLineFill = { bg = statusline }, + TabLineSel = { bg = statusline, fg = ansi.blue }, + Title = { fg = const_fg }, + Visual = { bg = "#bfdbfe" }, + VisualNOS = { bg = "#bfdbfe" }, + WarningMsg = { fg = "#e1ad4c" }, + WildMenu = { bg = "#999999" }, + WinBar = { bg = bg, fg = ansi.black, bold = true }, + WinBarNC = { bg = bg, fg = "#7d7d7d" }, + + --- SYNTAX I: TS groups link to these + Constant = { fg = const_fg }, + String = { fg = string_fg }, + Character = { fg = const_fg }, + Number = { fg = const_fg }, + Boolean = { fg = const_fg }, + Float = { fg = const_fg }, + Operator = { fg = punct_fg }, + + --- SYNTAX II: TS groups have their own definition, the below are defined to have somewhat working hl w/o treesitter + Identifier = { fg = ansi.black }, + Function = { fg = def_fg }, + Statement = { fg = ansi.black }, + Conditional = { fg = ansi.black }, + Repeat = { fg = ansi.black }, + Label = { fg = def_fg }, + Keyword = { fg = ansi.black }, + Exception = { fg = ansi.black }, + PreProc = { fg = ansi.black }, + Include = { fg = ansi.black }, + Define = { fg = ansi.black }, + Macro = { fg = ansi.black }, + PreCondit = { fg = ansi.black }, + Type = { fg = ansi.black }, + StorageClass = { fg = ansi.black }, + Structure = { fg = def_fg }, + Typedef = { fg = def_fg }, + + Special = { fg = ansi.yellow }, + -- TODO better color than diffchange, try reddish + -- SpecialChar = { fg = diffchange }, -- special character in a constant + -- Tag { }, -- you can use CTRL-] on this + -- Delimiter { }, + SpecialComment = { bg = "#FFDEAA", fg = ansi.blue }, + debugPc = { bg = "#C7C7EE" }, + debugBreakpoint = { bg = "#F8B28F" }, + helpHyperTextJump = { fg = ansi.magenta }, + helpSectionDelim = { fg = ansi.magenta }, + helpExample = { fg = ansi.cyan }, + helpCommand = { fg = ansi.cyan }, + helpHeadline = { fg = ansi.blue }, + helpHeader = { fg = ansi.magenta }, + + Underlined = { underline = 1 }, -- (preferred) text that stands out, HTML links + Italic = { italic = 1 }, + + -- ("Ignore", below, may be invisible...) + -- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore| + + Error = { bg = mistake.bg, fg = mistake.fg }, + + Todo = { bg = "#FFDEAA", fg = ansi.blue }, + + --- Diagnostic + LspReferenceText = { bg = "#dadada" }, + LspReferenceRdad = { bg = "#dadada" }, + LspReferenceWrite = { bg = "#dadada", underline = 1, sp = active_blue }, + LspCodeLens = { fg = "#999999" }, + LspCodeLensSeparator = { fg = "#999999" }, + + --- Diagnostic + DiagnosticError = { fg = error }, + DiagnosticWarn = { fg = warn }, + DiagnosticHint = { fg = hint }, + DiagnosticInfo = { fg = info }, + DiagnosticVirtualTextError = { bg = "#F8B28F", fg = "#411414" }, + DiagnosticVirtualTextWarn = { bg = "#fff987", fg = fg }, + DiagnosticVirtualTextHint = { fg = "#0F171D", bg = "#C3D0DA" }, + DiagnosticVirtualTextInfo = { bg = "#ADFFB7", fg = "#042F09" }, + + --- Treesitter + TSAttribute = {}, + TSConstructor = { fg = ansi.black }, + TSConditional = { fg = ansi.black }, + TSConstBuiltin = { fg = const_fg }, + TSConstMacro = { fg = ansi.black }, + TSError = { bg = mistake.bg, fg = mistake.fg }, + TSException = { fg = ansi.black }, + TSField = { fg = ansi.black }, + TSFunction = { fg = ansi.black }, + TSFuncBuiltin = { fg = ansi.black }, + TSFuncMacro = { fg = ansi.black }, + TSKeyword = { fg = ansi.black }, + TSKeywordFunction = { fg = ansi.black }, + TSLabel = { fg = ansi.black }, + TSMethod = { fg = ansi.black }, + TSNamespace = { fg = ansi.black }, + TSNone = { fg = const_fg }, + TSParameter = { fg = ansi.black }, + TSParameterReference = { fg = ansi.black }, + TSProperty = { fg = ansi.black }, + TSPunctDelimiter = { fg = punct_fg }, + TSPunctBracket = { fg = punct_fg }, + TSPunctSpecial = { fg = punct_fg }, + TSRepeat = { fg = ansi.black }, + TSString = { fg = string_fg }, + TSStringRegex = { bg = bg, fg = "#777777" }, + TSStringEscape = { bg = bg, fg = "#777777" }, + TSSymbol = {}, + TSType = { fg = ansi.black }, + TSTypeBuiltin = { fg = ansi.black }, + TSVariable = { fg = ansi.black }, + TSVariableBuiltin = { fg = ansi.black }, + TSTag = { fg = ansi.black }, + TSTagDelimiter = { fg = punct_fg }, + TSText = { fg = ansi.black }, + + ["@attribute"] = {}, + ["@constructor"] = { fg = ansi.black }, + ["@conditional"] = { fg = ansi.black }, + ["@constant.builtin"] = { fg = const_fg }, + ["@constant.macro"] = { fg = ansi.black }, + ["@error"] = { bg = mistake.bg, fg = mistake.fg }, + ["@exception"] = { fg = ansi.black }, + ["@field"] = { fg = ansi.black }, + ["@function"] = { fg = ansi.black }, + ["@function.builtin"] = { fg = ansi.black }, + ["@function.macro"] = { fg = ansi.black }, + ["@keyword"] = { fg = ansi.black }, + ["@keyword.function"] = { fg = ansi.black }, + ["@label"] = { fg = ansi.black }, + ["@method"] = { fg = ansi.black }, + ["@module"] = { fg = ansi.black }, + ["@namespace"] = { fg = ansi.black }, + ["@none"] = { fg = const_fg }, + ["@parameter"] = { fg = ansi.black }, + ["@parameter.reference"] = { fg = ansi.black }, + ["@property"] = { fg = ansi.black }, + ["@punctuation.delimiter"] = { fg = punct_fg }, + ["@punctuation.bracket"] = { fg = punct_fg }, + ["@punctuation.special"] = { fg = punct_fg }, + ["@repeat"] = { fg = ansi.black }, + ["@string"] = { fg = string_fg }, + ["@string.regex"] = { bg = bg, fg = "#777777" }, + ["@string.escape"] = { bg = bg, fg = "#777777" }, + ["@symbol"] = {}, + ["@type"] = { fg = ansi.black }, + ["@type.builtin"] = { fg = ansi.black }, + ["@variable"] = { fg = ansi.black }, + ["@variable.builtin"] = { fg = ansi.black }, + ["@tag"] = { fg = ansi.black }, + ["@tag.delimiter"] = { fg = punct_fg }, + ["@text"] = { fg = ansi.black }, + ["@text.note"] = { bg = "#dddddd", fg = ansi.blue }, + ["@text.warning"] = { bg = "#FFDEAA", fg = ansi.blue }, + + --- Theme specific + ["@AlabasterConstant"] = { fg = const_fg }, + ["@AlabasterDefinition"] = { fg = def_fg }, + ["@AlabasterPunct"] = { fg = punct_fg }, + ["@AlabasterString"] = { fg = string_fg }, + ["@AlabasterHashbang"] = { fg = dim_comment }, + --- Gitsigns + GitSignsAdd = { fg = "#6abf40" }, + GitSignsChange = { fg = diffchange }, + GitSignsDelete = { fg = diffdelete }, + --- Telescope + TelescopeBorder = { fg = "#abbdc0" }, + TelescopeMatching = { fg = "#CC6F14" }, + TelescopeMultiSelection = { fg = ansi.magenta }, + TelescopePromptPrefix = { fg = ansi.blue }, + TelescopeSelectionCaret = { fg = mistake.fg }, + TelescopeTitle = { fg = ansi.yellow }, + TelescopeResultsTitle = { fg = ansi.yellow }, + --- fzf-lua + FzfLuaBorder = { fg = "#abbdc0" }, + --- Neogit + NeogitPopupActionDisabled = { fg = darker_fg }, + NeogitPopupActionKey = { fg = ansi.magenta }, + NeogitPopupOptionDisabled = { fg = darker_fg }, + NeogitPopupOptionKey = { fg = ansi.blue }, + NeogitPopupSwitchDisabled = { fg = darker_fg }, + NeogitPopupSwitchEnabled = { fg = ansi.cyan }, + NeogitPopupSwitchKey = { fg = ansi.magenta }, + --- Fugitive + diffAdded = { link = "DiffAdd" }, + diffRemoved = { link = "DiffDelete" }, + --- Startify + StartifyBracket = { fg = darker_fg }, + StartifyFile = { fg = ansi.black }, + StartifySection = { fg = ansi.green }, + StartifySlash = { fg = "#4e6e75" }, + StartifyPath = { fg = "#4e6e75" }, + --- Statusline + StatuslineAdd = { fg = diffadd, bg = statusline }, + StatuslineErr = { fg = "#8E1410", bg = statusline }, + StatuslineHint = { fg = hint, bg = statusline }, + StatuslineInfo = { fg = info, bg = statusline }, + StatuslineWarn = { fg = warn, bg = statusline }, + StatuslineBlue = { fg = ansi.blue, bg = statusline }, + StatuslineRed = { fg = ansi.red, bg = statusline }, + StatuslineGreen = { fg = ansi.green, bg = statusline }, + StatuslineCyan = { fg = ansi.cyan, bg = statusline }, + StatuslineMagenta = { fg = ansi.magenta, bg = statusline }, + --- ALE + ALEWarningSign = { fg = warn }, + --- vim-matchup + MatchupVirtualText = { fg = ansi.yellow }, + --- For `highlight link` + AlabasterBlack = { fg = ansi.black }, + AlabasterBlue = { fg = ansi.blue }, + AlabasterBrightYellow = { fg = ansi.brightyellow }, + AlabasterCyan = { fg = ansi.cyan }, + AlabasterGreen = { fg = ansi.green }, + AlabasterBrightGreen = { fg = "#60cb00" }, + AlabasterMagenta = { fg = ansi.magenta }, + AlabasterRed = { fg = ansi.red }, + AlabasterWhite = { fg = ansi.black }, + AlabasterYellow = { fg = ansi.yellow }, + --- Hop + HopNextKey = { fg = ansi.yellow }, + HopNextKey1 = { fg = ansi.blue }, + HopNextKey2 = { fg = "#17A2D6" }, + HopUnmatched = { fg = "#bfbfbf" }, + --- Lightspeed + LightspeedGreyWash = { fg = "#bfbfbf" }, + --- checkhealth + healthSuccess = { fg = ansi.green, bg = bg }, + --- cmp + CmpItemMenuDefault = { fg = ansi.magenta }, + --- nvim-ts-rainbow + rainbowcol1 = { fg = ansi.yellow }, + rainbowcol2 = { fg = ansi.magenta }, + rainbowcol3 = { fg = ansi.blue }, + rainbowcol4 = { fg = ansi.green }, + rainbowcol5 = { fg = ansi.brightyellow }, + rainbowcol6 = { fg = ansi.red }, + rainbowcol7 = { fg = ansi.cyan }, + --- Iswap + ISwapSnipe = { bg = ansi.yellow, fg = bg }, + ISwapGrey = { fg = "#bfbfbf" }, + --- vim-dadbod-ui + dbui_help = { fg = dim_comment }, + dbui_connection_source = { fg = dim_comment }, + --- nvim-dap-virtual-text + NvimDapVirtualText = { bg = "#78D2C9", fg = fg }, + --- nvim-tree + NvimTreeNormal = { bg = "#e7e7e7" }, + NvimTreeNormalNC = { link = "NvimTreeNormal" }, + NvimTreeFloatBorder = { fg = "#999999" }, + NvimTreeWinSeparator = { fg = "#abbdc0" }, + NvimTreeCursorLine = { bg = "#E2EEEE" }, + NvimTreeFolderName = { fg = ansi.blue }, + NvimTreeFolderIcon = { fg = "#cb9000" }, + NvimTreeOpenedFolderName = { fg = ansi.blue, bold = true }, + NvimTreeRootFolder = { fg = ansi.blue, bold = true }, + NvimTreeGitDirty = { fg = diffchange }, + NvimTreeGitStaged = { fg = "#6abf40" }, + NvimTreeGitNew = { fg = ansi.green }, + NvimTreeGitDeleted = { fg = diffdelete }, + NvimTreeGitRenamed = { fg = ansi.magenta }, + NvimTreeExecFile = { fg = ansi.green }, + NvimTreeSpecialFile = { fg = ansi.yellow }, + NvimTreeIndentMarker = { fg = "#999999" }, + --- Noice + NoiceCmdlineIcon = { link = "AlabasterBrightGreen" }, + NoiceCmdlinePopupBorder = { link = "AlabasterBrightGreen" }, + NoiceConfirmBorder = { link = "AlabasterBrightGreen" }, + NoiceCmdlinePopupBorderCmdline = { link = "AlabasterBrightGreen" }, + NoiceCmdlineIconCmdline = { link = "AlabasterBrightGreen" }, + NoiceCmdlinePopupBorderFilter = { link = "AlabasterBrightGreen" }, + NoiceCmdlineIconFilter = { link = "AlabasterBrightGreen" }, + NoiceCmdlinePopupBorderLua = { link = "AlabasterBrightGreen" }, + NoiceCmdlineIconLua = { link = "AlabasterBrightGreen" }, + NoiceCmdlinePopupBorderSearch = { link = "AlabasterYellow" }, + NoiceCmdlineIconSearch = { link = "AlabasterYellow" }, + -- Languages + --- asm + asmDirective = { fg = dim_comment }, + nasmLabel = { link = "@AlabasterDefinition" }, + ["@lsp.mod.declaration"] = { fg = fg }, + ["@lsp.type.enumMember"] = { fg = fg }, + ["@lsp.type.function"] = { fg = fg }, + ["@lsp.type.method"] = { fg = fg }, + ["@lsp.type.selfKeyword"] = { fg = fg }, + ["@lsp.typemod.class.declaration"] = { fg = def_fg }, + ["@lsp.typemod.class.definition"] = { fg = def_fg }, + ["@lsp.typemod.enum.declaration"] = { fg = def_fg }, + ["@lsp.typemod.enumMember.defaultLibrary"] = { fg = fg }, + ["@lsp.typemod.function.declaration"] = { fg = def_fg }, + ["@lsp.typemod.function.definition"] = { fg = def_fg }, + ["@lsp.typemod.macro.declaration"] = { fg = def_fg }, + ["@lsp.typemod.method.declaration"] = { fg = def_fg }, + ["@lsp.typemod.selfKeyword"] = { fg = fg }, + ["@lsp.typemod.struct.declaration"] = { fg = def_fg }, + ["@lsp.typemod.type.declaration"] = { fg = def_fg }, + } end for group, hl in pairs(theme) do - vim.api.nvim_set_hl(0, group, hl) + vim.api.nvim_set_hl(0, group, hl) end +-- Ensure float border is always visible +vim.api.nvim_create_autocmd("ColorScheme", { + pattern = "*", + callback = function() + local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7" + local border_fg = vim.o.background == "dark" and "#333333" or "#999999" + vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg }) + end, +}) + +-- Also set it immediately on load +local border_fg = vim.o.background == "dark" and "#333333" or "#999999" +local border_bg = vim.o.background == "dark" and "#1c1c1f" or "#e7e7e7" +vim.api.nvim_set_hl(0, "FloatBorder", { fg = border_fg, bg = border_bg }) + -- vi:nowrap diff --git a/config/nvim/lua/theme/colors256.lua b/config/nvim/lua/theme/colors256.lua deleted file mode 100644 index 350a2a1..0000000 --- a/config/nvim/lua/theme/colors256.lua +++ /dev/null @@ -1,110 +0,0 @@ --- Hex to 256 color conversion utilities - -local M = {} - --- Convert hex color to RGB values -local function hex_to_rgb(hex) - hex = hex:gsub("#", "") - return { - r = tonumber(hex:sub(1, 2), 16), - g = tonumber(hex:sub(3, 4), 16), - b = tonumber(hex:sub(5, 6), 16), - } -end - --- Convert RGB to nearest 256 color index -local function rgb_to_256(r, g, b) - -- Build full 256 color palette and find nearest - local palette = {} - - -- Gray ramp (232-255) - for i = 0, 23 do - local gray = 8 + i * 10 - palette[#palette + 1] = { r = gray, g = gray, b = gray, idx = 232 + i } - end - - -- 6x6x6 color cube (16-231) - local values = {0, 95, 135, 175, 215, 255} - for ri = 0, 5 do - for gi = 0, 5 do - for bi = 0, 5 do - local idx = 16 + ri * 36 + gi * 6 + bi - palette[#palette + 1] = { - r = values[ri + 1], - g = values[gi + 1], - b = values[bi + 1], - idx = idx - } - end - end - end - - -- Find nearest color (minimum Manhattan distance) - local min_dist = 100000 - local nearest_idx = 15 - - for _, color in ipairs(palette) do - local dist = math.abs(r - color.r) + math.abs(g - color.g) + math.abs(b - color.b) - if dist < min_dist then - min_dist = dist - nearest_idx = color.idx - end - end - - return nearest_idx -end - --- Convert hex color string to 256 color index -function M.hex_to_256(hex) - if not hex or hex == "" or hex == "NONE" then - return nil - end - - if type(hex) == "number" then - return hex -- Already a cterm color - end - - local rgb = hex_to_rgb(hex) - return rgb_to_256(rgb.r, rgb.g, rgb.b) -end - --- Create highlight table with cterm colors from fg and bg hex colors -function M.convert_theme_theme(theme) - local cterm_theme = {} - for group, hl in pairs(theme) do - local cterm = {} - if hl.fg then - cterm.fg = M.hex_to_256(hl.fg) - end - -- Include background colors - if hl.bg then - cterm.bg = M.hex_to_256(hl.bg) - end - if hl.sp then - cterm.sp = M.hex_to_256(hl.sp) - end - if hl.bold then - cterm.bold = true - end - if hl.underline then - cterm.underline = true - end - if hl.undercurl then - cterm.undercurl = true - end - if hl.italic then - cterm.italic = true - end - if hl.reverse then - cterm.reverse = true - end - if hl.standout then - cterm.standout = true - end - - cterm_theme[group] = cterm - end - return cterm_theme -end - -return M diff --git a/config/nvim/lua/theme/init.lua b/config/nvim/lua/theme/init.lua index b635c55..719ec6b 100644 --- a/config/nvim/lua/theme/init.lua +++ b/config/nvim/lua/theme/init.lua @@ -1,6 +1,11 @@ local M = {} M.setup = function() + -- Set this BEFORE loading colorscheme + if vim.g.alabaster_floatborder ~= true then + vim.g.alabaster_floatborder = true + vim.cmd("redraw!") + end vim.cmd("colorscheme alabaster") end @@ -4,8 +4,6 @@ source ~/.config/zsh/conf.d/*.zsh source ~/.config/zsh/termsupport.zsh source ~/.config/zsh/title.zsh -setfont /usr/lib/kbd/consolefonts/ruscii_8x16.psfu.gz - # {{{ Exports export ANDROID_HOME=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_HOME/emulator @@ -13,15 +11,16 @@ export PATH=$PATH:$ANDROID_HOME/platform-tools export GPG_TTY=$(tty) export LS_OPTIONS='--color=auto' eval "$(dircolors -b)" - # }}} +# {{{ Antigen plugins antigen bundle zsh-users/zsh-syntax-highlighting antigen bundle zsh-users/zsh-history-substring-search antigen bundle zsh-users/zsh-autosuggestions antigen bundle zsh-users/zsh-completions antigen bundle ael-code/zsh-colored-man-pages antigen apply +# }}} # {{{ Aliases alias ls='ls $LS_OPTIONS -F' @@ -66,11 +65,11 @@ function tk() { mkdir -p $1; cd $1; } function workenv() { export ANTHROPIC_AUTH_TOKEN=$WORK_API export ANTHROPIC_BASE_URL=http://localhost:7999 - export ANTHROPIC_MODEL=qwen3-235b-it - export ANTHROPIC_DEFAULT_OPUS_MODEL=qwen3-235b-it - export ANTHROPIC_DEFAULT_SONNET_MODEL=qwen3-235b-it - export ANTHROPIC_DEFAULT_HAIKU_MODEL=qwen3-235b-it - export CLAUDE_CODE_SUBAGENT_MODEL=qwen3-235b-it + export ANTHROPIC_MODEL=MiniMaxAI/MiniMax-M2.5 + export ANTHROPIC_DEFAULT_OPUS_MODEL=MiniMaxAI/MiniMax-M2.5 + export ANTHROPIC_DEFAULT_SONNET_MODEL=MiniMaxAI/MiniMax-M2.5 + export ANTHROPIC_DEFAULT_HAIKU_MODEL=MiniMaxAI/MiniMax-M2.5 + export CLAUDE_CODE_SUBAGENT_MODEL=MiniMaxAI/MiniMax-M2.5 export ENABLE_EXPERIMENTAL_MCP_CLI=true } @@ -174,18 +173,5 @@ bindkey "^z" foreground # ctrl + space accept suggestion bindkey "^ " autosuggest-accept - bindkey "^K" clearscr # }}} - -ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD -ZSH_THEME_TERM_TITLE_IDLE="%n@%m:%~" -# {{{ Overwriting -source ~/.config/zsh/theme.zsh -[[ ! -f env.sh ]] || source ./env.sh -[[ ! -f ~/.zshrc.local.zsh ]] || source ~/.zshrc.local.zsh -# }}} - -# export NVM_DIR="$HOME/.config/nvm" -# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion |
