Switch theme to norrsken instead of ayu.

This commit is contained in:
Martin Larsson 2026-03-22 23:29:51 +01:00
parent a7c85f076d
commit 0c4bf88aea
21 changed files with 613 additions and 4890 deletions

View file

@ -1,3 +1,5 @@
vim.api.nvim_create_augroup("ColorsyncEvents", { clear = true })
-- Load keymaps before loading any plugins
require("keymaps")

View file

@ -1,24 +1,22 @@
{
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
"arrow.nvim": { "branch": "master", "commit": "6e0f726f55f99332dd726a53effd6813786b6d49" },
"blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
"codecompanion-spinner.nvim": { "branch": "main", "commit": "7797a81141e5de62eecebf2af561698ed58900dc" },
"codecompanion.nvim": { "branch": "main", "commit": "bade4034395d327f1fd3defd34cce4793e412a27" },
"codediff.nvim": { "branch": "main", "commit": "3891eeb60a3e511c016f3aa9611442f27021dbb1" },
"copilot.vim": { "branch": "release", "commit": "a12fd5672110c8aa7e3c8419e28c96943ca179be" },
"fff.nvim": { "branch": "main", "commit": "ac8df4c9e4926d23f196f30be052518454dfe251" },
"blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" },
"codediff.nvim": { "branch": "main", "commit": "93cd80c56f71af4671388c568a37d4c84c3ddefa" },
"colorful-menu.nvim": { "branch": "master", "commit": "b51a659459df8d078201aefc995db8175ed55e84" },
"demicolon.nvim": { "branch": "main", "commit": "a9ca137474b3a02e1d6ac48bfdb1985172e2ec9a" },
"fff.nvim": { "branch": "main", "commit": "dd56a3a8a8a5a85522badaf6485f28c8f7a7c840" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" },
"goto-preview": { "branch": "main", "commit": "d2d6923c9b9e0e43f0b9b566f261a8b1ae016540" },
"incline.nvim": { "branch": "main", "commit": "8b54c59bcb23366645ae10edca6edfb9d3a0853e" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"live-rename.nvim": { "branch": "main", "commit": "3a3cddf23b89a17992f9ca67afc5858077769462" },
"logger.nvim": { "branch": "main", "commit": "63dd10c9b9a159fd6cfe08435d9606384ff103c5" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"markview.nvim": { "branch": "main", "commit": "fdc8bac74550f2ac847578cb74c7ad99b3421bc2" },
"neogit": { "branch": "master", "commit": "8fd90675caf8b847280ca56f464b66030adad876" },
"neovim-ayu": { "branch": "master", "commit": "e5a9f0fa2918d6b5f57c21b3ac014314ee5e41c8" },
"lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" },
"markview.nvim": { "branch": "main", "commit": "1861f959599ae03cfd59f56222a542035b0cd947" },
"neogit": { "branch": "master", "commit": "d3890fc3cdf0859845a86b2be306bba01458df1a" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
@ -29,16 +27,17 @@
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-lightbulb": { "branch": "master", "commit": "aa3a8b0f4305b25cfe368f6c9be9923a7c9d0805" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-norrsken": { "branch": "master", "commit": "692c2a0f81905dc6fd3011361740d610dfa8052d" },
"nvim-surround": { "branch": "main", "commit": "61319d4bd1c5e336e197defa15bd104c51f0fb29" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "529ee357b8c03d76ff71233afed68fd0f5fe10b1" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" },
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "9a8e39993e3b895601bf8227124a48ea8268149e" },
"nvim-treesitter-textobjects": { "branch": "main", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" },
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
"persistent-breakpoints.nvim": { "branch": "main", "commit": "d1656221836207787b8a7969cc2dc72668c4742a" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
"snacks.nvim": { "branch": "main", "commit": "9912042fc8bca2209105526ac7534e9a0c2071b2" },
"snacks.nvim": { "branch": "main", "commit": "e6fd58c82f2f3fcddd3fe81703d47d6d48fc7b9f" },
"tiny-glimmer.nvim": { "branch": "main", "commit": "932e6c2cc4a43ce578f007db1f8f61ad6798f938" },
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "ba133b3e932416e4b9507095731a6d7276878fe8" },
"visual-whitespace.nvim": { "branch": "main", "commit": "49ff2b1c572ed7033a584381fa23aad2bf3bb258" }

View file

@ -1,38 +1,6 @@
local utils = require("utils")
local function setup_colors()
-- These are not apart of the Ayu color theme, however, I needed these
-- colors while still fitting in with the rest
local ayu_turquoise = "#5CCFE6"
local ayu_dark_blue = "#3A7BD5"
local colors = {
info = ayu_dark_blue,
hint = ayu_turquoise,
warning = utils.ayu_colors.warning,
error = utils.ayu_colors.error,
}
for _, highlight in ipairs({
{ "DiagnosticUnderlineInfo", { undercurl = true, sp = colors.info } },
{ "DiagnosticUnderlineHint", { undercurl = true, sp = colors.hint } },
{ "DiagnosticUnderlineWarn", { undercurl = true, sp = colors.warning } },
{ "DiagnosticUnderlineError", { undercurl = true, sp = colors.error } },
{ "DiagnosticInfo", { fg = colors.info } },
{ "DiagnosticHint", { fg = colors.hint } },
{ "DiagnosticWarn", { fg = colors.warning } },
{ "DiagnosticError", { fg = colors.error } },
}) do
vim.api.nvim_set_hl(0, highlight[1], highlight[2])
end
end
utils.create_user_event_cb("ColorsyncThemeChanged", setup_colors, "ColorsyncEvents")
setup_colors()
local sev = vim.diagnostic.severity
vim.diagnostic.config({
underline = true,
-- underline = true,
-- This enables the diagnostics at end of line
-- virtual_text = {
-- prefix = "●",

View file

@ -1,153 +0,0 @@
local uv = vim.loop
local utils = require("utils")
local function force_color_from_reference_on_others(others, reference)
local reference_hl = vim.api.nvim_get_hl(0, { name = reference })
for _, member in ipairs(others) do
local property = vim.api.nvim_get_hl(0, { name = member })
property.fg = reference_hl.fg
vim.api.nvim_set_hl(0, member, property)
end
end
local function reset_hl_groups_for_ft(groups_to_reset)
for _, group in ipairs(groups_to_reset) do
local ft = group[1]
local groups = group[2]
vim.api.nvim_create_autocmd("FileType", {
pattern = ft,
callback = function()
for _, group_name in ipairs(groups) do
vim.api.nvim_set_hl(0, group_name, {})
end
end,
})
end
end
return {
"Shatur/neovim-ayu",
priority = 1010,
config = function()
local function set_colorscheme()
utils.colorsync_theme = vim.fn.system({ "colorsync", "get" }):gsub("%s+", "")
vim.o.background = utils.colorsync_theme == "ayulight" and "light" or "dark"
local is_mirage = utils.colorsync_theme == "ayumirage"
local ayu = require("ayu")
utils.ayu_colors = require("ayu.colors")
utils.ayu_colors.generate(is_mirage)
local overrides = {
global_variable = {
underline = true,
italic = true,
},
member_variable = {
bold = true,
},
namespace = {
italic = true,
fg = utils.ayu_colors.markup,
},
pre_process = {
fg = utils.ayu_colors.keyword,
},
default_type = {
fg = utils.ayu_colors.regexp
},
type = {
fg = utils.ayu_colors.entity,
},
}
ayu.setup({
mirage = is_mirage,
terminal = false,
overrides = {
-- TRANSPARENCY
-- Normal = { bg = "none" },
-- NormalFloat = { bg = "none" },
-- ColorColumn = { bg = "none" },
-- SignColumn = { bg = "none" },
-- Folded = { bg = "none" },
-- FoldColumn = { bg = "none" },
-- CursorColumn = { bg = "none" },
-- VertSplit = { bg = "none" },
-- TRANSPARENCY
CursorLineNr = { bg = "none" },
["@property"] = overrides.member_variable,
["PreProc"] = overrides.pre_process,
--CPP
["@lsp.typemod.variable.fileScope.cpp"] = overrides.global_variable,
["@lsp.type.namespace.cpp"] = overrides.namespace,
["@type.builtin.cpp"] = overrides.default_type,
-- CPP
--
-- Rust
["@lsp.type.struct.rust"] = overrides.type,
["@lsp.type.namespace.rust"] = overrides.namespace,
["@lsp.type.builtinType.rust"] = overrides.default_type,
-- Rust
--
-- C
["@lsp.typemod.variable.globalScope.c"] = overrides.global_variable,
["@type.builtin.c"] = overrides.default_type,
-- C
--
-- Go
-- ["@module.go"] = overrides.namespace, -- The go LSP is not reliable enough for this sadly, sometimes it adds module tokens and sometimes it doesnt.
["@variable.member.go"] = overrides.member_variable,
["@type.builtin.go"] = overrides.default_type,
-- Go
--
-- Zig
["@module.zig"] = overrides.namespace,
["@lsp.type.namespace.zig"] = overrides.namespace,
["@type.builtin.zig"] = overrides.default_type,
["@function.builtin.zig"] = overrides.default_type,
["@lsp.type.struct.zig"] = overrides.type,
-- ["@variable.member.zig"] = overrides.member_variable,-- Cant have bold member variable in zig, they don't differentiate function calls/accessors from variables, they are all just "members" .... BS LSP
-- ["@variable.parameter"] = {},-- Zig LSP is lacking, a parameter is marked as a regular variable outside of it's definition, can't separate between them.
-- Zig
},
})
ayu.colorscheme()
end
vim.api.nvim_create_augroup("ColorsyncEvents", { clear = true })
local filepath = os.getenv("HOME") .. "/.local/state/colorsync/current"
local handle = uv.new_fs_event()
handle:start(filepath, {}, function(err)
if err then
vim.notify("Error watching: " .. filepath .. "\n" .. err)
return
end
vim.schedule(function()
set_colorscheme()
vim.api.nvim_exec_autocmds("User", { pattern = "ColorsyncThemeChanged" })
vim.api.nvim_exec_autocmds("ColorScheme", {})
end)
end)
set_colorscheme()
-- Fix nuances of the colorscheme in different languages.
-- These changes needs to run after the colorscheme is set.
force_color_from_reference_on_others({
"@property",
"@variable.member.go",
"@variable.member",
"@variable.member.zig",
}, "@variable")
reset_hl_groups_for_ft({
{ "go", { "@property", } },
})
end
}

View file

@ -98,8 +98,6 @@ return {
end
return {
guibg = utils.ayu_colors.panel_bg,
guifg = utils.ayu_colors.fg,
{ " " },
{ get_diagnostic_label() },
{ get_git_diff() },

View file

@ -32,7 +32,7 @@ return {
local function setup_lualine()
require("lualine").setup({
options = {
theme = "ayu",
theme = require("norrsken.integrations.lualine"),
globalstatus = true,
section_separators = {
left = "",

View file

@ -0,0 +1,14 @@
return {
"LarssonMartin1998/nvim-norrsken",
priority = 1010,
opts = {
integrations = {
lualine = true,
blink = true,
noice = true,
incline = true,
neogit = true,
tiny_inline_diagnostics = true,
},
},
}

View file

@ -1,7 +1,6 @@
local M = {}
M.colorsync_theme = nil
M.ayu_colors = nil
function M.set_keymap_list(keymap_list, mode)
mode = mode or "n"

View file

@ -10,7 +10,7 @@ opt.clipboard = "unnamedplus"
-- Highlight the currently selected row
opt.cursorline = true
opt.cursorlineopt = "number"
opt.cursorlineopt = "both"
opt.breakindent = true
opt.breakindentopt = "list:-1"