aboutsummaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/sublime/udt.sublime-color-scheme.in247
-rw-r--r--templates/sublime/udt.sublime-theme.in182
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@
+ }
+]