NvChad statusline workinggit add -Agit add -A

This commit is contained in:
ChrisHilborne 2023-10-22 01:11:33 +02:00
parent 875831ed54
commit d587a8ac3e
19 changed files with 1338 additions and 20 deletions

View File

@ -40,7 +40,6 @@ P.S. You can delete this when you're done too. It's your config now :)
-- Set <space> as the leader key
-- See `:help mapleader`
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
require("custom")
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
@ -200,6 +199,7 @@ require('lazy').setup({
-- [[ Theme ]]
vim.cmd [[colorscheme tokyonight]]
vim.g.theme = "tokyonight"
-- [[ Setting options ]]
-- See `:help vim.o`
@ -524,5 +524,8 @@ cmp.setup {
-- [[NvimTree]]
require("nvim-tree").setup {}
-- [[Other configs]]
require("custom")
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@ -1 +1,2 @@
require("custom.configs.set")
require("custom.statusline.init")

View File

@ -7,25 +7,25 @@ return {
style = "moon",
},
},
{
"catppuccin/nvim",
lazy = false,
priority = 1000,
},
{
-- Set lualine as statusline
'nvim-lualine/lualine.nvim',
-- See `:help lualine.txt`
opts = {
options = {
icons_enabled = true,
-- theme = 'catppuccin-mocha',
theme = 'tokyonight',
-- section_separators = { left = '', right = '' },
-- component_separators = { left = '', right = '' }
},
},
},
-- {
-- "catppuccin/nvim",
-- lazy = false,
-- priority = 1000,
-- },
-- {
-- Set lualine as statusline
-- 'nvim-lualine/lualine.nvim',
-- See `:help lualine.txt`
-- opts = {
-- options = {
-- icons_enabled = true,
-- theme = 'catppuccin-mocha',
-- theme = 'tokyonight',
-- section_separators = { left = '', right = '' },
-- component_separators = { left = '', right = '' }
-- },
-- },
-- },
{
-- Add indentation guides even on blank lines
'lukas-reineke/indent-blankline.nvim',

View File

@ -0,0 +1,16 @@
vim.opt.statusline = "%!v:lua.require('custom.statusline.statusline').run()"
function SetColors(theme)
for hlgroupName, hlgroup_vals in pairs(theme) do
local hlname = hlgroupName
local opts = {}
for optName, optVal in pairs(hlgroup_vals) do
opts[optName] = optVal
end
vim.api.nvim_set_hl(0, hlname, opts)
end
end
Theme = require('custom.statusline.theme')
SetColors(Theme)

View File

@ -0,0 +1,214 @@
local fn = vim.fn
local sep_style = "default"
local default_sep_icons = {
default = { left = "", right = "" },
round = { left = "", right = "" },
block = { left = "", right = "" },
arrow = { left = "", right = "" },
}
local separators = (type(sep_style) == "table" and sep_style) or default_sep_icons[sep_style]
local sep_l = separators["left"]
local sep_r = separators["right"]
local function stbufnr()
return vim.api.nvim_win_get_buf(vim.g.statusline_winid)
end
local function is_activewin()
return vim.api.nvim_get_current_win() == vim.g.statusline_winid
end
local M = {}
M.modes = {
["n"] = { "NORMAL", "St_NormalMode" },
["no"] = { "NORMAL (no)", "St_NormalMode" },
["nov"] = { "NORMAL (nov)", "St_NormalMode" },
["noV"] = { "NORMAL (noV)", "St_NormalMode" },
["noCTRL-V"] = { "NORMAL", "St_NormalMode" },
["niI"] = { "NORMAL i", "St_NormalMode" },
["niR"] = { "NORMAL r", "St_NormalMode" },
["niV"] = { "NORMAL v", "St_NormalMode" },
["nt"] = { "NTERMINAL", "St_NTerminalMode" },
["ntT"] = { "NTERMINAL (ntT)", "St_NTerminalMode" },
["v"] = { "VISUAL", "St_VisualMode" },
["vs"] = { "V-CHAR (Ctrl O)", "St_VisualMode" },
["V"] = { "V-LINE", "St_VisualMode" },
["Vs"] = { "V-LINE", "St_VisualMode" },
[""] = { "V-BLOCK", "St_VisualMode" },
["i"] = { "INSERT", "St_InsertMode" },
["ic"] = { "INSERT (completion)", "St_InsertMode" },
["ix"] = { "INSERT completion", "St_InsertMode" },
["t"] = { "TERMINAL", "St_TerminalMode" },
["R"] = { "REPLACE", "St_ReplaceMode" },
["Rc"] = { "REPLACE (Rc)", "St_ReplaceMode" },
["Rx"] = { "REPLACEa (Rx)", "St_ReplaceMode" },
["Rv"] = { "V-REPLACE", "St_ReplaceMode" },
["Rvc"] = { "V-REPLACE (Rvc)", "St_ReplaceMode" },
["Rvx"] = { "V-REPLACE (Rvx)", "St_ReplaceMode" },
["s"] = { "SELECT", "St_SelectMode" },
["S"] = { "S-LINE", "St_SelectMode" },
[""] = { "S-BLOCK", "St_SelectMode" },
["c"] = { "COMMAND", "St_CommandMode" },
["cv"] = { "COMMAND", "St_CommandMode" },
["ce"] = { "COMMAND", "St_CommandMode" },
["r"] = { "PROMPT", "St_ConfirmMode" },
["rm"] = { "MORE", "St_ConfirmMode" },
["r?"] = { "CONFIRM", "St_ConfirmMode" },
["x"] = { "CONFIRM", "St_ConfirmMode" },
["!"] = { "SHELL", "St_TerminalMode" },
}
M.mode = function()
if not is_activewin() then
return ""
end
local m = vim.api.nvim_get_mode().mode
local current_mode = "%#" .. M.modes[m][2] .. "#" .. "" .. M.modes[m][1]
local mode_sep1 = "%#" .. M.modes[m][2] .. "Sep" .. "#" .. sep_r
return current_mode .. mode_sep1 .. "%#ST_EmptySpace#" .. sep_r
end
-- credits to ii14 for str:match func
M.fileInfo = function()
local icon = " 󰈚 "
local path = vim.api.nvim_buf_get_name(stbufnr())
local name = (path == "" and "Empty ") or path:match "([^/\\]+)[/\\]*$"
if name ~= "Empty " then
local devicons_present, devicons = pcall(require, "nvim-web-devicons")
if devicons_present then
local ft_icon = devicons.get_icon(name)
icon = (ft_icon ~= nil and " " .. ft_icon) or icon
end
name = " " .. name .. " "
end
return "%#St_file_info#" .. icon .. name .. "%#St_file_sep#" .. sep_r
end
M.git = function()
if not vim.b[stbufnr()].gitsigns_head or vim.b[stbufnr()].gitsigns_git_status then
return ""
end
local git_status = vim.b[stbufnr()].gitsigns_status_dict
local added = (git_status.added and git_status.added ~= 0) and ("" .. git_status.added) or ""
local changed = (git_status.changed and git_status.changed ~= 0) and ("" .. git_status.changed) or ""
local removed = (git_status.removed and git_status.removed ~= 0) and ("" .. git_status.removed) or ""
local branch_name = "" .. git_status.head
return "%#St_gitIcons#" .. branch_name .. added .. changed .. removed
end
-- LSP STUFF
M.LSP_progress = function()
if not rawget(vim, "lsp") or vim.lsp.status or not is_activewin() then
return ""
end
local Lsp = vim.lsp.util.get_progress_messages()[1]
if vim.o.columns < 120 or not Lsp then
return ""
end
if Lsp.done then
vim.defer_fn(function()
vim.cmd.redrawstatus()
end, 1000)
end
local msg = Lsp.message or ""
local percentage = Lsp.percentage or 0
local title = Lsp.title or ""
local spinners = { "", "󰪞", "󰪟", "󰪠", "󰪢", "󰪣", "󰪤", "󰪥" }
local ms = vim.loop.hrtime() / 1000000
local frame = math.floor(ms / 120) % #spinners
local content = string.format(" %%<%s %s %s (%s%%%%) ", spinners[frame + 1], title, msg, percentage)
return ("%#St_LspProgress#" .. content) or ""
end
M.LSP_Diagnostics = function()
if not rawget(vim, "lsp") then
return ""
end
local errors = #vim.diagnostic.get(stbufnr(), { severity = vim.diagnostic.severity.ERROR })
local warnings = #vim.diagnostic.get(stbufnr(), { severity = vim.diagnostic.severity.WARN })
local hints = #vim.diagnostic.get(stbufnr(), { severity = vim.diagnostic.severity.HINT })
local info = #vim.diagnostic.get(stbufnr(), { severity = vim.diagnostic.severity.INFO })
errors = (errors and errors > 0) and ("%#St_lspError#" .. "" .. errors .. " ") or ""
warnings = (warnings and warnings > 0) and ("%#St_lspWarning#" .. "" .. warnings .. " ") or ""
hints = (hints and hints > 0) and ("%#St_lspHints#" .. "󰛩 " .. hints .. " ") or ""
info = (info and info > 0) and ("%#St_lspInfo#" .. "󰋼 " .. info .. " ") or ""
return errors .. warnings .. hints .. info
end
M.LSP_status = function()
if rawget(vim, "lsp") then
for _, client in ipairs(vim.lsp.get_active_clients()) do
if client.attached_buffers[stbufnr()] and client.name ~= "null-ls" then
return (vim.o.columns > 100 and "%#St_LspStatus#" .. "  LSP ~ " .. client.name .. " ") or "  LSP "
end
end
end
end
M.cwd = function()
local dir_icon = "%#St_cwd_icon#" .. "󰉋 "
local dir_name = "%#St_cwd_text#" .. " " .. fn.fnamemodify(fn.getcwd(), ":t") .. " "
return (vim.o.columns > 85 and ("%#St_cwd_sep#" .. sep_l .. dir_icon .. dir_name)) or ""
end
M.cursor_position = function()
local left_sep = "%#St_pos_sep#" .. sep_l .. "%#St_pos_icon#" .. ""
local current_line = fn.line(".", vim.g.statusline_winid)
local total_line = fn.line("$", vim.g.statusline_winid)
local text = math.modf((current_line / total_line) * 100) .. tostring "%%"
text = string.format("%4s", text)
text = (current_line == 1 and "Top") or text
text = (current_line == total_line and "Bot") or text
return left_sep .. "%#St_pos_text#" .. " " .. text .. " "
end
M.run = function()
local modules = {
M.mode(),
M.fileInfo(),
M.git(),
"%=",
M.LSP_progress(),
"%=",
M.LSP_Diagnostics(),
M.LSP_status() or "",
M.cwd(),
M.cursor_position(),
}
return table.concat(modules)
end
return M

View File

@ -0,0 +1,127 @@
local statusline_bg = nil
local merge_tb = vim.tbl_deep_extend
local theme = require('custom.statusline.themes.tokyodark')
local colors = theme.base_30
local Lsp_highlights = {
St_lspError = {
fg = colors.red,
bg = statusline_bg,
},
St_lspWarning = {
fg = colors.yellow,
bg = statusline_bg,
},
St_LspHints = {
fg = colors.purple,
bg = statusline_bg,
},
St_LspInfo = {
fg = colors.green,
bg = statusline_bg,
},
}
local M = {}
M.theme = {
StatusLine = {
bg = statusline_bg,
},
St_gitIcons = {
fg = colors.light_grey,
bg = statusline_bg,
bold = true,
},
St_LspStatus = {
fg = colors.nord_blue,
bg = statusline_bg,
},
St_LspProgress = {
fg = colors.green,
bg = statusline_bg,
},
St_LspStatus_Icon = {
fg = colors.black,
bg = colors.nord_blue,
},
St_EmptySpace = {
fg = colors.grey,
bg = colors.lightbg,
},
St_EmptySpace2 = {
fg = colors.grey,
bg = statusline_bg,
},
St_file_info = {
bg = colors.lightbg,
fg = colors.white,
},
St_file_sep = {
bg = statusline_bg,
fg = colors.lightbg,
},
St_cwd_icon = {
fg = colors.one_bg,
bg = colors.red,
},
St_cwd_text = {
fg = colors.white,
bg = colors.lightbg,
},
St_cwd_sep = {
fg = colors.red,
bg = statusline_bg,
},
St_pos_sep = {
fg = colors.green,
bg = colors.lightbg,
},
St_pos_icon = {
fg = colors.black,
bg = colors.green,
},
St_pos_text = {
fg = colors.green,
bg = colors.lightbg,
},
}
M.theme = merge_tb("force", M.theme, Lsp_highlights)
local function genModes_hl(modename, col)
M.theme["St_" .. modename .. "Mode"] = { fg = colors.black, bg = colors[col], bold = true }
M.theme["St_" .. modename .. "ModeSep"] = { fg = colors[col], bg = colors.grey }
end
-- add mode highlights
genModes_hl("Normal", "nord_blue")
genModes_hl("Visual", "cyan")
genModes_hl("Insert", "dark_purple")
genModes_hl("Terminal", "green")
genModes_hl("NTerminal", "yellow")
genModes_hl("Replace", "orange")
genModes_hl("Confirm", "teal")
genModes_hl("Command", "green")
genModes_hl("Select", "blue")
return M.theme

View File

@ -0,0 +1,66 @@
local M = {}
M.base_30 = {
white = "#D9E0EE",
darker_black = "#191828",
black = "#1E1D2D", -- nvim bg
black2 = "#252434",
one_bg = "#2d2c3c", -- real bg of onedark
one_bg2 = "#363545",
one_bg3 = "#3e3d4d",
grey = "#474656",
grey_fg = "#4e4d5d",
grey_fg2 = "#555464",
light_grey = "#605f6f",
red = "#F38BA8",
baby_pink = "#ffa5c3",
pink = "#F5C2E7",
line = "#383747", -- for lines like vertsplit
green = "#ABE9B3",
vibrant_green = "#b6f4be",
nord_blue = "#8bc2f0",
blue = "#89B4FA",
yellow = "#FAE3B0",
sun = "#ffe9b6",
purple = "#d0a9e5",
dark_purple = "#c7a0dc",
teal = "#B5E8E0",
orange = "#F8BD96",
cyan = "#89DCEB",
statusline_bg = "#232232",
lightbg = "#2f2e3e",
pmenu_bg = "#ABE9B3",
folder_bg = "#89B4FA",
lavender = "#c7d1ff",
}
M.base_16 = {
base00 = "#1E1D2D",
base01 = "#282737",
base02 = "#2f2e3e",
base03 = "#383747",
base04 = "#414050",
base05 = "#bfc6d4",
base06 = "#ccd3e1",
base07 = "#D9E0EE",
base08 = "#F38BA8",
base09 = "#F8BD96",
base0A = "#FAE3B0",
base0B = "#ABE9B3",
base0C = "#89DCEB",
base0D = "#89B4FA",
base0E = "#CBA6F7",
base0F = "#F38BA8",
}
M.polish_hl = {
["@variable"] = { fg = M.base_30.lavender },
["@property"] = { fg = M.base_30.teal },
["@variable.builtin"] = { fg = M.base_30.red },
}
M.type = "dark"
M = require("base46").override_theme(M, "catppuccin")
return M

View File

@ -0,0 +1,67 @@
-- Credits to original theme https://github.com/dracula/vim
-- This is a modified version
local M = {}
M.base_30 = {
white = "#F8F8F2",
darker_black = "#222430",
black = "#282A36", -- nvim bg
black2 = "#2d303e",
one_bg = "#373844", -- real bg of onedark
one_bg2 = "#44475a",
one_bg3 = "#565761",
grey = "#5e5f69",
grey_fg = "#666771",
grey_fg2 = "#6e6f79",
light_grey = "#73747e",
red = "#ff7070",
baby_pink = "#ff86d3",
pink = "#FF79C6",
line = "#3c3d49", -- for lines like vertsplit
green = "#50fa7b",
vibrant_green = "#5dff88",
nord_blue = "#8b9bcd",
blue = "#a1b1e3",
yellow = "#F1FA8C",
sun = "#FFFFA5",
purple = "#BD93F9",
dark_purple = "#BD93F9",
teal = "#92a2d4",
orange = "#FFB86C",
cyan = "#8BE9FD",
statusline_bg = "#2d2f3b",
lightbg = "#41434f",
pmenu_bg = "#b389ef",
folder_bg = "#BD93F9",
}
M.base_16 = {
base00 = "#282936",
base01 = "#3a3c4e",
base02 = "#4d4f68",
base03 = "#626483",
base04 = "#62d6e8",
base05 = "#e9e9f4",
base06 = "#f1f2f8",
base07 = "#f7f7fb",
base08 = "#c197fd",
base09 = "#FFB86C",
base0A = "#62d6e8",
base0B = "#F1FA8C",
base0C = "#8BE9FD",
base0D = "#50fa7b",
base0E = "#ff86d3",
base0F = "#F8F8F2",
}
M.polish_hl = {
["@function.builtin"] = { fg = M.base_30.cyan },
["@number"] = { fg = M.base_30.purple },
}
M.type = "dark"
M = require("base46").override_theme(M, "chadracula")
return M

View File

@ -0,0 +1,85 @@
-- credits to original theme for existing https://github.com/primer/github-vscode-theme
-- This is a modified version of it
local M = {}
M.base_30 = {
white = "#d3dbe3",
darker_black = "#1F2428",
black = "#24292E", -- nvim bg
black2 = "#2e3338",
one_bg = "#33383d",
one_bg2 = "#383d42", -- StatusBar (filename)
one_bg3 = "#42474c",
grey = "#4c5156", -- Line numbers (shouldn't be base01?)
grey_fg = "#565b60", -- Why this affects comments?
grey_fg2 = "#60656a",
light_grey = "#6a6f74",
red = "#ff7f8d", -- StatusBar (username)
baby_pink = "#ffa198",
pink = "#ec6cb9",
line = "#33383d", -- for lines like vertsplit
green = "#56d364", -- StatusBar (file percentage)
vibrant_green = "#85e89d",
nord_blue = "#58a6ff", -- Mode indicator
blue = "#79c0ff",
yellow = "#ffdf5d",
sun = "#ffea7f",
purple = "#d2a8ff",
dark_purple = "#bc8cff",
teal = "#39c5cf",
orange = "#ffab70",
cyan = "#56d4dd",
statusline_bg = "#2b3035",
lightbg = "#383d42",
pmenu_bg = "#58a6ff", -- Command bar suggestions
folder_bg = "#58a6ff",
}
M.base_16 = {
base00 = "#24292E", -- Default bg
base01 = "#33383d", -- Lighter bg (status bar, line number, folding mks)
base02 = "#383d42", -- Selection bg
base03 = "#42474c", -- Comments, invisibles, line hl
base04 = "#4c5156", -- Dark fg (status bars)
base05 = "#c9d1d9", -- Default fg (caret, delimiters, Operators)
base06 = "#d3dbe3", -- Light fg (not often used)
base07 = "#dde5ed", -- Light bg (not often used)
base08 = "#B392E9", -- Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 = "#ffab70", -- Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "#ffdf5d", -- Classes, Markup Bold, Search Text Background
base0B = "#a5d6ff", -- Strings, Inherited Class, Markup Code, Diff Inserted
base0C = "#83caff", -- Support, regex, escape chars
base0D = "#6AB1F0", -- Function, methods, headings
base0E = "#ff7f8d", -- Keywords
base0F = "#85e89d", -- Deprecated, open/close embedded tags
}
M.type = "dark"
M.polish_hl = {
["@punctuation.bracket"] = {
fg = M.base_30.orange,
},
["@string"] = {
fg = M.base_30.white,
},
["@field.key"] = {
fg = M.base_30.white,
},
["@constructor"] = {
fg = M.base_30.vibrant_green,
bold = true,
},
["@tag.attribute"] = {
link = "@method",
},
}
M = require("base46").override_theme(M, "github_dark")
return M

View File

@ -0,0 +1,72 @@
-- Credits to original https://github.com/morhetz/gruvbox
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#ebdbb2",
darker_black = "#232323",
black = "#282828", -- nvim bg
black2 = "#2e2e2e",
one_bg = "#353535",
one_bg2 = "#3f3f3f",
one_bg3 = "#444444",
grey = "#4b4b4b",
grey_fg = "#4e4e4e",
grey_fg2 = "#505050",
light_grey = "#656565",
red = "#fb4934",
baby_pink = "#cc241d",
pink = "#ff75a0",
line = "#36393a", -- for lines like vertsplit
green = "#b8bb26",
vibrant_green = "#a9b665",
nord_blue = "#83a598",
blue = "#458588",
yellow = "#d79921",
sun = "#fabd2f",
purple = "#b4bbc8",
dark_purple = "#d3869b",
teal = "#749689",
orange = "#e78a4e",
cyan = "#82b3a8",
statusline_bg = "#2c2c2c",
lightbg = "#3d3d3d",
pmenu_bg = "#83a598",
folder_bg = "#749689",
}
M.base_16 = {
base00 = "#282828",
base01 = "#3c3836",
base02 = "#423e3c",
base03 = "#484442",
base04 = "#bdae93",
base05 = "#d5c4a1",
base06 = "#ebdbb2",
base07 = "#fbf1c7",
base08 = "#fb4934",
base09 = "#fe8019",
base0A = "#fabd2f",
base0B = "#b8bb26",
base0C = "#8ec07c",
base0D = "#83a598",
base0E = "#d3869b",
base0F = "#d65d0e",
}
M.type = "dark"
M = require("base46").override_theme(M, "gruvbox")
M.polish_hl = {
Operator = {
fg = M.base_30.nord_blue,
},
["@operator"] = {
fg = M.base_30.nord_blue,
},
}
return M

View File

@ -0,0 +1,84 @@
-- Thanks to https://github.com/savq/melange for existing
-- This is a modified version of it
local M = {}
M.base_30 = {
white = "#ECE1D7",
darker_black = "#241f1a",
black = "#2A2520", -- nvim bg
black2 = "#342f2a",
one_bg = "#39342f",
one_bg2 = "#433e39",
one_bg3 = "#4d4843",
grey = "#57524d",
grey_fg = "#605b56",
grey_fg2 = "#6b6661",
light_grey = "#75706b",
red = "#B65C60",
baby_pink = "#CE9BCB",
pink = "#B65C60",
line = "#39342f", -- for lines like vertsplit
green = "#86A3A3",
vibrant_green = "#99D59D",
nord_blue = "#88B3B2",
blue = "#9AACCE",
yellow = "#e3b865",
sun = "#EBC06D",
purple = "#c47fd5",
dark_purple = "#b570c6",
teal = "#697893",
orange = "#E49B5D",
firered = "#F17C64",
cyan = "#bbcdef",
statusline_bg = "#312c27",
lightbg = "#433e39",
pmenu_bg = "#86A3A3",
folder_bg = "#697893",
}
M.base_16 = {
base00 = "#2A2520",
base01 = "#39342f",
base02 = "#433e39",
base03 = "#4d4843",
base04 = "#57524d",
base05 = "#ECE1D7",
base06 = "#e3d8ce",
base07 = "#d8cdc3",
base08 = "#ECE1D7",
base09 = "#86A3A3",
base0A = "#99D59D",
base0B = "#9AACCE",
base0C = "#EBC06D",
base0D = "#EBC06D",
base0E = "#E49B5D",
base0F = "#8E733F",
}
M.type = "dark"
M.polish_hl = {
["@field"] = { fg = M.base_30.white },
["@field.key"] = { fg = M.base_30.white },
["@function.macro"] = {
fg = M.base_30.vibrant_green,
},
Include = {
fg = M.base_30.vibrant_green,
},
Operator = {
fg = M.base_30.firered,
},
Boolean = {
fg = M.base_30.purple
}
}
M = require("base46").override_theme(M, "melange")
return M

View File

@ -0,0 +1,66 @@
-- Credits to original https://github.com/arcticicestudio/nord-vim
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#abb2bf",
darker_black = "#2a303c",
black = "#2E3440", -- nvim bg
black2 = "#343a46",
one_bg = "#373d49",
one_bg2 = "#464c58",
one_bg3 = "#494f5b",
grey = "#4b515d",
grey_fg = "#565c68",
grey_fg2 = "#606672",
light_grey = "#646a76",
red = "#BF616A",
baby_pink = "#de878f",
pink = "#d57780",
line = "#414753", -- for lines like vertsplit
green = "#A3BE8C",
vibrant_green = "#afca98",
blue = "#7797b7",
nord_blue = "#81A1C1",
yellow = "#EBCB8B",
sun = "#e1c181",
purple = "#B48EAD",
dark_purple = "#a983a2",
teal = "#6484a4",
orange = "#e39a83",
cyan = "#9aafe6",
statusline_bg = "#333945",
lightbg = "#3f4551",
pmenu_bg = "#A3BE8C",
folder_bg = "#7797b7",
}
M.base_16 = {
base00 = "#2E3440",
base01 = "#3B4252",
base02 = "#434C5E",
base03 = "#4C566A",
base04 = "#D8DEE9",
base05 = "#E5E9F0",
base06 = "#ECEFF4",
base07 = "#8FBCBB",
base08 = "#88C0D0",
base09 = "#81A1C1",
base0A = "#88C0D0",
base0B = "#A3BE8C",
base0C = "#81A1C1",
base0D = "#81A1C1",
base0E = "#81A1C1",
base0F = "#B48EAD",
}
M.polish_hl = {
["@punctuation.bracket"] = { fg = M.base_30.white },
["@punctuation.delimiter"] = { fg = M.base_30.white },
}
M.type = "dark"
M = require("base46").override_theme(M, "nord")
return M

View File

@ -0,0 +1,62 @@
-- Credits to original https://github.com/one-dark
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#abb2bf",
darker_black = "#1b1f27",
black = "#1e222a", -- nvim bg
black2 = "#252931",
one_bg = "#282c34", -- real bg of onedark
one_bg2 = "#353b45",
one_bg3 = "#373b43",
grey = "#42464e",
grey_fg = "#565c64",
grey_fg2 = "#6f737b",
light_grey = "#6f737b",
red = "#e06c75",
baby_pink = "#DE8C92",
pink = "#ff75a0",
line = "#31353d", -- for lines like vertsplit
green = "#98c379",
vibrant_green = "#7eca9c",
nord_blue = "#81A1C1",
blue = "#61afef",
yellow = "#e7c787",
sun = "#EBCB8B",
purple = "#de98fd",
dark_purple = "#c882e7",
teal = "#519ABA",
orange = "#fca2aa",
cyan = "#a3b8ef",
statusline_bg = "#22262e",
lightbg = "#2d3139",
pmenu_bg = "#61afef",
folder_bg = "#61afef",
}
M.base_16 = {
base00 = "#1e222a",
base01 = "#353b45",
base02 = "#3e4451",
base03 = "#545862",
base04 = "#565c64",
base05 = "#abb2bf",
base06 = "#b6bdca",
base07 = "#c8ccd4",
base08 = "#e06c75",
base09 = "#d19a66",
base0A = "#e5c07b",
base0B = "#98c379",
base0C = "#56b6c2",
base0D = "#61afef",
base0E = "#c678dd",
base0F = "#be5046",
}
M.type = "dark"
M = require("base46").override_theme(M, "onedark")
return M

View File

@ -0,0 +1,62 @@
-- Credits to original https://github.com/arcticicestudio/nord-vim
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#D8DEE9",
darker_black = "#252b37",
black = "#2a303c", -- nvim bg
black2 = "#2f3541",
one_bg = "#343a46",
one_bg2 = "#3e4450",
one_bg3 = "#484e5a",
grey = "#4d535f",
grey_fg = "#545a66",
grey_fg2 = "#595f6b",
light_grey = "#606672",
red = "#d57780",
baby_pink = "#de878f",
pink = "#da838b",
line = "#414753", -- for lines like vertsplit
green = "#A3BE8C",
vibrant_green = "#afca98",
blue = "#7797b7",
nord_blue = "#81A1C1",
yellow = "#EBCB8B",
sun = "#e1c181",
purple = "#aab1be",
dark_purple = "#B48EAD",
teal = "#6484a4",
orange = "#e39a83",
cyan = "#9aafe6",
statusline_bg = "#333945",
lightbg = "#3f4551",
pmenu_bg = "#A3BE8C",
folder_bg = "#7797b7",
}
M.base_16 = {
base00 = "#2a303c",
base01 = "#3B4252",
base02 = "#434C5E",
base03 = "#4C566A",
base04 = "#566074",
base05 = "#bfc5d0",
base06 = "#c7cdd8",
base07 = "#ced4df",
base08 = "#d57780",
base09 = "#e39a83",
base0A = "#EBCB8B",
base0B = "#A3BE8C",
base0C = "#97b7d7",
base0D = "#81A1C1",
base0E = "#B48EAD",
base0F = "#d57780",
}
M.type = "dark"
M = require("base46").override_theme(M, "onenord")
return M

View File

@ -0,0 +1,96 @@
-- credits to original theme for existing https://github.com/nealmckee/penumbra
-- This is a modified version of it
local M = {}
M.base_30 = {
white = "#FFFDFB",
darker_black = "#2b2e33",
black = "#303338",
black2 = "#3a3d42",
one_bg = "#3d4045",
one_bg2 = "#484b50",
one_bg3 = "#515459",
grey = "#5c5f64",
grey_fg = "#676a6f",
grey_fg2 = "#72757a",
light_grey = "#7d8085",
red = "#CA7081",
baby_pink = "#E18163",
pink = "#D07EBA",
green = "#4EB67F",
vibrant_green = "#50B584",
nord_blue = "#6e8dd5",
blue = "#8C96EC",
yellow = "#c1ad4b",
sun = "#9CA748",
purple = "#ac78bd",
dark_purple = "#8C96EC",
orange = "#CE9042",
teal = "#00a6c8",
cyan = "#00B3C2",
line = "#3E4044",
statusline_bg = "#34373c",
lightbg = "#484b50",
pmenu_bg = "#4EB67F",
folder_bg = "#8C96EC",
}
M.base_16 = {
base00 = "#303338",
base01 = "#3a3d42",
base02 = "#3d4045",
base03 = "#484b50",
base04 = "#515459",
base05 = "#CECECE",
base06 = "#F2E6D4",
base07 = "#FFF7ED",
base08 = "#999999",
base09 = "#BE85D1",
base0A = "#CA7081",
base0B = "#4ec093",
base0C = "#D68B47",
base0D = "#7A9BEC",
base0E = "#BE85D1",
base0F = "#A1A641",
}
M.polish_hl = {
["@field.key"] = {
fg = M.base_30.red,
},
Constant = {
fg = M.base_30.red,
},
["@punctuation.bracket"] = {
fg = M.base_16.base08,
},
["@constructor"] = {
fg = M.base_30.orange,
},
["@parameter"] = {
fg = M.base_30.orange,
},
Operator = {
fg = M.base_30.cyan,
},
["@tag.delimiter"] = {
fg = M.base_16.base08,
},
["@tag.attribute"] = {
link = "@annotation",
},
}
M.type = "dark"
M = require("base46").override_theme(M, "penumbra_dark")
return M

View File

@ -0,0 +1,62 @@
-- Credits to original https://github.com/altercation/solarized
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#abb2bf",
darker_black = "#002530",
black = "#002b36", -- nvim bg
black2 = "#06313c",
one_bg = "#0a3540", -- real bg of onedark
one_bg2 = "#133e49",
one_bg3 = "#1b4651",
grey = "#28535e",
grey_fg = "#325d68",
grey_fg2 = "#3c6772",
light_grey = "#446f7a",
red = "#dc322f",
baby_pink = "#eb413e",
pink = "#d33682",
line = "#0f3a45", -- for lines like vertsplit
green = "#859900",
vibrant_green = "#b2c62d",
nord_blue = "#197ec5",
blue = "#268bd2",
yellow = "#b58900",
sun = "#c4980f",
purple = "#6c71c4",
dark_purple = "#5d62b5",
teal = "#519ABA",
orange = "#cb4b16",
cyan = "#2aa198",
statusline_bg = "#042f3a",
lightbg = "#113c47",
pmenu_bg = "#268bd2",
folder_bg = "#268bd2",
}
M.base_16 = {
base00 = "#002b36",
base01 = "#06313c",
base02 = "#0a3540",
base03 = "#133e49",
base04 = "#1b4651",
base05 = "#93a1a1",
base06 = "#eee8d5",
base07 = "#fdf6e3",
base08 = "#dc322f",
base09 = "#cb4b16",
base0A = "#b58900",
base0B = "#859900",
base0C = "#2aa198",
base0D = "#268bd2",
base0E = "#6c71c4",
base0F = "#d33682",
}
M.type = "dark"
M = require("base46").override_theme(M, "solarized_dark")
return M

View File

@ -0,0 +1,61 @@
-- Credits to original https://github.com/tiagovla/tokyodark.nvim
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#A0A8CD",
darker_black = "#0c0d18",
black = "#11121D", -- nvim bg
black2 = "#171823",
one_bg = "#1d1e29",
one_bg2 = "#252631",
one_bg3 = "#252631",
grey = "#474853",
grey_fg = "#474853",
grey_fg2 = "#4e4f5a",
light_grey = "#545560",
red = "#ee6d85",
baby_pink = "#fd7c94",
pink = "#fe6D85",
line = "#252631",
green = "#98c379",
vibrant_green = "#95c561",
nord_blue = "#648ce1",
blue = "#7199ee",
yellow = "#d7a65f",
sun = "#dfae67",
purple = "#a485dd",
dark_purple = "#9071c9",
teal = "#519aba",
orange = "#f6955b",
cyan = "#38a89d",
statusline_bg = "#161722",
lightbg = "#2a2b36",
pmenu_bg = "#ee6d85",
folder_bg = "#7199ee",
}
M.base_16 = {
base00 = "#11121d",
base01 = "#1b1c27",
base02 = "#21222d",
base03 = "#282934",
base04 = "#30313c",
base05 = "#abb2bf",
base06 = "#b2b9c6",
base07 = "#A0A8CD",
base08 = "#ee6d85",
base09 = "#7199ee",
base0A = "#7199ee",
base0B = "#dfae67",
base0C = "#a485dd",
base0D = "#95c561",
base0E = "#a485dd",
base0F = "#f3627a",
}
M.type = "dark"
return M

View File

@ -0,0 +1,70 @@
-- Credits to original https://github.com/tiagovla/tokyonight.nvim
-- This is modified version of it
local M = {}
M.base_30 = {
white = "#c0caf5",
darker_black = "#16161e",
black = "#1a1b26", -- nvim bg
black2 = "#1f2336",
one_bg = "#24283b",
one_bg2 = "#414868",
one_bg3 = "#353b45",
grey = "#40486a",
grey_fg = "#565f89",
grey_fg2 = "#4f5779",
light_grey = "#545c7e",
red = "#f7768e",
baby_pink = "#DE8C92",
pink = "#ff75a0",
line = "#32333e", -- for lines like vertsplit
green = "#9ece6a",
vibrant_green = "#73daca",
nord_blue = "#80a8fd",
blue = "#7aa2f7",
yellow = "#e0af68",
sun = "#EBCB8B",
purple = "#bb9af7",
dark_purple = "#9d7cd8",
teal = "#1abc9c",
orange = "#ff9e64",
cyan = "#7dcfff",
statusline_bg = "#1d1e29",
lightbg = "#32333e",
pmenu_bg = "#7aa2f7",
folder_bg = "#7aa2f7",
}
M.base_16 = {
base00 = "#1a1b26",
base01 = "#16161e",
base02 = "#2f3549",
base03 = "#444b6a",
base04 = "#787c99",
base05 = "#a9b1d6",
base06 = "#cbccd1",
base07 = "#d5d6db",
base08 = "#73daca",
base09 = "#ff9e64",
base0A = "#0db9d7",
base0B = "#9ece6a",
base0C = "#b4f9f8",
base0D = "#2ac3de",
base0E = "#bb9af7",
base0F = "#f7768e",
}
M.polish_hl = {
["@variable"] = { fg = M.base_16.base05 },
["@punctuation.bracket"] = { fg = M.base_30.purple },
["@method.call"] = { fg = M.base_30.red },
["@function.call"] = { fg = M.base_30.blue },
["@constant"] = { fg = M.base_30.orange },
["@parameter"] = { fg = M.base_30.orange },
}
M.type = "dark"
return M

View File

@ -0,0 +1,104 @@
-- Thanks to original theme for existing https://github.com/sam4llis/nvim-tundra
-- this is a modified version of it
local M = {}
M.base_30 = {
white = "#FFFFFF",
darker_black = "#0b1221",
black = "#111827", -- nvim bg
black2 = "#1a2130",
one_bg = "#1e2534",
one_bg2 = "#282f3e",
one_bg3 = "#323948",
grey = "#3e4554",
grey_fg = "#4a5160",
grey_fg2 = "#545b6a",
light_grey = "#5f6675",
red = "#FCA5A5",
baby_pink = "#FECDD3",
pink = "#ff8e8e",
line = "#282f3e", -- for lines like vertsplit
green = "#B5E8B0",
vibrant_green = "#B5E8B0",
nord_blue = "#9baaf2",
blue = "#A5B4FC",
yellow = "#E8D4B0",
sun = "#f2deba",
purple = "#BDB0E4",
dark_purple = "#b3a6da",
teal = "#719bd3",
orange = "#FBC19D",
cyan = "#BAE6FD",
statusline_bg = "#171e2d",
lightbg = "#282f3e",
pmenu_bg = "#FCA5A5",
folder_bg = "#A5B4FC",
}
M.base_16 = {
base00 = "#111827",
base01 = "#1e2534",
base02 = "#282f3e",
base03 = "#323948",
base04 = "#3e4554",
base05 = "#F3F4F6",
base06 = "#E5E7EB",
base07 = "#D1D5DB",
base08 = "#DDD6FE",
base09 = "#E8D4B0",
base0A = "#FBC19D",
base0B = "#B5E8B0",
base0C = "#BAE6FD",
base0D = "#BAE6FD",
base0E = "#FCA5A5",
base0F = "#9CA3AF",
}
M.type = "dark"
M.polish_hl = {
Constant = {
fg = M.base_30.orange,
},
["@constructor"] = {
fg = M.base_30.cyan,
},
["@keyword"] = {
fg = M.base_30.red,
},
["@method.call"] = {
fg = M.base_30.cyan,
},
["@function.call"] = {
fg = M.base_30.cyan,
},
["@function.builtin"] = {
fg = M.base_30.orange,
},
Conditional = {
fg = M.base_30.baby_pink,
},
Repeat = {
fg = M.base_30.baby_pink,
},
Type = {
fg = M.base_30.baby_pink,
},
Operator = {
fg = M.base_30.baby_pink,
},
}
M = require("base46").override_theme(M, "tundra")
return M