Merge pull request #17983 from atom/mb-migrate-one-dark-syntax-package

Migrate core package 'one-dark-syntax' into ./packages
This commit is contained in:
Max Brunsfeld
2018-09-05 14:27:04 -07:00
committed by GitHub
26 changed files with 786 additions and 5 deletions

3
package-lock.json generated
View File

@@ -4136,8 +4136,7 @@
}
},
"one-dark-syntax": {
"version": "https://www.atom.io/api/packages/one-dark-syntax/versions/1.8.4/tarball",
"integrity": "sha512-zBdZ/IQVmU/pw6nOPIOGnDXwFRMQ9uwuaLoW5xCznMoMR89nIFFVc+WhZC7K/E+RICCrSdrzH18Afr3RJS0sjA=="
"version": "file:packages/one-dark-syntax"
},
"one-dark-ui": {
"version": "https://www.atom.io/api/packages/one-dark-ui/versions/1.12.5/tarball",

View File

@@ -127,7 +127,7 @@
"normalize-package-data": "^2.0.0",
"notifications": "https://www.atom.io/api/packages/notifications/versions/0.70.5/tarball",
"nslog": "^3",
"one-dark-syntax": "https://www.atom.io/api/packages/one-dark-syntax/versions/1.8.4/tarball",
"one-dark-syntax": "file:packages/one-dark-syntax",
"one-dark-ui": "https://www.atom.io/api/packages/one-dark-ui/versions/1.12.5/tarball",
"one-light-syntax": "https://www.atom.io/api/packages/one-light-syntax/versions/1.8.4/tarball",
"one-light-ui": "file:packages/one-light-ui",
@@ -179,7 +179,7 @@
"base16-tomorrow-light-theme": "1.6.0",
"one-dark-ui": "1.12.5",
"one-light-ui": "file:./packages/one-light-ui",
"one-dark-syntax": "1.8.4",
"one-dark-syntax": "file:./packages/one-dark-syntax",
"one-light-syntax": "1.8.4",
"solarized-dark-syntax": "1.2.0",
"solarized-light-syntax": "1.2.0",

View File

@@ -78,7 +78,7 @@ See [RFC 003](https://github.com/atom/atom/blob/master/docs/rfcs/003-consolidate
| **markdown-preview** | [`atom/markdown-preview`][markdown-preview] | |
| **metrics** | [`atom/metrics`][metrics] | |
| **notifications** | [`atom/notifications`][notifications] | |
| **one-dark-syntax** | [`atom/one-dark-syntax`][one-dark-syntax] | [#17853](https://github.com/atom/atom/issues/17853) |
| **one-dark-syntax** | [`./packages/one-dark-syntax`](./one-dark-syntax) | [#17853](https://github.com/atom/atom/issues/17853) |
| **one-dark-ui** | [`atom/one-dark-ui`][one-dark-ui] | [#17854](https://github.com/atom/atom/issues/17854) |
| **one-light-syntax** | [`atom/one-light-syntax`][one-light-syntax] | [#17855](https://github.com/atom/atom/issues/17855) |
| **one-light-ui** | [`./packages/one-light-ui`](./one-light-ui) | [#17856](https://github.com/atom/atom/issues/17856) |

View File

@@ -0,0 +1,20 @@
Copyright (c) 2016 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,11 @@
## One Dark Syntax theme
![one-dark-syntax](https://user-images.githubusercontent.com/238929/40553597-5f741518-6000-11e8-9068-70dfc5008b54.png)
> The font used in the screenshot is [Fira Mono](https://github.com/mozilla/Fira).
There is also a matching [UI theme](https://atom.io/themes/one-dark-ui).
### Install
This theme is installed by default with Atom and can be activated by going to the __Settings > Themes__ section and selecting it from the __Syntax Themes__ drop-down menu.

View File

@@ -0,0 +1,23 @@
// Atom Syntax Theme: One
@import "styles/syntax-variables.less";
@import "styles/editor.less";
@import "styles/syntax/_base.less";
@import "styles/syntax/c.less";
@import "styles/syntax/cpp.less";
@import "styles/syntax/cs.less";
@import "styles/syntax/css.less";
@import "styles/syntax/elixir.less";
@import "styles/syntax/gfm.less";
@import "styles/syntax/go.less";
@import "styles/syntax/ini.less";
@import "styles/syntax/java.less";
@import "styles/syntax/javascript.less";
@import "styles/syntax/json.less";
@import "styles/syntax/ng.less";
@import "styles/syntax/ruby.less";
@import "styles/syntax/php.less";
@import "styles/syntax/python.less";

View File

@@ -0,0 +1,16 @@
{
"name": "one-dark-syntax",
"theme": "syntax",
"version": "1.8.4",
"description": "A dark syntax theme",
"keywords": [
"dark",
"blue",
"syntax"
],
"repository": "https://github.com/atom/one-dark-syntax",
"license": "MIT",
"engines": {
"atom": ">0.50.0"
}
}

View File

@@ -0,0 +1,31 @@
// Config -----------------------------------
@syntax-hue: 220;
@syntax-saturation: 13%;
@syntax-brightness: 18%;
// Monochrome -----------------------------------
@mono-1: hsl(@syntax-hue, 14%, 71%); // default text
@mono-2: hsl(@syntax-hue, 9%, 55%);
@mono-3: hsl(@syntax-hue, 10%, 40%);
// Colors -----------------------------------
@hue-1: hsl(187, 47%, 55%); // <-cyan
@hue-2: hsl(207, 82%, 66%); // <-blue
@hue-3: hsl(286, 60%, 67%); // <-purple
@hue-4: hsl( 95, 38%, 62%); // <-green
@hue-5: hsl(355, 65%, 65%); // <-red 1
@hue-5-2: hsl( 5, 48%, 51%); // <-red 2
@hue-6: hsl( 29, 54%, 61%); // <-orange 1
@hue-6-2: hsl( 39, 67%, 69%); // <-orange 2
// Base colors -----------------------------------
@syntax-fg: @mono-1;
@syntax-bg: hsl(@syntax-hue, @syntax-saturation, @syntax-brightness);
@syntax-gutter: darken(@syntax-fg, 26%);
@syntax-guide: fade(@syntax-fg, 15%);
@syntax-accent: hsl(@syntax-hue, 100%, 66% );

View File

@@ -0,0 +1,96 @@
// Editor styles (background, gutter, guides)
atom-text-editor {
background-color: @syntax-background-color;
color: @syntax-text-color;
.line.cursor-line {
background-color: @syntax-cursor-line;
}
.invisible {
color: @syntax-text-color;
}
.cursor {
border-left: 2px solid @syntax-cursor-color;
}
.selection .region {
background-color: @syntax-selection-color;
}
.bracket-matcher .region {
border-bottom: 1px solid @syntax-cursor-color;
box-sizing: border-box;
}
.invisible-character {
color: @syntax-invisible-character-color;
}
.indent-guide {
color: @syntax-indent-guide-color;
}
.wrap-guide {
background-color: @syntax-wrap-guide-color;
}
// find + replace
.find-result .region.region.region,
.current-result .region.region.region {
border-radius: 2px;
background-color: @syntax-result-marker-color;
transition: border-color .4s;
}
.find-result .region.region.region {
border: 2px solid transparent;
}
.current-result .region.region.region {
border: 2px solid @syntax-result-marker-color-selected;
transition-duration: .1s;
}
.gutter {
.line-number {
color: @syntax-gutter-text-color;
-webkit-font-smoothing: antialiased;
&.cursor-line {
color: @syntax-gutter-text-color-selected;
background-color: @syntax-gutter-background-color-selected;
}
&.cursor-line-no-selection {
background-color: transparent;
}
.icon-right {
color: @syntax-text-color;
}
}
&:not(.git-diff-icon) .line-number.git-line-removed {
&.git-line-removed::before {
bottom: -3px;
}
&::after {
content: "";
position: absolute;
left: 0px;
bottom: 0px;
width: 25px;
border-bottom: 1px dotted fade(@syntax-color-removed, 50%);
pointer-events: none;
}
}
}
.gutter .line-number.folded,
.gutter .line-number:after,
.fold-marker:after {
color: @syntax-gutter-text-color-selected;
}
}

View File

@@ -0,0 +1,56 @@
@import "colors.less";
// Official Syntax Variables -----------------------------------
// General colors
@syntax-text-color: @syntax-fg;
@syntax-cursor-color: @syntax-accent;
@syntax-selection-color: lighten(@syntax-background-color, 10%);
@syntax-selection-flash-color: @syntax-accent;
@syntax-background-color: @syntax-bg;
// Guide colors
@syntax-wrap-guide-color: @syntax-guide;
@syntax-indent-guide-color: @syntax-guide;
@syntax-invisible-character-color: @syntax-guide;
// For find and replace markers
@syntax-result-marker-color: fade(@syntax-accent, 24%);
@syntax-result-marker-color-selected: @syntax-accent;
// Gutter colors
@syntax-gutter-text-color: @syntax-gutter;
@syntax-gutter-text-color-selected: @syntax-fg;
@syntax-gutter-background-color: @syntax-bg; // unused
@syntax-gutter-background-color-selected: lighten(@syntax-bg, 8%);
// Git colors - For git diff info. i.e. in the gutter
@syntax-color-renamed: hsl(208, 100%, 60%);
@syntax-color-added: hsl(150, 60%, 54%);
@syntax-color-modified: hsl(40, 60%, 70%);
@syntax-color-removed: hsl(0, 70%, 60%);
// For language entity colors
@syntax-color-variable: @hue-5;
@syntax-color-constant: @hue-6;
@syntax-color-property: @syntax-fg;
@syntax-color-value: @syntax-fg;
@syntax-color-function: @hue-2;
@syntax-color-method: @hue-2;
@syntax-color-class: @hue-6-2;
@syntax-color-keyword: @hue-3;
@syntax-color-tag: @hue-5;
@syntax-color-attribute: @hue-6;
@syntax-color-import: @hue-3;
@syntax-color-snippet: @hue-4;
// Custom Syntax Variables -----------------------------------
// Don't use in packages
@syntax-cursor-line: hsla(@syntax-hue, 100%, 80%, .04); // needs to be semi-transparent to show search results
@syntax-deprecated-fg: darken(@syntax-color-modified, 50%);
@syntax-deprecated-bg: @syntax-color-modified;
@syntax-illegal-fg: white;
@syntax-illegal-bg: @syntax-color-removed;

View File

@@ -0,0 +1,310 @@
// Language syntax highlighting
.syntax--comment {
color: @mono-3;
font-style: italic;
.syntax--markup.syntax--link {
color: @mono-3;
}
}
.syntax--entity {
&.syntax--name.syntax--type {
color: @hue-6-2;
}
&.syntax--other.syntax--inherited-class {
color: @hue-4;
}
}
.syntax--keyword {
color: @hue-3;
&.syntax--control {
color: @hue-3;
}
&.syntax--operator {
color: @mono-1;
}
&.syntax--other.syntax--special-method {
color: @hue-2;
}
&.syntax--other.syntax--unit {
color: @hue-6;
}
}
.syntax--storage {
color: @hue-3;
&.syntax--type {
&.syntax--annotation,
&.syntax--primitive {
color: @hue-3;
}
}
&.syntax--modifier {
&.syntax--package,
&.syntax--import {
color: @mono-1;
}
}
}
.syntax--constant {
color: @hue-6;
&.syntax--variable {
color: @hue-6;
}
&.syntax--character.syntax--escape {
color: @hue-1;
}
&.syntax--numeric {
color: @hue-6;
}
&.syntax--other.syntax--color {
color: @hue-1;
}
&.syntax--other.syntax--symbol {
color: @hue-1;
}
}
.syntax--variable {
color: @hue-5;
&.syntax--interpolation {
color: @hue-5-2;
}
&.syntax--parameter {
color: @mono-1;
}
}
.syntax--string {
color: @hue-4;
> .syntax--source, .syntax--embedded {
color: @mono-1;
}
&.syntax--regexp {
color: @hue-1;
.syntax--source.syntax--ruby.syntax--embedded {
color: @hue-6-2;
}
}
&.syntax--other.syntax--link {
color: @hue-5;
}
}
.syntax--punctuation {
&.syntax--definition {
&.syntax--comment {
color: @mono-3;
}
&.syntax--method-parameters,
&.syntax--function-parameters,
&.syntax--parameters,
&.syntax--separator,
&.syntax--seperator,
&.syntax--array {
color: @mono-1;
}
&.syntax--heading,
&.syntax--identity {
color: @hue-2;
}
&.syntax--bold {
color: @hue-6-2;
font-weight: bold;
}
&.syntax--italic {
color: @hue-3;
font-style: italic;
}
}
&.syntax--section {
&.syntax--embedded {
color: @hue-5-2;
}
&.syntax--method,
&.syntax--class,
&.syntax--inner-class {
color: @mono-1;
}
}
}
.syntax--support {
&.syntax--class {
color: @hue-6-2;
}
&.syntax--type {
color: @hue-1;
}
&.syntax--function {
color: @hue-1;
&.syntax--any-method {
color: @hue-2;
}
}
}
.syntax--entity {
&.syntax--name.syntax--function {
color: @hue-2;
}
&.syntax--name.syntax--class,
&.syntax--name.syntax--type.syntax--class {
color: @hue-6-2;
}
&.syntax--name.syntax--section {
color: @hue-2;
}
&.syntax--name.syntax--tag {
color: @hue-5;
}
&.syntax--other.syntax--attribute-name {
color: @hue-6;
&.syntax--id {
color: @hue-2;
}
}
}
.syntax--meta {
&.syntax--class {
color: @hue-6-2;
&.syntax--body {
color: @mono-1;
}
}
&.syntax--method-call,
&.syntax--method {
color: @mono-1;
}
&.syntax--definition {
&.syntax--variable {
color: @hue-5;
}
}
&.syntax--link {
color: @hue-6;
}
&.syntax--require {
color: @hue-2;
}
&.syntax--selector {
color: @hue-3;
}
&.syntax--separator {
color: @mono-1;
}
&.syntax--tag {
color: @mono-1;
}
}
.syntax--underline {
text-decoration: underline;
}
.syntax--none {
color: @mono-1;
}
.syntax--invalid {
&.syntax--deprecated {
color: @syntax-deprecated-fg !important;
background-color: @syntax-deprecated-bg !important;
}
&.syntax--illegal {
color: @syntax-illegal-fg !important;
background-color: @syntax-illegal-bg !important;
}
}
// Languages -------------------------------------------------
.syntax--markup {
&.syntax--bold {
color: @hue-6;
font-weight: bold;
}
&.syntax--changed {
color: @hue-3;
}
&.syntax--deleted {
color: @hue-5;
}
&.syntax--italic {
color: @hue-3;
font-style: italic;
}
&.syntax--heading {
color: @hue-5;
.syntax--punctuation.syntax--definition.syntax--heading {
color: @hue-2;
}
}
&.syntax--link {
color: @hue-1;
}
&.syntax--inserted {
color: @hue-4;
}
&.syntax--quote {
color: @hue-6;
}
&.syntax--raw {
color: @hue-4;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--c {
.syntax--keyword.syntax--operator {
color: @hue-3;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--cpp {
.syntax--keyword.syntax--operator {
color: @hue-3;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--cs {
.syntax--keyword.syntax--operator {
color: @hue-3;
}
}

View File

@@ -0,0 +1,10 @@
.syntax--source.syntax--css {
// highlight properties/values if they are supported
.syntax--property-name,
.syntax--property-value {
color: @mono-2;
&.syntax--support {
color: @mono-1;
}
}
}

View File

@@ -0,0 +1,47 @@
.syntax--source.syntax--elixir {
.syntax--source.syntax--embedded.syntax--source {
color: @mono-1;
}
.syntax--constant.syntax--language,
.syntax--constant.syntax--numeric,
.syntax--constant.syntax--definition {
color: @hue-2;
}
.syntax--variable.syntax--definition,
.syntax--variable.syntax--anonymous{
color: @hue-3;
}
.syntax--parameter.syntax--variable.syntax--function {
color: @hue-6;
font-style: italic;
}
.syntax--quoted{
color: @hue-4;
}
.syntax--keyword.syntax--special-method,
.syntax--embedded.syntax--section,
.syntax--embedded.syntax--source.syntax--empty, {
color: @hue-5;
}
.syntax--readwrite.syntax--module {
.syntax--punctuation {
color: @hue-5;
}
}
.syntax--regexp.syntax--section,
.syntax--regexp.syntax--string {
color: @hue-5-2;
}
.syntax--separator,
.syntax--keyword.syntax--operator {
color: @hue-6;
}
.syntax--variable.syntax--constant {
color: @hue-6-2;
}
.syntax--array,
.syntax--scope,
.syntax--section {
color: @mono-2;
}
}

View File

@@ -0,0 +1,9 @@
.syntax--source.syntax--gfm {
.syntax--markup {
-webkit-font-smoothing: auto;
}
.syntax--link .syntax--entity {
color: @hue-2;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--go {
.syntax--storage.syntax--type.syntax--string {
color: @hue-3;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--ini {
.syntax--keyword.syntax--other.syntax--definition.syntax--ini {
color: @hue-5;
}
}

View File

@@ -0,0 +1,24 @@
.syntax--source.syntax--java {
.syntax--storage {
&.syntax--modifier.syntax--import {
color: @hue-6-2;
}
&.syntax--type {
color: @hue-6-2;
}
}
.syntax--keyword.syntax--operator.syntax--instanceof {
color: @hue-3;
}
}
.syntax--source.syntax--java-properties {
.syntax--meta.syntax--key-pair {
color: @hue-5;
& > .syntax--punctuation {
color: @mono-1;
}
}
}

View File

@@ -0,0 +1,17 @@
.syntax--source.syntax--js {
.syntax--keyword.syntax--operator {
color: @hue-1;
// keywords are definded in https://github.com/atom/language-javascript/blob/master/grammars/javascript.cson
// search "instanceof" for location
&.syntax--delete,
&.syntax--in,
&.syntax--of,
&.syntax--instanceof,
&.syntax--new,
&.syntax--typeof,
&.syntax--void {
color: @hue-3;
}
}
}

View File

@@ -0,0 +1,21 @@
.syntax--source.syntax--json {
.syntax--meta.syntax--structure.syntax--dictionary.syntax--json {
& > .syntax--string.syntax--quoted.syntax--json {
& > .syntax--punctuation.syntax--string {
color: @hue-5;
}
color: @hue-5;
}
}
.syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json {
& > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
& > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
color: @hue-4;
}
& > .syntax--constant.syntax--language.syntax--json {
color: @hue-1;
}
}
}

View File

@@ -0,0 +1,47 @@
.syntax--ng {
&.syntax--interpolation {
color: @hue-5;
&.syntax--begin, &.syntax--end {
color: @hue-2;
}
.syntax--function {
color: @hue-5;
&.syntax--begin, &.syntax--end {
color: @hue-2;
}
}
.syntax--bool {
color: @hue-6;
}
.syntax--bracket {
color: @mono-1;
}
}
&.syntax--pipe, &.syntax--operator {
color: @mono-1;
}
&.syntax--tag {
color: @hue-1;
}
&.syntax--attribute-with-value {
.syntax--attribute-name {
color: @hue-6-2;
}
.syntax--string {
color: @hue-3;
&.syntax--begin, &.syntax--end {
color: @mono-1;
}
}
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--php {
.syntax--class.syntax--bracket {
color: @mono-1;
}
}

View File

@@ -0,0 +1,9 @@
.syntax--source.syntax--python {
.syntax--keyword.syntax--operator.syntax--logical.syntax--python {
color: @hue-3;
}
.syntax--variable.syntax--parameter {
color: @hue-6;
}
}

View File

@@ -0,0 +1,5 @@
.syntax--source.syntax--ruby {
.syntax--constant.syntax--other.syntax--symbol > .syntax--punctuation {
color: inherit;
}
}