feat: hyprland scrolling

This commit is contained in:
2026-01-18 15:35:34 +01:00
parent e3e1d93b99
commit 7a30d561c0
8 changed files with 661 additions and 32 deletions

View File

@@ -0,0 +1,167 @@
# Somewhat adapted from https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/groups/syntax.lua
{ C, O }:
{
Comment.fg = C.outline; # just comments
SpecialComment.link = C.keywords; # special things inside a comment
Constant.fg = C.constants; # (preferred) any constant
String.fg = C.strings; # a string constant: "this is a string"
Character.fg = C.keywords; # a character constant: 'c', '\n'
Number.fg = C.numbers; # a number constant: 234, 0xff
Float.fg = C.numbers; # a floating point constant: 2.3e10
Boolean.fg = C.keywords; # a boolean constant: TRUE, false
Identifier.fg = C.on_surface; # (preferred) any variable name
Function.fg = C.functions; # function name (also: methods for classes)
Statement.fg = C.mauve; # (preferred) any statement
Conditional.fg = C.keywords; # if, then, else, endif, switch, etc.
Repeat.fg = C.keywords; # for, do, while, etc.
Label.fg = C.keywords; # case, default, etc.
Operator.fg = C.on_surface; # "sizeof", "+", "*", etc.
Keyword.fg = C.keywords; # any other keyword
Exception.fg = C.keywords; # try, catch, throw
PreProc.link = C.structures; # (preferred) generic Preprocessor
Include.fg = C.keywords; # preprocessor #include
Define.fg = C.keywords; # preprocessor #define
Macro.fg = C.keywords; # same as Define
PreCondit.fg = C.keywords; # preprocessor #if, #else, #endif, etc.
StorageClass.fg = C.keywords; # static, register, volatile, etc.
Structure.fg = C.structures; # struct, union, enum, etc.
Special.fg = C.keywords; # (preferred) any special symbol
Type.fg = C.types; # (preferred) int, long, char, etc.
Typedef.link = "Type"; # A typedef
SpecialChar.link = "Special"; # special character in a constant
Tag = C.structures; # you can use CTRL-] on this
Delimiter.fg = C.on_surface; # character that needs attention
Debug.link = "Special"; # debugging statements
Underlined.style = [ "underline" ]; # (preferred) text that stands out, HTML links
Bold.style = [ "bold" ];
Italic.style = [ "italic" ];
# ("Ignore", below, may be invisible...)
# Ignore = { }; # (preferred) left blank, hidden |hl-Ignore|
Error = {
bg = C.danger_container; # (preferred) any erroneous construct
fg = C.on_danger_container;
};
Todo = {
bg = C.yellow_container;
fg = C.on_yellow_container;
}; # (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
qfLineNr.fg = C.yellow;
qfFileName.fg = C.blue;
htmlH1 = {
fg = C.pink;
style = [ "bold" ];
};
htmlH2 = {
fg = C.blue;
style = [ "bold" ];
};
# mkdHeading = { fg = C.peach; style = [ "bold" ]; };
# mkdCode = { bg = C.terminal_black; fg = C.text; };
mkdCodeDelimiter = {
bg = C.base;
fg = C.text;
};
mkdCodeStart = {
fg = C.flamingo;
style = [ "bold" ];
};
mkdCodeEnd = {
fg = C.flamingo;
style = [ "bold" ];
};
# mkdLink = { fg = C.blue; style = [ "underline" ]; };
# debugging
debugPC = {
bg = if O.transparent_background then C.none else C.crust;
}; # used for highlighting the current line in terminal-debug
debugBreakpoint = {
bg = C.base;
fg = C.overlay0;
}; # used for breakpoint colors in terminal-debug
# illuminate
illuminatedWord = {
bg = C.surface1;
};
illuminatedCurWord = {
bg = C.surface1;
};
# diff
Added.fg = C.green;
Changed.fg = C.blue;
diffAdded.fg = C.green;
diffRemoved.fg = C.red;
diffChanged.fg = C.blue;
diffOldFile.fg = C.yellow;
diffNewFile.fg = C.peach;
diffFile.fg = C.blue;
diffLine.fg = C.overlay0;
diffIndexLine.fg = C.teal;
DiffAdd = {
bg = U.darken C.green 0.18 C.base;
}; # diff mode: Added line |diff.txt|
DiffChange = {
bg = U.darken C.blue 0.07 C.base;
}; # diff mode: Changed line |diff.txt|
DiffDelete = {
bg = U.darken C.red 0.18 C.base;
}; # diff mode: Deleted line |diff.txt|
DiffText = {
bg = U.darken C.blue 0.30 C.base;
}; # diff mode: Changed text within a changed line |diff.txt|
# NeoVim
healthError.fg = C.red;
healthSuccess.fg = C.teal;
healthWarning.fg = C.yellow;
# misc
# glyphs
GlyphPalette1.fg = C.red;
GlyphPalette2.fg = C.teal;
GlyphPalette3.fg = C.yellow;
GlyphPalette4.fg = C.blue;
GlyphPalette6.fg = C.teal;
GlyphPalette7.fg = C.text;
GlyphPalette9.fg = C.red;
# rainbow
rainbow1.fg = C.red;
rainbow2.fg = C.peach;
rainbow3.fg = C.yellow;
rainbow4.fg = C.green;
rainbow5.fg = C.sapphire;
rainbow6.fg = C.lavender;
# csv
csvCol0.fg = C.red;
csvCol1.fg = C.peach;
csvCol2.fg = C.yellow;
csvCol3.fg = C.green;
csvCol4.fg = C.sky;
csvCol5.fg = C.blue;
csvCol6.fg = C.lavender;
csvCol7.fg = C.mauve;
csvCol8.fg = C.pink;
# markdown
markdownHeadingDelimiter = {
fg = C.peach;
style = [ "bold" ];
};
markdownCode.fg = C.flamingo;
markdownCodeBlock.fg = C.flamingo;
markdownLinkText = {
fg = C.blue;
style = [ "underline" ];
};
markdownH1.link = "rainbow1";
markdownH2.link = "rainbow2";
markdownH3.link = "rainbow3";
markdownH4.link = "rainbow4";
markdownH5.link = "rainbow5";
markdownH6.link = "rainbow6";
}