mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2026-01-22 17:42:43 +00:00
feat: hyprland scrolling
This commit is contained in:
167
modules/home-manager/theme/nvim/syntax.nix
Normal file
167
modules/home-manager/theme/nvim/syntax.nix
Normal 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";
|
||||
}
|
||||
Reference in New Issue
Block a user