summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2026-02-22 13:02:08 +0300
committer2026-02-22 15:28:51 +0300
commitad175cdb4045fbe8fecb686c871b481e312d43dd (patch)
tree533b63cdadd138d94ff3247fa5faabea95dfd5a6
parentfixes zshrc (diff)
downloaddotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.gz
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.bz2
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.tar.xz
dotfiles-ad175cdb4045fbe8fecb686c871b481e312d43dd.zip
nvim configs
-rw-r--r--config/kitty/kitty.conf36
-rw-r--r--config/nvim/init.lua2
-rw-r--r--config/nvim/lazy-lock.json11
-rw-r--r--config/nvim/lua/autocommands.lua18
-rw-r--r--config/nvim/lua/keymaps.lua8
-rw-r--r--config/nvim/lua/options.lua5
-rw-r--r--config/nvim/lua/plugins.lua6
-rw-r--r--config/nvim/lua/plugins/dap.lua6
-rw-r--r--config/nvim/lua/plugins/folding.lua8
-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.lua7
-rw-r--r--config/nvim/lua/plugins/tree.lua53
-rw-r--r--config/nvim/lua/plugins/treesitter.lua4
-rw-r--r--config/nvim/lua/plugins/wrapping.lua6
-rw-r--r--config/nvim/lua/theme/colors.lua1626
-rw-r--r--config/nvim/lua/theme/colors256.lua110
-rw-r--r--config/nvim/lua/theme/init.lua5
-rw-r--r--zsh/.zshrc28
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
diff --git a/zsh/.zshrc b/zsh/.zshrc
index f9bf080..20fd75b 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -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