GTK CSS syntax support for Neovim. Provides syntax highlighting for GTK3/GTK4 CSS files with @define-color support.
- Syntax highlighting based on CSS with GTK-specific additions
@define-color name #hex;color definitions@colornamecolor variable references- GTK functions:
alpha(),shade(),mix(),lighter(),darker() -gtk-*properties@importand@keyframessupport- GTK widget selectors
- Proper comment and indentation settings
- Header detection for regular CSS files
*.gtk.css*.gtk.scss*.gtk.less
Any .css, .scss, or .less file with a header marker in the first 5 lines:
/* gtk-css */
/* gtkcss */
/* gtk css */Or files starting with @define-color:
@define-color primary #ff0000;{
"anthonyleung-dev/gtkcss-syntax.nvim",
ft = "gtkcss",
config = function()
require("gtkcss").setup()
end,
}{
dir = "~/projects/gtkcss.nvim",
ft = "gtkcss",
config = function()
require("gtkcss").setup()
end,
}require("gtkcss").setup({
-- File extensions to detect as gtkcss (default)
extensions = { "gtk.css", "gtk.scss", "gtk.less" },
-- Additional filename patterns (lua patterns)
patterns = {},
-- Header markers to detect gtkcss in css files
headers = { "gtk-css", "gtkcss", "gtk css" },
})require("gtkcss").setup({
extensions = {
"gtk.css",
"gtk.scss",
"gtk.less",
"gtk.sass",
},
})require("gtkcss").setup({
headers = {
"gtk-css",
"gtkcss",
"waybar", -- detect waybar css files
},
})styles/
├── color.gtk.css
├── theme.gtk.css
└── main.gtk.css
/* gtk-css */
@define-color primary #ff0000;
* {
color: @primary;
}| Element | Highlight Group |
|---|---|
@define-color |
PreProc |
| Color names | Identifier |
| Color values (#hex) | Constant |
| Color references (@name) | Special |
| GTK functions | Function |
-gtk-* properties |
Statement |
@import |
PreProc |
@keyframes |
PreProc |
| Widget selectors | Type |
MIT