| 🛟 Updated. 28d5985 k33g 16h ago | 1 | name = "Darcula" |
| 2 | description = "After JetBrains' Darcula: warm orange keywords on charcoal. A dark theme." |
| 3 | |
| 4 | # The colours come from JetBrains' own published files, not from a screenshot: |
| 5 | # the editor scheme in platform/platform-resources/src/DefaultColorSchemesManager.xml |
| 6 | # and the chrome from platform/platform-resources/src/themes/darcula.theme.json. |
| 7 | # |
| 8 | # It is "after Darcula" rather than Darcula, the way `cobalt` is after the |
| 9 | # Cobalt palette, because two values had to move for this project's readability |
| 10 | # rules. Both departures are marked below, and there are only two. |
| 11 | inherits = "turbo-dark" |
| 12 | |
| 13 | [colors] |
| 14 | default = { fg = "#a9b7c6", bg = "#2b2b2b" } |
| 15 | |
| 16 | desktop = { fg = "#3c3f41", bg = "#232527" } |
| 17 | shadow = { fg = "#1f2021", bg = "#232527" } |
| 18 | |
| 19 | # #3c3f41 and #bbbbbb are the IDE's own window background and foreground, and |
| 20 | # #2f65ca its selection blue — all three straight out of darcula.theme.json. |
| 21 | "menu.bar" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 22 | "menu.item" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 23 | "menu.selected" = { fg = "#ffffff", bg = "#2f65ca" } |
| 24 | "menu.shortcut" = { fg = "#ffc66d", bg = "#3c3f41", bold = true } |
| 25 | "menu.disabled" = { fg = "#777777", bg = "#3c3f41" } |
| 26 | |
| 27 | "window.frame.active" = { fg = "#bbbbbb", bg = "#2b2b2b" } |
| 28 | "window.frame.inactive" = { fg = "#5e6265", bg = "#2b2b2b" } |
| 29 | "window.title.active" = { fg = "#ffffff", bg = "#2b2b2b", bold = true } |
| 30 | "window.title.inactive" = { fg = "#808080", bg = "#2b2b2b" } |
| 31 | "window.body" = { fg = "#a9b7c6", bg = "#2b2b2b" } |
| 32 | |
| 33 | statusbar = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 34 | "statusbar.key" = { fg = "#ffc66d", bg = "#3c3f41", bold = true } |
| 35 | "statusbar.hint" = { fg = "#949494", bg = "#3c3f41" } |
| 36 | |
| 37 | scrollbar = { fg = "#4d4d4d", bg = "#313335" } |
| 38 | "scrollbar.thumb" = { fg = "#a9b7c6", bg = "#313335" } |
| 39 | |
| 40 | "dialog.frame" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 41 | "dialog.body" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 42 | "dialog.title" = { fg = "#ffffff", bg = "#3c3f41", bold = true } |
| 43 | "dialog.label" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 44 | |
| 45 | button = { fg = "#bbbbbb", bg = "#4c5052" } |
| 46 | "button.focused" = { fg = "#ffffff", bg = "#2f65ca", bold = true } |
| 47 | "button.shortcut" = { fg = "#ffc66d", bg = "#4c5052", bold = true, underline = true } |
| 48 | |
| 49 | input = { fg = "#bbbbbb", bg = "#45494a" } |
| 50 | "input.focused" = { fg = "#ffffff", bg = "#45494a" } |
| 51 | "input.selection" = { fg = "#ffffff", bg = "#2f65ca" } |
| 52 | |
| 53 | list = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 54 | "list.selected" = { fg = "#ffffff", bg = "#2f65ca" } |
| 55 | "list.unfocused" = { fg = "#bbbbbb", bg = "#0d293e" } |
| 56 | |
| 57 | checkbox = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 58 | "checkbox.focused" = { fg = "#ffffff", bg = "#2f65ca" } |
| 59 | |
| 60 | "editor.text" = { fg = "#a9b7c6", bg = "#2b2b2b" } |
| 61 | "editor.selection" = { fg = "#a9b7c6", bg = "#214283" } |
| 62 | "editor.linenumber" = { fg = "#606366", bg = "#2b2b2b" } |
| 63 | # **Departure 1 of 2.** Darcula's own caret row is #323232, which is seven |
| 64 | # channel values from the #2b2b2b page — no highlight at all, and below the |
| 65 | # sixteen this project requires. This is the IDE's window background instead, |
| 66 | # #3c3f41, so the lift still comes out of JetBrains' palette: twenty-two away. |
| 67 | "editor.currentline" = { fg = "#a9b7c6", bg = "#3c3f41" } |
| 68 | "editor.cursor" = { fg = "#2b2b2b", bg = "#bbbbbb" } |
| 69 | |
| 70 | "terminal.text" = { fg = "#bbbbbb", bg = "#2b2b2b" } |
| 71 | "terminal.cursor" = { fg = "#2b2b2b", bg = "#bbbbbb" } |
| 72 | |
| 73 | "tree.text" = { fg = "#a9b7c6", bg = "#2b2b2b" } |
| 74 | "tree.directory" = { fg = "#ffc66d", bg = "#2b2b2b", bold = true } |
| 75 | "tree.selected" = { fg = "#ffffff", bg = "#2f65ca" } |
| 76 | "tree.unfocused" = { fg = "#a9b7c6", bg = "#0d293e" } |
| 77 | |
| 78 | # Every one of these is a published DEFAULT_* attribute, mapped onto this |
| 79 | # project's seventeen classes: |
| 80 | # |
| 81 | # identifier DEFAULT_IDENTIFIER keyword DEFAULT_KEYWORD |
| 82 | # type DEFAULT_CLASS_REFERENCE builtin DEFAULT_INSTANCE_FIELD |
| 83 | # constant DEFAULT_CONSTANT function DEFAULT_FUNCTION_DECLARATION |
| 84 | # string DEFAULT_STRING number DEFAULT_NUMBER |
| 85 | # punctuation DEFAULT_COMMA / _SEMICOLON attribute XML_ATTRIBUTE_NAME |
| 86 | # tag XML_TAG_NAME link HYPERLINK_ATTRIBUTES |
| 87 | # |
| 88 | # Punctuation really is the keyword orange in Darcula — commas and semicolons |
| 89 | # are #cc7832 there, which is one of the things that makes it recognisable. |
| 90 | "syntax.identifier" = { fg = "#a9b7c6" } |
| 91 | "syntax.keyword" = { fg = "#cc7832" } |
| 92 | "syntax.type" = { fg = "#769aa5" } |
| 93 | "syntax.builtin" = { fg = "#9876aa" } |
| 94 | "syntax.constant" = { fg = "#9876aa", italic = true } |
| 95 | "syntax.function" = { fg = "#ffc66d" } |
| 96 | "syntax.string" = { fg = "#6a8759" } |
| 97 | "syntax.char" = { fg = "#6a8759" } |
| 98 | "syntax.number" = { fg = "#6897bb" } |
| 99 | # **Departure 2 of 2.** JetBrains draws comments in #808080, which is 3.59:1 |
| 100 | # against this page — below the 4.5:1 this project holds prose to. #949494 is |
| 101 | # the smallest lift that clears it, at 4.67:1; #909090 comes to 4.44 and does |
| 102 | # not. Everything else on this page is JetBrains' value, unchanged. |
| 103 | "syntax.comment" = { fg = "#949494", italic = true } |
| 104 | "syntax.operator" = { fg = "#a9b7c6" } |
| 105 | "syntax.punctuation" = { fg = "#cc7832" } |
| 106 | "syntax.heading" = { fg = "#ffc66d", bold = true, underline = true } |
| 107 | "syntax.tag" = { fg = "#e8bf6a" } |
| 108 | "syntax.attribute" = { fg = "#bababa" } |
| 109 | "syntax.emphasis" = { fg = "#a9b7c6", bold = true } |
| 110 | "syntax.link" = { fg = "#287bde", underline = true } |
| 111 | |
| 112 | "completion.frame" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 113 | "completion.item" = { fg = "#bbbbbb", bg = "#3c3f41" } |
| 114 | "completion.selected" = { fg = "#ffffff", bg = "#2f65ca", bold = true } |
| 115 | "completion.detail" = { fg = "#949494", bg = "#3c3f41" } |
| 116 | |
| 117 | "diagnostic.error" = { fg = "#ff6b68", bold = true } |
| 118 | "diagnostic.warning" = { fg = "#bbb529", bold = true } |
| 119 | "diagnostic.info" = { fg = "#6897bb", italic = true } |