From cf88ce4951aa3a70beeebdc5a0c3139be5c78ba9 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Mon, 1 May 2017 09:58:28 +0200
Subject: [PATCH 01/18] GHI-#8 Convert TM theme to new JSON theming API format
---
package.json | 2 +-
themes/Nord.tmTheme | 1311 -------------------------------------------
themes/nord.json | 806 ++++++++++++++++++++++++++
3 files changed, 807 insertions(+), 1312 deletions(-)
delete mode 100644 themes/Nord.tmTheme
create mode 100644 themes/nord.json
diff --git a/package.json b/package.json
index 6e65ffd..c2eb15f 100644
--- a/package.json
+++ b/package.json
@@ -58,7 +58,7 @@
{
"label": "Nord",
"uiTheme": "vs-dark",
- "path": "./themes/Nord.tmTheme"
+ "path": "./themes/nord.json"
}
]
},
diff --git a/themes/Nord.tmTheme b/themes/Nord.tmTheme
deleted file mode 100644
index f8f334c..0000000
--- a/themes/Nord.tmTheme
+++ /dev/null
@@ -1,1311 +0,0 @@
-
-
-
-
-
- name
- Nord
- author
- Arctic Ice Studio
- comment
- An arctic, north-bluish clean and elegant Visual Studio Code theme.
- colorSpaceName
- sRGB
- semanticClass
- nord
- settings
-
-
-
- settings
-
- background
- #2E3440
- caret
- #D8DEE9
- foreground
- #D8DEE9
- invisibles
- #4C566AB3
- lineHighlight
- #434C5E52
- selection
- #434C5ECC
-
- activeLinkForeground
- #8FBCBB
- ansiBlack
- #3B4252
- ansiBrightBlack
- #4C566A
- ansiRed
- #BF616A
- ansiBrightRed
- #BF616A
- ansiGreen
- #A3BE8C
- ansiBrightGreen
- #A3BE8C
- ansiYellow
- #EBCB8B
- ansiBrightYellow
- #EBCB8B
- ansiBlue
- #81A1C1
- ansiBrightBlue
- #81A1C1
- ansiMagenta
- #B48EAD
- ansiBrightMagenta
- #B48EAD
- ansiCyan
- #88C0D0
- ansiBrightCyan
- #8FBCBB
- ansiWhite
- #E5E9F0
- ansiBrightWhite
- #ECEFF4
- currentFindMatchHighlight
- #88C0D066
- findMatchHighlight
- #88C0D033
- findRangeHighlight
- #3B4252
- guide
- #4C566A
- hoverHighlight
- #3B4252
- inactiveSelection
- #434C5ECC
- rangeHighlight
- #434C5ECC
- referenceHighlight
- #88C0D066
- selectionHighlight
- #434C5ECC
- wordHighlight
- #88C0D04D
- wordHighlightStrong
- #88C0D033
-
-
-
-
- name
- Comment
- scope
- comment
- settings
-
- foreground
- #4C566A
-
-
-
- name
- Constant Character
- scope
- constant.character
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- Constant Character Escape
- scope
- constant.character.escape
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- Constant Language
- scope
- constant.language
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Constant Numeric
- scope
- constant.numeric
- settings
-
- foreground
- #B48EAD
-
-
-
- name
- Entity Name Class/Type
- scope
-
- entity.name.class,
- entity.name.type.class
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- Entity Name Function
- scope
- entity.name.function
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- Entity Name Tag
- scope
- entity.name.tag
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Entity Other Attribute Name
- scope
- entity.other.attribute-name
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- Entity Other Inherited Class
- scope
- entity.other.inherited-class
- settings
-
- fontStyle
- bold
- foreground
- #8FBCBB
-
-
-
- name
- Invalid Deprecated
- scope
- invalid.deprecated
- settings
-
- foreground
- #D8DEE9
- background
- #EBCB8B
-
-
-
- name
- Invalid Illegal
- scope
- invalid.illegal
- settings
-
- foreground
- #D8DEE9
- background
- #BF616A
-
-
-
- name
- Keyword
- scope
- keyword
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Keyword Operator
- scope
- keyword.operator
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Keyword Other New
- scope
- keyword.other.new
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Markup Bold
- scope
- markup.bold
- settings
-
- fontStyle
- bold
-
-
-
- name
- Markup Changed
- scope
- markup.changed
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- Markup Deleted
- scope
- markup.deleted
- settings
-
- foreground
- #BF616A
-
-
-
- name
- Markup Inserted
- scope
- markup.inserted
- settings
-
- foreground
- #A3BE8C
-
-
-
- name
- Meta Preprocessor
- scope
- meta.preprocessor
- settings
-
- foreground
- #5E81AC
-
-
-
- name
- Punctuation
- scope
- punctuation
- settings
-
- foreground
- #ECEFF4
-
-
-
- name
- Punctuation Definition Parameters
- scope
-
- punctuation.definition.method-parameters,
- punctuation.definition.function-parameters,
- punctuation.definition.parameters
-
- settings
-
- foreground
- #ECEFF4
-
-
-
- name
- Punctuation Definition Tag
- scope
- punctuation.definition.tag
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Punctuation Definition Comment
- scope
-
- punctuation.definition.comment,
- punctuation.end.definition.comment,
- punctuation.start.definition.comment
-
- settings
-
- foreground
- #4C566A
-
-
-
- name
- Punctuation Section
- scope
- punctuation.section
- settings
-
- foreground
- #ECEFF4
-
-
-
- name
- Punctuation Section Embedded
- scope
-
- punctuation.section.embedded.begin,
- punctuation.section.embedded.end
-
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Punctuation Terminator
- scope
- punctuation.terminator
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Punctuation Variable
- scope
- punctuation.definition.variable
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Storage
- scope
- storage
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- String
- scope
- string
- settings
-
- foreground
- #A3BE8C
-
-
-
- name
- String Regexp
- scope
- string.regexp
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- Support Class
- scope
- support.class
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- Support Constant
- scope
- support.constant
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Support Function
- scope
- support.function
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- Support Function Construct
- scope
- support.function.construct
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Support Type
- scope
- support.type
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- Support Type Exception
- scope
- support.type.exception
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- Variable
- scope
- variable.other
- settings
-
- foreground
- #D8DEE9
-
-
-
- name
- Variable Language
- scope
- variable.language
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- Variable Parameter
- scope
- variable.parameter
- settings
-
- foreground
- #D8DEE9
-
-
-
-
- name
- [C/CPP] Punctuation Separator Pointer-Access
- scope
- punctuation.separator.pointer-access.c
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [C/CPP] Meta Preprocessor Include
- scope
-
- source.c meta.preprocessor.include,
- source.c string.quoted.other.lt-gt.include
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [C/CPP] Conditional Directive
- scope
-
- source.cpp keyword.control.directive.conditional,
- source.cpp punctuation.definition.directive,
- source.c keyword.control.directive.conditional,
- source.c punctuation.definition.directive
-
- settings
-
- foreground
- #5E81AC
- fontStyle
- bold
-
-
-
- name
- [CSS] Constant Other Color RGB Value
- scope
- source.css constant.other.color.rgb-value
- settings
-
- foreground
- #B48EAD
-
-
-
- name
- [CSS](Function) Meta Property-Value
- scope
- source.css meta.property-value
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [CSS] Punctuation Definition Keyword
- scope
- source.css punctuation.definition.keyword
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [diff] Meta Range Context
- scope
- source.diff meta.diff.range.context
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [diff] Meta Header From-File
- scope
- source.diff meta.diff.header.from-file
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [diff] Punctuation Definition From-File
- scope
- source.diff punctuation.definition.from-file
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [diff] Punctuation Definition Range
- scope
- source.diff punctuation.definition.range
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [diff] Punctuation Definition Separator
- scope
- source.diff punctuation.definition.separator
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Go] String Format Placeholder
- scope
- source.go constant.other.placeholder
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- [Java](JavaDoc) Comment Block Documentation HTML Entities
- scope
- source.java comment.block.documentation.javadoc punctuation.definition.entity.html
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Java](JavaDoc) Constant Other
- scope
- source.java constant.other
- settings
-
- foreground
- #D8DEE9
-
-
-
- name
- [Java](JavaDoc) Keyword Other Documentation
- scope
- source.java keyword.other.documentation
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java](JavaDoc) Keyword Other Documentation Author
- scope
- source.java keyword.other.documentation.author.javadoc
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java](JavaDoc) Keyword Other Documentation Directive/Custom
- scope
-
- source.java keyword.other.documentation.directive,
- source.java keyword.other.documentation.custom
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java](JavaDoc) Keyword Other Documentation See
- scope
- source.java keyword.other.documentation.see.javadoc
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java] Meta Method-Call
- scope
- source.java meta.method-call meta.method
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [Java](JavaDoc) Meta Tag Template Link
- scope
-
- source.java meta.tag.template.link.javadoc,
- source.java string.other.link.title.javadoc
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java](JavaDoc) Meta Tag Template Value
- scope
- source.java meta.tag.template.value.javadoc
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [Java](JavaDoc) Punctuation Definition Keyword
- scope
- source.java punctuation.definition.keyword.javadoc
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java](JavaDoc) Punctuation Definition Tag
- scope
-
- source.java punctuation.definition.tag.begin.javadoc,
- source.java punctuation.definition.tag.end.javadoc
-
- settings
-
- foreground
- #4C566A
-
-
-
- name
- [Java] Storage Modifier Import
- scope
- source.java storage.modifier.import
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java] Storage Modifier Package
- scope
- source.java storage.modifier.package
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java] Storage Type
- scope
- source.java storage.type
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java] Storage Type Annotation
- scope
- source.java storage.type.annotation
- settings
-
- foreground
- #D08770
-
-
-
- name
- [Java] Storage Type Generic
- scope
- source.java storage.type.generic
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Java] Storage Type Primitive
- scope
- source.java storage.type.primitive
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [JavaScript] Decorator
- scope
-
- source.js punctuation.decorator,
- source.js meta.decorator variable.other.readwrite,
- source.js meta.decorator entity.name.function
-
- settings
-
- foreground
- #D08770
-
-
-
- name
- [JavaScript] Meta Object-Literal Key
- scope
- source.js meta.object-literal.key
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [JavaScript](JSDoc) Storage Type Class
- scope
- source.js storage.type.class.jsdoc
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [JavaScript] Support Type Primitive
- scope
- source.js support.type.primitive
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [JavaScript] Variable Other Object
- scope
- source.js meta.var.expr variable.other.object
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [JavaScript] Variable Other Read-Write Alias
- scope
- source.js variable.other.readwrite.alias
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [HTML] Constant Character Entity
- scope
- text.html.basic constant.character.entity.html
- settings
-
- foreground
- #EBCB8B
-
-
-
- name
- [HTML] Constant Other Inline-Data
- scope
- text.html.basic constant.other.inline-data
- settings
-
- foreground
- #D08770
- fontStyle
- italic
-
-
-
- name
- [HTML] Meta Tag SGML Doctype
- scope
- text.html.basic meta.tag.sgml.doctype
- settings
-
- foreground
- #5E81AC
-
-
-
- name
- [HTML] Punctuation Definition Entity
- scope
- text.html.basic punctuation.definition.entity
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [INI] Entity Name Section Group-Title
- scope
- source.properties entity.name.section.group-title.ini
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [INI] Punctuation Separator Key-Value
- scope
- source.properties punctuation.separator.key-value.ini
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Markdown] Markup Fenced Code Block
- scope
-
- text.html.markdown markup.fenced_code.block,
- text.html.markdown markup.fenced_code.block punctuation.definition
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Markdown] Markup Heading
- scope
- markup.heading
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [Markdown] Markup Inline
- scope
-
- text.html.markdown markup.inline.raw,
- text.html.markdown markup.inline.raw punctuation.definition.raw
-
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Markdown] Markup Italic
- scope
- text.html.markdown markup.italic
- settings
-
- fontStyle
- italic
-
-
-
- name
- [Markdown] Markup List Numbered/Unnumbered
- scope
- text.html.markdown beginning.punctuation.definition.list
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Markdown] Markup Quote Punctuation Definition
- scope
- text.html.markdown beginning.punctuation.definition.quote
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [Markdown] Markup Quote Punctuation Definition
- scope
- text.html.markdown markup.quote
- settings
-
- foreground
- #4C566A
-
-
-
- name
- [Markdown] Punctuation Definition Heading
- scope
- text.html.markdown punctuation.definition.heading
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Markdown] Punctuation Definition Constant/String
- scope
-
- text.html.markdown punctuation.definition.constant,
- text.html.markdown punctuation.definition.string
-
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [Markdown] String Other Link Description/Title
- scope
-
- text.html.markdown constant.other.reference.link,
- text.html.markdown string.other.link.description,
- text.html.markdown string.other.link.title
-
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [PHP] Meta Function-Call Object
- scope
-
- source.php meta.function-call,
- source.php meta.function-call.object
-
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [Python] Decorator
- scope
-
- source.python entity.name.function.decorator,
- source.python meta.function.decorator support.type
-
- settings
-
- foreground
- #D08770
-
-
-
- name
- [Python] Support Type
- scope
- source.python support.type
- settings
-
- foreground
- #88C0D0
-
-
-
- name
- [SCSS] Punctuation Definition Interpolation Bracket Curly
- scope
-
- source.css.scss punctuation.definition.interpolation.begin.bracket.curly,
- source.css.scss punctuation.definition.interpolation.end.bracket.curly
-
- settings
-
- foreground
- #81A1C1
-
-
-
- name
- [SCSS] Variable Interpolation
- scope
- source.css.scss variable.interpolation
- settings
-
- foreground
- #D8DEE9
- fontStyle
- italic
-
-
-
- name
- [XML] Entity Name Tag Namespace
- scope
- text.xml entity.name.tag.namespace
- settings
-
- foreground
- #8FBCBB
-
-
-
- name
- [XML] Keyword Other Doctype
- scope
- text.xml keyword.other.doctype
- settings
-
- foreground
- #5E81AC
-
-
-
- name
- [XML] Meta Tag Preprocessor
- scope
- text.xml meta.tag.preprocessor entity.name.tag
- settings
-
- foreground
- #5E81AC
-
-
-
- name
- [XML] Entity Name Tag Namespace
- scope
-
- text.xml string.unquoted.cdata,
- text.xml string.unquoted.cdata punctuation.definition.string
-
- settings
-
- foreground
- #D08770
- fontStyle
- italic
-
-
-
- name
- [YAML] Entity Name Tag
- scope
- source.yaml entity.name.tag
- settings
-
- foreground
- #8FBCBB
-
-
-
-
- uuid
- E8F8104E-3E44-4785-9750-EA0FEAE7EEED
-
-
diff --git a/themes/nord.json b/themes/nord.json
new file mode 100644
index 0000000..491575d
--- /dev/null
+++ b/themes/nord.json
@@ -0,0 +1,806 @@
+{
+ "name": "Nord",
+ "tokenColors": [
+ {
+ "settings": {
+ "foreground": "#d8dee9ff",
+ "background": "#2e3440ff"
+ }
+ },
+ {
+ "name": "Comment",
+ "scope": "comment",
+ "settings": {
+ "foreground": "#4C566A"
+ }
+ },
+ {
+ "name": "Constant Character",
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#EBCB8B"
+ }
+ },
+ {
+ "name": "Constant Character Escape",
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#EBCB8B"
+ }
+ },
+ {
+ "name": "Constant Language",
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Constant Numeric",
+ "scope": "constant.numeric",
+ "settings": {
+ "foreground": "#B48EAD"
+ }
+ },
+ {
+ "name": "Entity Name Class/Type",
+ "scope": [
+ "entity.name.class",
+ "entity.name.type.class"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Entity Name Function",
+ "scope": "entity.name.function",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "Entity Name Tag",
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Entity Other Attribute Name",
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Entity Other Inherited Class",
+ "scope": "entity.other.inherited-class",
+ "settings": {
+ "fontStyle": "bold",
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Invalid Deprecated",
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#D8DEE9",
+ "background": "#EBCB8B"
+ }
+ },
+ {
+ "name": "Invalid Illegal",
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#D8DEE9",
+ "background": "#BF616A"
+ }
+ },
+ {
+ "name": "Keyword",
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Keyword Operator",
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Keyword Other New",
+ "scope": "keyword.other.new",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Markup Bold",
+ "scope": "markup.bold",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "Markup Changed",
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#EBCB8B"
+ }
+ },
+ {
+ "name": "Markup Deleted",
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#BF616A"
+ }
+ },
+ {
+ "name": "Markup Inserted",
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#A3BE8C"
+ }
+ },
+ {
+ "name": "Meta Preprocessor",
+ "scope": "meta.preprocessor",
+ "settings": {
+ "foreground": "#5E81AC"
+ }
+ },
+ {
+ "name": "Punctuation",
+ "scope": "punctuation",
+ "settings": {
+ "foreground": "#ECEFF4"
+ }
+ },
+ {
+ "name": "Punctuation Definition Parameters",
+ "scope": [
+ "punctuation.definition.method-parameters",
+ "punctuation.definition.function-parameters",
+ "punctuation.definition.parameters"
+ ],
+ "settings": {
+ "foreground": "#ECEFF4"
+ }
+ },
+ {
+ "name": "Punctuation Definition Tag",
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Punctuation Definition Comment",
+ "scope": [
+ "punctuation.definition.comment",
+ "punctuation.end.definition.comment",
+ "punctuation.start.definition.comment"
+ ],
+ "settings": {
+ "foreground": "#4C566A"
+ }
+ },
+ {
+ "name": "Punctuation Section",
+ "scope": "punctuation.section",
+ "settings": {
+ "foreground": "#ECEFF4"
+ }
+ },
+ {
+ "name": "Punctuation Section Embedded",
+ "scope": [
+ "punctuation.section.embedded.begin",
+ "punctuation.section.embedded.end"
+ ],
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Punctuation Terminator",
+ "scope": "punctuation.terminator",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Punctuation Variable",
+ "scope": "punctuation.definition.variable",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Storage",
+ "scope": "storage",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "String",
+ "scope": "string",
+ "settings": {
+ "foreground": "#A3BE8C"
+ }
+ },
+ {
+ "name": "String Regexp",
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#EBCB8B"
+ }
+ },
+ {
+ "name": "Support Class",
+ "scope": "support.class",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Support Constant",
+ "scope": "support.constant",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Support Function",
+ "scope": "support.function",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "Support Function Construct",
+ "scope": "support.function.construct",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Support Type",
+ "scope": "support.type",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Support Type Exception",
+ "scope": "support.type.exception",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "Token Debug",
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#b48ead"
+ }
+ },
+ {
+ "name": "Token Error",
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#bf616a"
+ }
+ },
+ {
+ "name": "Token Info",
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#88c0d0"
+ }
+ },
+ {
+ "name": "Token Warning",
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#ebcb8b"
+ }
+ },
+ {
+ "name": "Variable",
+ "scope": "variable.other",
+ "settings": {
+ "foreground": "#D8DEE9"
+ }
+ },
+ {
+ "name": "Variable Language",
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "Variable Parameter",
+ "scope": "variable.parameter",
+ "settings": {
+ "foreground": "#D8DEE9"
+ }
+ },
+ {
+ "name": "[C/CPP] Punctuation Separator Pointer-Access",
+ "scope": "punctuation.separator.pointer-access.c",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[C/CPP] Meta Preprocessor Include",
+ "scope": [
+ "source.c meta.preprocessor.include",
+ "source.c string.quoted.other.lt-gt.include"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[C/CPP] Conditional Directive",
+ "scope": [
+ "source.cpp keyword.control.directive.conditional",
+ "source.cpp punctuation.definition.directive",
+ "source.c keyword.control.directive.conditional",
+ "source.c punctuation.definition.directive"
+ ],
+ "settings": {
+ "foreground": "#5E81AC",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "name": "[CSS] Constant Other Color RGB Value",
+ "scope": "source.css constant.other.color.rgb-value",
+ "settings": {
+ "foreground": "#B48EAD"
+ }
+ },
+ {
+ "name": "[CSS](Function) Meta Property-Value",
+ "scope": "source.css meta.property-value",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[CSS] Punctuation Definition Keyword",
+ "scope": "source.css punctuation.definition.keyword",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[diff] Meta Range Context",
+ "scope": "source.diff meta.diff.range.context",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[diff] Meta Header From-File",
+ "scope": "source.diff meta.diff.header.from-file",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[diff] Punctuation Definition From-File",
+ "scope": "source.diff punctuation.definition.from-file",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[diff] Punctuation Definition Range",
+ "scope": "source.diff punctuation.definition.range",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[diff] Punctuation Definition Separator",
+ "scope": "source.diff punctuation.definition.separator",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Comment Block Documentation HTML Entities",
+ "scope": "source.java comment.block.documentation.javadoc punctuation.definition.entity.html",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Constant Other",
+ "scope": "source.java constant.other",
+ "settings": {
+ "foreground": "#D8DEE9"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Keyword Other Documentation",
+ "scope": "source.java keyword.other.documentation",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Keyword Other Documentation Author",
+ "scope": "source.java keyword.other.documentation.author.javadoc",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Keyword Other Documentation Directive/Custom",
+ "scope": [
+ "source.java keyword.other.documentation.directive",
+ "source.java keyword.other.documentation.custom"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Keyword Other Documentation See",
+ "scope": "source.java keyword.other.documentation.see.javadoc",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java] Meta Method-Call",
+ "scope": "source.java meta.method-call meta.method",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Meta Tag Template Link",
+ "scope": [
+ "source.java meta.tag.template.link.javadoc",
+ "source.java string.other.link.title.javadoc"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Meta Tag Template Value",
+ "scope": "source.java meta.tag.template.value.javadoc",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Punctuation Definition Keyword",
+ "scope": "source.java punctuation.definition.keyword.javadoc",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java](JavaDoc) Punctuation Definition Tag",
+ "scope": [
+ "source.java punctuation.definition.tag.begin.javadoc",
+ "source.java punctuation.definition.tag.end.javadoc"
+ ],
+ "settings": {
+ "foreground": "#4C566A"
+ }
+ },
+ {
+ "name": "[Java] Storage Modifier Import",
+ "scope": "source.java storage.modifier.import",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java] Storage Modifier Package",
+ "scope": "source.java storage.modifier.package",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java] Storage Type",
+ "scope": "source.java storage.type",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java] Storage Type Annotation",
+ "scope": "source.java storage.type.annotation",
+ "settings": {
+ "foreground": "#D08770"
+ }
+ },
+ {
+ "name": "[Java] Storage Type Generic",
+ "scope": "source.java storage.type.generic",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Java] Storage Type Primitive",
+ "scope": "source.java storage.type.primitive",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[JavaScript] Decorator",
+ "scope": [
+ "source.js punctuation.decorator",
+ "source.js meta.decorator variable.other.readwrite",
+ "source.js meta.decorator entity.name.function"
+ ],
+ "settings": {
+ "foreground": "#D08770"
+ }
+ },
+ {
+ "name": "[JavaScript] Meta Object-Literal Key",
+ "scope": "source.js meta.object-literal.key",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[JavaScript](JSDoc) Storage Type Class",
+ "scope": "source.js storage.type.class.jsdoc",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[JavaScript] Support Type Primitive",
+ "scope": "source.js support.type.primitive",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[JavaScript] Variable Other Object",
+ "scope": "source.js meta.var.expr variable.other.object",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[JavaScript] Variable Other Read-Write Alias",
+ "scope": "source.js variable.other.readwrite.alias",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[HTML] Constant Character Entity",
+ "scope": "text.html.basic constant.character.entity.html",
+ "settings": {
+ "foreground": "#EBCB8B"
+ }
+ },
+ {
+ "name": "[HTML] Constant Other Inline-Data",
+ "scope": "text.html.basic constant.other.inline-data",
+ "settings": {
+ "foreground": "#D08770",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "[HTML] Meta Tag SGML Doctype",
+ "scope": "text.html.basic meta.tag.sgml.doctype",
+ "settings": {
+ "foreground": "#5E81AC"
+ }
+ },
+ {
+ "name": "[HTML] Punctuation Definition Entity",
+ "scope": "text.html.basic punctuation.definition.entity",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[INI] Entity Name Section Group-Title",
+ "scope": "source.properties entity.name.section.group-title.ini",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[INI] Punctuation Separator Key-Value",
+ "scope": "source.properties punctuation.separator.key-value.ini",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Fenced Code Block",
+ "scope": [
+ "text.html.markdown markup.fenced_code.block",
+ "text.html.markdown markup.fenced_code.block punctuation.definition"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Heading",
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Inline",
+ "scope": [
+ "text.html.markdown markup.inline.raw",
+ "text.html.markdown markup.inline.raw punctuation.definition.raw"
+ ],
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Italic",
+ "scope": "text.html.markdown markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "[Markdown] Markup List Numbered/Unnumbered",
+ "scope": "text.html.markdown beginning.punctuation.definition.list",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Quote Punctuation Definition",
+ "scope": "text.html.markdown beginning.punctuation.definition.quote",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[Markdown] Markup Quote Punctuation Definition",
+ "scope": "text.html.markdown markup.quote",
+ "settings": {
+ "foreground": "#4C566A"
+ }
+ },
+ {
+ "name": "[Markdown] Punctuation Definition Heading",
+ "scope": "text.html.markdown punctuation.definition.heading",
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Markdown] Punctuation Definition Constant/String",
+ "scope": [
+ "text.html.markdown punctuation.definition.constant",
+ "text.html.markdown punctuation.definition.string"
+ ],
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[Markdown] String Other Link Description/Title",
+ "scope": [
+ "text.html.markdown constant.other.reference.link",
+ "text.html.markdown string.other.link.description",
+ "text.html.markdown string.other.link.title"
+ ],
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[PHP] Meta Function-Call Object",
+ "scope": [
+ "source.php meta.function-call",
+ "source.php meta.function-call.object"
+ ],
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[Python] Decorator",
+ "scope": [
+ "source.python entity.name.function.decorator",
+ "source.python meta.function.decorator support.type"
+ ],
+ "settings": {
+ "foreground": "#D08770"
+ }
+ },
+ {
+ "name": "[Python] Support Type",
+ "scope": "source.python support.type",
+ "settings": {
+ "foreground": "#88C0D0"
+ }
+ },
+ {
+ "name": "[SCSS] Punctuation Definition Interpolation Bracket Curly",
+ "scope": [
+ "source.css.scss punctuation.definition.interpolation.begin.bracket.curly",
+ "source.css.scss punctuation.definition.interpolation.end.bracket.curly"
+ ],
+ "settings": {
+ "foreground": "#81A1C1"
+ }
+ },
+ {
+ "name": "[SCSS] Variable Interpolation",
+ "scope": "source.css.scss variable.interpolation",
+ "settings": {
+ "foreground": "#D8DEE9",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "[XML] Entity Name Tag Namespace",
+ "scope": "text.xml entity.name.tag.namespace",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ },
+ {
+ "name": "[XML] Keyword Other Doctype",
+ "scope": "text.xml keyword.other.doctype",
+ "settings": {
+ "foreground": "#5E81AC"
+ }
+ },
+ {
+ "name": "[XML] Meta Tag Preprocessor",
+ "scope": "text.xml meta.tag.preprocessor entity.name.tag",
+ "settings": {
+ "foreground": "#5E81AC"
+ }
+ },
+ {
+ "name": "[XML] Entity Name Tag Namespace",
+ "scope": [
+ "text.xml string.unquoted.cdata",
+ "text.xml string.unquoted.cdata punctuation.definition.string"
+ ],
+ "settings": {
+ "foreground": "#D08770",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "name": "[YAML] Entity Name Tag",
+ "scope": "source.yaml entity.name.tag",
+ "settings": {
+ "foreground": "#8FBCBB"
+ }
+ }
+ ]
+}
From bf418530a707f742d4d986da616cd379c2704670 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Mon, 1 May 2017 09:59:22 +0200
Subject: [PATCH 02/18] GHI-#8 Implement new workbench (UI) theme styles
---
themes/nord.json | 134 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 134 insertions(+)
diff --git a/themes/nord.json b/themes/nord.json
index 491575d..6cf5abf 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -1,5 +1,139 @@
{
"name": "Nord",
+ "type": "dark",
+ "colors": {
+ "focusBorder": "#3b4252",
+ "foreground": "#d8dee9",
+ "contrastActiveBorder": "#434c5e00",
+ "contrastBorder": "#434c5e00",
+ "activityBar.background": "#2e3440",
+ "activityBar.dropBackground": "#3b4252",
+ "activityBar.foreground": "#d8dee9",
+ "activityBarBadge.background": "#88c0d0",
+ "activityBarBadge.foreground": "#2e3440",
+ "button.background": "#434c5e",
+ "button.foreground": "#d8dee9",
+ "button.hoverBackground": "#4c566a",
+ "diffEditor.insertedTextBackground": "#a3be8cc0",
+ "diffEditor.insertedTextBorder": "#a3be8cc0",
+ "diffEditor.removedTextBackground": "#bf616ac0",
+ "diffEditor.removedTextBorder": "#bf616ac0",
+ "dropdown.background": "#3b4252",
+ "dropdown.border": "#3b4252",
+ "dropdown.foreground": "#d8dee9",
+ "editorCursor.foreground": "#d8dee9",
+ "editorIndentGuide.background": "#434c5eb3",
+ "editorLineNumber.foreground": "#d8dee966",
+ "editorWhitespace.foreground": "#4c566ab3",
+ "editorWidget.background": "#2e3440",
+ "editor.background": "#2e3440",
+ "editor.foreground": "#d8dee9",
+ "editor.hoverHighlightBackground": "#3b4252",
+ "editor.findMatchBackground": "#88c0d066",
+ "editor.findMatchHighlightBackground": "#88c0d033",
+ "editor.findRangeHighlightBackground": "#88c0d033",
+ "editor.lineHighlightBackground": "#434c5e52",
+ "editor.lineHighlightBorder": "#434c5e52",
+ "editor.inactiveSelectionBackground": "#434c5ecc",
+ "editor.selectionBackground": "#434c5ecc",
+ "editor.selectionHighlightBackground": "#434c5ecc",
+ "editor.rangeHighlightBackground": "#434c5e52",
+ "editorGroup.background": "#2e3440",
+ "editorGroup.border": "#3b425200",
+ "editorGroup.dropBackground": "#2e3440",
+ "editorGroupHeader.noTabsBackground": "#2e3440",
+ "editorGroupHeader.tabsBackground": "#2e3440",
+ "editorHoverWidget.background": "#3b4252",
+ "editorHoverWidget.border": "#3b4252",
+ "editorLink.activeForeground": "#88c0d0",
+ "editorMarkerNavigation.background": "#5e81acc0",
+ "editorMarkerNavigationError.background": "#bf616ac0",
+ "editorMarkerNavigationWarning.background": "#ebcb8bc0",
+ "editorSuggestWidget.background": "#2e3440",
+ "editorSuggestWidget.border": "#3b4252",
+ "editorSuggestWidget.foreground": "#d8dee9",
+ "editorSuggestWidget.highlightForeground": "#88c0d0",
+ "editorSuggestWidget.selectedBackground": "#434c5e",
+ "input.background": "#3b4252",
+ "input.foreground": "#d8dee9",
+ "input.border": "#3b4252",
+ "inputOption.activeBorder": "#88c0d0",
+ "inputValidation.errorBackground": "#bf616ac0",
+ "inputValidation.errorBorder": "#bf616ac0",
+ "inputValidation.infoBackground": "#81a1c1c0",
+ "inputValidation.infoBorder": "#81a1c1c0",
+ "inputValidation.warningBackground": "#ebcb8bc0",
+ "inputValidation.warningBorder": "#ebcb8bc0",
+ "list.activeSelectionBackground": "#3b4252",
+ "list.activeSelectionForeground": "#d8dee9",
+ "list.inactiveSelectionBackground": "#3b4252",
+ "list.focusBackground": "#434c5e",
+ "list.hoverBackground": "#434c5e99",
+ "list.dropBackground": "#3b4252",
+ "list.highlightForeground": "#88c0d033",
+ "notification.background": "#3b4252",
+ "notification.foreground": "#d8dee9",
+ "panel.background": "#2e3440",
+ "panel.border": "#3b4252",
+ "panelTitle.activeBorder": "#88c0d000",
+ "panelTitle.activeForeground": "#88c0d0",
+ "panelTitle.inactiveForeground": "#d8dee9",
+ "peekView.border": "#4c566a",
+ "peekViewEditor.background": "#2e3440",
+ "peekViewEditor.matchHighlightBackground": "#88c0d0cc",
+ "peekViewResult.background": "#2e3440",
+ "peekViewResult.fileForeground": "#88c0d0",
+ "peekViewResult.lineForeground": "#d8dee966",
+ "peekViewResult.matchHighlightBackground": "#88c0d0cc",
+ "peekViewResult.selectionBackground": "#434c5e",
+ "peekViewResult.selectionForeground": "#d8dee9",
+ "peekViewTitle.background": "#3b4252",
+ "peekViewTitleDescription.foreground": "#d8dee9",
+ "peekViewTitleLabel.foreground": "#88c0d0",
+ "pickerGroup.border": "#3b425200",
+ "pickerGroup.foreground": "#d8dee9",
+ "scrollbar.shadow": "#00000066",
+ "scrollbarSlider.activeBackground": "#434c5e",
+ "scrollbarSlider.background": "#3b4252",
+ "scrollbarSlider.hoverBackground": "#434c5e",
+ "sideBar.background": "#2e3440",
+ "sideBarSectionHeader.background": "#3b4252",
+ "sideBarTitle.foreground": "#d8dee9",
+ "statusBar.background": "#3b4252",
+ "statusBar.debuggingBackground": "#5e81ac",
+ "statusBar.foreground": "#d8dee9",
+ "statusBar.noFolderBackground": "#3b4252",
+ "statusBarItem.activeBackground": "#4c566a",
+ "statusBarItem.hoverBackground": "#434c5e",
+ "statusBarItem.prominentBackground": "#3b4252",
+ "statusBarItem.prominentHoverBackground": "#434c5e",
+ "tab.activeBackground": "#3b4252",
+ "tab.activeForeground": "#d8dee9",
+ "tab.border": "#3b425200",
+ "tab.inactiveBackground": "#2e3440",
+ "tab.inactiveForeground": "#d8dee966",
+ "terminal.ansiBlack": "#3b4252",
+ "terminal.ansiRed": "#bf616a",
+ "terminal.ansiGreen": "#a3be8c",
+ "terminal.ansiYellow": "#ebcb8b",
+ "terminal.ansiBlue": "#81a1c1",
+ "terminal.ansiMagenta": "#b48ead",
+ "terminal.ansiCyan": "#88c0d0",
+ "terminal.ansiWhite": "#e5e9f0",
+ "terminal.ansiBrightBlack": "#4c566a",
+ "terminal.ansiBrightRed": "#bf616a",
+ "terminal.ansiBrightGreen": "#a3be8c",
+ "terminal.ansiBrightYellow": "#ebcb8b",
+ "terminal.ansiBrightBlue": "#81a1c1",
+ "terminal.ansiBrightMagenta": "#b48ead",
+ "terminal.ansiBrightCyan": "#8fbcbb",
+ "terminal.ansiBrightWhite": "#eceff4",
+ "titleBar.activeBackground": "#2e3440",
+ "titleBar.activeForeground": "#d8dee9",
+ "titleBar.inactiveBackground": "#2e3440",
+ "titleBar.inactiveForeground": "#d8dee966",
+ "widget.shadow": "#00000066"
+ },
"tokenColors": [
{
"settings": {
From e563786bc36890119cf8951e70786edd55cd8c60 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Tue, 2 May 2017 20:32:24 +0200
Subject: [PATCH 03/18] GHI-#8 Fix uncolorized highlight- and hover background
in lists
The "contrastBorder" and "contrastActiveBorder" also effecting the
background of the elements they are applied on.
---
themes/nord.json | 3 ---
1 file changed, 3 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 6cf5abf..1741934 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -4,8 +4,6 @@
"colors": {
"focusBorder": "#3b4252",
"foreground": "#d8dee9",
- "contrastActiveBorder": "#434c5e00",
- "contrastBorder": "#434c5e00",
"activityBar.background": "#2e3440",
"activityBar.dropBackground": "#3b4252",
"activityBar.foreground": "#d8dee9",
@@ -90,7 +88,6 @@
"peekViewTitle.background": "#3b4252",
"peekViewTitleDescription.foreground": "#d8dee9",
"peekViewTitleLabel.foreground": "#88c0d0",
- "pickerGroup.border": "#3b425200",
"pickerGroup.foreground": "#d8dee9",
"scrollbar.shadow": "#00000066",
"scrollbarSlider.activeBackground": "#434c5e",
From debe5ddb765eef1cb4a0a961d4130091ebf74312 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Tue, 2 May 2017 20:35:08 +0200
Subject: [PATCH 04/18] GHI-#8 Fix the color of matching text segments in
palettes
---
themes/nord.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/nord.json b/themes/nord.json
index 1741934..7b3511c 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -68,7 +68,7 @@
"list.focusBackground": "#434c5e",
"list.hoverBackground": "#434c5e99",
"list.dropBackground": "#3b4252",
- "list.highlightForeground": "#88c0d033",
+ "list.highlightForeground": "#88c0d0",
"notification.background": "#3b4252",
"notification.foreground": "#d8dee9",
"panel.background": "#2e3440",
From c9ac86aec2c936e8f3e7462e7eccda7e2d7cd20b Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Tue, 2 May 2017 20:37:30 +0200
Subject: [PATCH 05/18] GHI-#8 Rewrite gulp tasks for new JSON theme format
---
.editorconfig | 10 +++----
.eslintrc.js | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++
.npmrc | 1 +
gulpfile.js | 30 ++++++++++++--------
package.json | 6 ++--
5 files changed, 107 insertions(+), 18 deletions(-)
create mode 100644 .eslintrc.js
create mode 100644 .npmrc
diff --git a/.editorconfig b/.editorconfig
index 04a8afa..971a514 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,6 +1,6 @@
-# ++++++++++++++++++++++
+# +--------------------+
# + Base Configuration +
-# ++++++++++++++++++++++
+# +--------------------+
[*]
charset = utf-8
end_of_line = lf
@@ -10,9 +10,9 @@ insert_final_newline = true
max_line_length = 160
trim_trailing_whitespace = true
-# +++++++++++++
+# +-----------+
# + Languages +
-# +++++++++++++
-# +++ Markdown +++
+# +-----------+
+# +--- Markdown ---+
[*.{md,gfm}]
trim_trailing_whitespace = false
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..c4403a9
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,78 @@
+/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+title ESLint Configuration +
+project nord-visual-studio-code +
+repository https://github.com/arcticicestudio/nord-visual-studio-code +
+author Arctic Ice Studio +
+email development@arcticicestudio.com +
+copyright Copyright (C) 2017 +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[References]
+ESLint
+ http://eslint.org/docs/rules
+ http://eslint.org/docs/user-guide/configuring
+ http://eslint.org/docs/user-guide/configuring#using-configuration-files
+ http://eslint.org/docs/user-guide/configuring#specifying-environments
+ http://eslint.org/docs/user-guide/configuring.html#specifying-globals
+*/
+module.exports = {
+ "env": {
+ "node": true,
+ "es6": true,
+ "browser": true
+ },
+ "parserOptions": {
+ "ecmaVersion": 6,
+ "ecmaFeatures": {}
+ },
+ "plugins": [
+ "json"
+ ],
+ "extends": [
+ "eslint:recommended"
+ ],
+ "rules": {
+ // Style Guide
+ "array-bracket-spacing": ["error", "never"],
+ "comma-dangle": ["error", "never"],
+ "curly":["error", "all"],
+ "func-call-spacing": ["error", "never"],
+ "indent": ["error", 2],
+ "linebreak-style": ["error", "unix"],
+ "no-duplicate-imports": "error",
+ "no-floating-decimal": "error",
+ "no-tabs": "error",
+ "no-trailing-spaces": ["error", {
+ "skipBlankLines": false
+ }],
+ "no-var": "error",
+ "no-whitespace-before-property": "error",
+ "quotes": ["error", "double"],
+ "semi": ["error", "always"],
+ // Error Prevention
+ "no-cond-assign": ["error", "always"],
+ "no-console": "off",
+ // Code Performance
+ "global-require": "warn",
+ // Documentation
+ "require-jsdoc": ["warn", {
+ "require": {
+ "FunctionDeclaration": true,
+ "MethodDefinition": false,
+ "ClassDeclaration": true,
+ "ArrowFunctionExpression": false
+ }
+ }],
+ "valid-jsdoc": ["error", {
+ "prefer": {
+ "arg": "param",
+ "argument": "param",
+ "class": "constructor",
+ "virtual": "abstract"
+ },
+ "requireParamDescription": true,
+ "requireReturnDescription": true
+ }]
+ }
+};
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..cffe8cd
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+save-exact=true
diff --git a/gulpfile.js b/gulpfile.js
index 0bbc11b..1efe25f 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,3 +1,4 @@
+"use strict";
/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title Project Gulp File +
@@ -10,22 +11,20 @@ copyright Copyright (C) 2017 +
[References]
Gulp
- (http://gulpjs.com)
+ http://gulpjs.com
npmjs
- (https://www.npmjs.com)
+ https://www.npmjs.com
*/
-
-"use strict";
/*+---------+
+ Imports +
+---------+*/
const gulp = require("gulp-help")(require("gulp"));
-const xmlValidator = require("gulp-xml-validator");
+const eslint = require("gulp-eslint");
/*+---------------+
+ Configuration +
+---------------+*/
-const tmThemeFiles = ["themes/*.tmTheme"];
+const jsonThemeFiles = ["themes/**/*.json"];
/*+-------+
+ Tasks +
@@ -38,11 +37,20 @@ const tmThemeFiles = ["themes/*.tmTheme"];
gulp.task("default", ["help"]);
/**
- * Lints all color theme files.
+ * Runs all lint tasks.
*
- * @since 0.1.0
+ * @since 0.2.0
+ */
+gulp.task("lint", "Runs all lint tasks", ["lint-json"]);
+
+/**
+ * Lints all JSON color theme sources.
+ *
+ * @since 0.2.0
*/
-gulp.task('lint', "Lints all color theme files", () => {
- return gulp.src(tmThemeFiles)
- .pipe(xmlValidator());
+gulp.task("lint-json", "Lints all JSON color theme sources", () => {
+ return gulp.src(jsonThemeFiles)
+ .pipe(eslint())
+ .pipe(eslint.format())
+ .pipe(eslint.failAfterError());
});
diff --git a/package.json b/package.json
index c2eb15f..180038e 100644
--- a/package.json
+++ b/package.json
@@ -63,8 +63,10 @@
]
},
"devDependencies": {
+ "eslint": "3.19.0",
+ "eslint-plugin-json": "1.2.0",
"gulp": "3.9.1",
- "gulp-help": "1.6.1",
- "gulp-xml-validator": "0.1.2"
+ "gulp-eslint": "3.0.1",
+ "gulp-help": "1.6.1"
}
}
From a064a708de4bd65d42a76fd5e55d4824de7c3583 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Tue, 2 May 2017 20:41:07 +0200
Subject: [PATCH 06/18] GHI-#8 Update Travis CI- and Circle CI build
configurations
---
.travis.yml | 15 ++++++++++-----
circle.yml | 14 ++++++++++----
2 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 472c89f..6f1aaee 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,12 +11,17 @@
# Travis CI Documentation
# (https://docs.travis-ci.com)
language: node_js
+dist: trusty
+sudo: false
node_js:
+ - "4"
- "6"
-cache:
- directories:
- - $HOME/node_modules
+ - "7"
+before_install:
+ - rm -rf ./node_modules
before_script:
- - npm install -g gulp
+ - npm install -g gulp-cli
+ - npm install gulp
- npm install
-script: gulp lint
+script:
+ - gulp --harmony lint
diff --git a/circle.yml b/circle.yml
index 8bc3da2..820156d 100644
--- a/circle.yml
+++ b/circle.yml
@@ -9,14 +9,20 @@
#
# [References]
# Circle CI
-# (https://circleci.com/docs)
+# https://circleci.com/docs
+machine:
+ environment:
+ PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
machine:
node:
- version: 6.1.0
+ version: 7
dependencies:
+ pre:
+ - rm -rf ./node_modules
override:
- - npm install -g gulp
+ - npm install -g gulp-cli
+ - npm install gulp
- npm install
test:
override:
- - gulp lint
+ - gulp --harmony lint
From 2e51d5605cd9bd9d3738d620be8b11abee589ccd Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 10:20:15 +0200
Subject: [PATCH 07/18] GHI-#8 Remove transparency from all validation
attributes
---
themes/nord.json | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 7b3511c..0b0e29f 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -56,12 +56,12 @@
"input.foreground": "#d8dee9",
"input.border": "#3b4252",
"inputOption.activeBorder": "#88c0d0",
- "inputValidation.errorBackground": "#bf616ac0",
- "inputValidation.errorBorder": "#bf616ac0",
- "inputValidation.infoBackground": "#81a1c1c0",
- "inputValidation.infoBorder": "#81a1c1c0",
- "inputValidation.warningBackground": "#ebcb8bc0",
- "inputValidation.warningBorder": "#ebcb8bc0",
+ "inputValidation.errorBackground": "#bf616a",
+ "inputValidation.errorBorder": "#bf616a",
+ "inputValidation.infoBackground": "#81a1c1",
+ "inputValidation.infoBorder": "#81a1c1",
+ "inputValidation.warningBackground": "#ebcb8b",
+ "inputValidation.warningBorder": "#ebcb8b",
"list.activeSelectionBackground": "#3b4252",
"list.activeSelectionForeground": "#d8dee9",
"list.inactiveSelectionBackground": "#3b4252",
From 4ba92dc790a0e1f55e7fe7b0031417c02239fd27 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 10:20:55 +0200
Subject: [PATCH 08/18] GHI-#8 Change the background color of validation
warnings
Now using "nord12" to increase the readability
---
themes/nord.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 0b0e29f..31feeb6 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -60,8 +60,8 @@
"inputValidation.errorBorder": "#bf616a",
"inputValidation.infoBackground": "#81a1c1",
"inputValidation.infoBorder": "#81a1c1",
- "inputValidation.warningBackground": "#ebcb8b",
- "inputValidation.warningBorder": "#ebcb8b",
+ "inputValidation.warningBackground": "#d08770",
+ "inputValidation.warningBorder": "#d08770",
"list.activeSelectionBackground": "#3b4252",
"list.activeSelectionForeground": "#d8dee9",
"list.inactiveSelectionBackground": "#3b4252",
From a51510131785eefa6c15578d90648500f3bf5e5a Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 11:10:37 +0200
Subject: [PATCH 09/18] GHI-#8 Reduced the background color transparency of the
diff editor
Changed from 75% to 30% to increase the readability.
---
themes/nord.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 31feeb6..201141b 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -12,10 +12,10 @@
"button.background": "#434c5e",
"button.foreground": "#d8dee9",
"button.hoverBackground": "#4c566a",
- "diffEditor.insertedTextBackground": "#a3be8cc0",
- "diffEditor.insertedTextBorder": "#a3be8cc0",
- "diffEditor.removedTextBackground": "#bf616ac0",
- "diffEditor.removedTextBorder": "#bf616ac0",
+ "diffEditor.insertedTextBackground": "#a3be8c4d",
+ "diffEditor.insertedTextBorder": "#a3be8c4d",
+ "diffEditor.removedTextBackground": "#bf616a4d",
+ "diffEditor.removedTextBorder": "#bf616a4d",
"dropdown.background": "#3b4252",
"dropdown.border": "#3b4252",
"dropdown.foreground": "#d8dee9",
From eebc478f5f2a939b2ce833e61efc90d56bb2cdfa Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 11:41:48 +0200
Subject: [PATCH 10/18] GHI-#8 Change the active list selection background
color to nord8
---
themes/nord.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 201141b..21dddc1 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -62,8 +62,8 @@
"inputValidation.infoBorder": "#81a1c1",
"inputValidation.warningBackground": "#d08770",
"inputValidation.warningBorder": "#d08770",
- "list.activeSelectionBackground": "#3b4252",
- "list.activeSelectionForeground": "#d8dee9",
+ "list.activeSelectionBackground": "#88c0d0",
+ "list.activeSelectionForeground": "#2e3440",
"list.inactiveSelectionBackground": "#3b4252",
"list.focusBackground": "#434c5e",
"list.hoverBackground": "#434c5e99",
From 0c6851ea80943f5943239a9e59cd2b56b6f48a7d Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 11:43:28 +0200
Subject: [PATCH 11/18] GHI-#8 Change the inactive list selection from nord1 to
nord2
---
themes/nord.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/nord.json b/themes/nord.json
index 21dddc1..bf7769d 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -64,7 +64,7 @@
"inputValidation.warningBorder": "#d08770",
"list.activeSelectionBackground": "#88c0d0",
"list.activeSelectionForeground": "#2e3440",
- "list.inactiveSelectionBackground": "#3b4252",
+ "list.inactiveSelectionBackground": "#434c5e",
"list.focusBackground": "#434c5e",
"list.hoverBackground": "#434c5e99",
"list.dropBackground": "#3b4252",
From 8a0ec07b1f5f32d07485d5fe53ca376ad006a1f8 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 11:44:53 +0200
Subject: [PATCH 12/18] GHI-#8 Change the background color of hovered list
elements
Now using nord1 instead of nord2 to match the background color of
inactive selected list elements.
---
themes/nord.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/nord.json b/themes/nord.json
index bf7769d..65b34a2 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -66,7 +66,7 @@
"list.activeSelectionForeground": "#2e3440",
"list.inactiveSelectionBackground": "#434c5e",
"list.focusBackground": "#434c5e",
- "list.hoverBackground": "#434c5e99",
+ "list.hoverBackground": "#3b4252",
"list.dropBackground": "#3b4252",
"list.highlightForeground": "#88c0d0",
"notification.background": "#3b4252",
From 41879f3dc2b96ec4e9c725a64f922ad7f5ca3541 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 11:47:11 +0200
Subject: [PATCH 13/18] GHI-#8 Change the focus- and drop background color of
list elements
Now using nord8 with 60% transparency to differ from active selected
list elements. This also improves navigating the list using the keyboard.
---
themes/nord.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/nord.json b/themes/nord.json
index 65b34a2..63aa5e3 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -65,9 +65,9 @@
"list.activeSelectionBackground": "#88c0d0",
"list.activeSelectionForeground": "#2e3440",
"list.inactiveSelectionBackground": "#434c5e",
- "list.focusBackground": "#434c5e",
+ "list.focusBackground": "#88c0d099",
"list.hoverBackground": "#3b4252",
- "list.dropBackground": "#3b4252",
+ "list.dropBackground": "#88c0d099",
"list.highlightForeground": "#88c0d0",
"notification.background": "#3b4252",
"notification.foreground": "#d8dee9",
From 53d546475e17eec7fc0a4073f2f65f0a80f137fb Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 14:43:16 +0200
Subject: [PATCH 14/18] GHI-#8 Implement styles for read- and write-access
variable highlighting
---
themes/nord.json | 2 ++
1 file changed, 2 insertions(+)
diff --git a/themes/nord.json b/themes/nord.json
index 63aa5e3..8835719 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -36,6 +36,8 @@
"editor.selectionBackground": "#434c5ecc",
"editor.selectionHighlightBackground": "#434c5ecc",
"editor.rangeHighlightBackground": "#434c5e52",
+ "editor.wordHighlightBackground": "#81a1c166",
+ "editor.wordHighlightStrongBackground": "#81a1c199",
"editorGroup.background": "#2e3440",
"editorGroup.border": "#3b425200",
"editorGroup.dropBackground": "#2e3440",
From 1fcc5a8da1c6e11208f06a8e1b4b51d0b28d5837 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 14:47:22 +0200
Subject: [PATCH 15/18] GHI-#8 Implement styles for the debug toolbar
---
themes/nord.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/themes/nord.json b/themes/nord.json
index 8835719..e923297 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -54,6 +54,7 @@
"editorSuggestWidget.foreground": "#d8dee9",
"editorSuggestWidget.highlightForeground": "#88c0d0",
"editorSuggestWidget.selectedBackground": "#434c5e",
+ "debugToolBar.background": "#3b4252",
"input.background": "#3b4252",
"input.foreground": "#d8dee9",
"input.border": "#3b4252",
From db8664894184331c4f0681207e84e3f5c61276b1 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sat, 6 May 2017 14:54:08 +0200
Subject: [PATCH 16/18] GHI-#8 Implement styles for the debug widget
---
themes/nord.json | 2 ++
1 file changed, 2 insertions(+)
diff --git a/themes/nord.json b/themes/nord.json
index e923297..9f2e3d6 100644
--- a/themes/nord.json
+++ b/themes/nord.json
@@ -54,6 +54,8 @@
"editorSuggestWidget.foreground": "#d8dee9",
"editorSuggestWidget.highlightForeground": "#88c0d0",
"editorSuggestWidget.selectedBackground": "#434c5e",
+ "debugExceptionWidget.background": "#4c566a",
+ "debugExceptionWidget.border": "#2e3440",
"debugToolBar.background": "#3b4252",
"input.background": "#3b4252",
"input.foreground": "#d8dee9",
From 0fbec65912a226431b35619a285585981de66f96 Mon Sep 17 00:00:00 2001
From: Arctic Ice Studio
Date: Sun, 7 May 2017 10:35:58 +0200
Subject: [PATCH 17/18] GHI-#8 Add workbench theming to the feature
documentation
---
README.md | 32 +++++++++++++++++-
...ture-ui-list-active-selection-keyboard.gif | Bin 0 -> 59748 bytes
assets/scrcast-feature-ui-list-hover.gif | Bin 0 -> 159903 bytes
.../scrot-feature-ui-activity-bar-badge.png | Bin 0 -> 11562 bytes
.../scrot-feature-ui-diffeditor-inserted.png | Bin 0 -> 139190 bytes
.../scrot-feature-ui-diffeditor-removed.png | Bin 0 -> 138832 bytes
.../scrot-feature-ui-editor-widget-search.png | Bin 0 -> 81709 bytes
...ture-ui-list-active-selection-keyboard.png | Bin 0 -> 41461 bytes
...scrot-feature-ui-list-active-selection.png | Bin 0 -> 41371 bytes
...ature-ui-list-inactive-selection-hover.png | Bin 0 -> 41640 bytes
...rot-feature-ui-list-inactive-selection.png | Bin 0 -> 41403 bytes
assets/scrot-feature-ui-notification.png | Bin 0 -> 21940 bytes
...scrot-feature-ui-panel-terminal-colors.png | Bin 0 -> 135839 bytes
assets/scrot-feature-ui-peek-view.png | Bin 0 -> 108973 bytes
assets/scrot-feature-ui-side-bar-debug.png | Bin 0 -> 32029 bytes
assets/scrot-feature-ui-status-bar.png | Bin 0 -> 23461 bytes
assets/scrot-feature-ui-tab-bar.png | Bin 0 -> 12933 bytes
assets/scrot-feature-ui-validation-error.png | Bin 0 -> 38146 bytes
assets/scrot-feature-ui-validation-info.png | Bin 0 -> 60092 bytes
.../scrot-feature-ui-validation-warning.png | Bin 0 -> 28642 bytes
assets/scrot-preview.png | Bin 0 -> 289721 bytes
assets/scrot-top.png | Bin 202523 -> 0 bytes
22 files changed, 31 insertions(+), 1 deletion(-)
create mode 100755 assets/scrcast-feature-ui-list-active-selection-keyboard.gif
create mode 100755 assets/scrcast-feature-ui-list-hover.gif
create mode 100755 assets/scrot-feature-ui-activity-bar-badge.png
create mode 100755 assets/scrot-feature-ui-diffeditor-inserted.png
create mode 100755 assets/scrot-feature-ui-diffeditor-removed.png
create mode 100755 assets/scrot-feature-ui-editor-widget-search.png
create mode 100755 assets/scrot-feature-ui-list-active-selection-keyboard.png
create mode 100755 assets/scrot-feature-ui-list-active-selection.png
create mode 100755 assets/scrot-feature-ui-list-inactive-selection-hover.png
create mode 100755 assets/scrot-feature-ui-list-inactive-selection.png
create mode 100755 assets/scrot-feature-ui-notification.png
create mode 100755 assets/scrot-feature-ui-panel-terminal-colors.png
create mode 100755 assets/scrot-feature-ui-peek-view.png
create mode 100755 assets/scrot-feature-ui-side-bar-debug.png
create mode 100755 assets/scrot-feature-ui-status-bar.png
create mode 100755 assets/scrot-feature-ui-tab-bar.png
create mode 100755 assets/scrot-feature-ui-validation-error.png
create mode 100755 assets/scrot-feature-ui-validation-info.png
create mode 100755 assets/scrot-feature-ui-validation-warning.png
create mode 100755 assets/scrot-preview.png
delete mode 100644 assets/scrot-top.png
diff --git a/README.md b/README.md
index ca0b7b7..95d8082 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,9 @@
Designed for a fluent and clear workflow.
Based on the Nord color palette.
-![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-top.png)
Icons provided by Material Icon Theme.
Font: Source Code Pro 20px
+---
+
+![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-preview.png)
Icons provided by Material Icon Theme.
Font: Source Code Pro 20px
## Getting started
### Installation
@@ -62,10 +64,38 @@ run the `Preferences: Color Theme` command and select `Nord` from the drop-down
The color theme drop-down can alternatively be opened via *File* (*Code* on macOS) > *Preferences* > *Color Theme*.
## Features
+### Editor
Non-obtrusive cusror line and search marker.
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-cursorline.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-search.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrcast-feature-search.gif)
Colors of selected code can still be easily recognized.
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrcast-feature-selection.gif)
+### Workbench
+Fully supported [Workbench](https://code.visualstudio.com/docs/getstarted/theme-color-reference) styles.
+
+Activity Bar Badges
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-activity-bar-badge.png)
+
+Tabs
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-tab-bar.png)
+
+Status Bar
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-status-bar.png)
+
+Panels and terminal colors
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-panel-terminal-colors.png)
+
+Editor Widgets (Search)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-editor-widget-search.png)
+
+Notifications
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-notification.png)
+
+Side Bar Views (Debug)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-side-bar-debug.png)
+
+Peek View
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-peek-view.png)
+
+Diff Editor
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-diffeditor-inserted.png)
+
+
Peek View
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-peek-view.png)
+
+Validations
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-validation-info.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-validation-warning.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-validation-error.png)
+
+Validations
Active selection
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-list-active-selection.png)
Inactive selection
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-list-inactive-selection.png)
Active selection with keyboard navigation marker
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-list-active-selection-keyboard.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrcast-feature-ui-list-active-selection-keyboard.gif)
Active- and inactive selection with hover marker
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrot-feature-ui-list-inactive-selection-hover.png)
![](https://raw.githubusercontent.com/arcticicestudio/nord-visual-studio-code/develop/assets/scrcast-feature-ui-list-hover.gif)
+
## Languages
This theme contains optimized styles to achieve a consistent and uniform coloring across languages.
Detailed descriptions for supported languages can be found in the [project wiki](https://github.com/arcticicestudio/nord-visual-studio-code/wiki).
diff --git a/assets/scrcast-feature-ui-list-active-selection-keyboard.gif b/assets/scrcast-feature-ui-list-active-selection-keyboard.gif
new file mode 100755
index 0000000000000000000000000000000000000000..31addf6d9369e6112cb68e90f74cdf48668842c6
GIT binary patch
literal 59748
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