diff options
Diffstat (limited to 'templates/sublime')
| -rw-r--r-- | templates/sublime/udt.sublime-color-scheme.in | 247 | ||||
| -rw-r--r-- | templates/sublime/udt.sublime-theme.in | 182 |
2 files changed, 429 insertions, 0 deletions
diff --git a/templates/sublime/udt.sublime-color-scheme.in b/templates/sublime/udt.sublime-color-scheme.in new file mode 100644 index 0000000..30eed18 --- /dev/null +++ b/templates/sublime/udt.sublime-color-scheme.in @@ -0,0 +1,247 @@ +// Generated by udt-palette from palette/@SCHEME@.conf. Do not edit. +// +// A Sublime Text color scheme is JSON with comments. Colour scopes map onto the +// terminal roles rather than onto syntax-specific roles of their own: a scheme +// already declares all sixteen ANSI slots, so a syntax theme costs no new roles +// and every shipped scheme satisfies it without editing nine role maps. +// +// @ACCENT@ is left for udt-accent, which substitutes it per wallpaper and +// rewrites this file in place. Sublime watches Packages/User and reloads a +// colour scheme when its file changes, so that reaches a running editor. +{ + "name": "UDT", + "author": "udt-palette (@SCHEME@)", + "variables": + { + "bg": "@BG@", + "bg_alt": "@BG_ALT@", + "bg_deep": "@BG_DEEP@", + "surface": "@SURFACE@", + "surface_alt": "@SURFACE_ALT@", + + "fg": "@FG@", + "fg_dim": "@FG_DIM@", + "fg_faint": "@FG_FAINT@", + + "accent": "@ACCENT@", + + "red": "@RED@", + "green": "@GREEN@", + "yellow": "@YELLOW@", + "blue": "@BLUE@", + "magenta": "@MAGENTA@", + "cyan": "@CYAN@", + + "critical": "@CRITICAL@", + "warning": "@WARNING@", + "success": "@SUCCESS@", + "info": "@INFO@" + }, + "globals": + { + "background": "var(bg)", + "foreground": "var(fg)", + "caret": "var(accent)", + "block_caret": "var(accent)", + "invisibles": "var(fg_faint)", + "line_highlight": "var(surface)", + "selection": "@SELECTION_BG@", + "selection_border": "var(accent)", + "inactive_selection": "var(surface)", + "misspelling": "var(critical)", + "gutter": "var(bg)", + "gutter_foreground": "var(fg_faint)", + "guide": "var(surface)", + "active_guide": "var(accent)", + "stack_guide": "var(surface_alt)", + "find_highlight": "var(warning)", + "find_highlight_foreground": "var(bg)", + "shadow": "var(bg_deep)" + }, + "rules": + [ + { + "name": "Comment", + "scope": "comment, punctuation.definition.comment", + "foreground": "var(fg_faint)", + "font_style": "italic" + }, + { + "name": "String", + "scope": "string, constant.other.symbol", + "foreground": "var(green)" + }, + { + "name": "Escape sequence", + "scope": "constant.character.escape, constant.other.placeholder", + "foreground": "var(magenta)" + }, + { + "name": "Number", + "scope": "constant.numeric", + "foreground": "var(yellow)" + }, + { + "name": "Built-in constant", + "scope": "constant.language", + "foreground": "var(yellow)" + }, + { + "name": "User-defined constant", + "scope": "constant.character, constant.other", + "foreground": "var(yellow)" + }, + { + "name": "Variable", + "scope": "variable", + "foreground": "var(fg)" + }, + { + "name": "Member", + "scope": "variable.other.member, meta.property variable", + "foreground": "var(cyan)" + }, + { + "name": "Language variable", + "scope": "variable.language", + "foreground": "var(magenta)", + "font_style": "italic" + }, + { + "name": "Keyword", + "scope": "keyword, keyword.operator.word", + "foreground": "var(magenta)" + }, + { + "name": "Operator", + "scope": "keyword.operator", + "foreground": "var(cyan)" + }, + { + "name": "Storage", + "scope": "storage, storage.modifier", + "foreground": "var(magenta)" + }, + { + "name": "Storage type", + "scope": "storage.type", + "foreground": "var(blue)", + "font_style": "italic" + }, + { + "name": "Class name", + "scope": "entity.name.class, entity.name.struct, entity.name.type", + "foreground": "var(yellow)", + "font_style": "italic" + }, + { + "name": "Inherited class", + "scope": "entity.other.inherited-class", + "foreground": "var(yellow)", + "font_style": "italic" + }, + { + "name": "Function name", + "scope": "entity.name.function, variable.function", + "foreground": "var(blue)" + }, + { + "name": "Function argument", + "scope": "variable.parameter", + "foreground": "var(accent)", + "font_style": "italic" + }, + { + "name": "Section or namespace", + "scope": "entity.name.namespace, entity.name.section", + "foreground": "var(accent)" + }, + { + "name": "Tag name", + "scope": "entity.name.tag", + "foreground": "var(magenta)" + }, + { + "name": "Tag attribute", + "scope": "entity.other.attribute-name", + "foreground": "var(yellow)", + "font_style": "italic" + }, + { + "name": "Library function", + "scope": "support.function", + "foreground": "var(cyan)" + }, + { + "name": "Library constant", + "scope": "support.constant", + "foreground": "var(yellow)" + }, + { + "name": "Library class/type", + "scope": "support.class, support.type, support.other.namespace", + "foreground": "var(yellow)", + "font_style": "italic" + }, + { + "name": "Punctuation", + "scope": "punctuation, meta.brace, meta.delimiter", + "foreground": "var(fg_dim)" + }, + { + "name": "Invalid", + "scope": "invalid", + "foreground": "var(bg)", + "background": "var(critical)" + }, + { + "name": "Invalid deprecated", + "scope": "invalid.deprecated", + "foreground": "var(bg)", + "background": "var(warning)" + }, + { + "name": "Markup heading", + "scope": "markup.heading, entity.name.section", + "foreground": "var(accent)", + "font_style": "bold" + }, + { + "name": "Markup link", + "scope": "markup.underline.link, string.other.link", + "foreground": "var(info)", + "font_style": "underline" + }, + { + "name": "Markup bold", + "scope": "markup.bold", + "font_style": "bold" + }, + { + "name": "Markup italic", + "scope": "markup.italic", + "font_style": "italic" + }, + { + "name": "Markup raw", + "scope": "markup.raw, markup.inline.raw", + "foreground": "var(warning)", + "background": "var(bg_alt)" + }, + { + "name": "Diff inserted", + "scope": "markup.inserted", + "foreground": "var(success)" + }, + { + "name": "Diff deleted", + "scope": "markup.deleted", + "foreground": "var(critical)" + }, + { + "name": "Diff changed", + "scope": "markup.changed", + "foreground": "var(warning)" + } + ] +} diff --git a/templates/sublime/udt.sublime-theme.in b/templates/sublime/udt.sublime-theme.in new file mode 100644 index 0000000..17d1c1a --- /dev/null +++ b/templates/sublime/udt.sublime-theme.in @@ -0,0 +1,182 @@ +// Generated by udt-palette from palette/@SCHEME@.conf. Do not edit. +// +// An override layered over Material Behave, not a theme of its own. Sublime +// merges every .sublime-theme of the same name across packages, User last, so +// this file re-colours that theme's chrome and inherits its geometry, icons and +// animations untouched. Rename it and it stops applying. +// +// Material Behave hardcodes 419 rules of [r,g,b] literals with no variables to +// override, so the surfaces are restated here rather than remapped. Only colour +// is set: sizes, margins and opacities belong to the parent theme. +// +// Ordering matters. Material Behave ends with a contrast-mode block gated on +// "material_theme_contrast_mode", which re-tints the sidebar, status bar and +// panels a shade darker. Later rules win, so these come after it and carry no +// settings gate of their own, which is what makes them apply either way. +// +// Colours are [r,g,b] arrays because that is what a .sublime-theme takes; the +// colour scheme next door uses hex. Same palette, two syntaxes. +// +// The chrome does NOT track the wallpaper, unlike the colour scheme's accent. +// Sublime reads a theme once per window, so a moving accent would leave open +// windows disagreeing with new ones. The accent here is the scheme's fixed one, +// which is what conky, Qt, GTK and waybar already sit on. +[ + // Editor ground, behind the tabs and in an empty window. + { + "class": "sheet_container_control", + "layer0.tint": @BG@ + }, + + // Tab bar. The strip itself sits a shade off the editor so tabs read as + // raised; the selected tab matches the editor it belongs to. + { + "class": "tabset_control", + "layer0.tint": @BG_DEEP@ + }, + { + "class": "tab_control", + "layer0.tint": @BG_ALT@ + }, + { + "class": "tab_control", + "attributes": ["selected"], + "layer0.tint": @BG@ + }, + { + "class": "tab_label", + "fg": @FG_FAINT@ + }, + { + "class": "tab_label", + "parents": [{"class": "tab_control", "attributes": ["selected"]}], + "fg": @FG@ + }, + + // Sidebar. + { + "class": "sidebar_container", + "layer0.tint": @BG_ALT@ + }, + { + "class": "sidebar_tree", + "layer0.tint": @BG_ALT@ + }, + { + "class": "sidebar_label", + "fg": @FG_DIM@ + }, + { + "class": "sidebar_label", + "parents": [{"class": "tree_row", "attributes": ["selected"]}], + "fg": @FG@ + }, + { + "class": "sidebar_heading", + "fg": @FG_FAINT@ + }, + // The hover and selection wash behind a row. Its opacity is the parent + // theme's; only the tint is ours. + { + "class": "tree_row", + "layer1.tint": @ACCENT@ + }, + + // Status bar. Material Behave paints a hidden layer0 and a visible layer1, + // so both are set or the bar changes colour as it redraws. + { + "class": "status_bar", + "layer0.tint": @BG_ALT@, + "layer1.tint": @BG_ALT@ + }, + { + "class": "status_button", + "layer0.tint": @BG_ALT@ + }, + { + "class": "label_control", + "parents": [{"class": "status_bar"}], + "fg": @FG_DIM@ + }, + + // Find, replace and the console. + { + "class": "panel_control", + "layer0.tint": @BG_ALT@, + "layer1.tint": @BG_ALT@ + }, + { + "class": "panel_button_control", + "layer0.tint": @BG_ALT@ + }, + + // Command palette, goto-anything and autocomplete. + { + "class": "quick_panel", + "layer0.tint": @BG_ALT@ + }, + { + "class": "quick_panel_label", + "fg": @FG_DIM@ + }, + { + "class": "quick_panel_label", + "parents": [{"class": "quick_panel_row", "attributes": ["selected"]}], + "fg": @FG@ + }, + { + "class": "quick_panel_score_label", + "fg": @ACCENT@ + }, + { + "class": "quick_panel_path_label", + "fg": @FG_FAINT@ + }, + { + "class": "auto_complete", + "layer0.tint": @BG_ALT@ + }, + { + "class": "auto_complete_label", + "fg": @FG_DIM@ + }, + { + "class": "popup_control", + "layer0.tint": @BG_ALT@ + }, + { + "class": "dialog", + "layer0.tint": @BG_ALT@ + }, + + // Tooltips, and the progress widgets that Material Behave tints per accent. + { + "class": "tool_tip_control", + "layer0.tint": @BG_DEEP@ + }, + { + "class": "tool_tip_label_control", + "fg": @FG_DIM@ + }, + { + "class": "progress_gauge_control", + "layer0.tint": @ACCENT@ + }, + + // Scrollbars and the minimap viewport. + { + "class": "scroll_bar_control", + "layer0.tint": @BG_DEEP@ + }, + { + "class": "puck_control", + "layer0.tint": @FG_FAINT@ + }, + + // Title bar, on the platforms and settings where Material Behave draws it. + { + "class": "title_bar", + "bg": @BG_DEEP@, + "fg": @FG_DIM@ + } +] |
