diff --git a/package-lock.json b/package-lock.json index f7963028b1b..6d2b4ae97bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -157,7 +157,7 @@ "apparatus": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/apparatus/-/apparatus-0.0.10.tgz", - "integrity": "sha1-gep1Z3Ktp3hj21TO7oICwQm9yj4=", + "integrity": "sha512-KLy/ugo33KZA7nugtQ7O0E1c8kQ52N3IvD/XgIh4w/Nr28ypfkwDfA67F1ev4N1m5D+BOk1+b2dEJDfpj/VvZg==", "requires": { "sylvester": ">= 0.0.8" } @@ -283,7 +283,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "lodash": { @@ -331,7 +331,7 @@ "dependencies": { "event-kit": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/event-kit/-/event-kit-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/event-kit/-/event-kit-1.5.0.tgz", "integrity": "sha1-Ek72qtgyjcsmtxxHWQtbjmPrxIc=", "requires": { "grim": "^1.2.1" @@ -348,7 +348,7 @@ "atom-pathspec": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/atom-pathspec/-/atom-pathspec-0.0.0.tgz", - "integrity": "sha1-Z6q6+VAZsK/Y4xWLLNexjXN2Q/E=" + "integrity": "sha512-7UMEHdTtBV5sJONT0uMeQ6M8JFdfMQy/14rxuP6OuoFfSiDjxyZHuorIbv8gqhRB3FQMMLPzqONoFJE2cpHiCg==" }, "atom-select-list": { "version": "0.7.2", @@ -550,7 +550,7 @@ }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" }, "lodash": { @@ -705,22 +705,22 @@ }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" }, "babel-plugin-syntax-flow": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, "babel-plugin-transform-class-properties": { @@ -903,7 +903,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "lodash": { @@ -1106,8 +1106,8 @@ } }, "bracket-matcher": { - "version": "https://www.atom.io/api/packages/bracket-matcher/versions/0.90.3/tarball", - "integrity": "sha512-9Vaq1s+Q3WbO+YOHUr4OtxM7LuZVaAbFTPxqEhjBtAJEoxBqTlfRLGMLOhn8ucZJ8byFL5T9oMIF6I6831oFNQ==", + "version": "https://www.atom.io/api/packages/bracket-matcher/versions/0.90.4/tarball", + "integrity": "sha512-vOeFxfxQGwBoNkuK7srzVUN65q7jL8UKN/IuReilfqp7eg46z39NSchQvw87dpgEOAQEkV3N99h/vBcMmIDTuw==", "requires": { "first-mate": "^7.0.1", "underscore-plus": "1.x" @@ -3104,7 +3104,7 @@ }, "keytar": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/keytar/-/keytar-4.2.1.tgz", + "resolved": "http://registry.npmjs.org/keytar/-/keytar-4.2.1.tgz", "integrity": "sha1-igamV3/fY3PgqmsRInfmPex3/RI=", "requires": { "nan": "2.8.0", @@ -3194,10 +3194,10 @@ "integrity": "sha512-kdTsc2efREnuj72WsAfcx28h0RqrVUIGF7BQcS5zy+ZibqbvnaB5DiVunRFYLhefGoaKVkAyTdRkZWMKH/yIWg==" }, "language-javascript": { - "version": "https://www.atom.io/api/packages/language-javascript/versions/0.129.18/tarball", - "integrity": "sha512-ZCcMHpz7tiBzKCeaDzNGfDcthz504qcleo9hsPFcPkGL0uwOBe4AWpX1xNUz+Uhljf9jHzu7aS3d2G0lvGAMKQ==", + "version": "https://www.atom.io/api/packages/language-javascript/versions/0.129.19/tarball", + "integrity": "sha512-ClPU0dc41WqagaPd+qy5DQ5ahDCVcfFxC1nwppyQSsSXzrzsiE2+FuYzG33OMaSGDA6/zZ6gBkHXnXXPFzWcNA==", "requires": { - "tree-sitter-javascript": "^0.13.8", + "tree-sitter-javascript": "^0.13.10", "tree-sitter-jsdoc": "^0.13.4", "tree-sitter-regex": "^0.13.1" } @@ -4356,7 +4356,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } @@ -4949,7 +4949,7 @@ "dependencies": { "async": { "version": "0.2.10", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "etch": { @@ -5067,8 +5067,7 @@ "version": "file:packages/solarized-dark-syntax" }, "solarized-light-syntax": { - "version": "https://www.atom.io/api/packages/solarized-light-syntax/versions/1.3.0/tarball", - "integrity": "sha512-DVl8aJnecUKy5s1WY5mDyN1/3McqyZWfE3cjBVY8U7X4w9Xkp8SPVndVGufSpSWIxh9vY/iSU4kfBxWqUdiW5w==" + "version": "file:packages/solarized-light-syntax" }, "source-map": { "version": "0.1.32", @@ -5139,7 +5138,7 @@ "spelling-manager": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/spelling-manager/-/spelling-manager-1.1.0.tgz", - "integrity": "sha1-UZmGdZUpHgVjlExuL70ao02X3TQ=", + "integrity": "sha512-PpTP6XUZflCWO9YZO3wBSGAmqrUP6BFwSdmVFS6WBT9rFYg3ysmrIfyD1KnaVcnW6wuIKf+FDwefvU8PsD8Smg==", "requires": { "natural": "0.5.0", "xregexp": "^3.2.0" @@ -5202,8 +5201,8 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "status-bar": { - "version": "https://www.atom.io/api/packages/status-bar/versions/1.8.15/tarball", - "integrity": "sha512-zQa+fdr6pAnix4Lw3tKiU6Uq8Hx1dLsb+w2SaxIDbJaZatO25rN9FTZqNrw0ZchJpCEiSkuLolqUutPB4iNydQ==", + "version": "https://www.atom.io/api/packages/status-bar/versions/1.8.16/tarball", + "integrity": "sha512-kGNZQEDV9zjdLfuBJlZJYg90TrMgxFq9G6SAKUnmcHV8TZX1Fqb8L5WKHhj94686brKutwlrxY4ptJKaDIeoKg==", "requires": { "fs-plus": "^3.0.1", "grim": "^2.0.1", @@ -5213,7 +5212,7 @@ "grim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/grim/-/grim-2.0.2.tgz", - "integrity": "sha1-52CinKe4NDsMH/r2ziDyGkbuiu0=", + "integrity": "sha512-Qj7hTJRfd87E/gUgfvM0YIH/g2UA2SV6niv6BYXk1o6w4mhgv+QyYM1EjOJQljvzgEj4SqSsRWldXIeKHz3e3Q==", "requires": { "event-kit": "^2.0.0" } @@ -5231,7 +5230,7 @@ "streamroller": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", - "integrity": "sha1-odG3z4PTmvsNYwSaWsv5NJO99ks=", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "requires": { "date-format": "^1.2.0", "debug": "^3.1.0", @@ -5669,9 +5668,9 @@ } }, "tree-sitter-javascript": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/tree-sitter-javascript/-/tree-sitter-javascript-0.13.8.tgz", - "integrity": "sha512-p7u6ZXEX1sIjgGNAiuSNnK6PSl5FiUsQzEV2QOAYVH5GN13cUnUsoa/BiaDMWQ3uddoNXwTdxhB8UwNAolizQQ==", + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/tree-sitter-javascript/-/tree-sitter-javascript-0.13.10.tgz", + "integrity": "sha512-ku/841Nu7k/VXwI2ifm7xxv2cUiiYztLlIeYTYZXpjaIHMfFer5XZRgmZldJHVthTQ9uRMEr7UQ0qeqnWKzOlg==", "requires": { "nan": "^2.4.0" } @@ -5685,9 +5684,9 @@ }, "dependencies": { "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==" + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", + "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" } } }, @@ -5718,7 +5717,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "prebuild-install": { diff --git a/package.json b/package.json index a63c86b33c2..49c0ce7d008 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/atom/atom/issues" }, "license": "MIT", - "electronVersion": "2.0.14", + "electronVersion": "2.0.16", "dependencies": { "@atom/nsfw": "1.0.18", "@atom/source-map-support": "^0.3.4", @@ -38,7 +38,7 @@ "base16-tomorrow-dark-theme": "file:packages/base16-tomorrow-dark-theme", "base16-tomorrow-light-theme": "file:packages/base16-tomorrow-light-theme", "bookmarks": "https://www.atom.io/api/packages/bookmarks/versions/0.45.1/tarball", - "bracket-matcher": "https://www.atom.io/api/packages/bracket-matcher/versions/0.90.3/tarball", + "bracket-matcher": "https://www.atom.io/api/packages/bracket-matcher/versions/0.90.4/tarball", "cached-run-in-this-context": "0.5.0", "chai": "3.5.0", "chart.js": "^2.3.0", @@ -89,7 +89,7 @@ "language-html": "https://www.atom.io/api/packages/language-html/versions/0.51.5/tarball", "language-hyperlink": "https://www.atom.io/api/packages/language-hyperlink/versions/0.17.0/tarball", "language-java": "https://www.atom.io/api/packages/language-java/versions/0.31.1/tarball", - "language-javascript": "https://www.atom.io/api/packages/language-javascript/versions/0.129.18/tarball", + "language-javascript": "https://www.atom.io/api/packages/language-javascript/versions/0.129.19/tarball", "language-json": "https://www.atom.io/api/packages/language-json/versions/0.19.2/tarball", "language-less": "https://www.atom.io/api/packages/language-less/versions/0.34.3/tarball", "language-make": "https://www.atom.io/api/packages/language-make/versions/0.23.0/tarball", @@ -149,9 +149,9 @@ "sinon": "1.17.4", "snippets": "https://www.atom.io/api/packages/snippets/versions/1.4.0/tarball", "solarized-dark-syntax": "file:packages/solarized-dark-syntax", - "solarized-light-syntax": "https://www.atom.io/api/packages/solarized-light-syntax/versions/1.3.0/tarball", + "solarized-light-syntax": "file:packages/solarized-light-syntax", "spell-check": "https://www.atom.io/api/packages/spell-check/versions/0.74.2/tarball", - "status-bar": "https://www.atom.io/api/packages/status-bar/versions/1.8.15/tarball", + "status-bar": "https://www.atom.io/api/packages/status-bar/versions/1.8.16/tarball", "styleguide": "https://www.atom.io/api/packages/styleguide/versions/0.49.12/tarball", "symbols-view": "https://www.atom.io/api/packages/symbols-view/versions/0.118.2/tarball", "tabs": "https://www.atom.io/api/packages/tabs/versions/0.109.2/tarball", @@ -182,7 +182,7 @@ "one-dark-syntax": "file:./packages/one-dark-syntax", "one-light-syntax": "file:./packages/one-light-syntax", "solarized-dark-syntax": "file:./packages/solarized-dark-syntax", - "solarized-light-syntax": "1.3.0", + "solarized-light-syntax": "file:./packages/solarized-light-syntax", "about": "file:./packages/about", "archive-view": "0.65.1", "autocomplete-atom-api": "0.10.7", @@ -194,7 +194,7 @@ "autosave": "0.24.6", "background-tips": "0.28.0", "bookmarks": "0.45.1", - "bracket-matcher": "0.90.3", + "bracket-matcher": "0.90.4", "command-palette": "0.43.5", "dalek": "file:./packages/dalek", "deprecation-cop": "file:./packages/deprecation-cop", @@ -220,7 +220,7 @@ "settings-view": "0.257.3", "snippets": "1.4.0", "spell-check": "0.74.2", - "status-bar": "1.8.15", + "status-bar": "1.8.16", "styleguide": "0.49.12", "symbols-view": "0.118.2", "tabs": "0.109.2", @@ -241,7 +241,7 @@ "language-html": "0.51.5", "language-hyperlink": "0.17.0", "language-java": "0.31.1", - "language-javascript": "0.129.18", + "language-javascript": "0.129.19", "language-json": "0.19.2", "language-less": "0.34.3", "language-make": "0.23.0", diff --git a/packages/README.md b/packages/README.md index 87fed9e8bf3..0ff6021de00 100644 --- a/packages/README.md +++ b/packages/README.md @@ -88,7 +88,7 @@ See [RFC 003](https://github.com/atom/atom/blob/master/docs/rfcs/003-consolidate | **settings-view** | [`atom/settings-view`][settings-view] | | | **snippets** | [`atom/snippets`][snippets] | | | **solarized-dark-syntax** | [`./solarized-dark-syntax`](./solarized-dark-syntax) | [#18280](https://github.com/atom/atom/issues/18280) | -| **solarized-light-syntax** | [`atom/solarized-light-syntax`][solarized-light-syntax] | [#18281](https://github.com/atom/atom/issues/18281) | +| **solarized-light-syntax** | [`./solarized-light-syntax`](./solarized-light-syntax) | [#18281](https://github.com/atom/atom/issues/18281) | | **spell-check** | [`atom/spell-check`][spell-check] | | | **status-bar** | [`atom/status-bar`][status-bar] | [#18282](https://github.com/atom/atom/issues/18282) | | **styleguide** | [`atom/styleguide`][styleguide] | [#18283](https://github.com/atom/atom/issues/18283) | @@ -158,7 +158,6 @@ See [RFC 003](https://github.com/atom/atom/blob/master/docs/rfcs/003-consolidate [package-generator]: https://github.com/atom/package-generator [settings-view]: https://github.com/atom/settings-view [snippets]: https://github.com/atom/snippets -[solarized-light-syntax]: https://github.com/atom/solarized-light-syntax [spell-check]: https://github.com/atom/spell-check [status-bar]: https://github.com/atom/status-bar [styleguide]: https://github.com/atom/styleguide diff --git a/packages/language-rust-bundled/grammars/tree-sitter-rust.cson b/packages/language-rust-bundled/grammars/tree-sitter-rust.cson index f9361ddb001..6f77d1b90a7 100644 --- a/packages/language-rust-bundled/grammars/tree-sitter-rust.cson +++ b/packages/language-rust-bundled/grammars/tree-sitter-rust.cson @@ -79,6 +79,7 @@ scopes: ''' use_wildcard > identifier:nth-child(0), + use_wildcard > scoped_identifier > identifier:nth-child(2), scoped_type_identifier > identifier:nth-child(0), scoped_type_identifier > scoped_identifier:nth-child(0) > identifier, scoped_identifier > identifier:nth-child(0), diff --git a/packages/solarized-light-syntax/LICENSE.md b/packages/solarized-light-syntax/LICENSE.md new file mode 100644 index 00000000000..4d231b4563b --- /dev/null +++ b/packages/solarized-light-syntax/LICENSE.md @@ -0,0 +1,20 @@ +Copyright (c) 2014 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. diff --git a/packages/solarized-light-syntax/README.md b/packages/solarized-light-syntax/README.md new file mode 100644 index 00000000000..8a0adbd83e3 --- /dev/null +++ b/packages/solarized-light-syntax/README.md @@ -0,0 +1,9 @@ +# Solarized Light Syntax theme + +Atom theme using the ever popular light [solarized](http://ethanschoonover.com/solarized) colors. + +screenshot + +This theme is installed by default with Atom and can be activated by going to +the _Themes_ section in the Settings view (`cmd-,`) and selecting it from the +_Syntax Themes_ dropdown menu. diff --git a/packages/solarized-light-syntax/index.less b/packages/solarized-light-syntax/index.less new file mode 100644 index 00000000000..3c3a0755a60 --- /dev/null +++ b/packages/solarized-light-syntax/index.less @@ -0,0 +1,22 @@ +// Solarized Syntax Theme + +@import "styles/syntax-variables.less"; + +// Editor +@import "styles/editor.less"; + +// Languages +@import "styles/syntax/_base.less"; +@import "styles/syntax/c.less"; +@import "styles/syntax/coffee.less"; +@import "styles/syntax/css.less"; +@import "styles/syntax/go.less"; +@import "styles/syntax/java.less"; +@import "styles/syntax/javascript.less"; +@import "styles/syntax/markdown.less"; +@import "styles/syntax/markup.less"; +@import "styles/syntax/php.less"; +@import "styles/syntax/python.less"; +@import "styles/syntax/ruby.less"; +@import "styles/syntax/scala.less"; +@import "styles/syntax/typescript.less"; diff --git a/packages/solarized-light-syntax/package.json b/packages/solarized-light-syntax/package.json new file mode 100644 index 00000000000..fd13b22036e --- /dev/null +++ b/packages/solarized-light-syntax/package.json @@ -0,0 +1,11 @@ +{ + "name": "solarized-light-syntax", + "theme": "syntax", + "version": "1.3.0", + "description": "A light syntax theme using the solarized colors", + "repository": "https://github.com/atom/atom", + "license": "MIT", + "engines": { + "atom": ">0.50.0" + } +} diff --git a/packages/solarized-light-syntax/styles/colors.less b/packages/solarized-light-syntax/styles/colors.less new file mode 100644 index 00000000000..93050c438dc --- /dev/null +++ b/packages/solarized-light-syntax/styles/colors.less @@ -0,0 +1,27 @@ + +// Solarized color scheme +// http://ethanschoonover.com/solarized#the-values + +// Background/Foreground Tones +@base03: #002b36; +@base02: #073642; + +// Content Tones +@base01: #586e75; +@base00: #657b83; +@base0: #839496; +@base1: #93a1a1; + +// Background/Foreground Tones +@base2: #eee8d5; +@base3: #fdf6e3; + +// Accent Colors +@yellow: #b58900; +@orange: #cb4b16; +@red: #dc322f; +@magenta: #d33682; +@violet: #6c71c4; +@blue: #268bd2; +@cyan: #2aa198; +@green: #859900; diff --git a/packages/solarized-light-syntax/styles/editor.less b/packages/solarized-light-syntax/styles/editor.less new file mode 100644 index 00000000000..d46a53781ef --- /dev/null +++ b/packages/solarized-light-syntax/styles/editor.less @@ -0,0 +1,44 @@ +atom-text-editor { + color: @syntax-text-color; + background-color: @syntax-background-color; + + .gutter { + color: @syntax-gutter-text-color; + background-color: @syntax-gutter-background-color; + + .line-number { + &.cursor-line { + background-color: @syntax-gutter-background-color-selected; + } + } + } + + .invisible-character { + color: @syntax-invisible-character-color; + } + + .indent-guide { + color: @syntax-indent-guide-color; + } + + .cursor { + border-color: @syntax-cursor-color; + } + + .cursor-line { + background-color: @syntax-cursor-line; + } + + .selection .region { + background-color: @syntax-selection-color; + } + + .fold-marker:after, + .gutter .line-number.folded { + color: @magenta; + } + + .bracket-matcher .region { + border-color: @magenta; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax-variables.less b/packages/solarized-light-syntax/styles/syntax-variables.less new file mode 100644 index 00000000000..79d7b36e9af --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax-variables.less @@ -0,0 +1,55 @@ +@import "colors.less"; + +// This defines all syntax variables that syntax themes must implement when they +// include a syntax-variables.less file. + +// General colors +@syntax-text-color: @base00; +@syntax-cursor-color: @base03; +@syntax-selection-color: @base2; +@syntax-selection-flash-color: @base0; +@syntax-background-color: @base3; + +// Guide colors +@syntax-wrap-guide-color: darken(@base2, 12%); +@syntax-indent-guide-color: darken(@base2, 12%); +@syntax-invisible-character-color: darken(@base2, 12%); + +// For find and replace markers +@syntax-result-marker-color: @base1; +@syntax-result-marker-color-selected: @base03; + +// Gutter colors +@syntax-gutter-text-color: @base00; +@syntax-gutter-text-color-selected: @base03; +@syntax-gutter-background-color: @base2; +@syntax-gutter-background-color-selected: darken(@syntax-gutter-background-color, 10%); + +// For git diff info. i.e. in the gutter +@syntax-color-added: @green; +@syntax-color-renamed: @blue; +@syntax-color-modified: @yellow; +@syntax-color-removed: @red; + +// For language entity colors +@syntax-color-variable: @blue; +@syntax-color-constant: @yellow; +@syntax-color-property: @yellow; +@syntax-color-value: @cyan; +@syntax-color-function: @blue; +@syntax-color-method: @blue; +@syntax-color-class: @blue; +@syntax-color-keyword: @green; +@syntax-color-tag: @blue; +@syntax-color-attribute: @syntax-comment-color; +@syntax-color-import: @red; +@syntax-color-snippet: @syntax-color-keyword; + + +// Custom variables +// Warning: Don't use in packages + +@syntax-comment-color: @base1; +@syntax-subtle-color: @base00; +@syntax-emphasized-color: @base01; +@syntax-cursor-line: fade(darken(@syntax-background-color, 30%), 15%); // needs to be semi-transparent diff --git a/packages/solarized-light-syntax/styles/syntax/_base.less b/packages/solarized-light-syntax/styles/syntax/_base.less new file mode 100644 index 00000000000..e176941fc2c --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/_base.less @@ -0,0 +1,100 @@ +.syntax--comment { + color: @syntax-comment-color; + font-style: italic; + + .syntax--markup.syntax--link { + color: @syntax-comment-color; + } +} + +.syntax--string { + color: @cyan; + &.syntax--regexp { + color: @red; + } +} + +.syntax--constant { + &.syntax--numeric { + color: @magenta; + } + &.syntax--language { + color: @yellow; + } + &.syntax--character, + &.syntax--other, + &.syntax--support { + color: @orange; + } +} + +.syntax--variable { + color: @blue; +} + +.syntax--keyword { + color: @green; +} + +.syntax--storage { + color: @green; +} + +.syntax--meta.syntax--class { + color: @blue; +} + +.syntax--entity { + &.syntax--name { + &.syntax--class, + &.syntax--function, + &.syntax--section, + &.syntax--type { + color: @blue; + } + } + &.syntax--other.syntax--attribute-name { + color: @syntax-subtle-color; + } +} + +.syntax--support { + &.syntax--function { + color: @blue; + &.syntax--builtin { + color: @green; + } + } + &.syntax--type, + &.syntax--class { + color: @green; + } +} + +.syntax--tag { + &.syntax--entity.syntax--name { + color: @blue; + } + &.syntax--punctuation.syntax--definition { + &.syntax--html, + &.syntax--begin, + &.syntax--end { + color: @syntax-comment-color; + } + } +} + +.syntax--invalid { + &.syntax--deprecated { + color: @yellow; + text-decoration: underline; + } + &.syntax--illegal { + color: @red; + text-decoration: underline; + } +} + +.syntax--none { + color: @syntax-text-color; +} diff --git a/packages/solarized-light-syntax/styles/syntax/c.less b/packages/solarized-light-syntax/styles/syntax/c.less new file mode 100644 index 00000000000..9a094bcadad --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/c.less @@ -0,0 +1,44 @@ +.syntax--source.syntax--c, +.syntax--source.syntax--cpp { + .syntax--meta.syntax--preprocessor { + color: @red; + } + .syntax--keyword.syntax--control.syntax--directive { + color: @orange; + } + .syntax--punctuation.syntax--string { + color: @cyan; + } + .syntax--constant { + color: @orange; + + &.syntax--numeric, &.syntax--language.syntax--c { + color: @cyan; + } + } + .syntax--storage { + color: @yellow; + } + .syntax--entity { + color: @syntax-text-color; + + &.syntax--name.syntax--function.syntax--preprocessor { + color: @red; + } + } + .syntax--support.syntax--type { + color: @yellow; + + &.syntax--posix-reserved { + color: @syntax-text-color; + } + } + .syntax--variable { + &.syntax--other.syntax--dot-access { + color: @syntax-text-color; + } + &.syntax--parameter.syntax--preprocessor { + color: @red; + } + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/coffee.less b/packages/solarized-light-syntax/styles/syntax/coffee.less new file mode 100644 index 00000000000..c353f72a38d --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/coffee.less @@ -0,0 +1,58 @@ +.syntax--source.syntax--coffee { + .syntax--support.syntax--class { + color: @green; + } + + .syntax--variable, + .syntax--entity.syntax--name.syntax--function, + .syntax--entity.syntax--name.syntax--class { + color: @blue; + } + .syntax--variable.syntax--parameter.syntax--function { + color: @syntax-text-color; + } + .syntax--variable.syntax--other.syntax--readwrite { + color: @green; + } + + .syntax--storage.syntax--type.syntax--function { + color: @green; + } + + .syntax--entity.syntax--name { + color: @syntax-text-color; + } + + .syntax--meta.syntax--brace { + &.syntax--round, + &.syntax--square { + color: @syntax-text-color; + } + } + .syntax--meta.syntax--delimiter { + color: @syntax-text-color; + } + + .syntax--storage.syntax--type.syntax--class { + color: @green; + } + + .syntax--punctuation.syntax--terminator { + color: @syntax-text-color; + } + + .syntax--punctuation.syntax--section.syntax--embedded { + color: @red; + } + .syntax--embedded.syntax--source { + color: @syntax-text-color; + } + + .syntax--constant.syntax--numeric { + color: @magenta; + } + + .syntax--constant.syntax--language.syntax--boolean { + color: @yellow; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/css.less b/packages/solarized-light-syntax/styles/syntax/css.less new file mode 100644 index 00000000000..8bfaf8c3404 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/css.less @@ -0,0 +1,63 @@ +.syntax--source.syntax--css { + + .syntax--punctuation { + &.syntax--separator, + &.syntax--terminator { + color: @syntax-text-color; + } + &.syntax--property-list.syntax--begin, + &.syntax--property-list.syntax--end { + color: @red; + } + &.syntax--section.syntax--function { + color: @cyan; + } + } + + .syntax--entity.syntax--name { + color: @green; + } + .syntax--attribute-name.syntax--class, + .syntax--id { + color: @blue; + } + .syntax--pseudo-element, + .syntax--pseudo-class { + color: @orange; + } + + .syntax--property-value { + color: @cyan; + } + .syntax--constant.syntax--numeric { + color: @cyan; + .syntax--unit { + color: @cyan; + } + } + .syntax--rgb-value { + color: @cyan; + } + .syntax--support.syntax--constant { + color: @cyan; + &.syntax--media { + color: @red; + } + } + + .syntax--keyword.syntax--important { + color: @red; + } + +} + + +// Less/Sass should have their own files, +// but for just a single override, here should be fine too + +.syntax--source.syntax--less, +.syntax--source.syntax--scss { + .syntax--keyword.syntax--unit { + color: @cyan; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/go.less b/packages/solarized-light-syntax/styles/syntax/go.less new file mode 100644 index 00000000000..b12558e8327 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/go.less @@ -0,0 +1,10 @@ +.syntax--source.syntax--go { + + .syntax--operator { + color: @syntax-text-color; + &.syntax--assignment { + color: @green; + } + } + +} diff --git a/packages/solarized-light-syntax/styles/syntax/java.less b/packages/solarized-light-syntax/styles/syntax/java.less new file mode 100644 index 00000000000..6fa5c64a7e5 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/java.less @@ -0,0 +1,47 @@ +.syntax--source.syntax--java { + .syntax--keyword.syntax--operator{ + color:@green; + } + .syntax--keyword.syntax--import{ + color: @orange; + } + .syntax--storage.syntax--modifier.syntax--import{ + color: @syntax-comment-color; + } + .syntax--meta.syntax--class{ + .syntax--storage.syntax--modifier{ + color: @yellow; + } + .syntax--meta.syntax--class.syntax--identifier{ + .syntax--entity.syntax--name.syntax--type.syntax--class{ + color: @blue; + } + } + } + .syntax--storage.syntax--type.syntax--primitive.syntax--array{ + color:@green; + } + .syntax--constant.syntax--numeric{ + color:@magenta; + } + .syntax--constant.syntax--other{ + color:@orange; + } + .syntax--storage.syntax--type{ + color:@green; + } + .syntax--meta.syntax--method-call{ + //@ibocon: method parameter's color + color:@red; + //@ibocon: method and variable use different hightlight + .syntax--meta.syntax--method{ + color:@violet; + } + .syntax--punctuation.syntax--definition.syntax--seperator.syntax--parameter{ + color:@green; + } + } + .syntax--punctuation.syntax--definition.syntax--method-parameters{ + color: @syntax-emphasized-color; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/javascript.less b/packages/solarized-light-syntax/styles/syntax/javascript.less new file mode 100644 index 00000000000..ec1ebf06844 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/javascript.less @@ -0,0 +1,128 @@ +.syntax--source.syntax--js { + .syntax--comma { + color: @syntax-text-color; + } + + .syntax--support.syntax--class { + color: @green; + } + + .syntax--entity { + &.syntax--name.syntax--type { + color: @yellow; + } + &.syntax--name { + color: @syntax-text-color; + + &.syntax--function { + color: @blue; + } + } + + &.syntax--name.syntax--tag { + color: @blue; + } + + &.syntax--other.syntax--attribute-name { + color: @yellow; + } + } + + + .syntax--meta.syntax--brace { + color: @syntax-text-color; + } + + .syntax--keyword { + color: @syntax-text-color; + } + .syntax--keyword.syntax--operator.syntax--new { + color: @green; + } + .syntax--keyword.syntax--control { + color: @orange; + } + .syntax--keyword.syntax--control.syntax--regexp { + color: @cyan; + } + + .syntax--variable { + color: @syntax-text-color; + } + .syntax--variable.syntax--dom { + color: @green; + } + .syntax--delimiter + .syntax--dom { + color: @syntax-text-color; + } + .syntax--name { + color: @syntax-text-color; + } + .syntax--variable.syntax--language { + color: @blue; + } + .syntax--variable.syntax--parameter { + color: @syntax-text-color; + } + + .syntax--regexp { + color: @cyan; + } + + .syntax--support.syntax--function { + color: @syntax-text-color; + } + .syntax--support.syntax--constant { + color: @syntax-text-color; + } + + .syntax--storage.syntax--modifier { + color: @yellow; + } + + .syntax--punctuation.syntax--terminator.syntax--statement { + color: @syntax-text-color; + } + + .syntax--meta.syntax--delimiter.syntax--method.syntax--period { + color: @syntax-text-color; + } + .syntax--meta.syntax--brace.syntax--square { + color: @blue; + } + .syntax--meta.syntax--brace.syntax--curly { + color: @blue; + } + + .syntax--string.syntax--quoted.syntax--template { + .syntax--embedded.syntax--source { + color: @syntax-text-color; + & > .syntax--embedded.syntax--punctuation { + color: @red; + } + } + } + + &.syntax--embedded .syntax--entity.syntax--name.syntax--tag { + color: @blue; + } + + .syntax--import { + .syntax--control { + color: @orange; + } + } +} + + +// JavaScript (Rails) language-ruby-on-rails + +.syntax--source.syntax--js.syntax--rails { + .syntax--instance { + color: @blue; + } + + .syntax--class { + color: @yellow; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/markdown.less b/packages/solarized-light-syntax/styles/syntax/markdown.less new file mode 100644 index 00000000000..2ca0038d93b --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/markdown.less @@ -0,0 +1,26 @@ +.syntax--md, +.syntax--gfm { + .syntax--link .syntax--entity { + color: @violet; + } + + .syntax--list { + &.syntax--ordered { + color: @green; + } + &.syntax--unordered { + color: @yellow; + } + } + + .syntax--raw { + font-style: italic; + } + + &.syntax--support { + color:@syntax-comment-color; + &.syntax--quote { + color: @violet; + } + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/markup.less b/packages/solarized-light-syntax/styles/syntax/markup.less new file mode 100644 index 00000000000..f94b56f5b80 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/markup.less @@ -0,0 +1,30 @@ +.syntax--markup { + + &.syntax--bold { + font-weight: bold; + } + &.syntax--italic { + font-style: italic; + } + + &.syntax--heading { + color: @blue; + } + + &.syntax--link { + color: @cyan; + } + + &.syntax--deleted { + color: @red; + } + + &.syntax--changed { + color: @yellow; + } + + &.syntax--inserted { + color: @cyan; + } + +} diff --git a/packages/solarized-light-syntax/styles/syntax/php.less b/packages/solarized-light-syntax/styles/syntax/php.less new file mode 100644 index 00000000000..8eb510d41f1 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/php.less @@ -0,0 +1,67 @@ +.syntax--source.syntax--php { + .syntax--storage { + &.syntax--type { + &.syntax--class { + color: @yellow; + } + &.syntax--function { + color: @orange; + } + } + &.syntax--modifier { + color: @yellow; + } + } + .syntax--entity { + &.syntax--name { + &.syntax--type.syntax--class { + color: @syntax-text-color; + } + &.syntax--function { + color: @syntax-text-color; + } + } + &.syntax--other { + color: @syntax-text-color; + } + } + .syntax--variable { + color: @blue; + } + .syntax--punctuation.syntax--definition { + color: @syntax-text-color; + &.syntax--comment { + color: @syntax-comment-color; + } + &.syntax--array { + color: @red; + } + &.syntax--string { + color: @syntax-text-color; + } + &.syntax--variable { + color: @green; + } + } + .syntax--support.syntax--function { + &.syntax--construct { + color: @yellow; + } + &.syntax--array { + color: @green; + } + } + .syntax--keyword { + &.syntax--operator { + &.syntax--class { + color: @yellow; + } + &.syntax--assignment { + color: @green; + } + } + &.syntax--other { + color: @red; + } + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/python.less b/packages/solarized-light-syntax/styles/syntax/python.less new file mode 100644 index 00000000000..ffe29ba2b39 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/python.less @@ -0,0 +1,100 @@ +.syntax--source.syntax--python { + .syntax--entity { + color: @syntax-text-color; + + &.syntax--name { + color: @blue; + } + &.syntax--other { + color: @blue; + } + } + + .syntax--function { + color: @blue; + + &.syntax--magic { + color: @blue; + } + } + + .syntax--punctuation.syntax--string { + color: @cyan; + } + .syntax--keyword { + &.syntax--operator { + color: @syntax-text-color; + &.syntax--quantifier { + color: @cyan; + } + &.syntax--logical { + color: @green; + } + } + &.syntax--control.syntax--import { + color: @orange; + } + &.syntax--other { + color: @green; + } + } + .syntax--constant { + &.syntax--language { + color: @blue; + } + &.syntax--character { + color: @cyan; + } + &.syntax--other { + color: @red; + } + } + + .syntax--entity.syntax--name.syntax--type.syntax--class { + color: @blue; + } + .syntax--variable { + color: @syntax-text-color; + } + .syntax--support { + &.syntax--function.syntax--builtin { + color: @blue; + } + &.syntax--type { + &.syntax--exception.syntax--python { + color: @yellow; + } + &.syntax--python { + color: @blue; + } + } + } + .syntax--storage.syntax--type.syntax--string { + color: @cyan; + } + + .syntax--storage.syntax--type.syntax--class { + color: @green; + &.syntax--todo { + color: @magenta; + } + } + + .syntax--storage.syntax--type.syntax--function { + color: @green; + } + + .syntax--punctuation.syntax--definition.syntax--parameters { + color: @syntax-text-color; + } + + .syntax--punctuation.syntax--section.syntax--function.syntax--begin { + color: @syntax-text-color; + } + + .syntax--punctuation.syntax--separator.syntax--parameters { + color: @syntax-text-color; + } + + +} diff --git a/packages/solarized-light-syntax/styles/syntax/ruby.less b/packages/solarized-light-syntax/styles/syntax/ruby.less new file mode 100644 index 00000000000..3e3d8b58c2b --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/ruby.less @@ -0,0 +1,129 @@ +.syntax--source.syntax--ruby { + + .syntax--meta.syntax--embedded { + .syntax--punctuation.syntax--section { + color: @red; + } + } + .syntax--punctuation.syntax--definition { + color: @syntax-text-color; + &.syntax--string { + color: @red; + } + } + .syntax--punctuation.syntax--definition.syntax--comment { + color: @syntax-comment-color; + } + .syntax--entity.syntax--inherited-class { + color: @yellow; + } + .syntax--variable { + &.syntax--parameter { + color: @syntax-text-color; + } + } + .syntax--variable.syntax--constant { + color: @yellow; + } + .syntax--constant.syntax--boolean { + color: @cyan; + } + .syntax--instance { + .syntax--punctuation.syntax--definition { + color: @blue; + } + } + .syntax--class { + color: @yellow; + &.syntax--control { + color: @syntax-text-color; + } + } + .syntax--module { + color: @yellow; + } + .syntax--require { + .syntax--keyword.syntax--other.syntax--special-method { + color: @orange; + } + } + .syntax--keyword.syntax--other.syntax--special-method { + color: @orange; + } + .syntax--keyword.syntax--other { + color: @green; + } + .syntax--keyword.syntax--control { + color: @green; + } + .syntax--keyword.syntax--operator { + color: @syntax-text-color; + } + .syntax--special-method { + color: @blue; + } + .syntax--symbol { + color: @cyan; + .syntax--punctuation.syntax--definition { + color: @cyan; + } + } + .syntax--hashkey { + color: @red; + .syntax--punctuation.syntax--definition { + color: @red; + } + } + .syntax--string.syntax--regexp { + color: @red; + } + .syntax--todo { + color: @magenta; + } + .syntax--variable.syntax--ruby.syntax--global { + color: @blue; + .syntax--punctuation { + color: @blue; + } + } + .syntax--variable.syntax--block { + color: @blue; + } + .syntax--variable.syntax--self { + color: @cyan; + } + .syntax--punctuation.syntax--separator { + color: @syntax-text-color; + } + .syntax--numeric { + color: @cyan; + } + .syntax--punctuation.syntax--section.syntax--regexp { + color: @red; + } + .syntax--string.syntax--interpolated { + color: @cyan; + } + .syntax--string.syntax--interpolated { + .syntax--embedded.syntax--line.syntax--ruby { + .syntax--punctuation { + .syntax--source.syntax--ruby { + color: @red; + } + } + .syntax--source.syntax--ruby { + .syntax--punctuation.syntax--array, + .syntax--punctuation.syntax--function { + color: @syntax-text-color; + } + color: @syntax-text-color; + } + } + } + .syntax--support.syntax--function { + color: @syntax-text-color; + } + .syntax--support.syntax--function.syntax--kernel { + color: @green; + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/scala.less b/packages/solarized-light-syntax/styles/syntax/scala.less new file mode 100644 index 00000000000..37651408759 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/scala.less @@ -0,0 +1,79 @@ +.syntax--source.syntax--scala { + .syntax--variable { + color: @syntax-emphasized-color; + } + + .syntax--declaration { + color: @syntax-emphasized-color; + font-weight: bold; + } + .syntax--comparison { + color: @syntax-emphasized-color; + } + .syntax--class, .syntax--type { + color: @yellow; + } + .syntax--val { + font-weight: normal; + } + .syntax--variable { + font-weight: bold; + } + .syntax--variable.syntax--parameter { + color: @violet; + font-weight: normal; + } + .syntax--control.syntax--flow { + color: @syntax-emphasized-color; + font-weight: bold; + } + .syntax--constant.syntax--language { + color: @syntax-emphasized-color; + font-weight: bold; + } + .syntax--function.syntax--declaration { + color: @violet; + } + .syntax--modifier.syntax--other { + font-weight: bold; + } + .syntax--package { + color: @syntax-emphasized-color; + } + .syntax--variable.syntax--import { + font-weight: normal; + } + + .syntax--type { + .syntax--bounds, .syntax--class { + color: @violet; + } + } + + .syntax--documentation { + :not(.syntax--embedded) { + // out of scope ? + // https://github.syntax--com/atom/link + &.syntax--link.syntax--entity { + color: @blue; + text-decoration: underline; + } + .syntax--class, .syntax--parameter { + color: @syntax-emphasized-color; + } + .syntax--description { + color: @syntax-comment-color; + } + } + } + + .syntax--embedded { + color: darken(@syntax-emphasized-color, 15%); + + // so we dont confused it with normal expressions + font-style: italic; + .syntax--margin, .syntax--delimiters { + font-style: normal; + } + } +} diff --git a/packages/solarized-light-syntax/styles/syntax/typescript.less b/packages/solarized-light-syntax/styles/syntax/typescript.less new file mode 100644 index 00000000000..1a328807379 --- /dev/null +++ b/packages/solarized-light-syntax/styles/syntax/typescript.less @@ -0,0 +1,22 @@ +.syntax--source.syntax--ts, +.syntax--source.syntax--tsx { + .syntax--import { + .syntax--control { + color: @orange; + } + } + + .syntax--entity { + &.syntax--name.syntax--type { + color: @yellow; + } + + &.syntax--inherited-class { + color: @yellow; + } + } + + .syntax--support.syntax--type { + color: @yellow; + } +} diff --git a/script/lib/clean-dependencies.js b/script/lib/clean-dependencies.js index 72007cf049f..5b64e5e89fd 100644 --- a/script/lib/clean-dependencies.js +++ b/script/lib/clean-dependencies.js @@ -3,10 +3,12 @@ const path = require('path') const CONFIG = require('../config') module.exports = function () { - // We can't require fs-extra if `script/bootstrap` has never been run, because - // it's a third party module. This is okay because cleaning dependencies only - // makes sense if dependencies have been installed at least once. + // We can't require fs-extra or glob if `script/bootstrap` has never been run, + // because they are third party modules. This is okay because cleaning + // dependencies only makes sense if dependencies have been installed at least + // once. const fs = require('fs-extra') + const glob = require('glob') const apmDependenciesPath = path.join(CONFIG.apmRootPath, 'node_modules') console.log(`Cleaning ${apmDependenciesPath}`) @@ -19,4 +21,9 @@ module.exports = function () { const scriptDependenciesPath = path.join(CONFIG.scriptRootPath, 'node_modules') console.log(`Cleaning ${scriptDependenciesPath}`) fs.removeSync(scriptDependenciesPath) + + const bundledPackageDependenciesPaths = path.join(CONFIG.repositoryRootPath, 'packages', '**', 'node_modules') + for (const bundledPackageDependencyPath of glob.sync(bundledPackageDependenciesPaths)) { + fs.removeSync(bundledPackageDependencyPath) + } } diff --git a/script/lib/copy-assets.js b/script/lib/copy-assets.js index 27b5f086ce6..b04916cd9d7 100644 --- a/script/lib/copy-assets.js +++ b/script/lib/copy-assets.js @@ -15,7 +15,6 @@ module.exports = function () { path.join(CONFIG.repositoryRootPath, 'benchmarks', 'benchmark-runner.js'), path.join(CONFIG.repositoryRootPath, 'dot-atom'), path.join(CONFIG.repositoryRootPath, 'exports'), - path.join(CONFIG.repositoryRootPath, 'node_modules'), path.join(CONFIG.repositoryRootPath, 'package.json'), path.join(CONFIG.repositoryRootPath, 'static'), path.join(CONFIG.repositoryRootPath, 'src'), @@ -23,9 +22,22 @@ module.exports = function () { ] srcPaths = srcPaths.concat(glob.sync(path.join(CONFIG.repositoryRootPath, 'spec', '*.*'), {ignore: path.join('**', '*-spec.*')})) for (let srcPath of srcPaths) { - fs.copySync(srcPath, computeDestinationPath(srcPath), {filter: includePathInPackagedApp, dereference: true}) + fs.copySync(srcPath, computeDestinationPath(srcPath), {filter: includePathInPackagedApp}) } + // Run a copy pass to dereference symlinked directories under node_modules. + // We do this to ensure that symlinked repo-local bundled packages get + // copied to the output folder correctly. We dereference only the top-level + // symlinks and not nested symlinks to avoid issues where symlinked binaries + // are duplicated in Atom's installation packages (see atom/atom#18490). + const nodeModulesPath = path.join(CONFIG.repositoryRootPath, 'node_modules') + glob.sync(path.join(nodeModulesPath, '*')) + .map(p => fs.lstatSync(p).isSymbolicLink() ? path.resolve(nodeModulesPath, fs.readlinkSync(p)) : p) + .forEach(modulePath => { + const destPath = path.join(CONFIG.intermediateAppPath, 'node_modules', path.basename(modulePath)) + fs.copySync(modulePath, destPath, { filter: includePathInPackagedApp }) + }) + fs.copySync( path.join(CONFIG.repositoryRootPath, 'resources', 'app-icons', CONFIG.channel, 'png', '1024.png'), path.join(CONFIG.intermediateAppPath, 'resources', 'atom.png') diff --git a/script/lib/package-application.js b/script/lib/package-application.js index 1b3c19b2845..7125deea532 100644 --- a/script/lib/package-application.js +++ b/script/lib/package-application.js @@ -29,6 +29,7 @@ module.exports = function () { 'name': appName, 'out': CONFIG.buildOutputPath, 'overwrite': true, + 'deref-symlinks': false, 'platform': process.platform, 'version': CONFIG.appMetadata.electronVersion, 'version-string': { diff --git a/script/package-lock.json b/script/package-lock.json index 4a9b6a5db2d..de5d59cd06f 100644 --- a/script/package-lock.json +++ b/script/package-lock.json @@ -167,7 +167,7 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -181,7 +181,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -649,9 +649,9 @@ } }, "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", + "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" }, "bl": { "version": "1.2.2", @@ -664,7 +664,7 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -678,7 +678,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -921,9 +921,9 @@ "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==" }, "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, "chromium-pickle-js": { "version": "0.1.0", @@ -1732,13 +1732,13 @@ } }, "electron-link": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/electron-link/-/electron-link-0.2.2.tgz", - "integrity": "sha1-uWvx/MrowwyAuiaTBq+UVOYtP2U=", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/electron-link/-/electron-link-0.3.2.tgz", + "integrity": "sha512-V7QmtujzWgvrW5BI2CKmIRF+q+pkrFO5Lecd8TpibbBz+FfW5WQ4kCN0sZjNaUOMtGGroCib721OqIDEynjwgA==", "requires": { "ast-util": "^0.6.0", "encoding-down": "~5.0.0", - "indent-string": "^2.1.0", + "indent-string": "^3.2.0", "leveldown": "~4.0.0", "levelup": "~3.0.0", "recast": "^0.12.6", @@ -1752,15 +1752,20 @@ "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==" }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, "recast": { "version": "0.12.9", "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", @@ -4025,7 +4030,7 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -4039,7 +4044,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -4718,17 +4723,17 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "node-abi": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.3.tgz", - "integrity": "sha512-b656V5C0628gOOA2kwcpNA/bxdlqYF9FvxJ+qqVX0ctdXNVZpS8J6xEUYir3WAKc7U0BH/NRlSpNbGsy+azjeg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.5.1.tgz", + "integrity": "sha512-oDbFc7vCFx0RWWCweTer3hFm1u+e60N5FtGnmRV6QqvgATGFH/XRR6vqWIeBVosCYCqt6YdIr2L0exLZuEdVcQ==", "requires": { "semver": "^5.4.1" }, "dependencies": { "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" } } }, @@ -9874,22 +9879,22 @@ } }, "tar-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", - "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "requires": { "bl": "^1.0.0", - "buffer-alloc": "^1.1.0", + "buffer-alloc": "^1.2.0", "end-of-stream": "^1.0.0", "fs-constants": "^1.0.0", "readable-stream": "^2.3.0", - "to-buffer": "^1.1.0", + "to-buffer": "^1.1.1", "xtend": "^4.0.0" }, "dependencies": { "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -9903,7 +9908,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" diff --git a/script/package.json b/script/package.json index d3f913f24e7..c57a47047cc 100644 --- a/script/package.json +++ b/script/package.json @@ -10,7 +10,7 @@ "colors": "1.1.2", "donna": "1.0.16", "electron-chromedriver": "~2.0", - "electron-link": "0.2.2", + "electron-link": "0.3.2", "electron-mksnapshot": "~2.0", "electron-packager": "7.3.0", "electron-winstaller": "2.6.4", diff --git a/spec/tree-sitter-language-mode-spec.js b/spec/tree-sitter-language-mode-spec.js index 83d505011bd..7b8344d9c47 100644 --- a/spec/tree-sitter-language-mode-spec.js +++ b/spec/tree-sitter-language-mode-spec.js @@ -407,7 +407,7 @@ describe('TreeSitterLanguageMode', () => { scopes: { 'identifier': 'variable', 'call_expression > identifier': 'function', - 'new_expression > call_expression > identifier': 'constructor' + 'new_expression > identifier': 'constructor' } }) diff --git a/src/atom-environment.js b/src/atom-environment.js index 915ff78f18e..40b4172698b 100644 --- a/src/atom-environment.js +++ b/src/atom-environment.js @@ -1010,6 +1010,7 @@ class AtomEnvironment { // window.alert('bummer') // } // }) + // ``` // // ```js // // Legacy sync version diff --git a/src/main-process/atom-application.js b/src/main-process/atom-application.js index c108956500e..bd769eb2bb1 100644 --- a/src/main-process/atom-application.js +++ b/src/main-process/atom-application.js @@ -576,7 +576,7 @@ class AtomApplication extends EventEmitter { this.disposable.add(ipcHelpers.respondTo('set-user-settings', (window, settings, filePath) => { if (!this.quitting) { - ConfigFile.at(filePath || this.configFilePath).update(JSON.parse(settings)) + return ConfigFile.at(filePath || this.configFilePath).update(JSON.parse(settings)) } })) diff --git a/src/pane-container.js b/src/pane-container.js index b14d6ea575b..1185d7a9ca0 100644 --- a/src/pane-container.js +++ b/src/pane-container.js @@ -282,7 +282,7 @@ class PaneContainer { this.cancelStoppedChangingActivePaneItemTimeout() // `setTimeout()` isn't available during the snapshotting phase, but that's okay. - if (typeof setTimeout === 'function') { + if (!global.isGeneratingSnapshot) { this.stoppedChangingActivePaneItemTimeout = setTimeout(() => { this.stoppedChangingActivePaneItemTimeout = null this.emitter.emit('did-stop-changing-active-pane-item', activeItem)