diff options
author | Daniel Smith <rdnlsmith@gmail.com> | 2019-02-09 18:12:29 -0500 |
---|---|---|
committer | Daniel Smith <rdnlsmith@gmail.com> | 2019-02-09 18:12:29 -0500 |
commit | 38930750a2a81ec2d6e6cb904f3ae202d98139a7 (patch) | |
tree | 4315e5b4ce387030f6b1af1aa42082069a3b03c8 | |
parent | d8674b5ebf2880981a38a4eeedd0f0379b25b553 (diff) |
Yaru: Add (light) theme
-rw-r--r-- | package.json | 5 | ||||
-rw-r--r-- | themes/light/yaru.json | 428 | ||||
-rw-r--r-- | themes/src/light/yaru.ts | 116 |
3 files changed, 549 insertions, 0 deletions
diff --git a/package.json b/package.json index db24974..118631a 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,11 @@ "label": "Arc", "uiTheme": "vs", "path": "./themes/light/arc.json" + }, + { + "label": "Yaru [Beta]", + "uiTheme": "vs", + "path": "./themes/light/yaru.json" } ] }, diff --git a/themes/light/yaru.json b/themes/light/yaru.json new file mode 100644 index 0000000..c80fd0b --- /dev/null +++ b/themes/light/yaru.json @@ -0,0 +1,428 @@ +{ + "name": "Yaru [Beta]", + "tokenColors": [ + { + "name": "Global settings", + "settings": { + "background": "#edeef0", + "foreground": "#111111" + } + }, + { + "name": "String", + "scope": "string", + "settings": { + "foreground": "#ff0000" + } + }, + { + "name": "String Escape", + "scope": "constant.character.escape, text.html constant.character.entity.named, punctuation.definition.entity.html", + "settings": { + "foreground": "#7f0000" + } + }, + { + "name": "Boolean", + "scope": "constant.language.boolean", + "settings": { + "foreground": "#e95420" + } + }, + { + "name": "Number", + "scope": "constant.numeric", + "settings": { + "foreground": "#006666" + } + }, + { + "name": "Identifier", + "scope": "variable, support.variable, support.class, support.constant, meta.definition.variable entity.name.function", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "Keyword", + "scope": "keyword, modifier, variable.language.this, support.type.object, constant.language", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "Function call", + "scope": "entity.name.function, support.function", + "settings": { + "foreground": "#006666" + } + }, + { + "name": "Storage", + "scope": "storage.type, storage.modifier", + "settings": { + "foreground": "#e95420" + } + }, + { + "name": "Modules", + "scope": "support.module, support.node", + "settings": { + "foreground": "#742a10", + "fontStyle": "italic" + } + }, + { + "name": "Type", + "scope": "support.type", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "Type", + "scope": "entity.name.type, entity.other.inherited-class", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "Comment", + "scope": "comment", + "settings": { + "foreground": "#333333", + "fontStyle": "italic" + } + }, + { + "name": "Class", + "scope": "entity.name.type.class", + "settings": { + "foreground": "00ff00", + "fontStyle": "underline" + } + }, + { + "name": "Class variable", + "scope": "variable.object.property, meta.field.declaration entity.name.function", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "Class method", + "scope": "meta.definition.method entity.name.function", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "Function definition", + "scope": "meta.function entity.name.function", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "Template expression", + "scope": "template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "Reset embedded/template expression colors", + "scope": "meta.embedded, source.groovy.embedded, meta.template.expression", + "settings": { + "foreground": "#111111" + } + }, + { + "name": "YAML key", + "scope": "entity.name.tag.yaml", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "JSON key", + "scope": "meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "JSON constant", + "scope": "constant.language.json", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "CSS class", + "scope": "entity.other.attribute-name.class", + "settings": { + "foreground": "#e95420" + } + }, + { + "name": "CSS ID", + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#ff0000" + } + }, + { + "name": "CSS tag", + "scope": "source.css entity.name.tag", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "HTML tag outer", + "scope": "meta.tag, punctuation.definition.tag", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "HTML tag inner", + "scope": "entity.name.tag", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "HTML tag attribute", + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#006666" + } + }, + { + "name": "Markdown heading", + "scope": "markup.heading", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "Markdown link text", + "scope": "text.html.markdown meta.link.inline, meta.link.reference", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "Markdown block quote", + "scope": "text.html.markdown markup.quote", + "settings": { + "foreground": "#333333" + } + }, + { + "name": "Markdown list item", + "scope": "text.html.markdown beginning.punctuation.definition.list", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "Markdown italic", + "scope": "markup.italic", + "settings": { + "foreground": "#742a10", + "fontStyle": "italic" + } + }, + { + "name": "Markdown bold", + "scope": "markup.bold", + "settings": { + "foreground": "#742a10", + "fontStyle": "bold" + } + }, + { + "name": "Markdown bold italic", + "scope": "markup.bold markup.italic, markup.italic markup.bold", + "settings": { + "foreground": "#742a10", + "fontStyle": "italic bold" + } + }, + { + "name": "Markdown code block", + "scope": "markup.fenced_code.block.markdown punctuation.definition.markdown", + "settings": { + "foreground": "#ff0000" + } + }, + { + "name": "Markdown inline code", + "scope": "markup.inline.raw.string.markdown", + "settings": { + "foreground": "#ff0000" + } + }, + { + "name": "INI property name", + "scope": "keyword.other.definition.ini", + "settings": { + "foreground": "#742a10" + } + }, + { + "name": "INI section title", + "scope": "entity.name.section.group-title.ini", + "settings": { + "foreground": "#903c7b" + } + }, + { + "name": "C# class", + "scope": "source.cs meta.class.identifier storage.type", + "settings": { + "foreground": "00ff00", + "fontStyle": "underline" + } + }, + { + "name": "C# class method", + "scope": "source.cs meta.method.identifier entity.name.function", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "C# function call", + "scope": "source.cs meta.method-call meta.method, source.cs entity.name.function", + "settings": { + "foreground": "#006666" + } + }, + { + "name": "C# type", + "scope": "source.cs storage.type", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "C# return type", + "scope": "source.cs meta.method.return-type", + "settings": { + "foreground": "00ff00" + } + }, + { + "name": "C# preprocessor", + "scope": "source.cs meta.preprocessor", + "settings": { + "foreground": "#333333" + } + }, + { + "name": "C# namespace", + "scope": "source.cs entity.name.type.namespace", + "settings": { + "foreground": "#111111" + } + }, + { + "name": "Global settings", + "settings": { + "background": "#edeef0", + "foreground": "#111111" + } + } + ], + "colors": { + "focusBorder": "#e95420", + "foreground": "#111111", + "dropdown.background": "#FFFFFF", + "input.background": "#FFFFFF", + "inputOption.activeBorder": "#e95420", + "list.activeSelectionBackground": "#e95420", + "list.dropBackground": "#e9542080", + "list.focusBackground": "#e9542080", + "list.hoverBackground": "#e4e4e4", + "list.inactiveSelectionBackground": "#e4e4e4", + "activityBar.background": "#e4e4e4", + "activityBar.dropBackground": "#e9542080", + "activityBarBadge.background": "#e95420", + "sideBar.background": "#f6f6f6", + "sideBarSectionHeader.background": "#e4e4e4", + "editorGroup.dropBackground": "#e9542080", + "editorGroup.focusedEmptyBorder": "#e95420", + "editorGroupHeader.tabsBackground": "#edeef0", + "tab.border": "#00000033", + "tab.activeBorder": "#e95420", + "tab.inactiveBackground": "#edeef0", + "tab.activeModifiedBorder": "#e95420", + "tab.inactiveModifiedBorder": "#8b3213", + "tab.unfocusedActiveModifiedBorder": "#ba4319", + "tab.unfocusedInactiveModifiedBorder": "#8b3213", + "editor.background": "#FFFFFF", + "editor.foreground": "#111111", + "editorLineNumber.foreground": "#aea79f", + "editorLineNumber.activeForeground": "#e95420", + "editor.selectionBackground": "#903c7b", + "editor.lineHighlightBorder": "#FFFFFF1a", + "editor.rangeHighlightBackground": "#FFFFFF0d", + "editorWhitespace.foreground": "#aea79f", + "editorIndentGuide.background": "#aea79f", + "editorWidget.background": "#f6f6f6", + "editorHoverWidget.background": "#f6f6f6", + "editorMarkerNavigation.background": "#f6f6f6", + "peekView.border": "#e95420", + "peekViewEditor.background": "#FFFFFF", + "peekViewResult.background": "#f6f6f6", + "peekViewTitle.background": "#f6f6f6", + "panel.background": "#edeef0", + "panel.border": "#FFFFFF1a", + "panelTitle.activeBorder": "#11111180", + "panelTitle.inactiveForeground": "#11111180", + "statusBar.background": "#FFFFFF", + "statusBar.debuggingBackground": "#e95420", + "statusBar.noFolderBackground": "#ffffff", + "statusBarItem.activeBackground": "#e9542080", + "statusBarItem.hoverBackground": "#FFFFFF1a", + "titleBar.activeBackground": "#2b2929", + "pickerGroup.border": "#FFFFFF1a", + "terminal.ansiBlack": "#000000", + "terminal.ansiBlue": "#0000aa", + "terminal.ansiBrightBlack": "#555555", + "terminal.ansiBrightBlue": "#5555ff", + "terminal.ansiBrightCyan": "#55ffff", + "terminal.ansiBrightGreen": "#55ff55", + "terminal.ansiBrightMagenta": "#ff55ff", + "terminal.ansiBrightRed": "#ff5555", + "terminal.ansiBrightWhite": "#ffffff", + "terminal.ansiBrightYellow": "#ffff55", + "terminal.ansiCyan": "#00aaaa", + "terminal.ansiGreen": "#00aa00", + "terminal.ansiMagenta": "#aa00aa", + "terminal.ansiRed": "#aa0000", + "terminal.ansiWhite": "#aaaaaa", + "terminal.ansiYellow": "#aa5500", + "debugToolBar.background": "#FFFFFF", + "selection.background": "#e95420", + "activityBar.foreground": "#111111", + "editorSuggestWidget.background": "#f6f6f6", + "menu.background": "#FFFFFF", + "menu.selectionBackground": "#e4e4e4", + "menu.selectionForeground": "#111111", + "menubar.selectionBackground": "#FFFFFF", + "menubar.selectionForeground": "#111111", + "statusBar.debuggingForeground": "#FFFFFF", + "statusBar.foreground": "#111111", + "tab.unfocusedInactiveBackground": "#edeef0", + "terminal.background": "#300a24", + "terminal.foreground": "#FFFFFF", + "titleBar.activeForeground": "#c0c0c0", + "titleBar.inactiveBackground": "#3d3a3a", + "titleBar.inactiveForeground": "#959697" + } +}
\ No newline at end of file diff --git a/themes/src/light/yaru.ts b/themes/src/light/yaru.ts new file mode 100644 index 0000000..b301c6d --- /dev/null +++ b/themes/src/light/yaru.ts @@ -0,0 +1,116 @@ +import * as path from 'path'; +import { generateTheme, IColorSet } from 'vscode-theme-generator'; + +const themeName = 'Yaru [Beta]'; +const colors = { + white: '#FFFFFF', + cyan: '#006666', + red: '#ff0000', + green: '00ff00', + ubuntuOrange: '#e95420', + lightAubergine: '#bb90b7', + midAubergine: '#903c7b', + darkAubergine: '#300a24', + titleBarGray: '#2b2929', + inactiveTitleBarGray: '#3d3a3a', + titleBarText: '#c0c0c0', + titleBarTextInactive: '#959697', + menuGray: '#494949', + bodyGray: '#edeef0', + editorGray: '#2f2f2f', + sideBarWhite: '#f6f6f6', + highlightGray: '#e4e4e4', + commentGray: '#a8a8a8', + textGray: '#111111', + ubuntuWarmGray: '#aea79f', + ubuntuCoolGray: '#333333', +} + +const colorSet: IColorSet = { + type: 'light', + base: { + background: colors.bodyGray, + foreground: colors.textGray, + color1: colors.ubuntuOrange, + color2: colors.red, + color3: colors.green, + color4: colors.cyan + }, + syntax: { + comment: colors.ubuntuCoolGray, + keyword: colors.midAubergine, + class: colors.green, + type: colors.green, + markdownQuote: colors.ubuntuCoolGray, + }, + terminal: { + black: '#000000', + red: '#aa0000', + green: '#00aa00', + yellow: '#aa5500', + blue: '#0000aa', + magenta: '#aa00aa', + cyan: '#00aaaa', + white: '#aaaaaa', + brightBlack: '#555555', + brightRed: '#ff5555', + brightGreen: '#55ff55', + brightYellow: '#ffff55', + brightBlue: '#5555ff', + brightMagenta: '#ff55ff', + brightCyan: '#55ffff', + brightWhite: '#ffffff', + }, + ui: { + invisibles: colors.ubuntuWarmGray, + guide: colors.ubuntuWarmGray, + selection: colors.midAubergine, + }, + overrides: { + 'activityBar.background': colors.highlightGray, + 'activityBar.foreground': colors.textGray, + 'debugToolBar.background': colors.white, + 'dropdown.background': colors.white, + 'editor.background': colors.white, + 'editorGroupHeader.tabsBackground': colors.bodyGray, + 'editorHoverWidget.background': colors.sideBarWhite, + 'editorLineNumber.foreground': colors.ubuntuWarmGray, + 'editorMarkerNavigation.background': colors.sideBarWhite, + 'editorSuggestWidget.background': colors.sideBarWhite, + 'editorWidget.background': colors.sideBarWhite, + 'input.background': colors.white, + 'list.activeSelectionBackground': colors.ubuntuOrange, + 'list.hoverBackground': colors.highlightGray, + 'list.inactiveSelectionBackground': colors.highlightGray, + 'menu.background': colors.white, + 'menu.selectionBackground': colors.highlightGray, + 'menu.selectionForeground': colors.textGray, + 'menubar.selectionBackground': colors.white, + 'menubar.selectionForeground': colors.textGray, + 'panel.background': colors.bodyGray, + 'peekViewEditor.background': colors.white, + 'peekViewResult.background': colors.sideBarWhite, + 'peekViewTitle.background': colors.sideBarWhite, + 'sideBar.background': colors.sideBarWhite, + 'sideBarSectionHeader.background': colors.highlightGray, + 'statusBar.background': colors.white, + 'statusBar.debuggingForeground': colors.white, + 'statusBar.foreground': colors.textGray, + 'tab.inactiveBackground': colors.bodyGray, + 'tab.unfocusedInactiveBackground': colors.bodyGray, + 'terminal.background': colors.darkAubergine, + 'terminal.foreground': colors.white, + 'titleBar.activeBackground': colors.titleBarGray, + 'titleBar.activeForeground': colors.titleBarText, + 'titleBar.inactiveBackground': colors.inactiveTitleBarGray, + 'titleBar.inactiveForeground': colors.titleBarTextInactive, + } +}; + +var fileName = themeName + .toLowerCase() + .replace(/\[\w*\]/, '') + .trim() + .replace(/\s+/, '-') + '.json'; + +generateTheme(themeName, colorSet, path.join(__dirname, fileName));
\ No newline at end of file |