diff --git a/.config/I-DeskPet/Acheron.json b/.config/I-DeskPet/Acheron.json index 289a9c4..0c9037b 100644 --- a/.config/I-DeskPet/Acheron.json +++ b/.config/I-DeskPet/Acheron.json @@ -1,6 +1,6 @@ { - "positionX": 95, - "positionY": 983, - "scaling": 2.1875000000000138, + "positionX": 93, + "positionY": 985, + "scaling": 2.2375000000000145, "zIndex": 2 } diff --git a/.config/I-DeskPet/Evernight.json b/.config/I-DeskPet/Evernight.json index cde5600..62ec612 100644 --- a/.config/I-DeskPet/Evernight.json +++ b/.config/I-DeskPet/Evernight.json @@ -1,6 +1,6 @@ { "positionX": 0, - "positionY": 931, - "scaling": 3.6875000000000173, + "positionY": 932, + "scaling": 3.7125000000000177, "zIndex": 1 } diff --git a/.config/I-DeskPet/Stelle.json b/.config/I-DeskPet/Stelle.json index d5a7b05..8918f2e 100644 --- a/.config/I-DeskPet/Stelle.json +++ b/.config/I-DeskPet/Stelle.json @@ -1,6 +1,6 @@ { - "positionX": 124, - "positionY": 918, - "scaling": 4.000000000000013, + "positionX": 119, + "positionY": 922, + "scaling": 4.05000000000002, "zIndex": 0 } diff --git a/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf b/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf index 1b73ff0..adc426a 100644 --- a/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf +++ b/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf @@ -1,6 +1,6 @@ $mainMod = SUPER $altMod = ALT - +bind = SUPER, P, exec, /home/inorishio/Documents/Git/What_That_Claude_DO/target/release/rs-pictures # Main bind = , code:121, exec, uwsm-app -S out -- wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind = , code:122, exec, uwsm-app -S out -- wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02- diff --git a/.config/hypr/conf/layers.conf b/.config/hypr/conf/layers.conf index 41ab1af..3c82947 100644 --- a/.config/hypr/conf/layers.conf +++ b/.config/hypr/conf/layers.conf @@ -1,16 +1 @@ # QT -layerrule = blur on, match:namespace ZShell-Bar -layerrule = blur_popups on, match:namespace ZShell-Bar -layerrule = ignore_alpha 0.5, match:namespace ZShell-Bar - -layerrule = blur on, match:namespace ZShell-Auth -layerrule = blur_popups on, match:namespace ZShell-Auth -layerrule = ignore_alpha 0.5, match:namespace ZShell-Auth - -layerrule = blur on, match:namespace ZShell-Wallpaper -layerrule = blur_popups on, match:namespace ZShell-Wallpaper -layerrule = ignore_alpha 0.5, match:namespace ZShell-Wallpaper - -# layerrule = blur on, match:namespace IDeskPet-Pet -# layerrule = blur_popups on, match:namespace IDeskPet-Pet -# layerrule = ignore_alpha 0.5, match:namespace IDeskPet-Pet diff --git a/.config/hypr/conf/windowrules/default.conf b/.config/hypr/conf/windowrules/default.conf index 5d62cbf..0e1f1ec 100644 --- a/.config/hypr/conf/windowrules/default.conf +++ b/.config/hypr/conf/windowrules/default.conf @@ -11,6 +11,7 @@ windowrule = pin on, match:title ^(Picture-in-Picture)$ windowrule = move 69.5% 4%, match:title ^(Picture-in-Picture)$ windowrule = float on, match:title ^(Friends List)$ windowrule = float on, match:title ^(Save Image - *)$ +windowrule = float on, match:title ^(AniShio)$ # Pavucontrol floating windowrule = float on, match:class (.*org.pulseaudio.pavucontrol.*) diff --git a/.config/zshell/config.json b/.config/zshell/config.json new file mode 100644 index 0000000..1e1cbf0 --- /dev/null +++ b/.config/zshell/config.json @@ -0,0 +1,438 @@ +{ + "barConfig": { + "autoHide": true, + "hideWhenNotif": true, + "rounding": 16, + "border": 1, + "height": 21, + "popouts": { + "tray": true, + "audio": true, + "activeWindow": true, + "resources": true, + "clock": true, + "network": true, + "upower": true + }, + "entries": [ + { + "enabled": true, + "id": "workspaces" + }, + { + "enabled": true, + "id": "resources" + }, + { + "enabled": true, + "id": "media" + }, + { + "enabled": true, + "id": "updates" + }, + { + "enabled": true, + "id": "spacer" + }, + { + "enabled": true, + "id": "activeWindow" + }, + { + "enabled": true, + "id": "spacer" + }, + { + "enabled": true, + "id": "hyprsunset" + }, + { + "enabled": false, + "id": "audio" + }, + { + "enabled": false, + "id": "network" + }, + { + "enabled": false, + "id": "upower" + }, + { + "enabled": false, + "id": "dash" + }, + { + "enabled": true, + "id": "tray" + }, + { + "enabled": true, + "id": "clock" + }, + { + "enabled": true, + "id": "notifBell" + } + ] + }, + "lock": { + "recolorLogo": false, + "enableFprint": false, + "maxFprintTries": 3, + "blurAmount": 0, + "sizes": { + "heightMult": 0.7, + "ratio": 1.78, + "centerWidth": 600 + } + }, + "general": { + "logo": "", + "wallpaperPath": "/home/inorishio/Pictures/Backgrounds", + "desktopIcons": false, + "dateFormat": "ddd d MMM - hh:mm:ss", + "color": { + "mode": "light", + "smart": false, + "scheduleDark": true, + "scheduleHyprsunset": true, + "scheduleHyprsunsetStart": 20, + "hyprsunsetTemp": 3200, + "scheduleHyprsunsetEnd": 11, + "schemeGeneration": true, + "scheduleDarkStart": 18, + "scheduleDarkEnd": 11, + "neovimColors": false + }, + "apps": { + "terminal": [ + "zterm" + ], + "audio": [ + "hyprpwcenter" + ], + "playback": [ + "mpv" + ], + "explorer": [ + "dolphin" + ] + }, + "idle": { + "timeouts": [ + { + "activeAction": "", + "idleAction": "lock", + "name": "Lock", + "timeout": 180 + }, + { + "activeAction": "dpms on", + "idleAction": "dpms off", + "name": "Screen", + "timeout": 300 + } + ] + } + }, + "services": { + "weatherLocation": "", + "updates": true, + "useFahrenheit": false, + "ddcutilService": true, + "useTwelveHourClock": true, + "gpuType": "", + "audioIncrement": 0.1, + "brightnessIncrement": 0.1, + "maxVolume": 1, + "defaultPlayer": "Spotify", + "playerAliases": [ + { + "from": "com.github.th_ch.youtube_music", + "to": "YT Music" + } + ], + "visualizerBars": 30 + }, + "notifs": { + "expire": true, + "defaultExpireTimeout": 5000, + "appNotifCooldown": 0, + "clearThreshold": 0.3, + "expandThreshold": 20, + "actionOnClick": false, + "groupPreviewNum": 3, + "sizes": { + "width": 400, + "image": 41, + "badge": 20 + } + }, + "sidebar": { + "enabled": true, + "sizes": { + "width": 500 + } + }, + "utilities": { + "enabled": true, + "maxToasts": 4, + "sizes": { + "width": 430, + "toastWidth": 430 + }, + "toasts": { + "configLoaded": true, + "chargingChanged": true, + "gameModeChanged": true, + "dndChanged": true, + "audioOutputChanged": true, + "audioInputChanged": true, + "capsLockChanged": true, + "numLockChanged": true, + "kbLayoutChanged": true, + "vpnChanged": true, + "nowPlaying": false + }, + "vpn": { + "enabled": false, + "provider": [ + "netbird" + ] + } + }, + "dashboard": { + "enabled": true, + "mediaUpdateInterval": 500, + "resourceUpdateInterval": 1000, + "dragThreshold": 50, + "performance": { + "showBattery": true, + "showGpu": true, + "showCpu": true, + "showMemory": true, + "showStorage": true, + "showNetwork": true + }, + "sizes": { + "tabIndicatorHeight": 3, + "tabIndicatorSpacing": 5, + "infoWidth": 200, + "infoIconSize": 25, + "dateTimeWidth": 110, + "mediaWidth": 200, + "mediaProgressSweep": 180, + "mediaProgressThickness": 8, + "resourceProgessThickness": 10, + "weatherWidth": 250, + "mediaCoverArtSize": 150, + "mediaVisualiserSize": 80, + "resourceSize": 200 + } + }, + "appearance": { + "rounding": { + "scale": 1 + }, + "spacing": { + "scale": 1 + }, + "padding": { + "scale": 1 + }, + "deform": { + "scale": 1 + }, + "font": { + "family": { + "sans": "Segoe UI Variable Text", + "mono": "CaskaydiaCove NF", + "material": "Material Symbols Rounded", + "clock": "Rubik" + }, + "size": { + "scale": 1 + } + }, + "anim": { + "mediaGifSpeedAdjustment": 300, + "sessionGifSpeed": 0.7, + "durations": { + "scale": 1 + } + }, + "transparency": { + "enabled": true, + "base": 0.85, + "layers": 0.4 + } + }, + "osd": { + "enabled": true, + "hideDelay": 3000, + "enableBrightness": true, + "enableMicrophone": true, + "allMonBrightness": true, + "sizes": { + "sliderWidth": 30, + "sliderHeight": 150 + } + }, + "background": { + "wallFadeDuration": 300, + "enabled": true, + "alignX": 0.5, + "alignY": 0.5, + "zoom": 1 + }, + "launcher": { + "maxAppsShown": 10, + "maxWallpapers": 7, + "uwsm": true, + "actionPrefix": ">", + "specialPrefix": "@", + "useFuzzy": { + "apps": false, + "actions": false, + "schemes": false, + "variants": false, + "wallpapers": false + }, + "sizes": { + "itemWidth": 600, + "itemHeight": 50, + "wallpaperWidth": 280, + "wallpaperHeight": 200 + }, + "actions": [ + { + "command": [ + "autocomplete", + "calc" + ], + "dangerous": false, + "description": "Do simple math equations (powered by Qalc)", + "enabled": true, + "icon": "calculate", + "name": "Calculator" + }, + { + "command": [ + "autocomplete", + "wallpaper" + ], + "dangerous": false, + "description": "Change the current wallpaper", + "enabled": true, + "icon": "image", + "name": "Wallpaper" + }, + { + "command": [ + "systemctl", + "poweroff" + ], + "dangerous": true, + "description": "Shutdown the system", + "enabled": true, + "icon": "power_settings_new", + "name": "Shutdown" + }, + { + "command": [ + "systemctl", + "reboot" + ], + "dangerous": true, + "description": "Reboot the system", + "enabled": true, + "icon": "cached", + "name": "Reboot" + }, + { + "command": [ + "loginctl", + "terminate-user", + "" + ], + "dangerous": true, + "description": "Log out of the current session", + "enabled": true, + "icon": "exit_to_app", + "name": "Logout" + }, + { + "command": [ + "loginctl", + "lock-session" + ], + "dangerous": false, + "description": "Lock the current session", + "enabled": true, + "icon": "lock", + "name": "Lock" + }, + { + "command": [ + "systemctl", + "suspend-then-hibernate" + ], + "dangerous": false, + "description": "Suspend then hibernate", + "enabled": true, + "icon": "bedtime", + "name": "Sleep" + }, + { + "command": [ + "setMode", + "light" + ], + "dangerous": false, + "description": "Change to light mode", + "enabled": true, + "icon": "light_mode", + "name": "Light" + }, + { + "command": [ + "setMode", + "dark" + ], + "dangerous": false, + "description": "Change to dark mode", + "enabled": true, + "icon": "dark_mode", + "name": "Dark" + }, + { + "command": [ + "autocomplete", + "variant" + ], + "dangerous": false, + "description": "Change the current scheme variant", + "enabled": true, + "icon": "colors", + "name": "Variant" + } + ] + }, + "colors": { + "schemeType": "fidelity" + }, + "dock": { + "enable": false, + "height": 60, + "hoverToReveal": false, + "pinnedApps": [ + "librewolf", + "org.kde.dolphin", + "kitty" + ], + "pinnedOnStartup": false, + "ignoredAppRegexes": [] + } +} \ No newline at end of file diff --git a/.config/zshell/templates/colors.sh.template b/.config/zshell/templates/colors.sh.template new file mode 100644 index 0000000..4c6842f --- /dev/null +++ b/.config/zshell/templates/colors.sh.template @@ -0,0 +1,2 @@ +# ~/.cache/zshell/sequences +{{sequences}} diff --git a/.config/zshell/templates/zshell-lualine.lua.template b/.config/zshell/templates/zshell-lualine.lua.template new file mode 100644 index 0000000..cb6c1ab --- /dev/null +++ b/.config/zshell/templates/zshell-lualine.lua.template @@ -0,0 +1,62 @@ +# ~/.config/nvim/lua/lualine/themes/zshell.lua +-- Generated by zshell. Lualine theme matching the zshell colorscheme. + +local is_light = "{{mode}}" == "light" +local function pick(light, dark) + return is_light and light or dark +end + +local c = { + bg = "{{m3surface}}", + bg_alt = "{{m3surfaceContainerLow}}", + bg_mid = pick("{{m3surfaceContainerHigh}}", "{{m3surfaceContainer}}"), + fg = "{{m3onSurface}}", + fg_muted = "{{m3onSurfaceVariant}}", + fg_strong = pick("#15161A", "#F4F4F8"), + + normal = "{{m3primaryContainer}}", + insert = "{{m3secondaryContainer}}", + visual = "{{m3tertiaryContainer}}", + replace = "{{m3errorContainer}}", + command = pick("{{term3}}", "{{term4}}"), + inactive = "{{m3surfaceContainerLow}}", + + normal_fg = pick("#15161A", "#F4F4F8"), + insert_fg = pick("#15161A", "#F4F4F8"), + visual_fg = pick("#15161A", "#F4F4F8"), + replace_fg = pick("#15161A", "#F4F4F8"), + command_fg = pick("#15161A", "#F4F4F8"), +} + +return { + normal = { + a = { fg = c.normal_fg, bg = c.normal, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + insert = { + a = { fg = c.insert_fg, bg = c.insert, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + visual = { + a = { fg = c.visual_fg, bg = c.visual, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + replace = { + a = { fg = c.replace_fg, bg = c.replace, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + command = { + a = { fg = c.command_fg, bg = c.command, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + inactive = { + a = { fg = c.fg_muted, bg = c.inactive, gui = "bold" }, + b = { fg = c.fg_muted, bg = c.inactive }, + c = { fg = c.fg_muted, bg = c.bg }, + }, +} diff --git a/.config/zshell/templates/zshell-nvim.lua.template b/.config/zshell/templates/zshell-nvim.lua.template new file mode 100644 index 0000000..923a34f --- /dev/null +++ b/.config/zshell/templates/zshell-nvim.lua.template @@ -0,0 +1,433 @@ +# ~/.config/nvim/colors/zshell.lua +-- Generated by zshell. Material 3 based Neovim colorscheme. +-- This file is a Jinja template rendered by zshell. + +vim.g.colors_name = nil +vim.o.background = "{{mode}}" + +vim.cmd("highlight clear") +if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") +end + +vim.g.colors_name = "zshell" +vim.o.termguicolors = true + +local set = vim.api.nvim_set_hl +local function hl(group, opts) + set(0, group, opts) +end + +local function link(from, to) + hl(from, { link = to }) +end + +local is_light = "{{mode}}" == "light" +local function pick(light, dark) + return is_light and light or dark +end + +local c = { + bg = "{{m3surface}}", + bg_alt = "{{m3surfaceContainerLow}}", + bg_float = "{{m3surfaceContainer}}", + bg_popup = "{{m3surfaceContainerHigh}}", + bg_cursorline = pick("{{m3surfaceContainerHigh}}", "{{m3surfaceContainerHighest}}"), + bg_fold = "{{m3surfaceContainerLow}}", + bg_visual = "{{m3secondaryContainer}}", + bg_search = pick("{{m3tertiaryContainer}}", "{{m3secondaryContainer}}"), + bg_incsearch = "{{m3primaryContainer}}", + bg_selection = "{{m3primaryContainer}}", + bg_statusline = pick("{{m3surfaceContainerHigh}}", "{{m3surfaceContainer}}"), + bg_statusline_nc = "{{m3surfaceContainerLow}}", + bg_tabline = "{{m3surfaceContainerLow}}", + bg_tabsel = "{{m3surfaceContainerHigh}}", + + fg = "{{m3onSurface}}", + fg_muted = "{{m3onSurfaceVariant}}", + fg_subtle = "{{m3outline}}", + fg_comment = pick("{{m3outline}}", "{{m3outlineVariant}}"), + fg_strong = pick("#1A1B1F", "#F2F2F7"), + fg_on_soft = pick("#17181C", "#F4F4F8"), + + border = "{{m3outlineVariant}}", + accent = "{{m3primary}}", + accent_container = "{{m3primaryContainer}}", + accent_fg = "{{m3onPrimaryContainer}}", + accent_solid_fg = "{{m3onPrimary}}", + + secondary = "{{m3secondary}}", + secondary_container = "{{m3secondaryContainer}}", + secondary_fg = "{{m3onSecondaryContainer}}", + secondary_solid_fg = "{{m3onSecondary}}", + + tertiary = "{{m3tertiary}}", + tertiary_container = "{{m3tertiaryContainer}}", + tertiary_fg = "{{m3onTertiaryContainer}}", + tertiary_solid_fg = "{{m3onTertiary}}", + + error = "{{m3error}}", + error_container = "{{m3errorContainer}}", + error_fg = "{{m3onErrorContainer}}", + error_solid_fg = "{{m3onError}}", + + ok = "{{term2}}", + warn = "{{term3}}", + info = "{{term4}}", + hint = "{{term6}}", + add = "{{term2}}", + change = "{{term4}}", + delete = "{{term1}}", + + cursor_fg = "{{m3onPrimary}}", + cursor_bg = "{{m3primary}}", + match_bg = "{{m3tertiaryContainer}}", + match_fg = "{{m3onTertiaryContainer}}", + todo_bg = "{{m3tertiaryContainer}}", + todo_fg = "{{m3onTertiaryContainer}}", + + -- Syntax accents must stay dynamic. These come from your generated palette + -- instead of fixed hex values, so foregrounds change with the wallpaper too. + code_keyword = "{{term5}}", + code_func = "{{term6}}", + code_string = "{{term2}}", + code_number = "{{term3}}", + code_const = "{{term1}}", + code_type = "{{m3primary}}", + code_special = "{{m3tertiary}}", + code_preproc = "{{m3secondary}}", + code_builtin = "{{m3primary}}", + code_param = "{{term3}}", + code_field = "{{m3secondary}}", + code_namespace = "{{m3tertiary}}", + code_operator = pick("{{m3primary}}", "{{m3secondary}}"), + + line_current = pick("#232428", "#E7E7EC"), + ref_bg = pick("{{m3surfaceContainerHighest}}", "{{m3surfaceContainerHigh}}"), +} + +-- Core UI ------------------------------------------------------------------- +hl("Normal", { fg = c.fg, bg = c.bg }) +hl("NormalNC", { fg = c.fg, bg = c.bg }) +hl("NormalFloat", { fg = c.fg, bg = c.bg_float }) +hl("FloatBorder", { fg = c.border, bg = c.bg_float }) +hl("FloatTitle", { fg = c.accent, bg = c.bg_float, bold = true }) +hl("FloatFooter", { fg = c.fg_muted, bg = c.bg_float }) +hl("WinSeparator", { fg = c.border, bg = "NONE" }) +link("VertSplit", "WinSeparator") + +hl("Cursor", { fg = c.cursor_fg, bg = c.cursor_bg }) +link("lCursor", "Cursor") +link("CursorIM", "Cursor") +link("TermCursor", "Cursor") + +hl("CursorLine", { bg = c.bg_cursorline }) +hl("CursorColumn", { bg = c.bg_cursorline }) +hl("ColorColumn", { bg = c.bg_alt }) + +hl("LineNr", { fg = c.fg_subtle, bg = c.bg }) +hl("LineNrAbove", { fg = c.fg_subtle, bg = c.bg }) +hl("LineNrBelow", { fg = c.fg_subtle, bg = c.bg }) +hl("CursorLineNr", { fg = c.line_current, bg = c.bg_cursorline, bold = true }) + +hl("SignColumn", { fg = c.fg_muted, bg = c.bg }) +hl("FoldColumn", { fg = c.fg_muted, bg = c.bg }) +hl("Folded", { fg = c.fg_muted, bg = c.bg_fold, italic = true }) + +hl("NonText", { fg = c.border, bg = "NONE" }) +link("EndOfBuffer", "NonText") +hl("Whitespace", { fg = c.border, bg = "NONE" }) +hl("SpecialKey", { fg = c.border, bg = "NONE" }) + +hl("Visual", { bg = c.bg_visual }) +link("VisualNOS", "Visual") +hl("Search", { fg = c.tertiary_fg, bg = c.bg_search }) +hl("CurSearch", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true }) +link("IncSearch", "CurSearch") +hl("Substitute", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true }) +hl("MatchParen", { fg = c.match_fg, bg = c.match_bg, bold = true }) + +hl("Pmenu", { fg = c.fg, bg = c.bg_popup }) +hl("PmenuSel", { fg = c.fg_on_soft, bg = c.bg_selection, bold = true }) +hl("PmenuKind", { fg = c.secondary, bg = c.bg_popup }) +hl("PmenuKindSel", { fg = c.fg_on_soft, bg = c.secondary_container, bold = true }) +hl("PmenuExtra", { fg = c.fg_muted, bg = c.bg_popup }) +hl("PmenuExtraSel", { fg = c.fg_on_soft, bg = c.bg_selection }) +hl("PmenuSbar", { bg = c.bg_alt }) +hl("PmenuThumb", { bg = c.border }) +hl("PmenuMatch", { fg = c.accent, bg = c.bg_popup, bold = true }) +hl("PmenuMatchSel", { fg = c.accent, bg = c.bg_selection, bold = true }) +hl("PmenuBorder", { fg = c.border, bg = c.bg_popup }) + +hl("StatusLine", { fg = c.fg_strong, bg = c.bg_statusline }) +hl("StatusLineNC", { fg = c.fg_muted, bg = c.bg_statusline_nc }) +link("StatusLineTerm", "StatusLine") +link("StatusLineTermNC", "StatusLineNC") +hl("TabLine", { fg = c.fg_muted, bg = c.bg_tabline }) +hl("TabLineFill", { bg = c.bg_tabline }) +hl("TabLineSel", { fg = c.fg_on_soft, bg = c.accent_container, bold = true }) +hl("WinBar", { fg = c.fg, bg = c.bg }) +hl("WinBarNC", { fg = c.fg_muted, bg = c.bg }) + +hl("Directory", { fg = c.accent, bg = "NONE" }) +hl("Title", { fg = c.accent, bg = "NONE", bold = true }) +hl("Question", { fg = c.secondary, bg = "NONE", bold = true }) +hl("ModeMsg", { fg = c.accent, bg = "NONE", bold = true }) +hl("MoreMsg", { fg = c.info, bg = "NONE", bold = true }) +hl("ErrorMsg", { fg = c.error, bg = "NONE", bold = true }) +hl("WarningMsg", { fg = c.warn, bg = "NONE", bold = true }) +hl("OkMsg", { fg = c.ok, bg = "NONE", bold = true }) +hl("QuickFixLine", { bg = c.bg_selection, bold = true }) + +-- Diffs --------------------------------------------------------------------- +hl("DiffAdd", { fg = c.add, bg = c.bg_alt }) +hl("DiffChange", { fg = c.change, bg = c.bg_alt }) +hl("DiffDelete", { fg = c.delete, bg = c.bg_alt }) +hl("DiffText", { fg = c.fg_on_soft, bg = c.accent_container, bold = true }) +link("DiffTextAdd", "DiffText") +hl("Added", { fg = c.add }) +hl("Changed", { fg = c.change }) +hl("Removed", { fg = c.delete }) + +-- Standard syntax groups ---------------------------------------------------- +hl("Comment", { fg = c.fg_comment, italic = true }) +hl("Constant", { fg = c.code_const }) +hl("String", { fg = c.code_string }) +hl("Character", { fg = c.code_string }) +hl("Number", { fg = c.code_number }) +hl("Boolean", { fg = c.code_number, bold = true }) +hl("Float", { fg = c.code_number }) + +hl("Identifier", { fg = c.fg }) +hl("Function", { fg = c.code_func, bold = true }) + +hl("Statement", { fg = c.code_keyword, bold = true }) +link("Conditional", "Statement") +link("Repeat", "Statement") +link("Label", "Statement") +hl("Operator", { fg = c.code_operator }) +hl("Keyword", { fg = c.code_keyword, italic = true }) +link("Exception", "Statement") + +hl("PreProc", { fg = c.code_preproc }) +link("Include", "PreProc") +link("Define", "PreProc") +link("Macro", "PreProc") +link("PreCondit", "PreProc") + +hl("Type", { fg = c.code_type, bold = true }) +link("StorageClass", "Type") +link("Structure", "Type") +link("Typedef", "Type") + +hl("Special", { fg = c.code_special }) +link("SpecialChar", "Special") +link("Tag", "Special") +hl("Delimiter", { fg = c.fg_muted }) +link("SpecialComment", "Special") +link("Debug", "Special") + +hl("Underlined", { fg = c.accent, underline = true }) +hl("Todo", { fg = c.todo_fg, bg = c.todo_bg, bold = true }) +hl("Error", { fg = c.error, bold = true }) + +-- Spell --------------------------------------------------------------------- +hl("SpellBad", { sp = c.error, undercurl = true }) +hl("SpellCap", { sp = c.info, undercurl = true }) +hl("SpellLocal", { sp = c.hint, undercurl = true }) +hl("SpellRare", { sp = c.secondary, undercurl = true }) + +-- Diagnostics --------------------------------------------------------------- +hl("DiagnosticError", { fg = c.error }) +hl("DiagnosticWarn", { fg = c.warn }) +hl("DiagnosticInfo", { fg = c.info }) +hl("DiagnosticHint", { fg = c.hint }) +hl("DiagnosticOk", { fg = c.ok }) + +hl("DiagnosticUnderlineError", { sp = c.error, undercurl = true }) +hl("DiagnosticUnderlineWarn", { sp = c.warn, undercurl = true }) +hl("DiagnosticUnderlineInfo", { sp = c.info, undercurl = true }) +hl("DiagnosticUnderlineHint", { sp = c.hint, undercurl = true }) +hl("DiagnosticUnderlineOk", { sp = c.ok, undercurl = true }) + +link("DiagnosticSignError", "DiagnosticError") +link("DiagnosticSignWarn", "DiagnosticWarn") +link("DiagnosticSignInfo", "DiagnosticInfo") +link("DiagnosticSignHint", "DiagnosticHint") +link("DiagnosticSignOk", "DiagnosticOk") + +link("DiagnosticFloatingError", "DiagnosticError") +link("DiagnosticFloatingWarn", "DiagnosticWarn") +link("DiagnosticFloatingInfo", "DiagnosticInfo") +link("DiagnosticFloatingHint", "DiagnosticHint") +link("DiagnosticFloatingOk", "DiagnosticOk") + +hl("DiagnosticVirtualTextError", { fg = c.error, bg = c.error_container }) +hl("DiagnosticVirtualTextWarn", { fg = c.warn, bg = c.bg_alt }) +hl("DiagnosticVirtualTextInfo", { fg = c.info, bg = c.bg_alt }) +hl("DiagnosticVirtualTextHint", { fg = c.hint, bg = c.bg_alt }) +hl("DiagnosticVirtualTextOk", { fg = c.ok, bg = c.bg_alt }) + +link("DiagnosticVirtualLinesError", "DiagnosticVirtualTextError") +link("DiagnosticVirtualLinesWarn", "DiagnosticVirtualTextWarn") +link("DiagnosticVirtualLinesInfo", "DiagnosticVirtualTextInfo") +link("DiagnosticVirtualLinesHint", "DiagnosticVirtualTextHint") +link("DiagnosticVirtualLinesOk", "DiagnosticVirtualTextOk") + +hl("DiagnosticDeprecated", { fg = c.fg_muted, strikethrough = true }) +hl("DiagnosticUnnecessary", { fg = c.fg_muted, italic = true }) + +-- LSP reference/inlay/codelens --------------------------------------------- +hl("LspReferenceText", { bg = c.ref_bg }) +hl("LspReferenceRead", { bg = c.ref_bg }) +hl("LspReferenceWrite", { bg = c.ref_bg, sp = c.accent, undercurl = true }) +hl("LspReferenceTarget", { fg = c.accent, bg = c.ref_bg, bold = true }) +hl("LspInlayHint", { fg = c.fg_muted, bg = c.bg_alt, italic = true }) +hl("LspCodeLens", { fg = c.fg_muted, italic = true }) +hl("LspCodeLensSeparator", { fg = c.border }) +hl("LspSignatureActiveParameter", { fg = c.accent, bold = true, underline = true }) + +-- Treesitter captures ------------------------------------------------------- +link("@comment", "Comment") +link("@comment.documentation", "Comment") +link("@comment.todo", "Todo") +link("@comment.error", "DiagnosticError") +link("@comment.warning", "DiagnosticWarn") +link("@comment.note", "DiagnosticInfo") + +link("@constant", "Constant") +hl("@constant.builtin", { fg = c.code_builtin, italic = true, bold = true }) +hl("@constant.macro", { fg = c.code_preproc, bold = true }) +link("@string", "String") +hl("@string.escape", { fg = c.code_special, bold = true }) +link("@string.regex", "Special") +link("@character", "Character") +link("@number", "Number") +link("@boolean", "Boolean") +link("@float", "Float") + +link("@variable", "Identifier") +hl("@variable.builtin", { fg = c.code_builtin, italic = true, bold = true }) +hl("@variable.parameter", { fg = c.code_param, italic = true }) +hl("@variable.member", { fg = c.code_field }) +hl("@property", { fg = c.code_field }) +hl("@field", { fg = c.code_field }) + +link("@function", "Function") +hl("@function.builtin", { fg = c.code_builtin, bold = true }) +link("@function.call", "Function") +hl("@function.method", { fg = c.code_func }) +hl("@function.method.call", { fg = c.code_func }) +hl("@constructor", { fg = c.code_type, bold = true }) + +link("@keyword", "Keyword") +hl("@keyword.function", { fg = c.code_keyword, bold = true }) +hl("@keyword.operator", { fg = c.code_operator }) +link("@keyword.return", "Keyword") +link("@conditional", "Conditional") +link("@repeat", "Repeat") +link("@label", "Label") +link("@operator", "Operator") +link("@exception", "Exception") + +link("@preproc", "PreProc") +link("@include", "Include") +link("@define", "Define") +link("@macro", "Macro") + +link("@type", "Type") +hl("@type.builtin", { fg = c.code_type, italic = true, bold = true }) +link("@type.definition", "Type") +hl("@attribute", { fg = c.code_preproc }) +hl("@module", { fg = c.code_namespace }) +hl("@namespace", { fg = c.code_namespace }) + +link("@punctuation.delimiter", "Delimiter") +link("@punctuation.bracket", "Delimiter") +hl("@punctuation.special", { fg = c.code_special }) +link("@tag", "Tag") +hl("@tag.attribute", { fg = c.code_field }) +link("@tag.delimiter", "Delimiter") + +-- LSP semantic token families ---------------------------------------------- +link("@lsp.type.class", "@type") +link("@lsp.type.comment", "@comment") +link("@lsp.type.decorator", "@attribute") +link("@lsp.type.enum", "@type") +link("@lsp.type.enumMember", "@constant") +link("@lsp.type.event", "@property") +link("@lsp.type.function", "@function") +link("@lsp.type.interface", "@type") +link("@lsp.type.keyword", "@keyword") +link("@lsp.type.macro", "@macro") +link("@lsp.type.method", "@function.method") +link("@lsp.type.modifier", "@keyword") +link("@lsp.type.namespace", "@namespace") +link("@lsp.type.number", "@number") +link("@lsp.type.operator", "@operator") +link("@lsp.type.parameter", "@variable.parameter") +link("@lsp.type.property", "@property") +link("@lsp.type.regexp", "@string.regex") +link("@lsp.type.string", "@string") +link("@lsp.type.struct", "@type") +link("@lsp.type.type", "@type") +link("@lsp.type.typeParameter", "@type") +link("@lsp.type.variable", "@variable") + +hl("@lsp.mod.deprecated", { strikethrough = true }) +link("@lsp.mod.readonly", "Constant") +link("@lsp.typemod.variable.readonly", "Constant") + +-- Common plugin aliases ----------------------------------------------------- +hl("GitSignsAdd", { fg = c.add, bg = c.bg }) +hl("GitSignsChange", { fg = c.change, bg = c.bg }) +hl("GitSignsDelete", { fg = c.delete, bg = c.bg }) + +hl("MiniIndentscopeSymbol", { fg = c.border, nocombine = true }) +hl("IblIndent", { fg = c.border, nocombine = true }) +hl("IblScope", { fg = c.fg_muted, nocombine = true }) + +link("TelescopeNormal", "NormalFloat") +link("TelescopeBorder", "FloatBorder") +link("TelescopeTitle", "FloatTitle") +link("TelescopeSelection", "PmenuSel") +hl("TelescopeMatching", { fg = c.accent, bold = true }) + +-- Snacks.nvim picker / explorer -------------------------------------------- +hl("SnacksPicker", { fg = c.fg, bg = c.bg }) +hl("SnacksPickerBorder", { fg = c.border, bg = c.bg }) +hl("SnacksPickerBoxBorder", { fg = c.border, bg = c.bg_alt }) +hl("SnacksPickerTitle", { fg = c.accent, bg = c.bg_alt, bold = true }) + +hl("SnacksPickerInput", { fg = c.fg, bg = c.bg_alt }) +hl("SnacksPickerInputBorder", { fg = c.border, bg = c.bg_alt }) +hl("SnacksPickerInputTitle", { fg = c.accent, bg = c.bg_alt, bold = true }) +hl("SnacksPickerInputSearch", { fg = c.accent, bg = c.bg_alt, bold = true }) +hl("SnacksPickerPrompt", { fg = c.accent, bg = c.bg_alt, bold = true }) + +hl("SnacksPickerList", { fg = c.fg, bg = c.bg }) +hl("SnacksPickerListBorder", { fg = c.border, bg = c.bg }) +hl("SnacksPickerListTitle", { fg = c.secondary, bg = c.bg, bold = true }) +hl("SnacksPickerListCursorLine", { bg = c.bg_cursorline }) + +hl("SnacksPickerPreview", { fg = c.fg, bg = c.bg_float }) +hl("SnacksPickerPreviewBorder", { fg = c.border, bg = c.bg_float }) +hl("SnacksPickerPreviewTitle", { fg = c.tertiary, bg = c.bg_float, bold = true }) + +hl("SnacksPickerMatch", { fg = c.accent, bold = true }) +hl("SnacksPickerFile", { fg = c.fg }) +hl("SnacksPickerDir", { fg = c.secondary }) +hl("SnacksPickerPathHidden", { fg = c.fg_muted }) +hl("SnacksPickerPathIgnored", { fg = c.fg_subtle, italic = true }) +hl("SnacksPickerPathExcluded", { fg = c.fg_subtle, italic = true }) + +hl("SnacksPickerGitStatusAdded", { fg = c.add }) +hl("SnacksPickerGitStatusModified", { fg = c.change }) +hl("SnacksPickerGitStatusDeleted", { fg = c.delete }) +hl("SnacksPickerGitStatusRenamed", { fg = c.info }) +hl("SnacksPickerGitStatusCopied", { fg = c.info }) +hl("SnacksPickerGitStatusUntracked", { fg = c.hint }) +hl("SnacksPickerGitStatusIgnored", { fg = c.fg_subtle }) +hl("SnacksPickerGitStatusStaged", { fg = c.ok }) + +return c