Comparar commits

...

115 Commits

Autor SHA1 Mensagem Data
simurai efe2b5dcfc 🎨 Rename flexible size class 2015-01-31 11:05:00 +09:00
simurai dc7bcfa8f2 🎨 Remove unused styles 2015-01-30 21:37:58 +09:00
simurai ebad1eeb6a Add badge component
It's now part of core
2015-01-30 19:53:54 +09:00
Ben Ogle b02d0e3df3 Merge pull request #5280 from atom/bo-schema-on-load
Reset all user config values when the schema changes
2015-01-29 18:06:18 -08:00
Ben Ogle d3f29c4580 🎨 Fix wording 2015-01-29 17:54:41 -08:00
Ben Ogle 7263ca8faa 🎨 Fix spec title 2015-01-29 17:54:41 -08:00
Ben Ogle cd812e7a65 Transact on resetting the settings when a schema changes 2015-01-29 17:54:41 -08:00
Ben Ogle 4e6e636b8b 🎨 Reorder args to be consistent with other methods 2015-01-29 17:54:41 -08:00
Ben Ogle 083bafdb33 Handle unschema’d items in objects.
This is required for packages that still use configDefaults
2015-01-29 17:54:41 -08:00
Ben Ogle adbe151c5d Fix up the linter error 2015-01-29 17:54:41 -08:00
Ben Ogle 26b450fe49 🎨 Clean up spec naming 2015-01-29 17:54:41 -08:00
Ben Ogle 5d273d0ee6 Add a bit more coverage to the specs 2015-01-29 17:54:41 -08:00
Ben Ogle b9b2b4bca2 Adhere to the schemas when loading the user’s config 2015-01-29 17:54:41 -08:00
Ben Ogle 79094ee889 Reset all user config values when the schema changes. 2015-01-29 17:54:40 -08:00
Kevin Sawicki d2f485a1ab ⬆️ deprecation-cop@0.34 2015-01-29 16:44:33 -08:00
Kevin Sawicki c12002a0ba ⬆️ bracket-matcher@0.71 2015-01-29 16:41:22 -08:00
Kevin Sawicki e0bac77fa5 ⬆️ season@5.1.2
Closes atom/snippets#101
2015-01-29 11:31:11 -08:00
Kevin Sawicki c4c13375e4 ⬆️ language-todo@0.16 2015-01-29 09:41:06 -08:00
Kevin Sawicki 83f0104c46 Merge pull request #5305 from mnquintana/patch-3
Fix broken npm package.json link in creating-a-package.md
2015-01-29 09:15:11 -08:00
Machiste N. Quintana a0a3c93b1d 📝 Fix broken npm package.json link
In creating-a-package.md
Fixes #5304
2015-01-29 10:52:46 -05:00
Nathan Sobo 98a874808e ⬆️ react-atom-fork for @bolinfest's changes 2015-01-29 08:24:00 -07:00
Ben Ogle e7b790c5b9 Merge pull request #5300 from nextPrime/patch-1
http://github.com -> https://github.com
2015-01-28 18:45:27 -08:00
nextPrime 4988293400 http://github.com -> https://github.com
Change http://github.com to https://github.com to avoid plaintext HTTP connections.
2015-01-28 21:17:29 -05:00
Kevin Sawicki 0d51c3b871 ⬆️ apm@0.133 2015-01-28 16:42:13 -08:00
Kevin Sawicki 8316183fa0 ⬇️ apm@0.131 2015-01-28 16:37:43 -08:00
simurai 8e617ff4e2 📝 Update Shadow DOM selector 2015-01-29 09:27:17 +09:00
Kevin Sawicki 3ca5495690 Merge pull request #5279 from paulcbetts/patch-1
Enable DirectWrite
2015-01-28 16:11:15 -08:00
Kevin Sawicki 5c47ae0cbc ⬆️ apm@0.132 2015-01-28 16:05:31 -08:00
Cheng Zhao 6a86a00c66 Merge pull request #5282 from atom/chrome40
Upgrade to Chrome40
2015-01-28 15:52:20 -08:00
Cheng Zhao 1abe64e73e styleguide@0.43.0 2015-01-28 14:35:45 -08:00
Cheng Zhao bb9150340d ⬆️ markdown-preview@0.131.0 2015-01-28 14:32:55 -08:00
Cheng Zhao c3f5c43694 ⬆️ link@0.30.0 2015-01-28 14:24:29 -08:00
Cheng Zhao 1678016ae4 ⬆️ image-view@0.48.0 2015-01-28 14:22:43 -08:00
Cheng Zhao f50e402de3 ⬆️ bracket-matcher@0.70.0 2015-01-28 14:20:08 -08:00
Cheng Zhao e6363150dd ⬆️ pathwatcher@3.1.0 2015-01-28 14:16:16 -08:00
Cheng Zhao 5f024bfd69 ⬆️ markdown-preview@0.130.0 2015-01-28 14:06:29 -08:00
Cheng Zhao 76adb58fea ⬆️ scandal@2.0.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 53d5e61b23 ⬆️ atom-keymap@3.1.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 499c09fc25 ⬆️ first-mate@3.0.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 7891595fed ⬆️ text-buffer@4.0.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 604f2a951f ⬆️ scroller-style@2.0.0 2015-01-28 14:06:15 -08:00
Cheng Zhao c1b6b716b1 ⬆️ archive-view@0.46.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 4d861a68d1 ⬆️ dev-live-reload@0.41.0 2015-01-28 14:06:15 -08:00
Cheng Zhao a831688ce1 ⬆️ snippets@0.72.0 2015-01-28 14:06:15 -08:00
Cheng Zhao 1cbac24cee ⬆️ tree-view@0.154.0 2015-01-28 14:06:15 -08:00
Cheng Zhao afa5f73094 ⬆️ spell-check@0.54.0 2015-01-28 14:06:15 -08:00
Cheng Zhao a142e23f49 ⬆️ nslog@2.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao f1b7536d06 ⬆️ oniguruma@4.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 397e61a0d8 ⬆️ git-utils@3.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao af22e45f70 ⬆️ runas@2.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao e6a12530a1 ⬆️ symbols-view@0.81.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 896c98b7a0 ⬆️ pathwatcher@3.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 3201a05672 ⬆️ apm@0.131.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 93181d8a54 Array::find is undefined in Chrome 40 2015-01-28 14:06:14 -08:00
Cheng Zhao 661f1f822a ⬆️ atom-keymap@3.0.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 678306317d ⬆️ text-buffer@3.11.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 8dd5f17609 ⬆️ scrollbar-style@1.1.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 13e069b45d ⬆️ scandal@1.1.0 2015-01-28 14:06:14 -08:00
Cheng Zhao e61cc5eb13 ⬆️ tree-view@0.152.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 9e92952ad0 ⬆️ symbols-view@0.80.0 2015-01-28 14:06:14 -08:00
Cheng Zhao a8d778781c ⬆️ snippets@v0.71.0 2015-01-28 14:06:14 -08:00
Cheng Zhao da17679ec7 ⬆️ dev-live-preview@0.40.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 1cf663714e ⬆️ archive-view@0.45.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 05963c4e57 ⬆️ spell-check@0.53.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 965a18f7e2 ⬆️ nslog@1.1.0 2015-01-28 14:06:14 -08:00
Cheng Zhao 58c45f87e6 ⬆️ oniguruma@3.1.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 21e609ffac ⬆️ pathwatcher@2.7.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 93befc986f ⬆️ git-utils@2.3.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 3321d77264 ⬆️ runas@1.2.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 84761563f0 ⬆️ apm@0.129.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 014cf19723 ⬆️ atom-shell@0.21.0 2015-01-28 14:06:13 -08:00
Cheng Zhao 2a42ed4aaa ⬆️ markdown-preview@0.129.0 2015-01-28 14:05:17 -08:00
Kevin Sawicki 34b1615782 Lower limit to 175 2015-01-28 12:09:43 -08:00
Kevin Sawicki 87db2760b8 ⬆️ autocomplete@0.44 2015-01-28 09:40:42 -08:00
Max Brunsfeld b4dd0f4f73 ⬆️ language-c 2015-01-28 09:35:20 -08:00
Max Brunsfeld 9d655fd642 ⬆️ language-javascript 2015-01-28 09:12:38 -08:00
Max Brunsfeld 4700edf439 ⬆️ markdown-preview 2015-01-28 08:50:32 -08:00
Cheng Zhao 87c2f4496f 🐧 Set window icon, fixes #5281 2015-01-27 20:34:36 -08:00
Ben Ogle 2741445d95 ⬆️ background-tips@0.22.0 2015-01-27 18:32:32 -08:00
Kevin Sawicki ed90c5e6c2 ⬆️ less-cache@0.21 2015-01-27 17:32:13 -08:00
Kevin Sawicki 0bf2a3f480 ⬆️ apm@0.130 2015-01-27 17:24:03 -08:00
Paul Betts a743e8d058 Enable DirectWrite
Chrome 39 proper now has DirectWrite as the default renderer, which makes a huge difference in text clarity, especially on High DPI monitors.
2015-01-27 14:38:50 -08:00
Kevin Sawicki ddc607c760 ⬆️ tree-view@0.151 2015-01-27 14:30:28 -08:00
Kevin Sawicki cbc8ad1467 Merge pull request #5201 from wyand/master
🍎 try ~/Applications before using mdfind
2015-01-27 14:09:52 -08:00
Kevin Sawicki 1a1eb4380a ⬆️ tabs@0.65 2015-01-27 14:06:28 -08:00
Kevin Sawicki 535b49f60c ⬆️ tree-view@0.150 2015-01-27 13:43:09 -08:00
Kevin Sawicki b5e60f7aa0 ⬆️ spell-check@0.52 2015-01-27 13:33:04 -08:00
Kevin Sawicki ce29060d2d ⬆️ first-mate@2.2.5 2015-01-27 09:30:24 -08:00
Ben Ogle 7d1c23b561 ⬆️ git-diff@0.50.0 2015-01-26 17:39:30 -08:00
Ben Ogle 9e2799db27 ⬆️ status-bar@0.58.0 2015-01-26 15:56:50 -08:00
Daniel Hengeveld 040f6deb1e Merge pull request #5263 from atom/bump-tree-view
⬆️ bump tree view for new sort option
2015-01-26 14:31:53 -08:00
Kevin Sawicki 33d2debf5f Prepare 0.177 2015-01-26 13:59:57 -08:00
Daniel Hengeveld 6de40e21c7 bump tree view to include version with new sort option 2015-01-26 13:05:37 -08:00
Cheng Zhao 6169caa1fb Merge pull request #5235 from atom/atom-shell-v0.20.7
Upgrade to atom-shell v0.20.7
2015-01-26 12:58:06 -08:00
Cheng Zhao b4e25137a2 "screen" is now a browser side module 2015-01-26 11:28:00 -08:00
Cheng Zhao 05aaace387 Do not set window icon, fixes #4811 2015-01-26 11:28:00 -08:00
Cheng Zhao a32daecf5f ⬆️ atom-shell@0.20.7 2015-01-26 11:28:00 -08:00
Kevin Sawicki 6db43d85c4 Remove CI node_modules cleaning 2015-01-26 11:01:42 -08:00
Kevin Sawicki 53e06b8680 Clean out node_modules on Linux CI 2015-01-26 10:44:06 -08:00
Kevin Sawicki 9ab2500970 Clean out node_modules on Windows CI 2015-01-26 10:15:37 -08:00
Kevin Sawicki 697e70d47c ⬆️ apm@0.128 2015-01-26 09:43:42 -08:00
Daniel Hengeveld ffd1f8520c Merge pull request #5240 from mnquintana/less-rename
📝 Rename LESS to Less
2015-01-25 11:48:12 -08:00
Machiste Quintana 9132859757 📝 LESS -> Less 2015-01-24 09:49:53 -05:00
Kevin Sawicki 6af2e1649c ⬆️ legal-eagle@0.9 2015-01-23 13:33:25 -08:00
Kevin Sawicki 0962918a82 ⬆️ timecop@0.28 2015-01-23 11:51:41 -08:00
Kevin Sawicki 6b963a562f Track coffee cache hits correctly 2015-01-23 11:48:19 -08:00
Ben Ogle db41b022c2 Merge pull request #5228 from atom/bo-fix-wait-promise
Make waitsForPromise() work with es6 promises as well as Q promises
2015-01-23 10:33:20 -08:00
Kevin Sawicki d4084b305b ⬆️ season@5.1.1 2015-01-23 09:57:48 -08:00
Kevin Sawicki b81c1f408f Track coffee cache hits/misses 2015-01-23 09:41:26 -08:00
Kevin Sawicki 97bdb84122 ⬆️ season@5.1 2015-01-23 09:41:26 -08:00
Kevin Sawicki 87e8720269 ⬆️ less-cache@0.20 2015-01-23 09:41:26 -08:00
Max Brunsfeld 160c32384c ⬆️ markdown-preview@0.126.0 2015-01-23 08:33:44 -08:00
Ben Ogle 33299ec774 ⬆️ notifications@0.26.0 2015-01-22 18:15:50 -08:00
Max Brunsfeld d4cc549a01 Add jasmine.useRealClock
This is the only way to unmock the _.now function uses
by _.debounce and _.throttle, since package specs don't
necessarily have access to core's copy of underscore-plus

Signed-off-by: Nathan Sobo <nathan@github.com>
2015-01-22 17:59:18 -08:00
Dan Wyand 3b13e4f502 🍎 try ~/Applications before using mdfind 2015-01-21 23:01:37 -05:00
24 arquivos alterados com 287 adições e 85 exclusões
+1 -1
Ver Arquivo
@@ -1,6 +1,6 @@
![Atom](https://cloud.githubusercontent.com/assets/72919/2874231/3af1db48-d3dd-11e3-98dc-6066f8bc766f.png)
Atom is a hackable text editor for the 21st century, built on [atom-shell](http://github.com/atom/atom-shell), and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.
Atom is a hackable text editor for the 21st century, built on [atom-shell](https://github.com/atom/atom-shell), and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.
Visit [atom.io](https://atom.io) to learn more or visit the [Atom forum](https://discuss.atom.io).
+1 -1
Ver Arquivo
@@ -6,6 +6,6 @@
"url": "https://github.com/atom/atom.git"
},
"dependencies": {
"atom-package-manager": "0.127.0"
"atom-package-manager": "0.133.0"
}
}
+15 -9
Ver Arquivo
@@ -45,18 +45,24 @@ if [ $REDIRECT_STDERR ]; then
fi
if [ $OS == 'Mac' ]; then
ATOM_PATH="${ATOM_PATH:-/Applications}" # Set ATOM_PATH unless it is already set
ATOM_APP_NAME=Atom.app
# If ATOM_PATH isn't a executable file, use spotlight to search for Atom
if [ ! -x "$ATOM_PATH/$ATOM_APP_NAME" ]; then
ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.atom'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
fi
if [ -z "${ATOM_PATH}" ]; then
# If ATOM_PATH isnt set, check /Applications and then ~/Applications for Atom.app
if [ -x "/Applications/$ATOM_APP_NAME" ]; then
ATOM_PATH="/Applications"
elif [ -x "$HOME/Applications/$ATOM_APP_NAME" ]; then
ATOM_PATH="$HOME/Applications"
else
# We havent found an Atom.app, use spotlight to search for Atom
ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.atom'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
# Exit if Atom can't be found
if [ -z "$ATOM_PATH" ]; then
echo "Cannot locate Atom.app, it is usually located in /Applications. Set the ATOM_PATH environment variable to the directory containing Atom.app."
exit 1
# Exit if Atom can't be found
if [ ! -x "$ATOM_PATH/$ATOM_APP_NAME" ]; then
echo "Cannot locate Atom.app, it is usually located in /Applications. Set the ATOM_PATH environment variable to the directory containing Atom.app."
exit 1
fi
fi
fi
if [ $EXPECT_OUTPUT ]; then
+1 -1
Ver Arquivo
@@ -24,7 +24,7 @@
"grunt-peg": "~1.1.0",
"grunt-shell": "~0.3.1",
"harmony-collections": "~0.3.8",
"legal-eagle": "~0.8.0",
"legal-eagle": "~0.9.0",
"minidump": "~0.8",
"npm": "~1.4.5",
"rcedit": "~0.3.0",
+1 -1
Ver Arquivo
@@ -10,7 +10,7 @@ module.exports = (grunt) ->
fullPath = path.join(relativePath, fileName)
else
fullPath = fileName
longPaths.push(fullPath) if fullPath.length >= 200
longPaths.push(fullPath) if fullPath.length >= 175
longPaths.sort (longPath1, longPath2) -> longPath2.length - longPath1.length
+1 -1
Ver Arquivo
@@ -45,7 +45,7 @@ the editor to see it in action!
[atomio]: https://atom.io
[CSS]: http://en.wikipedia.org/wiki/Cascading_Style_Sheets
[LESS]: http://lesscss.org
[Less]: http://lesscss.org
[plist]: http://en.wikipedia.org/wiki/Property_list
[R]: http://en.wikipedia.org/wiki/R_(programming_language)
[TextMate]: http://macromates.com
+2 -2
Ver Arquivo
@@ -6,7 +6,7 @@ theme.
### Differences
TextMate themes use [plist][plist] files while Atom themes use [CSS][CSS] or
[LESS][LESS] to style the UI and syntax in the editor.
[Less][Less] to style the UI and syntax in the editor.
The utility that converts the theme first parses the theme's plist file and
then creates comparable CSS rules and properties that will style Atom similarly.
@@ -62,7 +62,7 @@ __Syntax Theme__ dropdown menu to enable your new theme.
[atomio]: https://atom.io
[CSS]: http://en.wikipedia.org/wiki/Cascading_Style_Sheets
[LESS]: http://lesscss.org
[Less]: http://lesscss.org
[plist]: http://en.wikipedia.org/wiki/Property_list
[TextMate]: http://macromates.com
[TextMateThemes]: http://wiki.macromates.com/Themes/UserSubmittedThemes
+4 -4
Ver Arquivo
@@ -123,8 +123,8 @@ like you.
Style sheets for your package should be placed in the _styles_ directory.
Any style sheets in this directory will be loaded and attached to the DOM when
your package is activated. Style sheets can be written as CSS or [LESS], but
LESS is recommended.
your package is activated. Style sheets can be written as CSS or [Less], but
Less is recommended.
Ideally, you won't need much in the way of styling. We've provided a standard
set of components which define both the colors and UI elements for any package
@@ -406,7 +406,7 @@ all the other available commands.
[status-bar]: https://github.com/atom/status-bar
[cs-syntax]: https://github.com/atom/language-coffee-script
[npm]: http://en.wikipedia.org/wiki/Npm_(software)
[npm-keys]: https://npmjs.org/doc/json.html
[npm-keys]: https://docs.npmjs.com/files/package.json
[git-tag]: http://git-scm.com/book/en/Git-Basics-Tagging
[wrap-guide]: https://github.com/atom/wrap-guide/
[keymaps]: advanced/keymaps.md
@@ -418,7 +418,7 @@ all the other available commands.
[underscore]: http://underscorejs.org/
[jasmine]: http://jasmine.github.io
[cson]: https://github.com/atom/season
[LESS]: http://lesscss.org
[Less]: http://lesscss.org
[ui-variables]: https://github.com/atom/atom-dark-ui/blob/master/styles/ui-variables.less
[first-package]: your-first-package.html
[convert-bundle]: converting-a-text-mate-bundle.html
+4 -4
Ver Arquivo
@@ -1,7 +1,7 @@
# Creating a Theme
Atom's interface is rendered using HTML, and it's styled via [LESS] which is a
superset of CSS. Don't worry if you haven't heard of LESS before; it's just like
Atom's interface is rendered using HTML, and it's styled via [Less] which is a
superset of CSS. Don't worry if you haven't heard of Less before; it's just like
CSS, but with a few handy extensions.
Atom supports two types of themes: _UI_ and _syntax_. UI themes style
@@ -17,7 +17,7 @@ section on the left hand side.
Themes are pretty straightforward but it's still helpful to be familiar with
a few things before starting:
* LESS is a superset of CSS, but it has some really handy features like
* Less is a superset of CSS, but it has some really handy features like
variables. If you aren't familiar with its syntax, take a few minutes
to [familiarize yourself][less-tutorial].
* You may also want to review the concept of a _[package.json]_, too. This file
@@ -131,7 +131,7 @@ _styleguide_, or use the shortcut `cmd-ctrl-shift-g`.
![styleguide-img]
[atomio]: http://atom.io/packages
[LESS]: http://lesscss.org/
[Less]: http://lesscss.org/
[git]: http://git-scm.com/
[atom]: https://atom.io/
[package.json]: ./creating-a-package.html#package-json
+3 -3
Ver Arquivo
@@ -169,17 +169,17 @@ For example, to change the color of the cursor, you could add the following
rule to your _~/.atom/styles.less_ file:
```less
atom-text-editor.is-focused .cursor {
atom-text-editor::shadow .cursor {
border-color: pink;
}
```
Unfamiliar with LESS? Read more about it [here][LESS].
Unfamiliar with Less? Read more about it [here][Less].
This file can also be named _styles.css_ and contain CSS.
[creating-a-package]: creating-a-package.md
[create-theme]: creating-a-theme.md
[LESS]: http://www.lesscss.org
[Less]: http://www.lesscss.org
[CSON]: https://github.com/atom/season
[CoffeeScript]: http://coffeescript.org/
+35 -35
Ver Arquivo
@@ -1,7 +1,7 @@
{
"name": "atom",
"productName": "Atom",
"version": "0.176.0",
"version": "0.177.0",
"description": "A hackable text editor for the 21st Century.",
"main": "./src/browser/main.js",
"repository": {
@@ -17,10 +17,10 @@
"url": "http://github.com/atom/atom/raw/master/LICENSE.md"
}
],
"atomShellVersion": "0.20.5",
"atomShellVersion": "0.21.0",
"dependencies": {
"async": "0.2.6",
"atom-keymap": "^2.5.2",
"atom-keymap": "^3.1.0",
"bootstrap": "git+https://github.com/atom/bootstrap.git#6af81906189f1747fd6c93479e3d998ebe041372",
"clear-cut": "0.4.0",
"coffee-script": "1.8.0",
@@ -29,41 +29,41 @@
"delegato": "^1",
"emissary": "^1.3.1",
"event-kit": "^1.0.1",
"first-mate": "^2.2.4",
"first-mate": "^3.0.0",
"fs-plus": "^2.3.2",
"fstream": "0.1.24",
"fuzzaldrin": "^2.1",
"git-utils": "^2.2",
"git-utils": "^3.0.0",
"grim": "1.1.0",
"guid": "0.0.10",
"jasmine-json": "~0.0",
"jasmine-tagged": "^1.1.2",
"jquery": "^2.1.1",
"less-cache": "0.19.0",
"less-cache": "0.21",
"marked": "^0.3",
"mixto": "^1",
"mkdirp": "0.3.5",
"nslog": "^1.0.1",
"oniguruma": "^3.0.6",
"nslog": "^2.0.0",
"oniguruma": "^4.0.0",
"optimist": "0.4.0",
"pathwatcher": "^2.6.1",
"pathwatcher": "^3.1.0",
"property-accessors": "^1",
"q": "^1.0.1",
"random-words": "0.0.1",
"react-atom-fork": "^0.11.4",
"react-atom-fork": "^0.11.5",
"reactionary-atom-fork": "^1.0.0",
"runas": "1.0.1",
"scandal": "1.0.3",
"runas": "2.0.0",
"scandal": "2.0.0",
"scoped-property-store": "^0.16.2",
"scrollbar-style": "^1.0.2",
"season": "^5.0.5",
"scrollbar-style": "^2.0.0",
"season": "^5.1.2",
"semver": "2.2.1",
"serializable": "^1",
"service-hub": "^0.2.0",
"space-pen": "3.8.2",
"stacktrace-parser": "0.1.1",
"temp": "0.7.0",
"text-buffer": "^3.10.1",
"text-buffer": "^4.0.0",
"theorist": "^1.0.2",
"underscore-plus": "^1.6.6",
"vm-compatibility-layer": "0.1.0"
@@ -81,47 +81,47 @@
"one-light-ui": "0.1.0",
"solarized-dark-syntax": "0.32.0",
"solarized-light-syntax": "0.19.0",
"archive-view": "0.44.0",
"autocomplete": "0.43.0",
"archive-view": "0.46.0",
"autocomplete": "0.44.0",
"autoflow": "0.21.0",
"autosave": "0.20.0",
"background-tips": "0.21.0",
"background-tips": "0.22.0",
"bookmarks": "0.35.0",
"bracket-matcher": "0.69.0",
"bracket-matcher": "0.71.0",
"command-palette": "0.34.0",
"deprecation-cop": "0.33.0",
"dev-live-reload": "0.39.0",
"deprecation-cop": "0.34.0",
"dev-live-reload": "0.41.0",
"encoding-selector": "0.17.0",
"exception-reporting": "0.21.0",
"find-and-replace": "0.156.0",
"fuzzy-finder": "0.65.0",
"git-diff": "0.49.0",
"git-diff": "0.50.0",
"go-to-line": "0.30.0",
"grammar-selector": "0.44.0",
"image-view": "0.47.0",
"image-view": "0.48.0",
"incompatible-packages": "0.21.0",
"keybinding-resolver": "0.27.0",
"link": "0.29.0",
"markdown-preview": "0.125.0",
"link": "0.30.0",
"markdown-preview": "0.131.0",
"metrics": "0.41.0",
"notifications": "0.25.0",
"notifications": "0.26.0",
"open-on-github": "0.32.0",
"package-generator": "0.37.0",
"release-notes": "0.47.0",
"settings-view": "0.174.0",
"snippets": "0.70.0",
"spell-check": "0.51.0",
"snippets": "0.72.0",
"spell-check": "0.54.0",
"status-bar": "0.57.0",
"styleguide": "0.42.0",
"symbols-view": "0.79.0",
"styleguide": "0.43.0",
"symbols-view": "0.81.0",
"tabs": "0.64.0",
"timecop": "0.27.0",
"tree-view": "0.148.0",
"timecop": "0.28.0",
"tree-view": "0.154.0",
"update-package-dependencies": "0.7.0",
"welcome": "0.21.0",
"whitespace": "0.28.0",
"wrap-guide": "0.31.0",
"language-c": "0.37.0",
"language-c": "0.38.0",
"language-clojure": "0.10.0",
"language-coffee-script": "0.39.0",
"language-css": "0.26.0",
@@ -131,7 +131,7 @@
"language-html": "0.28.0",
"language-hyperlink": "0.12.2",
"language-java": "0.14.0",
"language-javascript": "0.55.0",
"language-javascript": "0.56.0",
"language-json": "0.11.0",
"language-less": "0.24.0",
"language-make": "0.13.0",
@@ -148,7 +148,7 @@
"language-source": "0.9.0",
"language-sql": "0.14.0",
"language-text": "0.6.0",
"language-todo": "0.15.0",
"language-todo": "0.16.0",
"language-toml": "0.15.0",
"language-xml": "0.27.0",
"language-yaml": "0.22.0"
+76
Ver Arquivo
@@ -699,6 +699,26 @@ describe "Config", ->
expect(atom.config.get("foo.bar")).toBe 'baz'
expect(atom.config.get("foo.bar", scope: ['.source.ruby'])).toBe 'more-specific'
describe "when the config file does not conform to the schema", ->
beforeEach ->
fs.writeFileSync atom.config.configFilePath, """
'*':
foo:
bar: 'omg'
int: 'baz'
'.source.ruby':
foo:
bar: 'scoped'
int: 'nope'
"""
it "validates and does not load the incorrect values", ->
atom.config.loadUserConfig()
expect(atom.config.get("foo.int")).toBe 12
expect(atom.config.get("foo.bar")).toBe 'omg'
expect(atom.config.get("foo.int", scope: ['.source.ruby'])).toBe 12
expect(atom.config.get("foo.bar", scope: ['.source.ruby'])).toBe 'scoped'
describe "when the config file contains valid cson", ->
beforeEach ->
fs.writeFileSync(atom.config.configFilePath, "foo: bar: 'baz'")
@@ -1106,6 +1126,62 @@ describe "Config", ->
expect(atom.config.get('foo.bar.str', scope: ['.source.js'])).toBe 'omg'
expect(atom.config.get('foo.bar.str', scope: ['.source.coffee'])).toBe 'ok'
describe 'when a schema is added after config values have been set', ->
schema = null
beforeEach ->
schema =
type: 'object'
properties:
int:
type: 'integer'
default: 2
str:
type: 'string'
default: 'def'
it "respects the new schema when values are set", ->
expect(atom.config.set('foo.bar.str', 'global')).toBe true
expect(atom.config.set('foo.bar.str', 'scoped', scopeSelector: '.source.js')).toBe true
expect(atom.config.get('foo.bar.str')).toBe 'global'
expect(atom.config.get('foo.bar.str', scope: ['.source.js'])).toBe 'scoped'
expect(atom.config.set('foo.bar.noschema', 'nsGlobal')).toBe true
expect(atom.config.set('foo.bar.noschema', 'nsScoped', scopeSelector: '.source.js')).toBe true
expect(atom.config.get('foo.bar.noschema')).toBe 'nsGlobal'
expect(atom.config.get('foo.bar.noschema', scope: ['.source.js'])).toBe 'nsScoped'
expect(atom.config.set('foo.bar.int', 'nope')).toBe true
expect(atom.config.set('foo.bar.int', 'notanint', scopeSelector: '.source.js')).toBe true
expect(atom.config.set('foo.bar.int', 23, scopeSelector: '.source.coffee')).toBe true
expect(atom.config.get('foo.bar.int')).toBe 'nope'
expect(atom.config.get('foo.bar.int', scope: ['.source.js'])).toBe 'notanint'
expect(atom.config.get('foo.bar.int', scope: ['.source.coffee'])).toBe 23
atom.config.setSchema('foo.bar', schema)
expect(atom.config.get('foo.bar.str')).toBe 'global'
expect(atom.config.get('foo.bar.str', scope: ['.source.js'])).toBe 'scoped'
expect(atom.config.get('foo.bar.noschema')).toBe 'nsGlobal'
expect(atom.config.get('foo.bar.noschema', scope: ['.source.js'])).toBe 'nsScoped'
expect(atom.config.get('foo.bar.int')).toBe 2
expect(atom.config.get('foo.bar.int', scope: ['.source.js'])).toBe 2
expect(atom.config.get('foo.bar.int', scope: ['.source.coffee'])).toBe 23
it "sets all values that adhere to the schema", ->
expect(atom.config.set('foo.bar.int', 10)).toBe true
expect(atom.config.set('foo.bar.int', 15, scopeSelector: '.source.js')).toBe true
expect(atom.config.set('foo.bar.int', 23, scopeSelector: '.source.coffee')).toBe true
expect(atom.config.get('foo.bar.int')).toBe 10
expect(atom.config.get('foo.bar.int', scope: ['.source.js'])).toBe 15
expect(atom.config.get('foo.bar.int', scope: ['.source.coffee'])).toBe 23
atom.config.setSchema('foo.bar', schema)
expect(atom.config.get('foo.bar.int')).toBe 10
expect(atom.config.get('foo.bar.int', scope: ['.source.js'])).toBe 15
expect(atom.config.get('foo.bar.int', scope: ['.source.coffee'])).toBe 23
describe 'when the value has an "integer" type', ->
beforeEach ->
schema =
+5
Ver Arquivo
@@ -213,6 +213,11 @@ jasmine.snapshotDeprecations = ->
jasmine.restoreDeprecationsSnapshot = ->
Grim.deprecations = deprecationsSnapshot
jasmine.useRealClock = ->
jasmine.unspy(window, 'setTimeout')
jasmine.unspy(window, 'clearTimeout')
jasmine.unspy(_._, 'now')
addCustomMatchers = (spec) ->
spec.addMatchers
toBeInstanceOf: (expected) ->
+1 -1
Ver Arquivo
@@ -3,7 +3,6 @@ ipc = require 'ipc'
os = require 'os'
path = require 'path'
remote = require 'remote'
screen = require 'screen'
shell = require 'shell'
_ = require 'underscore-plus'
@@ -547,6 +546,7 @@ class Atom extends Model
if @isValidDimensions(dimensions)
dimensions
else
screen = remote.require 'screen'
{width, height} = screen.getPrimaryDisplay().workAreaSize
{x: 0, y: 0, width: Math.min(1024, width), height}
+8 -3
Ver Arquivo
@@ -23,13 +23,18 @@ class AtomWindow
# Normalize to make sure drive letter case is consistent on Windows
@resourcePath = path.normalize(@resourcePath) if @resourcePath
@browserWindow = new BrowserWindow
options =
show: false
title: 'Atom'
icon: @constructor.iconPath
'web-preferences':
'direct-write': false
'direct-write': true
'subpixel-font-scaling': false
# Don't set icon on Windows so the exe's ico will be used as window and
# taskbar's icon. See https://github.com/atom/atom/issues/4811 for more.
if process.platform is 'linux'
options.icon = @constructor.iconPath
@browserWindow = new BrowserWindow options
global.atomApplication.addWindow(this)
@handleEvents()
+13 -1
Ver Arquivo
@@ -7,6 +7,10 @@ fs = require 'fs-plus'
cacheDir = path.join(fs.absolute('~/.atom'), 'compile-cache')
stats =
hits: 0
misses: 0
# Use separate compile cache when sudo'ing as root to avoid permission issues
if process.env.USER is 'root' and process.env.SUDO_USER and process.env.SUDO_USER isnt process.env.USER
cacheDir = path.join(cacheDir, 'root')
@@ -21,7 +25,10 @@ getCachePath = (coffee) ->
getCachedJavaScript = (cachePath) ->
if fs.isFileSync(cachePath)
try
fs.readFileSync(cachePath, 'utf8')
cachedJavaScript = fs.readFileSync(cachePath, 'utf8')
stats.hits++
return cachedJavaScript
return
convertFilePath = (filePath) ->
if process.platform is 'win32'
@@ -30,6 +37,7 @@ convertFilePath = (filePath) ->
compileCoffeeScript = (coffee, filePath, cachePath) ->
{js, v3SourceMap} = CoffeeScript.compile(coffee, filename: filePath, sourceMap: true)
stats.misses++
# Include source map in the web page environment.
if btoa? and JSON? and unescape? and encodeURIComponent?
js = "#{js}\n//# sourceMappingURL=data:application/json;base64,#{btoa unescape encodeURIComponent v3SourceMap}\n//# sourceURL=#{convertFilePath(filePath)}"
@@ -60,3 +68,7 @@ module.exports =
compileCoffeeScript(coffee, filePath, cachePath)
else if extension is '.cson'
CSON.readFileSync(filePath)
getCacheMisses: -> stats.misses
getCacheHits: -> stats.hits
+44 -12
Ver Arquivo
@@ -602,7 +602,7 @@ class Config
return false
if scopeSelector?
@setRawScopedValue(source, scopeSelector, keyPath, value)
@setRawScopedValue(keyPath, value, source, scopeSelector)
else
@setRawValue(keyPath, value)
@@ -797,6 +797,7 @@ class Config
_.extend rootSchema, schema
@setDefaults(keyPath, @extractDefaultsFromSchema(schema))
@setScopedDefaultsFromSchema(keyPath, schema)
@resetSettingsForSchemaChange()
load: ->
@initializeConfigDirectory()
@@ -998,9 +999,28 @@ class Config
defaults[key] = @extractDefaultsFromSchema(value) for key, value of properties
defaults
makeValueConformToSchema: (keyPath, value) ->
value = @constructor.executeSchemaEnforcers(keyPath, value, schema) if schema = @getSchema(keyPath)
value
makeValueConformToSchema: (keyPath, value, options) ->
if options?.suppressException
try
@makeValueConformToSchema(keyPath, value)
catch e
undefined
else
value = @constructor.executeSchemaEnforcers(keyPath, value, schema) if schema = @getSchema(keyPath)
value
# When the schema is changed / added, there may be values set in the config
# that do not conform to the schema. This will reset make them conform.
resetSettingsForSchemaChange: (source=@getUserConfigPath()) ->
@transact =>
@settings = @makeValueConformToSchema(null, @settings, suppressException: true)
priority = @priorityForSource(source)
selectorsAndSettings = @scopedSettingsStore.propertiesForSource(source)
@scopedSettingsStore.removePropertiesForSource(source)
for scopeSelector, settings of selectorsAndSettings
settings = @makeValueConformToSchema(null, settings, suppressException: true)
@setRawScopedValue(null, settings, source, scopeSelector)
return
###
Section: Private Scoped Settings
@@ -1017,8 +1037,15 @@ class Config
resetUserScopedSettings: (newScopedSettings) ->
source = @getUserConfigPath()
priority = @priorityForSource(source)
@scopedSettingsStore.removePropertiesForSource(source)
@scopedSettingsStore.addProperties(source, newScopedSettings, priority: @priorityForSource(source))
for scopeSelector, settings of newScopedSettings
settings = @makeValueConformToSchema(null, settings, suppressException: true)
validatedSettings = {}
validatedSettings[scopeSelector] = withoutEmptyObjects(settings)
@scopedSettingsStore.addProperties(source, validatedSettings, {priority}) if validatedSettings[scopeSelector]?
@emitChangeEvent()
addScopedSettings: (source, selector, value, options) ->
@@ -1031,7 +1058,7 @@ class Config
disposable.dispose()
@emitChangeEvent()
setRawScopedValue: (source, selector, keyPath, value) ->
setRawScopedValue: (keyPath, value, source, selector, options) ->
if keyPath?
newValue = {}
_.setValueForKeyPath(newValue, keyPath, value)
@@ -1118,12 +1145,17 @@ Config.addSchemaEnforcers
return value unless schema.properties?
newValue = {}
for prop, childSchema of schema.properties
continue unless value.hasOwnProperty(prop)
try
newValue[prop] = @executeSchemaEnforcers("#{keyPath}.#{prop}", value[prop], childSchema)
catch error
console.warn "Error setting item in object: #{error.message}"
for prop, propValue of value
childSchema = schema.properties[prop]
if childSchema?
try
newValue[prop] = @executeSchemaEnforcers("#{keyPath}.#{prop}", propValue, childSchema)
catch error
console.warn "Error setting item in object: #{error.message}"
else
# Just pass through un-schema'd values
newValue[prop] = propValue
newValue
'array':
+1 -1
Ver Arquivo
@@ -32,7 +32,7 @@ class LanguageMode
return unless commentStartEntry?
commentEndEntry = atom.config.getAll('editor.commentEnd', {scope}).find (entry) ->
commentEndEntry = _.find atom.config.getAll('editor.commentEnd', {scope}), (entry) ->
entry.scopeSelector is commentStartEntry.scopeSelector
commentStartString = commentStartEntry?.value
commentEndString = commentEndEntry?.value
+1 -1
Ver Arquivo
@@ -176,7 +176,7 @@ class MenuManager
element?.classList.toString().split(' ') ? []
sortPackagesMenu: ->
packagesMenu = @template.find ({label}) -> MenuHelpers.normalizeLabel(label) is 'Packages'
packagesMenu = _.find @template, ({label}) -> MenuHelpers.normalizeLabel(label) is 'Packages'
return unless packagesMenu?.submenu?
packagesMenu.submenu.sort (item1, item2) ->
+2 -2
Ver Arquivo
@@ -48,7 +48,7 @@ class PaneContainer extends Model
deserializeParams: (params) ->
params.root = atom.deserializers.deserialize(params.root, container: this)
params.destroyEmptyPanes = atom.config.get('core.destroyEmptyPanes')
params.activePane = params.root.getPanes().find (pane) -> pane.id is params.activePaneId
params.activePane = find params.root.getPanes(), (pane) -> pane.id is params.activePaneId
params
serializeParams: (params) ->
@@ -147,7 +147,7 @@ class PaneContainer extends Model
find @getPanes(), (pane) -> pane.itemForURI(uri)?
paneForItem: (item) ->
@getPanes().find (pane) -> item in pane.getItems()
find @getPanes(), (pane) -> item in pane.getItems()
saveAll: ->
pane.saveItems() for pane in @getPanes()
+2 -1
Ver Arquivo
@@ -1,3 +1,4 @@
{find} = require 'underscore-plus'
Grim = require 'grim'
{Disposable} = require 'event-kit'
@@ -148,4 +149,4 @@ class ViewRegistry
throw new Error("Can't create a view for #{object.constructor.name} instance. Please register a view provider.")
findProvider: (object) ->
@providers.find ({modelConstructor}) -> object instanceof modelConstructor
find @providers, ({modelConstructor}) -> object instanceof modelConstructor
+1
Ver Arquivo
@@ -11,6 +11,7 @@
@import "workspace-view";
@import "bootstrap-overrides";
@import "badges";
@import "buttons";
@import "icons";
@import "links";
+65
Ver Arquivo
@@ -0,0 +1,65 @@
@import "ui-variables";
.badge {
display: inline-block;
line-height: 1;
vertical-align: middle;
font-weight: normal;
text-align: center;
white-space: nowrap;
border-radius: 1em;
&:empty {
display: none; // Hide when un-used
}
// Color ----------------------
.badge-color( @fg: @text-color-selected;
@bg: @background-color-selected; ) {
color: @fg;
background-color: @bg;
}
.badge-color();
&.badge-info { .badge-color(white, @background-color-info); }
&.badge-success { .badge-color(white, @background-color-success); }
&.badge-warning { .badge-color(white, @background-color-warning); }
&.badge-error { .badge-color(white, @background-color-error); }
// Size ----------------------
.badge-size( @size: @font-size; ) {
@padding: round(@size/4);
font-size: @size;
min-width: @size + @padding*2;
padding: @padding round(@padding*1.5);
}
.badge-size(); // default
// Fixed size
&.badge-large { .badge-size(18px); }
&.badge-medium { .badge-size(14px); }
&.badge-small { .badge-size(10px); }
// Flexible size
// The size changes depending on the parent element
// Best used for larger sizes, since em's can cause rounding errors
&.badge-flexible {
@size: .8em;
@padding: @size/2;
font-size: @size;
min-width: @size + @padding*2;
padding: @padding @padding*1.5;
}
// Icon ----------------------
&.icon {
font-size: round(@component-icon-size*0.8);
padding: @component-icon-padding @component-icon-padding*2;
}
}
-1
Ver Arquivo
@@ -19,7 +19,6 @@
@import "../node_modules/bootstrap/less/input-groups.less";
@import "../node_modules/bootstrap/less/navs.less";
@import "../node_modules/bootstrap/less/labels.less";
@import "../node_modules/bootstrap/less/badges.less";
@import "../node_modules/bootstrap/less/alerts.less";
@import "../node_modules/bootstrap/less/list-group.less";
@import "../node_modules/bootstrap/less/thumbnails.less";