Updated files

This commit is contained in:
Christoffer Martinsson 2025-05-15 21:10:39 +02:00
parent 284b8adee8
commit b024bd69e3
3 changed files with 408 additions and 627 deletions

View File

@ -112,14 +112,11 @@ require("lazy").setup({
},
-- LSP ----------------------------------------------------
{
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- See the configuration section for more details
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
@ -165,61 +162,10 @@ require("lazy").setup({
return client.supports_method(method, { bufnr = bufnr })
end
end
-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
-- See `:help CursorHold` for information about when this is executed
--
-- When you move your cursor, the highlights will be cleared (the second autocommand).
local client = vim.lsp.get_client_by_id(event.data.client_id)
-- if
-- client
-- and client_supports_method(
-- client,
-- vim.lsp.protocol.Methods.textDocument_documentHighlight,
-- event.buf
-- )
-- then
-- local highlight_augroup =
-- vim.api.nvim_create_augroup("kickstart-lsp-highlight", { clear = false })
-- vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
-- buffer = event.buf,
-- group = highlight_augroup,
-- callback = vim.lsp.buf.document_highlight,
-- })
--
-- vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
-- buffer = event.buf,
-- group = highlight_augroup,
-- callback = vim.lsp.buf.clear_references,
-- })
--
-- vim.api.nvim_create_autocmd("LspDetach", {
-- group = vim.api.nvim_create_augroup("kickstart-lsp-detach", { clear = true }),
-- callback = function(event2)
-- vim.lsp.buf.clear_references()
-- vim.api.nvim_clear_autocmds({ group = "kickstart-lsp-highlight", buffer = event2.buf })
-- end,
-- })
-- end
-- The following code creates a keymap to toggle inlay hints in your
-- code, if the language server you are using supports them
--
-- This may be unwanted, since they displace some of your code
if
client
and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf)
then
map("<leader>th", function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = event.buf }))
end, "[T]oggle Inlay [H]ints")
end
end,
})
-- Diagnostic Config
-- See :help vim.diagnostic.Opts
vim.diagnostic.config({
severity_sort = true,
float = { border = "rounded", source = "if_many" },
@ -263,8 +209,6 @@ require("lazy").setup({
completion = {
callSnippet = "Replace",
},
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
-- diagnostics = { disable = { 'missing-fields' } },
},
},
},
@ -276,12 +220,13 @@ require("lazy").setup({
end
end,
},
{
"stevearc/conform.nvim",
opts = {
formatters_by_ft = {
lua = { "stylua" },
python = { "isort", "black", timeout_ms = 3000 },
python = { "isort", "black" },
rust = { "rustfmt", lsp_format = "fallback" },
c = { "clang_format" },
cpp = { "clang_format" },
@ -304,7 +249,7 @@ require("lazy").setup({
},
},
format_on_save = {
timeout_ms = 500,
timeout_ms = 3000,
lsp_format = "fallback",
},
},
@ -392,180 +337,15 @@ require("lazy").setup({
"ibhagwan/fzf-lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
},
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
opts = {
close_if_last_window = true,
popup_border_style = "rounded",
enable_git_status = true,
enable_diagnostics = true,
open_files_do_not_replace_types = { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypes
sort_case_insensitive = false, -- used when sorting files and directories in the tree
sort_function = nil, -- use a custom function for sorting files and directories in the tree
default_component_configs = {
container = {
enable_character_fade = true,
},
indent = {
indent_size = 2,
padding = 1, -- extra padding on left hand side
-- indent guides
with_markers = true,
indent_marker = "",
last_indent_marker = "",
highlight = "NeoTreeIndentMarker",
-- expander config, needed for nesting files
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
icon = {
folder_closed = "",
folder_open = "",
folder_empty_open = "",
folder_empty = "󰜌",
provider = function(icon, node, state) -- default icon provider utilizes nvim-web-devicons if available
if node.type == "file" or node.type == "terminal" then
local success, web_devicons = pcall(require, "nvim-web-devicons")
local name = node.type == "terminal" and "terminal" or node.name
if success then
local devicon, hl = web_devicons.get_icon(name)
icon.text = devicon or icon.text
icon.highlight = hl or icon.highlight
end
end
end,
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
-- then these will never be used.
default = "*",
highlight = "NeoTreeFileIcon",
},
modified = {
symbol = "[+]",
highlight = "NeoTreeModified",
},
name = {
trailing_slash = false,
use_git_status_colors = true,
highlight = "NeoTreeFileName",
},
git_status = {
symbols = {
-- Change type
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
deleted = "", -- this can only be used in the git_status source
renamed = "󰁕", -- this can only be used in the git_status source
-- Status type
untracked = "",
ignored = "",
unstaged = "󰄱",
staged = "",
conflict = "",
},
},
-- -- If you don't want to use these columns, you can set `enabled = false` for each of them individually
-- file_size = {
-- enabled = true,
-- required_width = 64, -- min width of window required to show this column
-- },
-- type = {
-- enabled = true,
-- required_width = 122, -- min width of window required to show this column
-- },
-- last_modified = {
-- enabled = true,
-- required_width = 88, -- min width of window required to show this column
-- },
-- created = {
-- enabled = true,
-- required_width = 110, -- min width of window required to show this column
-- },
-- symlink_target = {
-- enabled = false,
-- },
},
commands = {
parent_or_close = function(state)
local node = state.tree:get_node()
if (node.type == "directory" or node:has_children()) and node:is_expanded() then
state.commands.toggle_node(state)
else
require("neo-tree.ui.renderer").focus_node(state, node:get_parent_id())
end
end,
child_or_open = function(state)
local node = state.tree:get_node()
if node.type == "directory" or node:has_children() then
if not node:is_expanded() then -- if unexpanded, expand
state.commands.toggle_node(state)
else -- if expanded and has children, seleect the next child
require("neo-tree.ui.renderer").focus_node(state, node:get_child_ids()[1])
end
else -- if not a directory just open it
state.commands.open(state)
end
end,
copy_selector = function(state)
local node = state.tree:get_node()
local filepath = node:get_id()
local filename = node.name
local modify = vim.fn.fnamemodify
local results = {
e = { val = modify(filename, ":e"), msg = "Extension only" },
f = { val = filename, msg = "Filename" },
F = { val = modify(filename, ":r"), msg = "Filename w/o extension" },
h = { val = modify(filepath, ":~"), msg = "Path relative to Home" },
p = { val = modify(filepath, ":."), msg = "Path relative to CWD" },
P = { val = filepath, msg = "Absolute path" },
}
local messages = {
{ "\nChoose to copy to clipboard:\n", "Normal" },
}
for i, result in pairs(results) do
if result.val and result.val ~= "" then
vim.list_extend(messages, {
{ ("%s."):format(i), "Identifier" },
{ (" %s: "):format(result.msg) },
{ result.val, "String" },
{ "\n" },
})
end
end
vim.api.nvim_echo(messages, false, {})
local result = results[vim.fn.getcharstr()]
if result and result.val and result.val ~= "" then
vim.notify("Copied: " .. result.val)
vim.fn.setreg("+", result.val)
end
end,
},
window = {
position = "float",
width = 40,
mappings = {
["<space>"] = false, -- disable space until we figure out which-key disabling
h = "parent_or_close",
l = "child_or_open",
Y = "copy_selector",
},
fzf_opts = {
["--bind"] = {
"ctrl-n:down",
"ctrl-p:up",
},
},
},
-- GUI ------------------------------------------------------
{
"mrjones2014/smart-splits.nvim",
opts = {
@ -614,6 +394,18 @@ require("lazy").setup({
},
},
{ "echasnovski/mini.icons", version = "*", opts = {} },
{ "echasnovski/mini.pairs", version = "*", opts = {} },
{
"echasnovski/mini.files",
version = "*",
opts = { mappings = {
go_in_plus = "l",
go_out = "h",
go_out_plus = "H",
} },
},
{
"lewis6991/gitsigns.nvim",
opts = {
@ -648,7 +440,7 @@ require("lazy").setup({
{
"norcalli/nvim-colorizer.lua",
opts = {},
opts = { "*" },
},
{
@ -696,15 +488,15 @@ require("lazy").setup({
}, {})
-- resizing splits
vim.keymap.set({ "n", "t" }, "<C-A-h>", require("smart-splits").resize_left, { desc = "Resize left" })
vim.keymap.set({ "n", "t" }, "<C-A-j>", require("smart-splits").resize_down, { desc = "Resize down" })
vim.keymap.set({ "n", "t" }, "<C-A-k>", require("smart-splits").resize_up, { desc = "Resize up" })
vim.keymap.set({ "n", "t" }, "<C-A-l>", require("smart-splits").resize_right, { desc = "Resize right" })
vim.keymap.set({ "n", "t" }, "<A-h>", require("smart-splits").resize_left, { desc = "Resize left" })
vim.keymap.set({ "n", "t" }, "<A-j>", require("smart-splits").resize_down, { desc = "Resize down" })
vim.keymap.set({ "n", "t" }, "<A-k>", require("smart-splits").resize_up, { desc = "Resize up" })
vim.keymap.set({ "n", "t" }, "<A-l>", require("smart-splits").resize_right, { desc = "Resize right" })
-- moving between splits
vim.keymap.set({ "n", "t" }, "<A-h>", require("smart-splits").move_cursor_left, { desc = "Move cursor left" })
vim.keymap.set({ "n", "t" }, "<A-j>", require("smart-splits").move_cursor_down, { desc = "Move cursor down" })
vim.keymap.set({ "n", "t" }, "<A-k>", require("smart-splits").move_cursor_up, { desc = "Move cursor up" })
vim.keymap.set({ "n", "t" }, "<A-l>", require("smart-splits").move_cursor_right, { desc = "Move cursor right" })
vim.keymap.set({ "n", "t" }, "<C-h>", require("smart-splits").move_cursor_left, { desc = "Move cursor left" })
vim.keymap.set({ "n", "t" }, "<C-j>", require("smart-splits").move_cursor_down, { desc = "Move cursor down" })
vim.keymap.set({ "n", "t" }, "<C-k>", require("smart-splits").move_cursor_up, { desc = "Move cursor up" })
vim.keymap.set({ "n", "t" }, "<C-l>", require("smart-splits").move_cursor_right, { desc = "Move cursor right" })
-- swapping buffers between windows
vim.keymap.set("n", "<leader><leader>h", require("smart-splits").swap_buf_left, { desc = "Swap buffer left" })
vim.keymap.set("n", "<leader><leader>j", require("smart-splits").swap_buf_down, { desc = "Swap buffer down" })
@ -717,19 +509,12 @@ vim.keymap.set({ "n", "v" }, "d", '"+d', { noremap = true, silent = true })
-- vim.keymap.set({ 'n', 'v' }, 'x', '"+x', { noremap = true, silent = true })
vim.keymap.set({ "n", "v" }, "p", '"+p', { noremap = true, silent = true })
vim.keymap.set({ "n", "v" }, "P", '"+P', { noremap = true, silent = true })
-- Clear highlights on search when pressing <Esc> in normal mode
-- See `:help hlsearch`
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
--Other
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
vim.keymap.set("n", "s", ":HopWord<cr>", { desc = "hop", silent = true })
vim.keymap.set("n", "<tab>", ":tabNext<cr>", { desc = "Next tab", silent = true })
vim.keymap.set("n", "<C-s>", ":write<cr>", { desc = "Save", silent = true })
vim.keymap.set("n", "<C-q>", ":quit<cr>", { desc = "Quit", silent = true })
vim.keymap.set(
"n",
"<leader>e",
":Neotree filesystem reveal float toggle<cr>",
{ desc = "File explorer", silent = true }
)
vim.keymap.set("n", "<leader>e", ":e .<cr>", { desc = "File explorer", silent = true })
vim.keymap.set("n", "<leader>d", ":Trouble diagnostics toggle<cr>", { desc = "Diagnostic view", silent = true })
vim.keymap.set("n", "<leader>f", ":FzfLua files cwd=~/<cr>", { desc = "Find file", silent = true })

View File

@ -1,399 +1,399 @@
local theme = {}
function theme.setup()
local options = require("nightly_cm.config").options
local options = require("nightly_cm.config").options
local p = require("nightly_cm.palette").dark_colors
local p = require("nightly_cm.palette").dark_colors
if options.transparent then
p.background = "NONE"
vim.o.pumblend = 0
end
if options.transparent then
p.background = "NONE"
vim.o.pumblend = 0
end
theme.highlights = {
-- Base highlights
Boolean = { fg = p.color5 },
Character = { fg = p.color12 },
ColorColumn = { bg = p.none },
Comment = { fg = p.comment, style = options.styles.comments },
Conceal = { fg = p.color4, bg = p.background },
Conditional = { fg = p.color6 },
Constant = { fg = p.color7 },
Cursor = { fg = p.foreground, bg = p.foreground },
CursorNC = { fg = "NONE", bg = "NONE" },
CurSearch = { link = "IncSearch" },
CursorColumn = { bg = p.background },
CursorIM = { fg = p.foreground, bg = p.foreground },
CursorLine = { bg = p.cursorline },
CursorLineNr = { fg = p.foreground },
Debug = { fg = p.color1 },
Define = { fg = p.color6 },
Delimiter = { fg = p.foreground },
DiffAdd = { fg = p.color4, bg = p.background },
DiffChange = { fg = p.color5, bg = p.background },
DiffDelete = { fg = p.color1, bg = p.background },
DiffText = { fg = p.color5, bg = p.background },
Directory = { fg = p.color4 },
EndOfBuffer = { fg = p.background },
EndOfBufferNC = { fg = p.background },
Error = { fg = p.color1, bg = p.background },
ErrorMsg = { fg = p.color1, bg = p.background },
Exception = { fg = p.color6 },
Float = { fg = p.color5 },
FloatBorder = { fg = p.comment, bg = p.black },
FoldColumn = { fg = p.color4, bg = p.background },
Folded = { fg = p.color4, bg = p.background },
Function = { fg = p.color6, style = options.styles.functions },
Identifier = { fg = p.color5 },
Ignore = { fg = p.color7, bg = p.background },
IncSearch = { fg = p.black, bg = p.color10 },
Include = { fg = p.color6 },
Keyword = { fg = p.color6, style = options.styles.keywords },
Label = { fg = p.color4 },
LineNr = { fg = p.color17 },
Macro = { fg = p.color6 },
MatchParen = { fg = p.color4, bg = p.background },
ModeMsg = { fg = p.foreground, bg = p.background },
MoreMsg = { fg = p.color5 },
MsgArea = { fg = p.foreground, bg = p.background },
MsgSeparator = { fg = p.foreground, bg = p.background },
NonText = { fg = p.color5 },
Normal = { fg = p.foreground, bg = p.background },
NormalFloat = { bg = p.black },
NormalNC = { fg = p.foreground, bg = p.background },
Number = { fg = p.color3 },
Operator = { fg = p.color6 },
Pmenu = { fg = p.foreground, bg = p.black },
PmenuSbar = { bg = p.black },
PmenuSel = { fg = p.black, bg = p.color4 },
PmenuThumb = { bg = p.color2 },
PreCondit = { fg = p.color6 },
PreProc = { fg = p.color6 },
Question = { fg = p.color5 },
QuickFixLine = { bg = p.color2 },
Repeat = { fg = p.color6 },
Search = { fg = p.black, bg = p.color4 },
SignColumn = { fg = p.background, bg = p.background },
Special = { fg = p.color6 },
SpecialChar = { fg = p.foreground },
SpecialComment = { fg = p.color2 },
SpecialKey = { fg = p.color4 },
SpellBad = { fg = p.color2 },
SpellCap = { fg = p.color6 },
SpellLocal = { fg = p.color4 },
SpellRare = { fg = p.color6 },
Statement = { fg = p.color6 },
StatusLine = { fg = p.foreground, bg = p.background },
StStatusLine = { fg = p.foreground, bg = p.background },
Storage = { fg = p.color5 },
StorageClass = { fg = p.color7 },
String = { fg = p.color2 },
Structure = { fg = p.color6 },
Substitute = { fg = p.black, bg = p.color5 },
TabLine = { fg = p.color2, bg = p.color16 },
TabLineFill = { fg = p.foreground, bg = p.color16 },
TabLineSel = { fg = p.foreground, bg = p.background },
Tag = { fg = p.color4 },
TermCursor = { fg = p.foreground, bg = p.foreground },
TermCursorNC = { fg = p.foreground, bg = p.foreground },
Title = { fg = p.color4, bold = true },
Todo = { fg = p.color1, bg = p.background },
type = { fg = p.color5 },
typedef = { fg = p.color6 },
underlined = { fg = p.color2, underline = true },
Variable = { fg = p.color15 },
VertSplit = { fg = p.color0 },
Visual = { bg = p.color18 },
VisualNOS = { bg = p.background },
WarningMsg = { fg = p.color3, bg = p.background },
Whitespace = { fg = p.color1 },
WildMenu = { fg = p.color7, bg = p.color4 },
lCursor = { fg = p.foreground, bg = p.foreground },
theme.highlights = {
-- Base highlights
Boolean = { fg = p.color5 },
Character = { fg = p.color12 },
ColorColumn = { bg = p.none },
Comment = { fg = p.comment, style = options.styles.comments },
Conceal = { fg = p.color4, bg = p.background },
Conditional = { fg = p.color6 },
Constant = { fg = p.color7 },
Cursor = { fg = p.foreground, bg = p.foreground },
CursorNC = { fg = "NONE", bg = "NONE" },
CurSearch = { link = "IncSearch" },
CursorColumn = { bg = p.background },
CursorIM = { fg = p.foreground, bg = p.foreground },
CursorLine = { bg = p.cursorline },
CursorLineNr = { fg = p.foreground },
Debug = { fg = p.color1 },
Define = { fg = p.color6 },
Delimiter = { fg = p.foreground },
DiffAdd = { fg = p.color4, bg = p.background },
DiffChange = { fg = p.color5, bg = p.background },
DiffDelete = { fg = p.color1, bg = p.background },
DiffText = { fg = p.color5, bg = p.background },
Directory = { fg = p.color4 },
EndOfBuffer = { fg = p.background },
EndOfBufferNC = { fg = p.background },
Error = { fg = p.color1, bg = p.background },
ErrorMsg = { fg = p.color1, bg = p.background },
Exception = { fg = p.color6 },
Float = { fg = p.color5 },
FloatBorder = { fg = p.comment, bg = p.black },
FoldColumn = { fg = p.color4, bg = p.background },
Folded = { fg = p.color4, bg = p.background },
Function = { fg = p.color6, style = options.styles.functions },
Identifier = { fg = p.color5 },
Ignore = { fg = p.color7, bg = p.background },
IncSearch = { fg = p.black, bg = p.color10 },
Include = { fg = p.color6 },
Keyword = { fg = p.color6, style = options.styles.keywords },
Label = { fg = p.color4 },
LineNr = { fg = p.color17 },
Macro = { fg = p.color6 },
MatchParen = { bg = p.color17 },
ModeMsg = { fg = p.foreground, bg = p.background },
MoreMsg = { fg = p.color5 },
MsgArea = { fg = p.foreground, bg = p.background },
MsgSeparator = { fg = p.foreground, bg = p.background },
NonText = { fg = p.color5 },
Normal = { fg = p.foreground, bg = p.background },
NormalFloat = { bg = p.black },
NormalNC = { fg = p.foreground, bg = p.background },
Number = { fg = p.color3 },
Operator = { fg = p.color6 },
Pmenu = { fg = p.foreground, bg = p.black },
PmenuSbar = { bg = p.black },
PmenuSel = { fg = p.black, bg = p.color4 },
PmenuThumb = { bg = p.color2 },
PreCondit = { fg = p.color6 },
PreProc = { fg = p.color6 },
Question = { fg = p.color5 },
QuickFixLine = { bg = p.color2 },
Repeat = { fg = p.color6 },
Search = { fg = p.black, bg = p.color4 },
SignColumn = { fg = p.background, bg = p.background },
Special = { fg = p.color6 },
SpecialChar = { fg = p.foreground },
SpecialComment = { fg = p.color2 },
SpecialKey = { fg = p.color4 },
SpellBad = { fg = p.color2 },
SpellCap = { fg = p.color6 },
SpellLocal = { fg = p.color4 },
SpellRare = { fg = p.color6 },
Statement = { fg = p.color6 },
StatusLine = { fg = p.foreground, bg = p.background },
StStatusLine = { fg = p.foreground, bg = p.background },
Storage = { fg = p.color5 },
StorageClass = { fg = p.color7 },
String = { fg = p.color2 },
Structure = { fg = p.color6 },
Substitute = { fg = p.black, bg = p.color5 },
TabLine = { fg = p.color2, bg = p.color16 },
TabLineFill = { fg = p.foreground, bg = p.color16 },
TabLineSel = { fg = p.foreground, bg = p.background },
Tag = { fg = p.color4 },
TermCursor = { fg = p.foreground, bg = p.foreground },
TermCursorNC = { fg = p.foreground, bg = p.foreground },
Title = { fg = p.color4, bold = true },
Todo = { fg = p.color1, bg = p.background },
type = { fg = p.color5 },
typedef = { fg = p.color6 },
underlined = { fg = p.color2, underline = true },
Variable = { fg = p.color15 },
VertSplit = { fg = p.color0 },
Visual = { bg = p.color18 },
VisualNOS = { bg = p.background },
WarningMsg = { fg = p.color3, bg = p.background },
Whitespace = { fg = p.color1 },
WildMenu = { fg = p.color7, bg = p.color4 },
lCursor = { fg = p.foreground, bg = p.foreground },
-- bufferline.nvim: https://github.com/akinsho/bufferline.nvim
BufferLineFill = { fg = p.background, bg = p.background },
BufferLineIndicatorSelected = { fg = p.color2 },
-- bufferline.nvim: https://github.com/akinsho/bufferline.nvim
BufferLineFill = { fg = p.background, bg = p.background },
BufferLineIndicatorSelected = { fg = p.color2 },
-- Diagnostic
DiagnosticError = { fg = p.color1 },
DiagnosticHint = { fg = p.color2 },
DiagnosticInfo = { fg = p.color4 },
DiagnosticWarn = { fg = p.color3 },
DiagnosticUnnecessary = { fg = p.none },
-- Diagnostic
DiagnosticError = { fg = p.color1 },
DiagnosticHint = { fg = p.color2 },
DiagnosticInfo = { fg = p.color4 },
DiagnosticWarn = { fg = p.color3 },
DiagnosticUnnecessary = { fg = p.none },
-- diff
diffAdded = { fg = p.color4 },
diffChanged = { fg = p.color5 },
diffFile = { fg = p.color7 },
diffIndexLine = { fg = p.color6 },
diffLine = { fg = p.color5 },
diffNewFile = { fg = p.color5 },
diffOldFile = { fg = p.color5 },
diffRemoved = { fg = p.color1 },
-- diff
diffAdded = { fg = p.color4 },
diffChanged = { fg = p.color5 },
diffFile = { fg = p.color7 },
diffIndexLine = { fg = p.color6 },
diffLine = { fg = p.color5 },
diffNewFile = { fg = p.color5 },
diffOldFile = { fg = p.color5 },
diffRemoved = { fg = p.color1 },
-- gitsigns: https://github.com/lewis6991/gitsigns.nvim
GitSignsAdd = { fg = p.color2 },
GitSignsChange = { fg = p.color3 },
GitSignsDelete = { fg = p.color1 },
-- gitsigns: https://github.com/lewis6991/gitsigns.nvim
GitSignsAdd = { fg = p.color2 },
GitSignsChange = { fg = p.color3 },
GitSignsDelete = { fg = p.color1 },
-- indent-blankline.nvim: https://github.com/lukas-reineke/indent-blankline.nvim
IblIndent = { fg = p.cursorline },
IblScope = { fg = p.color17 },
-- indent-blankline.nvim: https://github.com/lukas-reineke/indent-blankline.nvim
IblIndent = { fg = p.cursorline },
IblScope = { fg = p.color17 },
-- LSP
LspInfoFiletype = { fg = p.color15 },
LspReferenceText = { bg = p.color4 },
LspReferenceRead = { bg = p.color4 },
LspReferenceWrite = { bg = p.color4 },
LspInfoBorder = { link = "FloatBorder" },
-- LSP
LspInfoFiletype = { fg = p.color15 },
LspReferenceText = { bg = p.color4 },
LspReferenceRead = { bg = p.color4 },
LspReferenceWrite = { bg = p.color4 },
LspInfoBorder = { link = "FloatBorder" },
-- lspsaga.nvim: https://github.com/glepnir/lspsaga.nvim
DefinitionCount = { fg = p.color6 },
DefinitionIcon = { fg = p.color7 },
LspFloatWinBorder = { link = "FloatBorder" },
LspFloatWinNormal = { bg = p.black },
LspSagaBorderTitle = { fg = p.color7 },
LspSagaCodeActionBorder = { link = "FloatBorder" },
LspSagaCodeActionContent = { fg = p.color6 },
LspSagaCodeActionTitle = { fg = p.color7 },
LspSagaDefPreviewBorder = {},
LspSagaFinderSelection = { fg = p.color5 },
LspSagaHoverBorder = { link = "FloatBorder" },
LspSagaRenameBorder = { link = "FloatBorder" },
LspSagaSignatureHelpBorder = { link = "FloatBorder" },
ReferencesCount = { fg = p.color6 },
ReferencesIcon = { fg = p.color7 },
TargetWord = { fg = p.color7 },
-- lspsaga.nvim: https://github.com/glepnir/lspsaga.nvim
DefinitionCount = { fg = p.color6 },
DefinitionIcon = { fg = p.color7 },
LspFloatWinBorder = { link = "FloatBorder" },
LspFloatWinNormal = { bg = p.black },
LspSagaBorderTitle = { fg = p.color7 },
LspSagaCodeActionBorder = { link = "FloatBorder" },
LspSagaCodeActionContent = { fg = p.color6 },
LspSagaCodeActionTitle = { fg = p.color7 },
LspSagaDefPreviewBorder = {},
LspSagaFinderSelection = { fg = p.color5 },
LspSagaHoverBorder = { link = "FloatBorder" },
LspSagaRenameBorder = { link = "FloatBorder" },
LspSagaSignatureHelpBorder = { link = "FloatBorder" },
ReferencesCount = { fg = p.color6 },
ReferencesIcon = { fg = p.color7 },
TargetWord = { fg = p.color7 },
-- Neogit: https://github.com/TimUntersberger/neogit
NeogitBranch = { fg = p.color6 },
NeogitDiffAddHighlight = { fg = p.color4, bg = p.background },
NeogitDiffContextHighlight = { bg = p.background, fg = p.foreground },
NeogitDiffDeleteHighlight = { fg = p.color1, bg = p.background },
NeogitHunkHeader = { bg = p.black, fg = p.foreground },
NeogitHunkHeaderHighlight = { bg = p.comment, fg = p.color7 },
NeogitRemote = { fg = p.color6 },
-- Neogit: https://github.com/TimUntersberger/neogit
NeogitBranch = { fg = p.color6 },
NeogitDiffAddHighlight = { fg = p.color4, bg = p.background },
NeogitDiffContextHighlight = { bg = p.background, fg = p.foreground },
NeogitDiffDeleteHighlight = { fg = p.color1, bg = p.background },
NeogitHunkHeader = { bg = p.black, fg = p.foreground },
NeogitHunkHeaderHighlight = { bg = p.comment, fg = p.color7 },
NeogitRemote = { fg = p.color6 },
-- Neovim
healthError = { fg = p.color1 },
healthSuccess = { fg = p.color4 },
healthWarning = { fg = p.color3 },
-- Neovim
healthError = { fg = p.color1 },
healthSuccess = { fg = p.color4 },
healthWarning = { fg = p.color3 },
-- nvim-cmp: https://github.com/hrsh7th/nvim-cmp
CmpDocumentationBorder = { fg = p.color17, bg = p.black },
CmpItemAbbr = { fg = p.foreground, bg = "NONE" },
CmpItemAbbrDeprecated = { fg = p.color2, bg = "NONE" },
CmpItemAbbrMatch = { fg = p.color2, bg = "NONE" },
CmpItemAbbrMatchFuzzy = { fg = p.color2, bg = "NONE" },
CmpItemKind = { fg = p.color4, bg = p.black },
CmpItemMenu = { fg = p.color2, bg = "NONE" },
CmpItemKindFolder = { fg = p.color4 },
CmpItemKindFile = { fg = p.color2 },
CmpItemKindConstructor = { fg = p.color5 },
CmpItemKindInterface = { fg = p.color5 },
CmpItemKindReference = { fg = p.color5 },
CmpItemKindConstant = { fg = p.color5 },
CmpItemKindProperty = { fg = p.color5 },
CmpItemKindModule = { fg = p.color5 },
CmpItemKindClass = { fg = p.color5 },
CmpItemKindField = { fg = p.color5 },
CmpItemKindEvent = { fg = p.color5 },
CmpItemKindSnippet = { fg = p.color4 },
CmpItemKindKeyword = { fg = p.color4 },
CmpItemKindValue = { fg = p.color4 },
CmpItemKindOperator = { fg = p.color4 },
CmpItemKindTypeParameter = { fg = p.foreground },
CmpItemKindVariable = { fg = p.foreground },
CmpItemKindText = { fg = p.foreground },
CmpItemKindUnit = { fg = p.foreground },
-- nvim-cmp: https://github.com/hrsh7th/nvim-cmp
CmpDocumentationBorder = { fg = p.color17, bg = p.black },
CmpItemAbbr = { fg = p.foreground, bg = "NONE" },
CmpItemAbbrDeprecated = { fg = p.color2, bg = "NONE" },
CmpItemAbbrMatch = { fg = p.color2, bg = "NONE" },
CmpItemAbbrMatchFuzzy = { fg = p.color2, bg = "NONE" },
CmpItemKind = { fg = p.color4, bg = p.black },
CmpItemMenu = { fg = p.color2, bg = "NONE" },
CmpItemKindFolder = { fg = p.color4 },
CmpItemKindFile = { fg = p.color2 },
CmpItemKindConstructor = { fg = p.color5 },
CmpItemKindInterface = { fg = p.color5 },
CmpItemKindReference = { fg = p.color5 },
CmpItemKindConstant = { fg = p.color5 },
CmpItemKindProperty = { fg = p.color5 },
CmpItemKindModule = { fg = p.color5 },
CmpItemKindClass = { fg = p.color5 },
CmpItemKindField = { fg = p.color5 },
CmpItemKindEvent = { fg = p.color5 },
CmpItemKindSnippet = { fg = p.color4 },
CmpItemKindKeyword = { fg = p.color4 },
CmpItemKindValue = { fg = p.color4 },
CmpItemKindOperator = { fg = p.color4 },
CmpItemKindTypeParameter = { fg = p.foreground },
CmpItemKindVariable = { fg = p.foreground },
CmpItemKindText = { fg = p.foreground },
CmpItemKindUnit = { fg = p.foreground },
-- Yank
YankyPut = { link = "Visual" },
YankyYanked = { link = "Visual" },
YankHighlight = { bg = p.cursorline },
-- Yank
YankyPut = { link = "Visual" },
YankyYanked = { link = "Visual" },
YankHighlight = { bg = p.cursorline },
-- Markdown
markdownCodeBlock = { fg = p.color7 },
markdownCodeDelimeter = { fg = p.color7 },
markdownUrl = { fg = p.color15 },
markdownLink = { fg = p.foreground, underline = true },
-- Markdown
markdownCodeBlock = { fg = p.color7 },
markdownCodeDelimeter = { fg = p.color7 },
markdownUrl = { fg = p.color15 },
markdownLink = { fg = p.foreground, underline = true },
-- nvim-tree.lua: https://github.com/nvim-tree/nvim-tree.lua
NvimTreeEmptyFolderName = { fg = p.foreground },
NvimTreeEndOfBuffer = { fg = p.background, bg = p.background },
NvimTreeEndOfBufferNC = { fg = p.background, bg = p.background },
NvimTreeFolderIcon = { fg = p.color4, bg = p.background },
NvimTreeFolderName = { fg = p.foreground },
NvimTreeGitDeleted = { fg = p.color1 },
NvimTreeGitDirty = { fg = p.color5 },
NvimTreeGitNew = { fg = p.color4 },
NvimTreeImageFile = { fg = p.foreground },
NvimTreeIndentMarker = { fg = p.color0 },
NvimTreeNormal = { fg = p.foreground, bg = p.background },
NvimTreeNormalNC = { fg = p.foreground, bg = p.background },
NvimTreeOpenedFolderName = { fg = p.foreground },
NvimTreeRootFolder = { fg = p.color12 },
NvimTreeSpecialFile = { fg = p.color5 },
NvimTreeStatusLineNC = { bg = p.background, fg = p.color16 },
NvimTreeSymlink = { fg = p.color3 },
NvimTreeWinSeparator = { fg = p.black },
-- nvim-tree.lua: https://github.com/nvim-tree/nvim-tree.lua
NvimTreeEmptyFolderName = { fg = p.foreground },
NvimTreeEndOfBuffer = { fg = p.background, bg = p.background },
NvimTreeEndOfBufferNC = { fg = p.background, bg = p.background },
NvimTreeFolderIcon = { fg = p.color4, bg = p.background },
NvimTreeFolderName = { fg = p.foreground },
NvimTreeGitDeleted = { fg = p.color1 },
NvimTreeGitDirty = { fg = p.color5 },
NvimTreeGitNew = { fg = p.color4 },
NvimTreeImageFile = { fg = p.foreground },
NvimTreeIndentMarker = { fg = p.color0 },
NvimTreeNormal = { fg = p.foreground, bg = p.background },
NvimTreeNormalNC = { fg = p.foreground, bg = p.background },
NvimTreeOpenedFolderName = { fg = p.foreground },
NvimTreeRootFolder = { fg = p.color12 },
NvimTreeSpecialFile = { fg = p.color5 },
NvimTreeStatusLineNC = { bg = p.background, fg = p.color16 },
NvimTreeSymlink = { fg = p.color3 },
NvimTreeWinSeparator = { fg = p.black },
-- nvim-treesitter: https://github.com/nvim-treesitter/nvim-treesitter
["@attribute"] = { fg = p.color4 },
["@boolean"] = { fg = p.color6 },
["@character"] = { fg = p.color4 },
["@comment"] = { fg = p.comment, style = options.styles.comments },
["@conditional"] = { fg = p.color4 },
["@constant"] = { fg = p.color6 },
["@constant.builtin"] = { fg = p.color4 },
["@constant.macro"] = { fg = p.color3 },
["@constructor"] = { fg = p.color4 },
["@exception"] = { fg = p.color11 },
["@field"] = { fg = p.color7 },
["@float"] = { link = "@number" },
["@function"] = { fg = p.color4, style = options.styles.functions },
["@function.builtin"] = { fg = p.color14 },
["@function.macro"] = { fg = p.color2 },
["@include"] = { fg = p.color3 },
["@keyword"] = { fg = p.color15, style = options.styles.keywords },
["@keyword.function"] = { fg = p.color4, style = options.styles.functions },
["@keyword.operator"] = { fg = p.color12 },
["@keyword.return"] = { fg = p.color4 },
["@label"] = { fg = p.color3 },
["@method"] = { fg = p.color12 },
["@namespace"] = { fg = p.color5 },
["@number"] = { fg = p.color15 },
["@operator"] = { fg = p.color7 },
["@parameter"] = { fg = p.color15 },
["@parameter.reference"] = { fg = p.color15 },
["@property"] = { fg = p.color5 },
["@punctuation.bracket"] = { fg = p.color7 },
["@punctuation.delimiter"] = { fg = p.color7 },
["@punctuation.special"] = { fg = p.color7 },
["@repeat"] = { fg = p.color13 },
["@string"] = { fg = p.color2 },
["@string.escape"] = { fg = p.color4 },
["@string.regex"] = { fg = p.color2 },
["@string.special"] = { fg = p.color4 },
["@symbol"] = { fg = p.color3 },
["@tag"] = { fg = p.color4 },
["@tag.attribute"] = { fg = p.color3 },
["@tag.delimiter"] = { fg = p.color7 },
["@text"] = { fg = p.color7 },
["@text.danger"] = { fg = p.color9 },
["@text.emphasis"] = { fg = p.color7, italic = true },
["@text.environment.name"] = { fg = p.color3 },
["@text.environtment"] = { fg = p.color5 },
["@text.literal"] = { fg = p.color2, italic = true },
["@text.math"] = { fg = p.color6 },
["@text.note"] = { fg = p.black, bg = p.color2 },
["@text.reference"] = { fg = p.color6 },
["@text.strike"] = { fg = p.color7, strikethrough = true },
["@text.strong"] = { fg = p.color7, bold = true },
["@text.title"] = { fg = p.color3, bold = true },
["@text.underline"] = { fg = p.color15, underline = true },
["@text.uri"] = { fg = p.color3, underline = true },
["@text.warning"] = { fg = p.color0, bg = p.color1 },
["@type"] = { fg = p.color4 },
["@type.builtin"] = { fg = p.color3 },
["@variable"] = { fg = p.color7, style = options.styles.variables },
["@variable.builtin"] = { fg = p.color4 },
-- nvim-treesitter: https://github.com/nvim-treesitter/nvim-treesitter
["@attribute"] = { fg = p.color4 },
["@boolean"] = { fg = p.color6 },
["@character"] = { fg = p.color4 },
["@comment"] = { fg = p.comment, style = options.styles.comments },
["@conditional"] = { fg = p.color4 },
["@constant"] = { fg = p.color6 },
["@constant.builtin"] = { fg = p.color4 },
["@constant.macro"] = { fg = p.color3 },
["@constructor"] = { fg = p.color4 },
["@exception"] = { fg = p.color11 },
["@field"] = { fg = p.color7 },
["@float"] = { link = "@number" },
["@function"] = { fg = p.color4, style = options.styles.functions },
["@function.builtin"] = { fg = p.color14 },
["@function.macro"] = { fg = p.color2 },
["@include"] = { fg = p.color3 },
["@keyword"] = { fg = p.color15, style = options.styles.keywords },
["@keyword.function"] = { fg = p.color4, style = options.styles.functions },
["@keyword.operator"] = { fg = p.color12 },
["@keyword.return"] = { fg = p.color4 },
["@label"] = { fg = p.color3 },
["@method"] = { fg = p.color12 },
["@namespace"] = { fg = p.color5 },
["@number"] = { fg = p.color15 },
["@operator"] = { fg = p.color7 },
["@parameter"] = { fg = p.color15 },
["@parameter.reference"] = { fg = p.color15 },
["@property"] = { fg = p.color5 },
["@punctuation.bracket"] = { fg = p.color7 },
["@punctuation.delimiter"] = { fg = p.color7 },
["@punctuation.special"] = { fg = p.color7 },
["@repeat"] = { fg = p.color13 },
["@string"] = { fg = p.color2 },
["@string.escape"] = { fg = p.color4 },
["@string.regex"] = { fg = p.color2 },
["@string.special"] = { fg = p.color4 },
["@symbol"] = { fg = p.color3 },
["@tag"] = { fg = p.color4 },
["@tag.attribute"] = { fg = p.color3 },
["@tag.delimiter"] = { fg = p.color7 },
["@text"] = { fg = p.color7 },
["@text.danger"] = { fg = p.color9 },
["@text.emphasis"] = { fg = p.color7, italic = true },
["@text.environment.name"] = { fg = p.color3 },
["@text.environtment"] = { fg = p.color5 },
["@text.literal"] = { fg = p.color2, italic = true },
["@text.math"] = { fg = p.color6 },
["@text.note"] = { fg = p.black, bg = p.color2 },
["@text.reference"] = { fg = p.color6 },
["@text.strike"] = { fg = p.color7, strikethrough = true },
["@text.strong"] = { fg = p.color7, bold = true },
["@text.title"] = { fg = p.color3, bold = true },
["@text.underline"] = { fg = p.color15, underline = true },
["@text.uri"] = { fg = p.color3, underline = true },
["@text.warning"] = { fg = p.color0, bg = p.color1 },
["@type"] = { fg = p.color4 },
["@type.builtin"] = { fg = p.color3 },
["@variable"] = { fg = p.color7, style = options.styles.variables },
["@variable.builtin"] = { fg = p.color4 },
-- LSP semantic tokens
-- ["@lsp.type.comment"] = { link = "@comment" },
-- ["@lsp.type.enum"] = { link = "@type" },
-- ["@lsp.type.interface"] = { link = "Identifier" },
-- ["@lsp.type.keyword"] = { link = "@keyword" },
-- ["@lsp.type.namespace"] = { link = "@namespace" },
-- ["@lsp.type.parameter"] = { link = "@parameter" },
-- ["@lsp.type.property"] = { link = "@property" },
-- ["@lsp.type.variable"] = {}, -- use treesitter styles for regular variables
-- ["@lsp.typemod.method.defaultLibrary"] = { link = "@function.builtin" },
-- ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" },
-- ["@lsp.typemod.operator.injected"] = { link = "@operator" },
-- ["@lsp.typemod.string.injected"] = { link = "@string" },
-- ["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" },
-- ["@lsp.typemod.variable.injected"] = { link = "@variable" },
-- LSP semantic tokens
-- ["@lsp.type.comment"] = { link = "@comment" },
-- ["@lsp.type.enum"] = { link = "@type" },
-- ["@lsp.type.interface"] = { link = "Identifier" },
-- ["@lsp.type.keyword"] = { link = "@keyword" },
-- ["@lsp.type.namespace"] = { link = "@namespace" },
-- ["@lsp.type.parameter"] = { link = "@parameter" },
-- ["@lsp.type.property"] = { link = "@property" },
-- ["@lsp.type.variable"] = {}, -- use treesitter styles for regular variables
-- ["@lsp.typemod.method.defaultLibrary"] = { link = "@function.builtin" },
-- ["@lsp.typemod.function.defaultLibrary"] = { link = "@function.builtin" },
-- ["@lsp.typemod.operator.injected"] = { link = "@operator" },
-- ["@lsp.typemod.string.injected"] = { link = "@string" },
-- ["@lsp.typemod.variable.defaultLibrary"] = { link = "@variable.builtin" },
-- ["@lsp.typemod.variable.injected"] = { link = "@variable" },
-- alpha.nvim: https://github.com/goolord/alpha-nvim
AlphaHeader = { fg = p.color2 },
AlphaButton = { fg = p.color4 },
AlphaFooter = { fg = p.color3 },
AlphaShortcut = { fg = p.color5 },
-- alpha.nvim: https://github.com/goolord/alpha-nvim
AlphaHeader = { fg = p.color2 },
AlphaButton = { fg = p.color4 },
AlphaFooter = { fg = p.color3 },
AlphaShortcut = { fg = p.color5 },
-- dashboard.nvim: https://github.com/nvimdev/dashboard-nvim
DashboardHeader = { fg = p.color2 },
DashboardCenter = { fg = p.color4 },
DashboardFooter = { fg = p.color3 },
DashboardShortcut = { fg = p.color5 },
-- dashboard.nvim: https://github.com/nvimdev/dashboard-nvim
DashboardHeader = { fg = p.color2 },
DashboardCenter = { fg = p.color4 },
DashboardFooter = { fg = p.color3 },
DashboardShortcut = { fg = p.color5 },
-- telescope.nvim: https://github.com/nvim-telescope/telescope.nvim
TelescopeMatching = { fg = p.color2 },
TelescopeSelection = { fg = p.color2, bg = p.bg },
TelescopeMultiSelection = { bg = p.color16 },
TelescopePromptTitle = { fg = p.background, bg = p.color2 },
TelescopePreviewLine = { bg = p.background },
TelescopePromptPrefix = { fg = p.color2, bg = p.cursorline },
TelescopePromptBorder = { fg = p.cursorline, bg = p.cursorline },
TelescopePromptNormal = { fg = p.fg, bg = p.cursorline },
TelescopeResultsTitle = { fg = p.color16, bg = p.color16 },
TelescopeResultsBorder = { fg = p.color16, bg = p.color16 },
TelescopeResultsNormal = { fg = p.foreground, bg = p.color16 },
TelescopePreviewTitle = { fg = p.cursorline, bg = p.color3 },
TelescopePreviewBorder = { fg = p.cursorline, bg = p.cursorline },
TelescopePreviewNormal = { fg = p.foreground, bg = p.cursorline },
-- telescope.nvim: https://github.com/nvim-telescope/telescope.nvim
TelescopeMatching = { fg = p.color2 },
TelescopeSelection = { fg = p.color2, bg = p.bg },
TelescopeMultiSelection = { bg = p.color16 },
TelescopePromptTitle = { fg = p.background, bg = p.color2 },
TelescopePreviewLine = { bg = p.background },
TelescopePromptPrefix = { fg = p.color2, bg = p.cursorline },
TelescopePromptBorder = { fg = p.cursorline, bg = p.cursorline },
TelescopePromptNormal = { fg = p.fg, bg = p.cursorline },
TelescopeResultsTitle = { fg = p.color16, bg = p.color16 },
TelescopeResultsBorder = { fg = p.color16, bg = p.color16 },
TelescopeResultsNormal = { fg = p.foreground, bg = p.color16 },
TelescopePreviewTitle = { fg = p.cursorline, bg = p.color3 },
TelescopePreviewBorder = { fg = p.cursorline, bg = p.cursorline },
TelescopePreviewNormal = { fg = p.foreground, bg = p.cursorline },
-- trouble.nvim: https://github.com/folke/trouble.nvim
LspTroubleCount = { fg = p.color6, bg = p.foreground },
LspTroubleNormal = { fg = p.foreground, bg = p.background },
LspTroubleText = { fg = p.foreground },
-- trouble.nvim: https://github.com/folke/trouble.nvim
LspTroubleCount = { fg = p.color6, bg = p.foreground },
LspTroubleNormal = { fg = p.foreground, bg = p.background },
LspTroubleText = { fg = p.foreground },
-- vim-gitgutter: https://github.com/airblade/vim-gitgutter
GitGutterAdd = { fg = p.color2 },
GitGutterChange = { fg = p.color3 },
GitGutterDelete = { fg = p.color1 },
}
-- vim-gitgutter: https://github.com/airblade/vim-gitgutter
GitGutterAdd = { fg = p.color2 },
GitGutterChange = { fg = p.color3 },
GitGutterDelete = { fg = p.color1 },
}
theme.terminal_colors = {
terminal_color_0 = p.color0,
terminal_color_1 = p.color1,
terminal_color_2 = p.color2,
terminal_color_3 = p.color3,
terminal_color_4 = p.color4,
terminal_color_5 = p.color5,
terminal_color_6 = p.color6,
terminal_color_7 = p.color7,
terminal_color_8 = p.color8,
terminal_color_9 = p.color9,
terminal_color_10 = p.color10,
terminal_color_11 = p.color11,
terminal_color_12 = p.color12,
terminal_color_13 = p.color13,
terminal_color_14 = p.color14,
terminal_color_15 = p.color15,
}
theme.terminal_colors = {
terminal_color_0 = p.color0,
terminal_color_1 = p.color1,
terminal_color_2 = p.color2,
terminal_color_3 = p.color3,
terminal_color_4 = p.color4,
terminal_color_5 = p.color5,
terminal_color_6 = p.color6,
terminal_color_7 = p.color7,
terminal_color_8 = p.color8,
terminal_color_9 = p.color9,
terminal_color_10 = p.color10,
terminal_color_11 = p.color11,
terminal_color_12 = p.color12,
terminal_color_13 = p.color13,
terminal_color_14 = p.color14,
terminal_color_15 = p.color15,
}
for option, value in pairs(theme.terminal_colors) do
vim.g[option] = value
end
for option, value in pairs(theme.terminal_colors) do
vim.g[option] = value
end
theme.highlights = vim.tbl_extend("force", {}, theme.highlights, options.highlights)
theme.highlights = vim.tbl_extend("force", {}, theme.highlights, options.highlights)
-- Hide all semantic highlights
for _, group in ipairs(vim.fn.getcompletion("@lsp", "highlight")) do
vim.api.nvim_set_hl(0, group, {})
end
-- Hide all semantic highlights
for _, group in ipairs(vim.fn.getcompletion("@lsp", "highlight")) do
vim.api.nvim_set_hl(0, group, {})
end
-- Set the highlights
for group, colors in pairs(theme.highlights) do
if colors.style then
if type(colors.style) == "table" then
colors = vim.tbl_extend("force", colors, colors.style)
end
colors.style = nil
end
vim.api.nvim_set_hl(0, group, colors)
end
-- Set the highlights
for group, colors in pairs(theme.highlights) do
if colors.style then
if type(colors.style) == "table" then
colors = vim.tbl_extend("force", colors, colors.style)
end
colors.style = nil
end
vim.api.nvim_set_hl(0, group, colors)
end
end
return theme

View File

@ -18,26 +18,24 @@ set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
# Optional configurations with their default values if omitted:
set -g @smart-splits_no_wrap '' # to disable wrapping. (any value disables wrapping)
set -g @smart-splits_move_left_key 'M-h' # key-mapping for navigation.
set -g @smart-splits_move_down_key 'M-j' # --"--
set -g @smart-splits_move_up_key 'M-k' # --"--
set -g @smart-splits_move_right_key 'M-l' # --"--
set -g @smart-splits_move_left_key 'C-h' # key-mapping for navigation.
set -g @smart-splits_move_down_key 'C-j' # --"--
set -g @smart-splits_move_up_key 'C-k' # --"--
set -g @smart-splits_move_right_key 'C-l' # --"--
set -g @smart-splits_resize_left_key 'C-M-h' # key-mapping for resizing.
set -g @smart-splits_resize_down_key 'C-M-j' # --"--
set -g @smart-splits_resize_up_key 'C-M-k' # --"--
set -g @smart-splits_resize_right_key 'C-M-l' # --"--
set -g @smart-splits_resize_left_key 'M-h' # key-mapping for resizing.
set -g @smart-splits_resize_down_key 'M-j' # --"--
set -g @smart-splits_resize_up_key 'M-k' # --"--
set -g @smart-splits_resize_right_key 'M-l' # --"--
set -g @smart-splits_resize_step_size '3' # change the step-size for resizing.
bind -n M-Left split-window -h -b -c "#{pane_current_path}"
bind -n M-Right split-window -h -c "#{pane_current_path}"
bind -n M-Down split-window -v -c "#{pane_current_path}"
bind -n M-Up split-window -v -b -c "#{pane_current_path}"
bind -n C-M-h split-window -h -b -c "#{pane_current_path}"
bind -n C-M-l split-window -h -c "#{pane_current_path}"
bind -n C-M-j split-window -v -c "#{pane_current_path}"
bind -n C-M-k split-window -v -b -c "#{pane_current_path}"
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
@ -49,9 +47,7 @@ bind -n M-n select-window -n
bind -n M-c new-window
bind -n M-x confirm kill-pane
bind -n M-g display-popup -d "#{pane_current_path}" -E -w 90% -h 90% "lazygit"
bind -n M-t display-popup -d "#{pane_current_path}" -E -w 90% -h 90% "btop"
bind -n M-f display-popup -d "#{pane_current_path}" -E -w 90% -h 90% "EDITOR=nvim ranger"
bind -n C-g display-popup -d "#{pane_current_path}" -E -w 90% -h 90% "lazygit"
set-option -g status-position top
set-option -g default-terminal "tmux-256color"