Comparar commits

...

5408 Commits

Autor SHA1 Mensagem Data
Kevin Sawicki 24f386df2d Wait 30 seconds for move events 2014-01-15 17:54:06 -08:00
Kevin Sawicki 1006706cf6 Consistently order less cache import paths 2014-01-15 17:42:17 -08:00
Kevin Sawicki 4122b5a43f Dedupe nan module 2014-01-15 16:58:43 -08:00
Kevin Sawicki 2430edbcb8 Upgrade to command-logger@0.9.0 2014-01-15 16:38:52 -08:00
Kevin Sawicki e2269d5d51 Ignore xmldom test folder 2014-01-15 16:36:07 -08:00
Kevin Sawicki 2d04c50184 Dedupe oniguruma 2014-01-15 16:24:30 -08:00
Kevin Sawicki 2dc8c94165 Upgrade to git-utils@0.33.0 2014-01-15 16:17:50 -08:00
Kevin Sawicki c1022d15ba Use bootstrap fork from atom org.
This uses the fork branch which is v3.0.3 with @benogle's tooltip
commit cherry picked on top of it.
2014-01-15 16:09:50 -08:00
probablycorey b620be7780 Fix cut, copy and paste key bindings
Closes #1425
2014-01-15 16:00:09 -08:00
Kevin Sawicki 70c89dfefa Merge pull request #1420 from atom/ks-shrink-the-build
Shrink the build size
2014-01-15 15:55:18 -08:00
Kevin Sawicki ace61c330a Upgrade to bracket-matcher@0.19.0 2014-01-15 15:53:24 -08:00
Kevin Sawicki 0626df5cdd Use ignored paths in package filter 2014-01-15 15:48:19 -08:00
Kevin Sawicki b1679a03d6 Ignore spellchecker/vendor folder 2014-01-15 15:48:19 -08:00
Kevin Sawicki af95abe185 Upgrade to language-ruby-on-rails@0.4.0 2014-01-15 15:48:19 -08:00
Kevin Sawicki a23561f9ce Upgrade to language-ruby@0.7.0 2014-01-15 15:48:19 -08:00
Kevin Sawicki a93048d3ae Upgrade to language-php@0.3.0 2014-01-15 15:48:19 -08:00
Kevin Sawicki 1814b187e9 Don't copy bootstrap docs during build 2014-01-15 15:48:19 -08:00
Kevin Sawicki d7d7bd2db5 Ignore less dist and test folders in build 2014-01-15 15:48:19 -08:00
Kevin Sawicki f86ca9b59a 💄 Add array of packages to dedupe 2014-01-15 15:48:19 -08:00
Kevin Sawicki 58cccd76a4 Dedupe roaster when bootstrapping 2014-01-15 15:48:19 -08:00
Kevin Sawicki fd1477fc92 Only depend on jasmine-tagged
jasmine-tagged now depends on jasmine-focused and everything needed
should be reachable from just a dependency on jasmine-tagged.
2014-01-15 15:48:19 -08:00
Kevin Sawicki eca9ba107c Upgrade to scandal@0.12.0 2014-01-15 15:48:18 -08:00
Kevin Sawicki 94126942eb Upgrade to oniguruma@0.26.0 2014-01-15 15:48:18 -08:00
Nathan Sobo 1825af1309 Merge pull request #1415 from atom/ns-pane-model-specs
Move relevant pane specs from PaneView to Pane model
2014-01-15 15:06:43 -08:00
Nathan Sobo b5947f5a56 Merge branch 'master' into ns-pane-model-specs 2014-01-15 15:54:49 -07:00
Corey Johnson 864d6ce8f2 Merge pull request #1408 from atom/cj-remove-editor-view-delegate-methods
Remove editor view delegate methods
2014-01-15 14:01:10 -08:00
probablycorey ac07cf3d9a Merge remote-tracking branch 'origin/master' into cj-remove-editor-view-delegate-methods
Conflicts:
	package.json
2014-01-15 13:52:42 -08:00
Nathan Sobo 6ba3698547 Merge pull request #1423 from atom/ns-dont-null-out-pane-view-models
Don't null out the model of a pane item view when removing it
2014-01-15 13:28:00 -08:00
Nathan Sobo d57e5f389d Don't null out the model of a pane item view when removing it
Fixes #1422 (I think)
2014-01-15 14:20:30 -07:00
Nathan Sobo 1c6564f7a5 Move non-focus serialization specs from pane-view-spec to pane-spec 2014-01-14 21:39:47 -07:00
Nathan Sobo d9d28b5236 Move ::itemForUri specs from pane-view-spec to pane-spec 2014-01-14 20:39:13 -07:00
Nathan Sobo 8734eab8cb 💄 Give dummy pane items ::getUri and ::getPath methods 2014-01-14 20:38:07 -07:00
Nathan Sobo 1ad5158f19 Streamline active status and focus specs in pane-view-spec
The specs can be simplified now that much of this logic is covered in
the model specs.
2014-01-14 20:27:30 -07:00
Nathan Sobo 453e034a5f Simplify PaneView split specs because it's largely covered at the model 2014-01-14 20:21:24 -07:00
Nathan Sobo 9841a3588f Move specs on PaneView::remove to Pane::destroy in pane-spec 2014-01-14 20:10:01 -07:00
Nathan Sobo dd0ae8a8ea Don't remove PaneViews when their model is destroyed
They will be removed by their parent PaneContainerView or PaneAxisView,
and removing them in the previous way circumvented some of our focus
preservation logic.
2014-01-14 20:09:14 -07:00
Nathan Sobo d8ddd52df8 Move ::activateItemAtIndex specs from pane-view-spec to pane-spec 2014-01-14 19:49:15 -07:00
Nathan Sobo 83696bb9c7 Move ::activateNext/PreviousItem specs from pane-view-spec to pane-spec 2014-01-14 19:46:12 -07:00
Nathan Sobo 243c4efe20 Move ::saveActiveItemAs specs from pane-view-spec to pane-spec 2014-01-14 19:43:09 -07:00
Nathan Sobo 22c65f2407 Move ::saveActiveItem specs from pane-view-spec to pane-spec 2014-01-14 19:41:00 -07:00
Nathan Sobo e553fefc25 Add spec for Pane::destroyInactiveItems to pane-spec 2014-01-14 19:32:39 -07:00
Nathan Sobo cf6fc22c87 Add spec for Pane::destroyItems to pane-spec 2014-01-14 19:31:13 -07:00
Nathan Sobo a6d8f588c3 💄 2014-01-14 19:29:01 -07:00
Nathan Sobo 2ef74de0f8 Move ::moveItemToPane specs from pane-view-spec to pane-spec 2014-01-14 19:26:47 -07:00
Nathan Sobo 2ee6469b17 Move ::moveItem specs from pane-view-spec to pane-spec 2014-01-14 19:15:11 -07:00
Nathan Sobo 9977884a2c Move ::destroyItem specs from pane-view-spec to pane-spec 2014-01-14 19:12:27 -07:00
Nathan Sobo c331723c55 Move ::activateItem specs from pane-view-spec to pane-spec 2014-01-14 19:12:26 -07:00
Nathan Sobo dd3ca1fc2f Merge pull request #1416 from atom/ns-workspace-model
Drop a basic model out from WorkspaceView
2014-01-14 18:11:34 -08:00
Nathan Sobo f7f2da6ad2 Merge remote-tracking branch 'origin/master' into ns-workspace-model 2014-01-14 19:04:53 -07:00
Nathan Sobo eba74d1420 Upgrade text-buffer to 0.13.0 for Range::intersectsRowRange 2014-01-14 18:55:19 -07:00
Kevin Sawicki 91c9f6ffa5 Upgrade to bracket-matcher@0.18.0 2014-01-14 17:49:19 -08:00
Kevin Sawicki db319c9f9c Upgrade apm new commands and template fixes 2014-01-14 17:20:04 -08:00
Kevin Sawicki 134affcd8f Remove of tomorrow! 2014-01-14 17:18:10 -08:00
Kevin Sawicki 9bfa7704e6 Prepare 0.46.0 release 2014-01-14 17:05:19 -08:00
Kevin Sawicki 8acd84c7e2 Pull stdout out of results argument 2014-01-14 16:39:14 -08:00
Kevin Sawicki a53d223b6f Use package.json version in master builds only 2014-01-14 16:25:22 -08:00
Kevin Sawicki 673b78561a Rename set-development-version task to set-version 2014-01-14 16:16:31 -08:00
Kevin Sawicki 57c56fc46e Use package.json version in master janky builds 2014-01-14 16:16:28 -08:00
Kevin Sawicki d81fb8cabf Sign right before publishing 2014-01-14 16:03:58 -08:00
Kevin Sawicki 1dec9d0ad2 Run codesign task after build task 2014-01-14 15:31:49 -08:00
Nathan Sobo bda75c1a8f Merge remote-tracking branch 'origin/master' into ns-workspace-model 2014-01-14 15:35:00 -07:00
Nathan Sobo c0c2d797b1 Add some API documentation 2014-01-14 14:44:27 -07:00
Kevin Sawicki a342a18440 Merge pull request #1413 from atom/ks-no-more-constructicon
Get off constructicon
2014-01-14 13:39:59 -08:00
Kevin Sawicki 047425c564 Rename createRelease to createBuildRelease 2014-01-14 13:29:35 -08:00
Kevin Sawicki 8374911dab Delete existing asset before uploading new one 2014-01-14 13:29:35 -08:00
Kevin Sawicki 6ca3c90abe Use upload urls instead of assets url 2014-01-14 13:29:35 -08:00
Kevin Sawicki 96cb266c27 Release properties are _ separated 2014-01-14 13:29:35 -08:00
Kevin Sawicki 21723b155e Remove unneeded assets prefix 2014-01-14 13:29:34 -08:00
Kevin Sawicki 14c3feee17 Publish master builds to the draft release 2014-01-14 13:29:34 -08:00
Kevin Sawicki 0255f1e223 Remove unused require 2014-01-14 13:29:34 -08:00
Kevin Sawicki 76a5912126 Update expected callback name 2014-01-14 13:29:34 -08:00
Kevin Sawicki 848dc12f28 Add unlock-keychain arg 2014-01-14 13:29:34 -08:00
Kevin Sawicki 7a41fabf60 Unlock keychain before signing 2014-01-14 13:29:34 -08:00
Kevin Sawicki f4b82fe3a4 Load env vars from /var/lib/jenkins/config/xcodekeychain 2014-01-14 13:29:34 -08:00
Kevin Sawicki aec32b65a0 Remove constructicon files 2014-01-14 13:29:34 -08:00
Kevin Sawicki 01e0970406 Sign CI builds 2014-01-14 13:29:34 -08:00
Kevin Sawicki b08978a431 Add back linting of build files 2014-01-14 13:28:30 -08:00
Nathan Sobo e4b934d3fa Remove 'workspace' from serialized state in spec helper
…Instead of 'workspaceView'.
2014-01-14 13:06:42 -07:00
Nathan Sobo c350285044 Move Workspace and PaneContainer serialization to the model layer
The views are now stateless. You just construct them with a model to
deserialize.
2014-01-14 11:38:27 -07:00
Nathan Sobo 4a7b43f609 Write focusNext/PreviousPane in terms of activateNext/PreviousPane
"Activate" is the model level equivalent of focus.
2014-01-14 11:15:14 -07:00
Nathan Sobo 0d66c68fe8 Add delegator to model for PaneContainerView::saveAll 2014-01-14 11:12:08 -07:00
Kevin Sawicki b72028c68d Invoke deploy task using script/grunt 2014-01-14 10:03:05 -08:00
Kevin Sawicki 332b918c01 Ignore build/atom.build 2014-01-14 10:03:05 -08:00
Kevin Sawicki bc94dc63e6 Ignore atom.xcodeproj 2014-01-14 10:03:05 -08:00
Nathan Sobo a1d540d288 Revert WorkspaceView::getActivePane. It needs to return a PaneView. 2014-01-14 11:02:36 -07:00
Nathan Sobo af4034ba39 Move WorkspaceView::destroyActivePaneItem to the model 2014-01-14 10:58:35 -07:00
Nathan Sobo 89cbd6b834 Move PaneContainerView::saveAll to the model 2014-01-14 10:58:35 -07:00
Nathan Sobo fe01ded75b Move WorkspaceView::saveActivePaneItem* to Workspace model 2014-01-14 10:58:35 -07:00
Nathan Sobo aab4f3b761 Remove methods that I'm pretty sure are unused 2014-01-14 10:58:35 -07:00
Nathan Sobo adf5cfc78c Move WorkspaceView::reopenItemSync to the Workspace model 2014-01-14 10:58:34 -07:00
Nathan Sobo 66bb9dab93 Move WorkspaceView::openSingletonSync to the Workspace model 2014-01-14 10:58:34 -07:00
Nathan Sobo c8e4535e8b Move WorkspaceView::openSync to the Workspace model 2014-01-14 10:58:34 -07:00
Nathan Sobo 7199cda549 Derive PaneView::activeView from the model's activeItem
We're getting into some strange order-sensitive cases where we respond
to a change of the active item before the pane has a chance to reassign
the active view. Therefore it makes more sense to always just derive the
active view from the active item.
2014-01-14 10:58:34 -07:00
Nathan Sobo 1eb9c3d0d5 Move WorkspaceView::open to Workspace model 2014-01-14 10:58:34 -07:00
Nathan Sobo 27c03ae3f3 Move management of destroyedItemUris to Workspace model 2014-01-14 10:58:34 -07:00
Nathan Sobo a8ddc530a2 Emit a pane-item-destroyed event from the workspace model
…Instead of calling itemDestroyed on the workspace view via a DOM query
2014-01-14 10:58:34 -07:00
Nathan Sobo 8e78583521 Emit 'item-destroyed' in ::removeItem when destroying flag is true 2014-01-14 10:58:34 -07:00
Nathan Sobo 7317d52896 Move paneForUri to PaneContainer model 2014-01-14 10:58:34 -07:00
Nathan Sobo 54dd5ea28e Destroy the model when PaneContainerView is removed 2014-01-14 10:58:34 -07:00
Nathan Sobo 22fe04fb27 Drop out a basic workspace model 2014-01-14 10:58:33 -07:00
Nathan Sobo adb174ef5f Remove pane-model, which should have been removed during rename
Missed this somehow.
2014-01-14 10:57:50 -07:00
Kevin Sawicki d3a016bf69 Delete build/node_modules before bootstrapping 2014-01-14 09:43:03 -08:00
probablycorey 75e3659809 Upgraded to tabs@0.17.0 2014-01-13 17:39:11 -08:00
probablycorey b458b86bbd Upgraded to autocomplete@0.20.0 2014-01-13 17:38:00 -08:00
probablycorey 645f950368 Upgraded to tree-view:0.61.0 2014-01-13 17:36:22 -08:00
probablycorey 8dd183fc78 Upgraded to find-and-replace@0.75.0 2014-01-13 17:16:26 -08:00
Nathan Sobo 6ef6fb77f9 Rename pane-*-model specs 2014-01-13 17:22:02 -07:00
Nathan Sobo 159adcb00c Bump serialization version on WorkspaceView
Since we've replaced views with models, the 'PaneContainer' deserializer
now loads a model instead of a view, which isn't what we want at this
layer.
2014-01-13 16:57:17 -07:00
probablycorey 95f2d02d18 Merge branch 'master' into cj-remove-editor-view-delegate-methods
Conflicts:
	package.json
	spec/workspace-view-spec.coffee
	src/editor.coffee
	src/gutter.coffee
2014-01-13 15:06:18 -08:00
Kevin Sawicki 12bf0f5381 Delete apm's node_modules folders on clean 2014-01-13 14:51:24 -08:00
probablycorey 637acf63ce Upgraded to settings-view@0.56.0 2014-01-13 14:41:26 -08:00
probablycorey 9ff23e6bed Upgraded to snippets@0.19.0 2014-01-13 14:09:51 -08:00
Kevin Sawicki d96f15e8b5 Upgrade to package-generator@0.24.0 2014-01-13 14:03:49 -08:00
Kevin Sawicki 5bf654f6cc Upgrade to grammar-selector@0.17.0 2014-01-13 13:58:19 -08:00
Kevin Sawicki 16dba3e68e Upgrade to fuzzy-finder@0.31.0 2014-01-13 13:49:26 -08:00
Nathan Sobo 08716fd888 Merge pull request #1410 from atom/ns-rename-pane-views
Add -View suffix to pane views and remove -Model suffix from pane models
2014-01-13 13:39:13 -08:00
Kevin Sawicki 43e30ad466 Upgrade to go-to-line@0.15.0 2014-01-13 13:33:41 -08:00
Kevin Sawicki 16c86047eb Add buffer delegates for getLineCount/getTextInRange 2014-01-13 13:30:32 -08:00
Kevin Sawicki 0d36eec288 Upgrade to git-diff@0.22.0 2014-01-13 13:25:51 -08:00
Kevin Sawicki 2e697f65e8 Upgrade to gists@0.15.0 2014-01-13 13:15:59 -08:00
Kevin Sawicki edab3e5a27 Upgrade to bracket-matcher@0.17.0 2014-01-13 13:15:58 -08:00
Nathan Sobo 97999f1080 Rename PaneContainerModel to PaneContainer 2014-01-13 13:56:31 -07:00
Nathan Sobo a268b3e963 Rename PaneAxisModel to PaneAxis 2014-01-13 13:54:04 -07:00
Nathan Sobo 8931bf8f3a Rename PaneModel to Pane 2014-01-13 13:51:15 -07:00
Nathan Sobo 918c31905f Rename PaneContainer to PaneContainerView 2014-01-13 13:46:28 -07:00
Nathan Sobo c7ff4f9897 Rename PaneAxis to PaneAxisView 2014-01-13 13:46:27 -07:00
Nathan Sobo 4f604ced3c Rename Pane to PaneView 2014-01-13 13:46:22 -07:00
probablycorey 8c3147f975 Update spell-check, status-bar, symbols-view, tree-view and wrap-guide 2014-01-13 12:25:22 -08:00
Nathan Sobo a29c18f8c0 And again 2014-01-13 13:14:41 -07:00
Nathan Sobo 43f517abff Fix botched merge of package.json. Sorry. 2014-01-13 13:13:57 -07:00
Nathan Sobo 8b901f81e0 Merge pull request #1379 from atom/cj-ns-pane-models
Separate models from PaneContainer, PaneAxis, and Pane
2014-01-13 12:08:34 -08:00
Kevin Sawicki 4182ee4f12 Upgrade to bookmarks@0.16.0 2014-01-13 12:08:19 -08:00
Kevin Sawicki 601b314236 Upgrade to autoflow@0.12.0 2014-01-13 12:04:07 -08:00
Kevin Sawicki 7d596355b9 Upgrade to autocomplete@0.20.0 2014-01-13 12:01:00 -08:00
Nathan Sobo fe0cdbf349 Merge remote-tracking branch 'origin/master' into cj-ns-pane-models
Conflicts:
	package.json
2014-01-13 12:55:02 -07:00
Kevin Sawicki c2381ba61c Upgrade to timecop@0.13.0 2014-01-13 11:40:01 -08:00
Nathan Sobo 4179d9d268 Add deprecated Pane::removeItem 2014-01-12 17:55:29 -07:00
Nathan Sobo 3fc3d48def Destroy empty panes after deserializing
Fixes #1399
2014-01-12 17:53:25 -07:00
Nathan Sobo b438b311f3 Rename showItem methods to activateItem
These methods set the *active* item, so the verb activate provides a
clearer correspondence. We could change the noun to "shown" item, but
that's awkward and having both active panes and active items is a nice
correspondence in terminology.
2014-01-12 17:40:57 -07:00
Nathan Sobo 561e31c0c5 Remove ::removeItemAtIndex and make ::removeItem private
Call ::destroyItem or just destroy the item directly (it should emit the
'destroyed' event)
2014-01-12 17:25:51 -07:00
Nathan Sobo 2a8a5268c6 Clean up PaneModel api docs 2014-01-11 22:09:10 -07:00
Nathan Sobo 28b085be1c Rename ::makeActive to ::activate and focus panes when they're activated 2014-01-11 20:48:01 -07:00
Nathan Sobo f5bc71e559 Move $.fn.hasFocus to space-pen 2014-01-11 19:49:25 -07:00
Nathan Sobo 2188dd201d Update wrap-guide to 0.11.0 for specs fix with flexbox panes 2014-01-11 19:28:33 -07:00
Nathan Sobo b21eb6f934 Drop .flexbox-repaint-hack div and use pseudo selector instead
We don't actually need structural markup to ensure that all pane views
are absolutely positioned. We can just use the `> *` selector inside of
.pane-items.

/cc @probablycorey is there anything I'm missing here?
2014-01-11 19:13:00 -07:00
Kevin Sawicki 9b0d8ec242 💄 Sort dependencies 2014-01-11 17:51:59 -08:00
Kevin Sawicki 3c32a8e8fb Throw error when sending to terminated process
Mirrors behavior of start method
2014-01-11 17:23:53 -08:00
Nathan Sobo 3ab7836ab2 Upgrade to emissary 0.31.0 for implicit 'value' subscriptions on signals
Previously, when you always had to specify the event name of 'value'
when calling `::subscribe` with a signal. Now, if you don't specify an
event name, 'value' is assumed.
2014-01-11 11:22:31 -07:00
Nathan Sobo ef8b7531b0 Upgrade to theorist 0.13.0 to rename Signal::flatMapLatest -> ::switch
Shorter, simpler, less intimidating.
2014-01-11 11:19:19 -07:00
Nathan Sobo b04f9f9488 Remove unused methods from PaneAxis 2014-01-11 11:11:04 -07:00
Nathan Sobo 452d86ac0c Upgrade ui themes for rename of .row to .pane-row 2014-01-11 11:04:37 -07:00
Nathan Sobo 6fe1bae40d Upgrade to image-view 0.15.0 for fix to parent pane query 2014-01-11 10:46:57 -07:00
Nathan Sobo e2170ea907 Remove unused requires and mixins 2014-01-11 10:45:33 -07:00
Nathan Sobo 545bf4bd98 Upgrade to theorist 0.12.0 to remove dependence on harmony proxies
They're turning out to cause instability in the current version of v8
or atom-shell. Perhaps we can revisit this after the upgrade to chromium
31. Once we have Object.observe, we could at least throw an exception
when someone assigns a sequence index directly via ::[] or assigns to
::length.
2014-01-11 10:38:47 -07:00
Nathan Sobo 1fdc78a157 Upgrade find-and-replace to 0.74.0 for fix to parent pane dom query 2014-01-11 10:24:18 -07:00
Nathan Sobo 738bfd7253 Fix layout of tabs with flexbox repaint hack
The .item-views div needs to be the first child of pane and contain
the absolutely positioned repaint hack div inside it, otherwise the tabs
don't get honored as flexbox items.
2014-01-10 19:02:19 -07:00
Nathan Sobo 8b0b997db6 Kill EditorView::isAlive and just tunnel to the model where it was used 2014-01-10 18:28:01 -07:00
Nathan Sobo 263ab3b4a6 Kill unused require 2014-01-10 18:27:11 -07:00
Nathan Sobo 3afbcbe25f Allow focusout events to bubble out of panes 2014-01-10 18:07:10 -07:00
Nathan Sobo 578ca8b197 Don't update highlighted gutter lines unless the editor is alive 2014-01-10 17:56:04 -07:00
probablycorey 5e674fe29e Add commonly used Editor methods to Editor View
Mini-editors use these methods very often, but really we shouldn't need to do
this.
2014-01-10 16:38:36 -08:00
Nathan Sobo 72fe586101 Remove the concept of focus from the model 2014-01-10 17:27:28 -07:00
Kevin Sawicki 82d5577bdc Upgrade to find-and-replace@0.73.0 2014-01-10 15:59:51 -08:00
Ben Ogle c703cf2050 Upgrade to find-and-replace@0.72.0 2014-01-10 15:38:04 -08:00
probablycorey c19c8c5341 Fix core specs 2014-01-10 15:32:59 -08:00
probablycorey 32b5592475 Fix EditorView spec 2014-01-10 15:32:36 -08:00
Ben Ogle 993f1ac2d6 Update status-bar@0.31.0 2014-01-10 15:31:35 -08:00
probablycorey 21b40acdf1 Remove delegate methods from EditorView 2014-01-10 15:31:33 -08:00
Nathan Sobo ddf7c04e66 Use -> arrows on methods moved to the model 2014-01-10 15:51:27 -07:00
Nathan Sobo c127237cc6 Upgrade tabs to 0.17.0 so they unsubscribe when the pane is removed 2014-01-10 15:49:46 -07:00
Nathan Sobo 9694d255f0 Simplify item removal
- Move emitting of item removal event into ::removeItemAtIndex. Pass a
destroying param instead of setting state.

- Destroy the pane if ::items is empty at the in the item removal
method, rather than with a condition. This gives the item removal event
a chance to fire first.
2014-01-10 15:48:08 -07:00
Kevin Sawicki 81b4803d56 Upgrade to tree-view@0.59.0 2014-01-10 14:44:22 -08:00
Kevin Sawicki 893e9873a1 Upgrade to exception-reporting@0.11.0 2014-01-10 14:34:51 -08:00
Nathan Sobo 23e805fe9e Remove assertion for impossible situation
We were testing the behavior of returning the active pane by removing
the active class from its view. But "active" is a model-level concept
now, so this assertion makes no sense.
2014-01-10 15:28:55 -07:00
Kevin Sawicki 43257de7cd Upgrade to metrics@0.21.0 2014-01-10 14:08:05 -08:00
Nathan Sobo c7fded0d7f Only emit 'pane:removed' events if the pane is actually destroyed
The pane may only be detached temporarily during splitting/unsplitting
2014-01-10 15:04:51 -07:00
Nathan Sobo 284d823ad5 Tighten up search for parent pane
The introduction of the .flexbox-redraw-hack required the query to be
loosened, but I went too far. We don't want to return a pane for mini
editors that happen to be nested on another view that's inside a pane.
2014-01-10 14:36:07 -07:00
Kevin Sawicki 164a121de9 Upgrade to snippets@0.18.0 2014-01-10 13:02:19 -08:00
Kevin Sawicki 50ab49aedb Upgrade to first-mate@0.17.0 2014-01-10 12:57:35 -08:00
Kevin Sawicki a127d3c4eb Upgrade to fuzzaldrin@0.6.0 2014-01-10 12:57:12 -08:00
Kevin Sawicki cac5c6e3a5 Merge pull request #1403 from atom/ks-faster-keymaps
Speed up keymap loading
2014-01-10 12:44:27 -08:00
Nathan Sobo 1ee783fdb9 Base PaneContainer::getActivePane on the model's active pane 2014-01-10 13:44:02 -07:00
Nathan Sobo 47870a1214 Remove views (rather than detaching) if Pane::destroyItem is called 2014-01-10 13:35:18 -07:00
Nathan Sobo 7801d8562f Upgrade archive-view to 0.19.0 for .flexbox-repaint-hack fix 2014-01-10 13:08:47 -07:00
Nathan Sobo 104271861c Upgrade markdown-preview to 0.24.0 for .flexbox-repaint-hack fix 2014-01-10 13:07:39 -07:00
Kevin Sawicki de25b8ea37 Cache specificities 2014-01-10 12:01:56 -08:00
Kevin Sawicki ba9f353c4a Use precompile pattern when available 2014-01-10 11:43:45 -08:00
Nathan Sobo 7665cd1a6a When a pane view is removed in anyway, make sure its model is destroyed 2014-01-10 12:35:12 -07:00
Kevin Sawicki c39d8d9aa7 Precompile pegjs parsers 2014-01-10 11:32:40 -08:00
Nathan Sobo 4b0d22917b Trust CSS to perform layout now that we've switched to flexbox
The behavior of flexbox is actually slightly different in that it
divides space evenly among the immediate children of a row or column
rather than accounting for all splits. But it's actually not that big
a deal.
2014-01-10 12:12:44 -07:00
Nathan Sobo 720b2ad47d Upgrade to serializable 0.3.0 to handle undefined states 2014-01-10 12:11:19 -07:00
Nathan Sobo d34327a667 Remove the EditorView when Editor is destroyed 2014-01-10 11:56:27 -07:00
Nathan Sobo d2146f9b2e Emit 'pane:removed' event in container when last pane is removed
Doing it in the pane view is awkward because the view may have already
been detached.
2014-01-10 11:45:08 -07:00
Nathan Sobo 732d36af28 Null guard container in Pane::makeActive
Panes can exist outside of containers, albeit only briefly. If
::makeActive is called when the pane is in this state, consider it a
no-op.
2014-01-10 11:37:42 -07:00
Nathan Sobo edfc86f153 Make PaneContainer::getActivePaneItem retrieve it from the model 2014-01-10 11:34:26 -07:00
Nathan Sobo 339e30d973 Account for pane axis class name changes in pane-container-spec 2014-01-10 11:25:02 -07:00
Nathan Sobo 5e1e092650 When the last pane is destroyed, null out the root and active pane 2014-01-10 11:22:19 -07:00
Nathan Sobo c69febd44d Preserve the active pane across serialization 2014-01-10 11:22:02 -07:00
Nathan Sobo a9d7564f3e Account for the .flexbox-repaint-hack in WorkspaceView::getEditorViews 2014-01-10 11:21:10 -07:00
Nathan Sobo a0b733b53d Skip the flexbox-repaint-hack when seeking editor pane with ::parents 2014-01-10 11:20:12 -07:00
Kevin Sawicki 8cb565ad2a Add parseKeystroke function 2014-01-10 10:10:08 -08:00
Kevin Sawicki 32158711ce Upgrade to pegjs@0.8.0 2014-01-10 10:09:47 -08:00
Kevin Sawicki e099f00739 💄 Use unless instead of if not 2014-01-10 09:57:11 -08:00
Kevin Sawicki e707ab5441 Remove unused require 2014-01-10 09:52:30 -08:00
Kevin Sawicki 3b7f1467e1 Upgrade to background-tips@0.4.0 2014-01-10 09:42:09 -08:00
Nathan Sobo 1c7eef89c3 Merge branch 'master' into ns-pane-splits-with-models 2014-01-10 10:40:52 -07:00
Kevin Sawicki 4fc1f5b248 Upgrade to find-and-replace@0.71.0 2014-01-10 09:34:23 -08:00
Nathan Sobo 6eacfa7077 Call Range::toString, not ::inspect in DisplayBufferMarker::inspect 2014-01-09 19:04:52 -07:00
Nathan Sobo 9aefafb831 Use PaneContainerModel::$activePaneItem for 'active-item-changed' events
Yay behaviors
2014-01-09 18:58:01 -07:00
Nathan Sobo 5a3353ec28 Add PaneContainer view to deserializers 2014-01-09 18:35:16 -07:00
Nathan Sobo e87b8dc463 Remove focusNext/PreviousPane methods from PaneContainer view 2014-01-09 18:35:01 -07:00
Nathan Sobo 60daa483e6 Include orientation when serializing PaneAxisModel 2014-01-09 18:34:09 -07:00
Nathan Sobo cd699d8b9b Transfer focus to the root view when the last focused pane is destroyed 2014-01-09 18:17:08 -07:00
Ben Ogle d33a962848 Upgrade to find-and-replace@0.70.0 2014-01-09 17:12:33 -08:00
Ben Ogle 0d2067e1a4 Merge pull request #1400 from atom/bo-fuck-rejection
Dont use reject in project::scan cancel
2014-01-09 17:09:58 -08:00
Nathan Sobo 8647137952 Remove active status management from Pane view; rely on model instead 2014-01-09 18:00:54 -07:00
Ben Ogle fbcfad28c3 Reject is broken. Ugh. Just resolve it 2014-01-09 17:00:34 -08:00
Nathan Sobo 5e1b2e2696 Manage the active pane at the model level 2014-01-09 18:00:19 -07:00
Kevin Sawicki a0346e95cf Upgrade to markdow-preview@0.23.0 2014-01-09 15:37:08 -08:00
Kevin Sawicki 20ee7b432c Wrap item in array since it is a trigger call 2014-01-09 15:18:44 -08:00
Nathan Sobo 4026e6ca5c Properly serialize pane focus state 2014-01-09 16:09:22 -07:00
Corey Johnson 378901e0d2 Merge pull request #1375 from atom/ns-fix-crash-exit
Properly exit when render process crashes if exitWhenDone option is true
2014-01-09 15:08:56 -08:00
Nathan Sobo 964abd3141 Suppress blur when replacing a pane axis with its last child
If the pane axis contains a child pane, its temporary removal from the
DOM causes a blur event that we don't want to screw up our focused
state.
2014-01-09 16:08:52 -07:00
Nathan Sobo 5ca7ad3bce Add spec for destroyed pane items getting removed at the model layer 2014-01-09 16:07:57 -07:00
Nathan Sobo 4dcba4bb27 Destroy remaining items when a pane is destroyed 2014-01-09 16:06:02 -07:00
Nathan Sobo 073ea84d69 Handle consequences of item removal in the model 2014-01-09 16:05:00 -07:00
Nathan Sobo 2965d2e974 Bind Pane view's focus to focus state on the model
It's a bit tricky… we don't want to blur the model when focusing the
pane's active view causes a focusout event on the pane, so we use
::suppressBlur on the model to prevent it from blurring as the focus
is transferred.
2014-01-09 16:01:52 -07:00
Nathan Sobo a67f0d4d57 Make PaneModel::items an observable sequence 2014-01-09 15:53:52 -07:00
Nathan Sobo 5309d5f24d Add ability to suppress blur on all focusable objects in a focus context
When a view receives a 'focusout' event, we relay that to the model by
calling ::blur. This is great for when users initiate the change in
focus, but 'focusout' events can *also* be caused by elements being
temporarily detached from the DOM.

The ::suppressBlur method gives the ability to ignore blur calls during
a certain operation. This is helpful, for example, when we want to
detach a model and reattach it somewhere else without changing its focus
state.
2014-01-09 15:46:32 -07:00
Nathan Sobo af3ca57094 Make focus state distinct until changed on Focusable objects 2014-01-09 15:43:05 -07:00
Corey Johnson db375cd190 Merge pull request #1398 from atom/cj-show-free-disk-space
Show low disk space errors when running CI
2014-01-09 14:40:01 -08:00
Kevin Sawicki d96b63d791 Move enable/disable to parent Package class
This was previously unimplemented in TextMatePackage causing exceptions
when trying to enable/disable a package of that type.
2014-01-09 14:13:49 -08:00
probablycorey e435b48750 Display warning if disk space is kind of full 2014-01-09 13:58:24 -08:00
probablycorey a1f8a21c7c Output warning/error if diskspace on CI server is getting low. 2014-01-09 13:56:49 -08:00
Kevin Sawicki 69f9f10c6b Upgrade to find-and-replace@0.69.0 2014-01-09 13:56:15 -08:00
probablycorey d3c6bd2f98 Use close instead of exit
stdio might still be open when exit is called (http://nodejs.org/api/child_process.html#child_process_event_exit). With close you are
guaranteed that there will be no more output.
2014-01-09 13:47:51 -08:00
Nathan Sobo 466868e639 Fix access to undefined root property
The ::filterDefined transform unfortunately doesn't prevent an undefined
initial value when applied to behaviors.
2014-01-09 12:19:01 -07:00
Nathan Sobo 2317c6835e At the model layer: Focus next pane when a focused pane is destroyed
This incorporates the Focusable mixin into PaneModel and ensures that
all panes in the same pane container share a single focus context.
2014-01-09 12:19:01 -07:00
Nathan Sobo 4e99d003ee Add Focusable mixin and FocusContext
Focusable objects have ::focus and ::blur methods and a ::focused
property. Focusable objects can be assigned a ::focusContext, and the
::focused property will only be true for at most one object with the
same context.
2014-01-09 12:19:01 -07:00
Nathan Sobo 1a5e10c1d2 Focus the new pane when splitting 2014-01-09 12:19:01 -07:00
Nathan Sobo 8efcb1abfa Remove pane splitting/unsplitting logic from view
There's still some failing specs around focus management, but it's
getting closer.
2014-01-09 12:19:01 -07:00
Nathan Sobo f031a9706d Support unsplitting in the model layer 2014-01-09 12:19:01 -07:00
Nathan Sobo eb7f3ff5af Support splitting at the model layer
Splitting in the view will need to be removed and mapped to splits in
the model.
2014-01-09 12:19:00 -07:00
Nathan Sobo bb595ab08a Start adding PaneAxisModel 2014-01-09 12:19:00 -07:00
Nathan Sobo 101326a130 Upgrade theorist to 0.9.0 for sequences 2014-01-09 12:18:56 -07:00
Nathan Sobo ad60594c13 Add mixto module 2014-01-09 12:12:22 -07:00
probablycorey ca6da5f9c1 Update expcetion-reporting 2014-01-09 10:01:25 -08:00
Kevin Sawicki c397b3cc60 Upgrade to first-mate@0.14.0 2014-01-09 08:53:29 -08:00
Kevin Sawicki 6cb0f1ff78 Upgrade to fuzzy-finder@0.30.0 2014-01-08 18:12:36 -08:00
Kevin Sawicki 371e31c786 🐎 Test for prefix without calling path.join
Directory::relativize is called many times by the fuzzy finder
and using path.join possibly multiple times per call was consuming
much of the time take to show the fuzzy finder view.
2014-01-08 17:55:08 -08:00
Kevin Sawicki dce70b35b5 Upgrade to go-to-line@0.14.0 2014-01-08 17:37:09 -08:00
probablycorey 99a67ca1ab Remove focused spec 2014-01-08 16:37:57 -08:00
Corey Johnson 9dc1758d76 Merge pull request #1378 from atom/cj-flexbox-panes
This replaces custom pane resizing with flexbox
2014-01-08 16:36:41 -08:00
probablycorey 196942d126 Rename .row and .column in pane specs 2014-01-08 16:31:56 -08:00
Kevin Sawicki d95aa0aac1 Expand buffer range in Selection::selectLine 2014-01-08 16:27:09 -08:00
Kevin Sawicki 27f0d11039 Map cmd-l to editor:select-line 2014-01-08 15:48:52 -08:00
Kevin Sawicki a69e6136ea Upgrade to go-to-line@0.13.0 2014-01-08 15:47:29 -08:00
Kevin Sawicki 0fd8b6be8d Pluralize selection in event name 2014-01-08 15:45:09 -08:00
Kevin Sawicki 8e51a7f6d6 Bind cmd-shift-l to split selectin into lines 2014-01-08 15:44:34 -08:00
Kevin Sawicki bdb4cd5247 Upgrade to grammar-selector@0.16.0 2014-01-08 15:41:32 -08:00
Kevin Sawicki 3afe750a66 Merge pull request #1374 from atom/ks-split-selection-into-lines
Split selection into lines
2014-01-08 15:36:43 -08:00
Kevin Sawicki c8f3e056e9 Pluralize selections in method name 2014-01-08 15:17:06 -08:00
Kevin Sawicki 32fdf0b681 📝 Drop line about single line selections 2014-01-08 15:17:06 -08:00
Kevin Sawicki 82c73c9911 📝 Tweak comment for clarity 2014-01-08 15:17:06 -08:00
Kevin Sawicki fe0184d067 Add Split into Lines menu item 2014-01-08 15:17:06 -08:00
Kevin Sawicki 0ef6757e65 Add Editor::splitSelectionIntoLines 2014-01-08 15:17:06 -08:00
Kevin Sawicki deb4365d65 Upgrade to fuzzy-finder@0.29.0 2014-01-08 15:16:37 -08:00
Kevin Sawicki 750f4ee410 Upgrade to to-the-hubs@0.17.0 2014-01-08 15:14:34 -08:00
Kevin Sawicki 1382bd3b3b Upgrade to settings-view@0.55.0 2014-01-08 14:37:41 -08:00
probablycorey d908c8b026 Use absolute divs to limit repaints on keypresses 2014-01-08 14:31:46 -08:00
probablycorey 6f766acac8 Rename .row and .column to .pane-row and .pane-column
Bootstrap's .row and .column css was influencing our pane rows and
columns.
2014-01-08 14:30:33 -08:00
probablycorey 7eba9d3a23 Use flexbox to arrange panes 2014-01-08 14:29:32 -08:00
Kevin Sawicki cde5861cb8 Upgrade to fuzzaldrin@0.5.0 2014-01-08 14:17:40 -08:00
Kevin Sawicki 765c15829d Upgrade to fuzzaldrin@0.4.0 2014-01-08 14:01:15 -08:00
probablycorey 0471619269 Merge remote-tracking branch 'origin/master' into cj-ns-pane-models 2014-01-08 11:44:31 -08:00
probablycorey d8ba8f13d8 Update dev-live-reload 2014-01-08 11:28:03 -08:00
Corey Johnson c089429c14 Merge pull request #1367 from atom/cj-error-event
Add error event to atom global
2014-01-08 11:17:04 -08:00
probablycorey b22f850e03 Update status bar 2014-01-08 11:16:08 -08:00
Kevin Sawicki cf47ee5063 Only call _.isEqual when needed
Invert the logic to return if all are equal so we can fall through
on the first false call so only the minimum isEqual calls are made.

Also perform the boolean check first instead of last since it
cheaper than a Point comparison.

This showed up in the profile when profiling moving the cursor.
2014-01-08 10:59:39 -08:00
Kevin Sawicki 9d6a01d11c Use slice to clone array 2014-01-08 10:59:39 -08:00
Nathan Sobo bcf9dfd236 Merge pull request #1371 from atom/ns-text-buffer-cleanup
Clean up TextBuffer
2014-01-08 10:38:09 -08:00
Nathan Sobo c281eb9596 Move serialization of focus into PaneModel 2014-01-08 11:23:06 -07:00
Nathan Sobo 2acde6a727 Call super in constructor to assign PaneModel properties
The theorist model superclass constructor will automatically assign
all declared properties, or substitute the specified default value if
no param key is present for that property.
2014-01-08 11:21:00 -07:00
Nathan Sobo ee9b78afb6 Move copyActiveItem to PaneModel 2014-01-08 11:14:02 -07:00
Nathan Sobo a379d47230 Move methods related to item destruction and saving to PaneModel 2014-01-08 11:12:27 -07:00
Nathan Sobo 57c23e1b5f Merge remote-tracking branch 'origin/master' into ns-text-buffer-cleanup 2014-01-08 10:53:19 -07:00
Nathan Sobo f8d959ae16 Upgrade to text-buffer 0.12.0
* Drop deprecation of insert/append/delete. The method names will remain
  short.

* Replace ::getLastPosition with ::getEndPosition
2014-01-08 10:53:07 -07:00
Kevin Sawicki 13abb28486 Upgrade to bracket-matcher@0.16.0 2014-01-07 19:54:39 -08:00
Kevin Sawicki 717704c8ed Upgrade to tree-view@0.58.0 2014-01-07 19:54:12 -08:00
Nathan Sobo eab26fb3a6 Properly exit when render process crashes if exitWhenDone option is true
Previously, we were referring to an undefined `atom` global to exit when
the render process crashed in specs. Now we only exit when exitWhenDone
is true, which will only exit in headless specs. Also, we now call .exit
on an object that's actually defined.
2014-01-07 19:22:42 -07:00
Nathan Sobo 17947d0f99 Enable harmony proxies
I want to use these in the pane-models branch, so it will be helpful
if they are enabled in atom stable since it's an atom-shell level
setting.
2014-01-07 19:22:22 -07:00
Nathan Sobo 626e22e4ae Avoid exceptions when a live editor is compared with a destroyed one 2014-01-07 18:45:18 -07:00
Corey Johnson & Nathan Sobo 5837b7cfda Move methods related to item movement to PaneModel 2014-01-07 18:39:39 -07:00
Corey Johnson & Nathan Sobo 1a487db29f Move item removal events to PaneModel 2014-01-07 17:55:56 -07:00
Corey Johnson & Nathan Sobo 2938a8e650 Move item-oriented methods to PaneModel 2014-01-07 17:47:42 -07:00
Corey Johnson & Nathan Sobo cd97de76fc 💄 2014-01-07 17:28:53 -07:00
Corey Johnson & Nathan Sobo 25c099f3a2 Serialize the items and activeItem via PaneModel
This necessitates setting the ::activeView based on the model's
::activeItem instead of doing it in ::showItem.
2014-01-07 17:23:29 -07:00
Kevin Sawicki eb39b8505e Upgrade to timecop@0.12.0 2014-01-07 15:49:19 -08:00
Kevin Sawicki 7a90cc46ad Merge pull request #1373 from atom/ks-space-pen-3
Upgrade to space pen 3
2014-01-07 15:09:52 -08:00
Kevin Sawicki c6c1cb233d Upgrade to space-pen@3.0.3 2014-01-07 14:56:07 -08:00
Kevin Sawicki f9e37c9b47 Upgrade to space-pen@3.0.2 2014-01-07 14:56:07 -08:00
Kevin Sawicki dfb6835449 Upgrade to space-pen@3.0.1 2014-01-07 14:56:07 -08:00
Kevin Sawicki bf13b426c5 Upgrade to space-pen@3.0.0 2014-01-07 14:56:07 -08:00
Corey Johnson & Nathan Sobo 14175d80ef Move Pane::activeItem to PaneModel 2014-01-07 15:46:17 -07:00
Corey Johnson & Nathan Sobo c99e211144 Store Pane items in PaneModel 2014-01-07 15:42:23 -07:00
Nathan Sobo 1d04cbf584 Enable harmony proxies
I want to use these in the pane-models branch, so it will be helpful
if they are enabled in atom stable since it's an atom-shell level
setting.
2014-01-07 15:19:51 -07:00
Kevin Sawicki 92650e079f Upgrade to feedback@0.22.0 for 🐎 2014-01-07 13:49:54 -08:00
Kevin Sawicki f29ce127db Default windowState to empty hash JSON string 2014-01-07 11:19:38 -08:00
Nathan Sobo b29f1965f0 Move more methods into text-buffer npm 2014-01-07 10:19:43 -07:00
Nathan Sobo 48a2a1934b Start moving text related methods to text-buffer npm 2014-01-07 09:18:59 -07:00
Kevin Sawicki 8fe60b5838 Merge pull request #1366 from atom/ks-async-directory
Make Directory::getEntries asynchronous
2014-01-06 18:06:29 -08:00
Kevin Sawicki 484a7c95ee Upgrade to tree-view@0.57.0 2014-01-06 17:25:26 -08:00
Kevin Sawicki 44a3365787 Rename getRealPath to getRealPathSync 2014-01-06 17:25:26 -08:00
Kevin Sawicki f3e88b56f3 🐎 Reduce stat calls when building entries
Previously every entry was stated twice to determine if it was a
file/directory and a symbolic link.

Now the second stat call is only made if lstat returns stat details
for a symbolic link.
2014-01-06 17:25:26 -08:00
Kevin Sawicki d618472f95 Specify error as first argument 2014-01-06 17:25:26 -08:00
Kevin Sawicki a45ffb3aaa Add async Directory::getEntries 2014-01-06 17:25:26 -08:00
Kevin Sawicki 1d2b2eec4c Add Sync suffix to Directory::getEntries 2014-01-06 17:25:26 -08:00
Nathan Sobo 5c1f750f94 Upgrade text-buffer to 0.9.0 for completed docs and fixed memory leak 2014-01-06 18:07:53 -07:00
probablycorey 85a6db253b Spat the event arguments 2014-01-06 16:48:47 -08:00
Matt Colyer 72caf279a6 Merge pull request #1335 from atom/fix-windows-specs
Return windows specs to green
2014-01-06 16:34:19 -08:00
Nathan Sobo 05ff058ca5 Upgrade to text-buffer 0.8.0 to restore all removed Point/Range methods 2014-01-06 17:31:05 -07:00
probablycorey 022ead9228 Rename error event to uncaught-error 2014-01-06 16:22:04 -08:00
Nathan Sobo 14fd9aac7e Upgrade to text-buffer 0.7.0 to reintroduce Marker.fromPointWithDelta 2014-01-06 17:16:03 -07:00
probablycorey 5975884a0e Add error event to atom global 2014-01-06 16:11:39 -08:00
Matt Colyer e8ce559034 Merge branch 'master' into fix-windows-specs
Conflicts:
	package.json
2014-01-06 16:02:45 -08:00
Matt Colyer 9add438ea4 Revert "Windows build status reflects package status now"
This reverts commit cec731b697.
2014-01-06 15:55:21 -08:00
Nathan Sobo d65a6c3fc4 Merge pull request #1348 from atom/ns-remove-telepath-from-core
The experiment is over. To be continued in a hopefully less painful way. Sorry guys.
2014-01-06 15:45:11 -08:00
Nathan Sobo a493359b58 Upgrade text-buffer to 0.6.0 2014-01-06 16:31:53 -07:00
Nathan Sobo d6de973500 Remove shims that call super
They were previously there for documentation purposes, but we've decided
to document them in the text-buffer npm directly and link it into the
documentation. This drops some of the docs on delegated methods, because
our docs generator doesn't understand `delegatesMethods` declarations,
but TextBuffer was marked private anyway so we can get back to it later.
2014-01-06 15:16:34 -07:00
Nathan Sobo 25cc37bc86 Replace {StringMarker} references with {Marker} in API docs 2014-01-06 15:13:12 -07:00
Matt Colyer 0e6bc275b7 Merge branch 'master' into fix-windows-specs
Conflicts:
	package.json
2014-01-06 11:19:37 -08:00
Matt Colyer cec731b697 Windows build status reflects package status now 2014-01-06 11:17:34 -08:00
Nathan Sobo 8d4ae33134 Don't export Model superclass in top-level atom module
Previously, the semantics of telepath's Model class were coupled to the
wrapped documents, so it made sense to export the Model. But now that
Model is much simpler, it makes more sense to allow individual packages
to rely on their own version of Model by requiring theorist if they want
to so we can make changes to the version of model used by core without
breaking packages.
2014-01-05 10:47:22 -07:00
Nathan Sobo cbec03c158 Rename reactionary to theorist 2014-01-05 10:25:59 -07:00
Nathan Sobo 1fe0a1ad7b Upgrade to text-buffer 0.5.0 2014-01-04 15:42:53 -07:00
Nathan Sobo 8b9ede8414 Upgrade text-buffer to 0.4.0 to allow 'invalidation' marker option 2014-01-04 14:16:07 -07:00
Nathan Sobo 194094043e Upgrade tree-view to 0.54.0 to remove telepath dependency 2014-01-04 14:09:10 -07:00
Nathan Sobo 9068f28e83 Fix variable name 2014-01-04 14:08:00 -07:00
Nathan Sobo ebb5d38e1a Upgrade packages to remove telepath dependencies 2014-01-04 10:49:30 -07:00
Nathan Sobo aa1ed1dfcc Upgrade to reactionary 0.3.0 to avoid double destruction 2014-01-04 10:23:08 -07:00
Nathan Sobo 0292c66f93 Don't drop editor subscriptions in its destroyed hook
Unsubscribing should be the responsibility of the subscribers and doing
this was removing 'destroyed' subscriptions before the 'destroyed' event
was emitted now that 'destroyed' is emitted by the default
Model::destroy method.
2014-01-04 10:08:04 -07:00
Nathan Sobo 4ce68fe5d8 Merge remote-tracking branch 'origin/master' into ns-remove-telepath-from-core 2014-01-04 09:39:57 -07:00
Nathan Sobo 289e7d56c3 Upgrade to reactionary 0.2.0 for built-in property accessors mixin 2014-01-04 09:39:30 -07:00
Nathan Sobo cb7471945c Remove redundant 'destroyed' event 2014-01-03 19:35:07 -07:00
Nathan Sobo 8da9e8ddc1 Rename nostalgia to serializable
This name was surprisingly available and better matches this module's
utilitarian nature.
2014-01-03 18:32:44 -07:00
Nathan Sobo a68694e6e2 Upgrade to nostalgia 0.3.0 for ability to override mixin properties 2014-01-03 17:54:59 -07:00
probablycorey 98b5a400e6 Update packages that use new tool panel appending api 2014-01-03 16:52:38 -08:00
Nathan Sobo 0bbd9630f5 Fix pane spec 2014-01-03 17:50:46 -07:00
Nathan Sobo c6770aa83e Merge remote-tracking branch 'origin/master' into ns-remove-telepath-from-core
Conflicts:
	package.json
	src/pane.coffee
2014-01-03 17:46:45 -07:00
Nathan Sobo e26d97d5ac Remove telepath as a core dependency 2014-01-03 17:42:11 -07:00
Corey Johnson b2177cbc09 Merge pull request #1360 from atom/cj-add-prepend-append-methods-to-workspace
Add prepend/append methods to WorkspaceView
2014-01-03 16:34:16 -08:00
Ben Ogle c8663541f0 Upgrade to fnr@0.65.0 2014-01-03 15:55:40 -08:00
probablycorey 9f32a24e7e Add all Tool Panel append and prepend methods 2014-01-03 15:43:00 -08:00
Nathan Sobo 914a87290b Remove unnecessary telepath requires 2014-01-03 16:36:26 -07:00
Nathan Sobo 112b8bfa29 Generate docs from text-buffer instead of telepath 2014-01-03 16:36:08 -07:00
probablycorey 5d99acd8c5 Update docs 2014-01-03 15:26:56 -08:00
probablycorey 066d8dc944 Add prependToBottom and appendToBottom 2014-01-03 15:26:27 -08:00
Matt Colyer 9af6e99682 Merge branch 'master' into fix-windows-specs 2014-01-03 15:24:52 -08:00
Nathan Sobo bc65137911 Remove telepath from Project, WorkspaceView, and Pane* 2014-01-03 16:23:23 -07:00
Kevin Sawicki 02dfe074e6 Spawn grunt path directly 2014-01-03 15:17:55 -08:00
Matt Colyer 2b4c2f1758 Merge branch 'master' into fix-windows-specs 2014-01-03 14:34:02 -08:00
Kevin Sawicki a7494cf649 Upgrade to first-mate@0.11.0 for clojure grammar fix
Closes #1349
2014-01-03 14:27:24 -08:00
Nathan Sobo 3d494ed9fa Merge pull request #1337 from atom/ns-fix-mini-editor-leak
Fix mini editor leak
2014-01-03 11:58:02 -08:00
Kevin Sawicki 47a14bb2e6 Add callback param to publishRelease 2014-01-03 11:08:01 -08:00
Kevin Sawicki 7a71f26345 Add missing comma 2014-01-03 10:57:40 -08:00
Kevin Sawicki 870c4d4214 Link to commit list for release 2014-01-03 10:53:46 -08:00
Kevin Sawicki ac5d10fae2 Store grunt object to variable
This allows it to be used from logError
2014-01-03 10:49:03 -08:00
Kevin Sawicki 2963fe177f Pass through error from deleting asset 2014-01-03 10:48:32 -08:00
Kevin Sawicki 0947947a9d Merge pull request #1145 from atom/ks-grunt-node-modules
Store build modules in build/node_modules
2014-01-03 10:20:55 -08:00
Kevin Sawicki 0112e8887f biscotto is in build folder not tasks folder 2014-01-03 10:12:55 -08:00
Kevin Sawicki 3a7ecccec7 📝 Clarify justification for moving 2014-01-03 10:01:40 -08:00
Kevin Sawicki f9a9712f54 Upgrade to grunt-download-atom-shell@0.5.0 2014-01-03 09:48:28 -08:00
Kevin Sawicki 5e5ba63c59 Move fstream from build to dev dependency 2014-01-03 09:38:57 -08:00
Matt Colyer 2c58d1a2b7 Upgrade scandal@0.11.0 2014-01-03 09:31:44 -08:00
Kevin Sawicki 5e2e5a4b58 Use same grunt path in script/build and script/cibuild 2014-01-03 09:29:45 -08:00
Kevin Sawicki 344d237a42 Remove ~/.atom outside of tasks 2014-01-03 09:26:04 -08:00
Kevin Sawicki 04eef20c84 Use fs-plus instead of rimraf directly 2014-01-03 09:15:31 -08:00
Nathan Sobo 77dba8d19b Merge branch 'master' into ns-fix-mini-editor-leak 2014-01-03 10:03:25 -07:00
Kevin Sawicki 704294a2d5 Add build/README.md 2014-01-03 08:37:24 -08:00
Kevin Sawicki 847a8165e0 Add fields to prevent warnings 2014-01-03 08:37:16 -08:00
Kevin Sawicki 18f2f5f821 Add script/grunt 2014-01-03 08:32:24 -08:00
Kevin Sawicki 7f2e0e2317 Add back window .cmd suffix 2014-01-03 08:32:24 -08:00
Kevin Sawicki 963513e840 Wrap status code in an Error 2014-01-03 08:32:24 -08:00
Kevin Sawicki b1470fc1b5 Indent done callback 2014-01-03 08:32:24 -08:00
Kevin Sawicki 43482ea78e Add grunt param 2014-01-03 08:32:24 -08:00
Kevin Sawicki 167e6dc1bf Convert upload-release script to a grunt task 2014-01-03 08:32:24 -08:00
Kevin Sawicki 088a627468 💄 Sort build dependencies 2014-01-03 08:32:24 -08:00
Kevin Sawicki 4f6c655294 Remove grunt-download-atom-shell as package dependency 2014-01-03 08:32:23 -08:00
Kevin Sawicki e2db58c6ee Add grunt-download-atom-shell as dependency 2014-01-03 08:32:23 -08:00
Kevin Sawicki 64aba6ec24 Add first-mate dependency 2014-01-03 08:32:23 -08:00
Kevin Sawicki 2910170eeb Add name field 2014-01-03 08:32:23 -08:00
Kevin Sawicki 9bc24b8736 Add missing comma 2014-01-03 08:32:23 -08:00
Kevin Sawicki 401ef87bb2 Clean build/node_modules folder 2014-01-03 08:32:23 -08:00
Kevin Sawicki 0c5ed1eee4 Run grunt from build folder 2014-01-03 08:32:23 -08:00
Kevin Sawicki 790c227924 Add back comment 2014-01-03 08:32:23 -08:00
Kevin Sawicki 822f13d6e3 Remove unneeded lint exclude 2014-01-03 08:32:23 -08:00
Kevin Sawicki 70c14eb4f5 Move tasks to build directory 2014-01-03 08:32:23 -08:00
Kevin Sawicki 673d2330f0 Add jasmine-node/jasmine-focused to dependencies 2014-01-03 08:32:23 -08:00
Kevin Sawicki e187604942 Run grunt from tasks folder 2014-01-03 08:32:22 -08:00
Kevin Sawicki c2cd1cd13d Remove devDependencies from package.json
They are now stored as dependencies in tasks/package.json
2014-01-03 08:32:22 -08:00
Kevin Sawicki c720a6a029 Don't lint tasks/node_modules 2014-01-03 08:32:22 -08:00
Kevin Sawicki 601466782f Install build dependencies in tasks/node_modules 2014-01-03 08:32:22 -08:00
Matt Colyer 92ef8f22e4 Upgrade scandal@0.10.1 2014-01-02 15:34:36 -08:00
Corey Johnson 690ffab9c0 Merge pull request #1355 from atom/cj-update-user-keymap
Watch user's keymap file for updates
2014-01-02 13:56:53 -08:00
probablycorey 512f373ca6 Merge remote-tracking branch 'origin/master' into cj-update-user-keymap 2014-01-02 11:54:06 -08:00
Matt Colyer e8f4da54a6 Upgrade find-and-replace@0.64.0 2014-01-02 11:33:20 -08:00
probablycorey d56137e3c0 Always try to unwatch current user keymap 2014-01-02 09:56:41 -08:00
Matt Colyer 9629afb145 Merge branch 'master' into fix-windows-specs 2014-01-02 08:38:59 -08:00
Nathan Sobo 821debcb85 Make Editor, DisplayBuffer, TokenizedBuffer to not use telepath
This commit introduces dependency on a new npm called
[reactionary](https://github.com/atom/reactionary). It will serve as a
*much* lighter weight model framework to provide the reactive features
of telepath without the replication logic.

Specs are still failing for panes and workspace. I plan to just roll
forward and remove the telepath dependency from them as well.
2013-12-31 18:19:53 -07:00
Kevin Sawicki b9395d2946 Add harmony collections when unavailable
grunt could be invoked without harmony collections enabled which
would previously cause exceptions to be logged when modules requiring
them (emissary) were loaded.
2013-12-31 17:02:16 -08:00
Kevin Sawicki 44e6e7f45d Merge pull request #1354 from atom/ks-extract-textmate-parser
Use grammar registry provided by first-mate
2013-12-31 16:20:09 -08:00
probablycorey 88ee021b4d Watch user's keycap for changes and apply them 2013-12-31 15:21:42 -08:00
Kevin Sawicki b5c8e3e1fe Upgrade to first-mate@0.10.0 2013-12-31 15:15:40 -08:00
Kevin Sawicki 9962ce9859 Implement createToken in Syntax 2013-12-31 15:15:40 -08:00
Kevin Sawicki 882d766689 Activate/deactivate grammars directly 2013-12-31 15:15:40 -08:00
Kevin Sawicki 959401f5a7 Drop TextMate prefix from class names 2013-12-31 15:15:40 -08:00
Kevin Sawicki fa9aa3691b Extend GrammarRegistry in Syntax 2013-12-31 15:15:40 -08:00
Kevin Sawicki a95fdce85f 📝 Mark Syntax class as public 2013-12-31 15:15:40 -08:00
Kevin Sawicki e8edc83e39 💄 Sort requires 2013-12-31 15:15:40 -08:00
Kevin Sawicki 3ff702581a Group shim lines 2013-12-31 15:15:40 -08:00
Kevin Sawicki 88c9275bff Activate grammar when already active 2013-12-31 15:15:39 -08:00
Kevin Sawicki 826d536c09 Add atom.syntax.grammars shim 2013-12-31 15:15:39 -08:00
Kevin Sawicki c99c2af6ae Remove NullGrammar class now in first-mate 2013-12-31 15:15:39 -08:00
Kevin Sawicki ccc6eed3da Remove unused method 2013-12-31 15:15:39 -08:00
Kevin Sawicki e1aec57ffe Create tokens in TokenizedBuffer 2013-12-31 15:15:39 -08:00
Kevin Sawicki c1fc09e510 Use grammars from registry 2013-12-31 15:15:39 -08:00
Kevin Sawicki 19212f99ee Remove TextMateGrammar use in specs 2013-12-31 15:15:39 -08:00
Kevin Sawicki 2681dcc63c Remove TextMateGrammar class now in first-mate 2013-12-31 15:15:39 -08:00
Kevin Sawicki 6f5d85edb9 Use grammar registry from first-mate 2013-12-31 15:15:39 -08:00
Kevin Sawicki a59c01c6be Move editor-specific grammar specs to editor-spec 2013-12-31 15:15:39 -08:00
Kevin Sawicki a78613b7e5 Upgrade to first-mate@0.6.0 2013-12-31 15:15:39 -08:00
Kevin Sawicki 33c1353500 Only generate evil files when needed 2013-12-31 15:11:29 -08:00
Kevin Sawicki 22a7c25104 💄 Remove unneeded requires, variables, commas, and parens 2013-12-31 15:05:34 -08:00
Kevin Sawicki 902406c572 Enable harmony collections in all scripts 2013-12-31 14:40:45 -08:00
probablycorey b0077986b4 Use temp user directory for keymap config specs 2013-12-31 14:31:06 -08:00
Kevin Sawicki 686ebf8759 Upgrade to spell-check@0.18.0 for spec description tweaks 2013-12-31 11:58:23 -08:00
Nathan Sobo 66831ce8b9 Subclass the text-buffer npm TextBuffer 2013-12-31 12:46:47 -07:00
Nathan Sobo dd2c6d2f24 Eliminate TextBuffer's dependence on telepath
Atom's TextBuffer now relies on the text-buffer npm for its core
functionality.
2013-12-31 12:13:15 -07:00
probablycorey 30a175230a Update feedback package 2013-12-31 11:11:21 -08:00
Corey Johnson fe3e71cbd7 Merge pull request #1350 from atom/cj-keybinding-fixes
keybinding fixes
2013-12-31 08:50:22 -08:00
probablycorey 8d2e1b7e43 Selection::selectToEndOfLine acts on screen lines. 2013-12-31 08:38:27 -08:00
probablycorey c37b884007 Add moveCursorToEnd/BeginningOfBufferLine
Fixes #1123
2013-12-31 08:21:35 -08:00
probablycorey 97aed1f680 ctrl-a moves the cursor to the beginning of the line on OS X
Keybinding now matches default OS behavior
2013-12-30 14:00:38 -08:00
probablycorey bac76784e0 cmd-left moves the cursor to column 0 on lines only containing whitespace
Fixes #1344
2013-12-30 13:57:34 -08:00
probablycorey 8e970b64b8 Change window:reload keybinding to ctrl-alt-cmd-l
Fixes #1157
2013-12-30 10:45:01 -08:00
Corey Johnson dfe9f5684e Merge pull request #1343 from atom/use-default-osx-keymap-for-hiding-other-apps
Use default OS X keyboard shortcut to hide other apps
2013-12-30 10:27:44 -08:00
Jason Rudolph 470ce7bd22 Use default OS X keyboard shortcut to hide other apps 2013-12-27 08:24:46 -05:00
Kevin Sawicki f59080ec74 Upgrade to language-gfm@0.11.0 2013-12-24 09:14:16 -08:00
Ben Ogle f5ca836e49 Add background-tips package
Fixes #1217
2013-12-21 09:00:08 -08:00
Ben Ogle 319f9a22d8 Merge pull request #1340 from atom/bo-cancel-search
Add the ability to cancel project.scan
2013-12-20 16:09:34 -08:00
Ben Ogle 458d3b3d3c Remove fat arrow 2013-12-20 15:04:17 -08:00
Ben Ogle 11ec939924 Add a cancel() function to the promise 2013-12-20 15:03:39 -08:00
Matt Colyer e14019e2dd Upgrade settings-view@0.53.0 2013-12-20 12:25:40 -06:00
Matt Colyer 180912db61 Merge branch 'master' into fix-windows-specs 2013-12-20 12:14:31 -06:00
Matt Colyer aba1900d13 Upgrade link@0.12.0 2013-12-20 11:58:38 -06:00
Ben Ogle 5fdb3196a3 Add cancelScan() 2013-12-19 17:08:18 -08:00
Ben Ogle 8763a49dc6 Remove log line 2013-12-19 16:39:01 -08:00
Ben Ogle ffbd15eb98 Upgrade scandal@0.9.0 2013-12-19 16:12:29 -08:00
Ben Ogle 871b7406cd Terminate the old search if another is run. 2013-12-19 15:41:29 -08:00
Ben Ogle 66fa9d6a42 Upgrade to find-and-replace@0.63.0 2013-12-19 13:32:42 -08:00
Ben Ogle 8c7649dd57 Update the styleguide and themes for background-message 2013-12-19 12:27:11 -08:00
Ben Ogle 38c4fb3884 Add .background-message to the default theme 2013-12-19 12:14:46 -08:00
Matt Colyer 2d17ffc792 Revert "Restore package concurrency"
This reverts commit 2ad9fb52ae.
2013-12-19 12:02:18 -08:00
Matt Colyer 1d70e12594 Revert "Check for existence"
This reverts commit 8fb729d000.
2013-12-19 12:02:12 -08:00
Matt Colyer 8fb729d000 Check for existence 2013-12-19 11:43:28 -08:00
Ben Ogle b9fd05ba1e Upgrade to feedback@0.20.0 2013-12-19 11:39:27 -08:00
Matt Colyer 2ad9fb52ae Restore package concurrency 2013-12-19 11:33:42 -08:00
Matt Colyer 91778cb566 Revert "Parallelize package specs"
This reverts commit fa18a5cb33.
2013-12-19 11:29:32 -08:00
Matt Colyer a76cda4564 Revert "Parallelize core specs as well"
This reverts commit 7cb1ea038c.
2013-12-19 11:28:42 -08:00
Matt Colyer 7cb1ea038c Parallelize core specs as well 2013-12-19 10:56:18 -08:00
Matt Colyer fa18a5cb33 Parallelize package specs 2013-12-19 10:36:19 -08:00
Kevin Sawicki a012248316 Upgrade to tree-view@0.51.0 for menu tweak 2013-12-19 08:40:30 -08:00
Kevin Sawicki 53ccf7cf87 Upgrade to command-palette@0.14.0 refs #1339 2013-12-19 08:38:56 -08:00
Kevin Sawicki fbda0028ca Upgrade to feedback@0.19.0 2013-12-19 08:24:18 -08:00
Matt Colyer 9e3648c22f Remove ci.log files 2013-12-18 18:45:41 -08:00
Matt Colyer d8374eb251 Revert "Don't run package specs"
This reverts commit fd6e5e7a13.
2013-12-18 18:45:17 -08:00
Matt Colyer fd6e5e7a13 Don't run package specs 2013-12-18 18:36:40 -08:00
Matt Colyer 1da6bca2ae Properly use writeSync 2013-12-18 18:35:20 -08:00
Matt Colyer 40630114e7 Another attempt at preventing clipping 2013-12-18 17:12:12 -08:00
Matt Colyer 6736b6af3e Don't remove ci.log files for debugging 2013-12-18 16:38:14 -08:00
Matt Colyer 9c7747efbf Don't close ci output, as it's hanging 2013-12-18 16:38:03 -08:00
Nathan Sobo 42b203d502 🚱 Fix mini editor leak
Previously, we were overriding Editor::destroy, which is now provided
by telepath. Since the real destroy wasn't being called, we were failing
to remove editors associated with mini editor views.
2013-12-18 17:05:34 -07:00
Nathan Sobo d7d4a990a5 Merge pull request #1326 from atom/ns-telepathic-pane-items
Manage serialization of pane items with Telepath
2013-12-18 16:04:53 -08:00
Matt Colyer 8597951f0c Make sure logStream exists 2013-12-18 15:24:18 -08:00
Nathan Sobo 7d47527b17 Merge remote-tracking branch 'origin/master' into ns-telepathic-pane-items 2013-12-18 16:14:44 -07:00
Nathan Sobo 197d185ea4 Upgrade settings view to 0.52.0 for forward compatibility with #1326 2013-12-18 16:12:54 -07:00
Matt Colyer 91d1c2914e Write to stderr instead, for quicker flushing 2013-12-18 15:12:30 -08:00
Nathan Sobo da2487ba84 Upgrade archive view to 0.17.0 for forward compatibility with #1326 2013-12-18 16:11:36 -07:00
Matt Colyer 171c3e018b Attempt to fix truncated log messages 2013-12-18 14:57:13 -08:00
Matt Colyer bda8397d3d Revert "Switch to git for cloning apm"
This reverts commit fd929364d1.
2013-12-18 14:23:28 -08:00
Matt Colyer c9aa082e63 Revert "Turn up debugging for atom-shell downloads"
This reverts commit 6c4eb7439a.
2013-12-18 14:22:17 -08:00
Matt Colyer 6c4eb7439a Turn up debugging for atom-shell downloads 2013-12-18 12:11:27 -08:00
Nathan Sobo 76922c2d46 Include stack of window state parse errors in CI build output 2013-12-18 13:10:25 -07:00
Nathan Sobo fd7c3f3980 Merge branch 'master' into ns-telepathic-pane-items
Conflicts:
	src/pane.coffee
2013-12-18 13:07:37 -07:00
Matt Colyer 6b750c82ca Merge pull request #1327 from atom/win32-specs
Run atom CI on windows
2013-12-18 12:07:05 -08:00
Matt Colyer 4d643242a1 Don't upload the release on windows 2013-12-18 11:43:34 -08:00
Matt Colyer e974e61012 Remove logging 2013-12-18 11:36:26 -08:00
Matt Colyer 1ce4f3c552 More debugging 2013-12-18 11:19:26 -08:00
Matt Colyer 3ac2cae355 More debugging 2013-12-18 11:17:00 -08:00
Matt Colyer 2ffa989ba4 Add a missing comma 2013-12-18 11:12:38 -08:00
Matt Colyer 341454cd81 Dont use console 2013-12-18 11:11:27 -08:00
Matt Colyer 4507981f2a Fix logging 2013-12-18 11:07:46 -08:00
Matt Colyer 14f2444883 Add debugging 2013-12-18 11:03:21 -08:00
Nathan Sobo 267b1bdce6 Upgrade to image-view 0.11.0 for forward-compatibility with #1326
It makes ImageView a telepath model subclass so panes don't have to
manually manage serialization.
2013-12-18 12:03:10 -07:00
Matt Colyer 53451e0bcd Flip concurrency models 2013-12-18 10:20:21 -08:00
Nathan Sobo 4223ea25ee Update telepath to 0.80.0 so we drop old serialized states
Now that we've added custom objects, any pane items that serialized as
raw telepath objects are invalid. This is a quick way to cut through
any of those kinds of issues.
2013-12-18 11:19:14 -07:00
Matt Colyer bb517467eb 💄 2013-12-18 09:48:03 -08:00
Matt Colyer dd16aefbb6 Restore concurrency just on OSX 2013-12-18 09:47:24 -08:00
Matt Colyer 471c323ca5 Always return true on windows, for now 2013-12-18 09:36:43 -08:00
Matt Colyer bf021ab7f7 Merge branch 'master' into win32-specs
Conflicts:
	tasks/spec-task.coffee
2013-12-18 09:34:28 -08:00
Nathan Sobo 9198f3b809 Merge pull request #1334 from atom/ns-omit-destroyed-pane-items
Omit destroyed pane items
2013-12-18 08:40:20 -08:00
Kevin Sawicki b7c227dbfc Upgrade to autocomplete@0.19.0 for tab completion 2013-12-18 08:14:29 -08:00
Nathan Sobo 0dc031140c Omit destroyed pane items
This is an interim solution which enables atom/image-view#4 to correctly
deserialize when the path has been deleted both on atom master and in
atom/atom#1326.
2013-12-17 21:39:12 -07:00
Kevin Sawicki e853bbfcb6 Use standalone apm for running test 2013-12-17 19:51:34 -08:00
Kevin Sawicki cef7577826 Install apm into node_modules
settings-views launches apm via a NodeBufferedProcess so it still needs to
be available built against Atom's headers.

The version in apm/ is just for running via the CLI directly and is compiled
against node's headers.
2013-12-17 19:25:44 -08:00
Matt Colyer 8366887df6 Don't use a logfile unless one is defined 2013-12-17 18:28:17 -08:00
Matt Colyer e7f63b7c62 Merge branch 'master' into win32-specs 2013-12-17 18:22:08 -08:00
Matt Colyer 81a04769fb Run specs serially 2013-12-17 18:21:07 -08:00
Matt Colyer d4fcfbd034 Remove ci.log from package directories 2013-12-17 18:20:44 -08:00
Matt Colyer bab92c6d0a Use atom directly to run package specs 2013-12-17 18:10:55 -08:00
Matt Colyer 72523de046 Remove fixture that got checked in 2013-12-17 17:58:01 -08:00
Kevin Sawicki 82fbba4547 Upgrade apm for keytar usage 2013-12-17 17:56:04 -08:00
Matt Colyer 8b112cfd65 Get core specs running 2013-12-17 17:55:46 -08:00
Kevin Sawicki ec83c1061b Merge pull request #1324 from atom/ks-standalone-apm
Install apm outside of node_modules
2013-12-17 17:03:49 -08:00
Kevin Sawicki 75c573fe61 Run apm commands from new apm directory 2013-12-17 16:53:31 -08:00
Kevin Sawicki ed8800d182 Install apm to apm/ from vendor/apm 2013-12-17 16:53:31 -08:00
Kevin Sawicki 0aabfddfcb 🐎 Stat without exceptions in Directory::getEntries 2013-12-17 16:51:11 -08:00
Matt Colyer 1bf1785885 Upgrade fs-plus@0.13.0 2013-12-17 16:41:10 -08:00
Matt Colyer 20df9f4666 Add --log-file option for redirecting output 2013-12-17 16:31:13 -08:00
Nathan Sobo e40b7b1412 Update to telepath 0.79.0 so representation creation can be delayed
Instead of creating representations for a class as soon as the class is
registered, we wait until all representation classes are registered and
call `::createRepresentations` on the Atom global to build everything in
a single bottom up traversal.
2013-12-17 17:05:54 -07:00
Nathan Sobo 611559ecd6 Fix pane spec. Fully test serialization lifecycle via ::testPersistence. 2013-12-17 17:05:54 -07:00
Nathan Sobo c74783ebbf Allow telepath to manage serialization of non-telepathic pane items
This is the first step in converting Pane into a telepath model. We skip
interaction with the deserializer for items and allow telepath to handle
everything. There's actually a preexisting replication error in moveItem
that I'm going to leave until we drop out a Pane model.
2013-12-17 17:05:54 -07:00
Nathan Sobo 9df69f801b Register deserializers on telepath as representation classes 2013-12-17 17:05:54 -07:00
Nathan Sobo 105f74e15e Merge pull request #1305 from atom/ns-telepathic-atom-global
Make atom global a Telepath model subclass
2013-12-17 15:56:34 -08:00
Matt Colyer d7e56c447b Remove logging, disable package specs 2013-12-17 15:53:08 -08:00
Matt Colyer cecee6a430 Merge branch 'master' into win32-specs 2013-12-17 15:47:57 -08:00
Matt Colyer e3e83918e5 Update to underscore-plus@0.6.1 2013-12-17 15:47:48 -08:00
Nathan Sobo 0438565c43 Fix site.createDocument shim 2013-12-17 16:46:16 -07:00
Matt Colyer cbfa87a3b4 Merge branch 'master' into win32-specs 2013-12-17 15:36:24 -08:00
Matt Colyer 3187013eac Upgrade underscore-plus@0.6.0 2013-12-17 15:35:27 -08:00
Nathan Sobo e7b632eb18 Merge branch 'master' into ns-telepathic-atom-global 2013-12-17 16:30:24 -07:00
Kevin Sawicki cdce91157f Reverse load path order
Packages may be linked into ~/.atom/packages or ~/.atom/dev/packages
so the resource should be loaded from there when available.
2013-12-17 15:04:17 -08:00
Kevin Sawicki a566bd469d Use fs-plus.isFileSync to check path
Previously fs::statSyncNoException not being null was used but it always
returns an object or false so the first path checked was always being used.
2013-12-17 15:01:53 -08:00
Kevin Sawicki 389586bb41 Add ~/.atom/dev/packages to load paths 2013-12-17 15:00:27 -08:00
Kevin Sawicki 51b39500fe Prepare 0.45.0 release 2013-12-17 14:24:14 -08:00
probablycorey b5a6f0db0f Update welcome package 2013-12-17 12:42:25 -08:00
Kevin Sawicki 259faa5b5a Upgrade to grunt-download-atom-shell@0.4.0 for progress fix 2013-12-17 12:41:02 -08:00
Corey Johnson c8477c2f01 Merge pull request #1329 from atom/cj-word-movment
Word movement uses `end-of-word` and `beginning-of-word`
2013-12-17 12:38:34 -08:00
Ben Ogle f6b00fc90f Upgrade to feedback@0.18.0 2013-12-17 12:10:53 -08:00
Ben Ogle b3246d63fb Upgrade to find-and-replace@0.62.0 2013-12-17 11:33:35 -08:00
probablycorey 07eb2d014a Word movement uses end-of-word and beginning-of-word
Closes #1253
2013-12-17 11:24:35 -08:00
Matt Colyer bf0015f6cc Run with cmd.exe 2013-12-17 10:49:15 -08:00
Matt Colyer ca3d1e869c Use start command to launch atom.exe 2013-12-17 10:33:39 -08:00
Nathan Sobo a57083a48b Mark Atom global class methods with instance equivalents as 'Private:' 2013-12-17 11:18:59 -07:00
Matt Colyer 2ae46734db Debug output 2013-12-17 10:07:55 -08:00
Matt Colyer 3918435c7f Correct the path to the executable on windows 2013-12-17 09:51:45 -08:00
Kevin Sawicki 180e5d4164 Delete node_modules from vendor/apm 2013-12-17 09:50:04 -08:00
Matt Colyer d8f5ef71cd Add a contentsDir for windows 2013-12-17 09:39:49 -08:00
Matt Colyer 2e2bab7778 Upgrade grunt-download-atom-shell@0.3.0 2013-12-17 09:28:21 -08:00
Kevin Sawicki b10ef9454b Disable colors in script/constructicon/build not script/build 2013-12-17 09:27:11 -08:00
Kevin Sawicki 31fc4fcde8 Disable colors in constructicon output 2013-12-17 09:22:14 -08:00
Kevin Sawicki f48514114d Disable colors when BUILT_PRODUCTS_DIR env var is set 2013-12-17 09:15:04 -08:00
Matt Colyer fd929364d1 Switch to git for cloning apm 2013-12-17 08:53:54 -08:00
Kevin Sawicki 4f758f1fe2 Upgrade apm to workaround npm shasum error 2013-12-17 08:43:19 -08:00
Corey Johnson 35e1940984 Merge pull request #1325 from atom/cj-remove-movement-menu
Remove movement menu
2013-12-17 08:30:45 -08:00
Kevin Sawicki bdadf43341 Upgrade apm for unused dependency removal 2013-12-17 08:13:24 -08:00
Nathan Sobo 92b829c89b Upgrade to telepath 0.76.0 for deprecated shim methods 2013-12-16 19:25:30 -07:00
Nathan Sobo 3db9e16637 Upgrade to telepath 0.75.0 for custom object support 2013-12-16 19:03:10 -07:00
Kevin Sawicki 29d7735848 Upgrade to language-coffee-script@0.4.0 for catch indent fix 2013-12-16 17:59:48 -08:00
Kevin Sawicki 5b4b57f10f Merge pull request #1309 from shama/cleanscript
Add clean script
2013-12-16 17:59:22 -08:00
Kyle Robinson Young ed4b50e3b4 Rename removeCommand and set tmpdir to /tmp on osx/linux. 2013-12-16 17:51:20 -08:00
Kyle Robinson Young d526cfcba0 Change .node-type to .node-gyp in clean script 2013-12-16 17:51:20 -08:00
Kyle Robinson Young 0cf2cdceea Ability to delete without node_modules 2013-12-16 17:51:20 -08:00
Kyle Robinson Young 8239bb7e05 Add clean script 2013-12-16 17:51:20 -08:00
Ben Ogle 6d3e137db8 Upgrade to find-and-replace@0.61.0 2013-12-16 17:43:26 -08:00
Matt Colyer fa34eea27a Allow script/cibuild to run on windows 2013-12-16 17:33:45 -08:00
Kevin Sawicki 3e41b0967f Upgrade apm for sorted available output 2013-12-16 17:30:07 -08:00
Nathan Sobo bd3cfda2bb Merge branch 'master' into ns-telepathic-atom-global
Conflicts:
	src/atom.coffee
2013-12-16 18:18:06 -07:00
probablycorey 386b8a9e46 Remove movement menu 2013-12-16 17:11:59 -08:00
Kevin Sawicki 099b5186ab Upgrade apm for template activation change 2013-12-16 17:10:47 -08:00
Kevin Sawicki deab6027fb Upgrade to settings-view@0.51.0 2013-12-16 17:08:24 -08:00
Kevin Sawicki 590582782b Upgrade apm for template fixes 2013-12-16 16:43:20 -08:00
probablycorey abb0a3c792 Update metrics package 2013-12-16 16:10:07 -08:00
Ben Ogle 43baee5abd Merge pull request #1322 from atom/bo-fix-tabs-and-soft-wrap
Dont re-atomicize atomic tokens
2013-12-16 15:56:22 -08:00
Ben Ogle 75153388cc Use tab char 2013-12-16 15:50:26 -08:00
Ben Ogle b959fc0a6a use @ 2013-12-16 15:46:07 -08:00
Ben Ogle 77b5fd47ca Dont re-atomicize atomic tokens.
Fixes #1318
2013-12-16 15:34:27 -08:00
Kevin Sawicki f3a9500e61 Upgrade apm for unpublish command 2013-12-16 15:12:14 -08:00
probablycorey dadb0d5427 Update feedback package 2013-12-16 14:32:58 -08:00
Kevin Sawicki 9cdc15b161 Guard against no other focusable elements
This previously occurred in areas we all the elements had a -1 tabindex
 or were disabled.
2013-12-16 13:54:59 -08:00
Kevin Sawicki 7c27cbd9f5 Merge pull request #1320 from atom/ks-native-commands
Handle native commands in render process
2013-12-16 13:46:18 -08:00
Kevin Sawicki 010931391e Use event.target 2013-12-16 12:14:41 -08:00
Kevin Sawicki eaf6aba943 Return true from event handler 2013-12-16 12:12:14 -08:00
Kevin Sawicki d60d710325 Inline sendActionToFirstResponder 2013-12-16 12:11:19 -08:00
Kevin Sawicki bb1bcc233a Handle native commands in render process
This fixes copy, paste, undo, redo for elements with a native-key-bindings
class by forwarding to the menu's first responder from the render process.
2013-12-16 12:06:43 -08:00
Ben Ogle f0813dbca8 Upgrade to find-and-replace@0.60.0 2013-12-16 11:35:20 -08:00
Matt Colyer 9bded1cd19 Upgrade metrics@0.19.0 2013-12-16 11:32:08 -08:00
Ben Ogle c6e96a6188 Merge pull request #1308 from atom/bo-common-functions-up-a-level
Common core commands to workspaceView
2013-12-16 11:12:44 -08:00
probablycorey 09ff90bfc4 Update tabs package 2013-12-16 08:54:54 -08:00
Kevin Sawicki 2bf9036578 Upgrade to to-the-hubs@0.16.0 for menu tweak 2013-12-13 15:36:39 -08:00
Kevin Sawicki 6a7e4c30fb 🐎 Memoize version to prevent future IPC calls 2013-12-13 14:49:23 -08:00
Nathan Sobo ed41cc3cad Restore comment 2013-12-13 14:07:30 -08:00
Kevin Sawicki 9aee5adeb6 Upgrade to metrics@0.18.0 to report shell load time 2013-12-13 12:26:37 -08:00
Kevin Sawicki 70f3527123 Expose shell load time render process for metrics 2013-12-13 12:15:45 -08:00
Nathan Sobo e67e8ff0f5 Restore Atom::getLoadSettings and spy on it in window spec
I initially ripped out Atom::getLoadSettings in favor of a mutable
property because window spec was making an assumption that such a
property existed anyway. Since load settings need to be available from
class methods, the instance method just delegates to the class method.
But that means there's no ::loadSettings property to mutate in that
spec. I replaced the former approach with a spy which has the added
advantage of not polluting windowSettings for subsequent specs.
2013-12-13 12:02:48 -08:00
Kevin Sawicki 4448a7419c Upgrade to tree-view@0.50.0 2013-12-13 11:16:25 -08:00
Nathan Sobo e18a0f045a Upgrade to telepath 0.74.0 to avoid shredding of orphaned object graphs
We call atom.destroyOrphans after each spec now to clean up any orphaned
objects. Previously, we we destroying any object not reachable from the
root document. This was causing children of orphaned objects to be
removed from their parent, which caused null pointer exceptions when
running the destroy handlers for the orphans. Now we only destroy the
roots of orphaned object graphs.
2013-12-13 11:02:03 -08:00
Ben Ogle e8e84cbd2f Upgrade to tree-view@0.49.0 2013-12-13 10:38:39 -08:00
Ben Ogle e8c5027026 💄 Update specs to use ::function() format 2013-12-13 10:28:38 -08:00
Nathan Sobo da964a8f15 Fix comment 2013-12-13 09:55:45 -08:00
Nathan Sobo 2c4aee1181 Restore cloning of ::loadSettings in ::getLoadSettings
It's a deprecated method, but if you call it you'll get a clone.
2013-12-13 09:55:13 -08:00
Nathan Sobo 24d3f1daeb Reduce diff size by restoring old method order where possible 2013-12-13 09:50:57 -08:00
Nathan Sobo beb2fb08ea Merge branch 'master' into ns-telepathic-atom-global
Conflicts:
	package.json
2013-12-13 09:32:13 -08:00
Kevin Sawicki 7b86891642 Upgrade to tree-view@0.48.0 for scroll left fixes 2013-12-12 18:24:54 -08:00
Kevin Sawicki 87e325dce1 Set body's visibility to hidden when unloading
Previously the display was changed to none via $.hide() which accidentally
affected the ability of package's to serialize DOM properties such as
scrollTop since the value would always be zero when the display was none.

The goal here is to just prevent a flicker when refreshing the
editor window and setting visibility to hidden still accomplishes this.
2013-12-12 18:05:36 -08:00
Kevin Sawicki ee87c757ed Upgrade to tree-view@0.47.0 for arrow fix 2013-12-12 18:04:25 -08:00
Ben Ogle a25812dca7 Move cmd-s and cmd-S to workspaceView 2013-12-12 17:50:15 -08:00
Ben Ogle 1f9a7599b7 cmd-w works anywhere in the editor 2013-12-12 17:50:15 -08:00
Kevin Sawicki 07dee8838c Upgrade to tree-view@0.46.0 2013-12-12 17:46:09 -08:00
Kevin Sawicki 8367b020ec Upgrade to editor-stats@0.9.0 for bug fix 2013-12-12 17:41:50 -08:00
Nathan Sobo 9fce6a2f1c Merge branch 'ns-guard-dead-editors' 2013-12-12 17:11:20 -08:00
Nathan Sobo 165a417a9d Upgrade to telepath 0.73.0 for Document::create default values 2013-12-12 16:59:41 -08:00
Nathan Sobo 39fe0c418b Add back deprecated Atom::getLoadSettings method for packages 2013-12-12 16:49:00 -08:00
Nathan Sobo 75cee638bc Protect from exceptions when attaching editor views w/ dead editors
Addresses #1306

We still need to know why this is happening, so I left an exception in
non-release builds. Since the pane system is about to change a lot I
think this is good enough for now.
2013-12-12 16:41:35 -08:00
Matt Colyer ae72d4ad56 Upgrade exception-reporting@0.9.0 2013-12-12 16:41:09 -08:00
Nathan Sobo bfcb24f517 Fix pesky workspace view serialization spec
This isn't beautiful, but this whole approach is slated to be replaced
in the recent future.
2013-12-12 16:36:34 -08:00
Nathan Sobo 208ed09109 Use atom.state instead of defunct windowState in spec 2013-12-12 16:35:56 -08:00
Nathan Sobo 0b7f291e17 Remove reference to workspaceView in Atom::unloadEditorWindow 2013-12-12 16:35:26 -08:00
Nathan Sobo a61b057aea Eliminate exceptions in Editor::inspect 2013-12-12 16:34:48 -08:00
Nathan Sobo 4c817baf4c Don't destroy project when WorkspaceView is removed
Whenever we're removing the workspaceView, we're usually destroying
the project anyway.
2013-12-12 16:34:10 -08:00
Nathan Sobo a564cc66f6 Replace Atom::getLoadSettings with a ::loadSettings property
We assign a value into ::loadSettings anyway in a spec, so there's not
much point leaving it a method. Eventually I'd like to pass all these
settings in when constructing the Atom object and eliminate awareness
of the loadSettings altogether from the Atom global.
2013-12-12 16:33:30 -08:00
Nathan Sobo 14c58c4517 Set up window event handler for all windows 2013-12-12 15:45:25 -08:00
Nathan Sobo ebe77065cc Destroy orphans after each spec 2013-12-12 15:45:16 -08:00
Ben Ogle e1d35ed90f Upgrade dev-live-reload@0.20.0
Fix issue with reloading on changes to variable files
2013-12-12 15:45:00 -08:00
Corey Johnson 5d23a8fceb Merge pull request #1271 from atom/cj-deleted-files-not-modified
Handle deleted files correctly
2013-12-12 15:15:47 -08:00
Nathan Sobo 30b0fed60f Remove packageStates from atom state after specs just in case 2013-12-12 15:11:59 -08:00
probablycorey 90f3726c5c Fix window specs 2013-12-12 15:10:01 -08:00
Nathan Sobo 5f10c48219 Kill double project assignment 2013-12-12 14:40:12 -08:00
Nathan Sobo 23957d7f66 WIP: Make atom global a telepath model
Specs seem to be green but hang on what I'm assuming to be a long GC
pause near the end. I need to investigate what's going on memory wise.
2013-12-12 14:33:50 -08:00
probablycorey 58bf19cc83 Fix syntax error 2013-12-12 14:00:21 -08:00
probablycorey f439b04978 Update tree-view and find-and-replace packages 2013-12-12 13:37:56 -08:00
Ben Ogle f6d1647021 Upgrade git diff and all the themes with new colors. 2013-12-12 11:56:54 -08:00
Ben Ogle 0ccaf9049f Upgrade to dev-live-reload@0.19.0
Reload all themes when syntax variables change
2013-12-12 11:24:46 -08:00
probablycorey 132194337e Merge remote-tracking branch 'origin/master' into cj-deleted-files-not-modified 2013-12-12 11:00:17 -08:00
Ben Ogle f0198944b5 Merge pull request #1297 from atom/bo-diff-reload
Apply text to buffer via diff on reload
2013-12-12 10:40:47 -08:00
probablycorey f414c0955b Specs don't prompt to save editors by default. 2013-12-12 10:35:11 -08:00
Ben Ogle 4ffa5bb90e Make this fn private. 2013-12-12 10:34:08 -08:00
Ben Ogle 4dbca94d32 spec 💄 2013-12-12 10:34:08 -08:00
Ben Ogle 7111961929 Move function into setTextViaDiff() 2013-12-12 10:34:08 -08:00
Ben Ogle 5d46d7a881 💄 2013-12-12 10:34:08 -08:00
Ben Ogle 8d1d64d9d3 bufferRow -> row 2013-12-12 10:34:08 -08:00
Ben Ogle 60498616b7 numberLines -> lineCount 2013-12-12 10:34:08 -08:00
Ben Ogle ed745d2072 Remove log lines 2013-12-12 10:34:08 -08:00
Ben Ogle 1f69963982 Apply text to buffer via diff on reload
Previously, it would blindly read from disk on reload, and set the text 
into the editor. This was problematic as it would mess with markers and 
folds. No longer. 

Fixes #1285 and fixes atom/bookmarks#3
2013-12-12 10:34:08 -08:00
probablycorey 787b6fb677 Revert "Don't pop-up save dialog in specs"
This reverts commit e0ad22d0bd.
2013-12-12 10:09:41 -08:00
probablycorey 2d5b04579f Merge branch 'master' into cj-deleted-files-not-modified
Conflicts:
	src/pane.coffee
2013-12-12 09:57:28 -08:00
Kevin Sawicki 9fbfeb970b Remove mixins already added by Model superclass 2013-12-12 09:04:16 -08:00
Kevin Sawicki 63cac904ae Export telepath Model 2013-12-12 08:51:02 -08:00
Kevin Sawicki 04ad048e1f :non-potable_water Upgrade to space-pen@2.0.0 2013-12-12 08:15:48 -08:00
Nathan Sobo b9b8c61c11 🚱 Properly remove items from pane's state document
Fixes #1299.

This updates Pane::removeItemAtIndex to call Array::splice with the
index to be removed instead of Array::remove, which was changed to take
the *object* to be remove rather than an index. Oops.
2013-12-11 21:39:38 -08:00
Kevin Sawicki 6a8697a357 Upgrade to status-bar@0.27.0 for tooltip update 2013-12-11 19:13:09 -08:00
Kevin Sawicki bb35655e67 Upgrade to status-bar@0.26.0 for icon tweak 2013-12-11 19:02:06 -08:00
Kevin Sawicki 865d94d758 Add dev mode icon to status bar
Skull colliding with tabs was too much to handle.

Red square in status bar is the new indicator.
2013-12-11 18:57:07 -08:00
Matt Colyer 965e146bf2 Merge pull request #1298 from atom/upgrade-download-atom-shell
Upgrade grunt-download-atom-shell@0.2.1
2013-12-11 18:53:31 -08:00
Matt Colyer d97b394000 Upgrade grunt-download-atom-shell@0.2.1 2013-12-11 18:23:50 -08:00
Kevin Sawicki 29b85a1bb9 Clear the goal column when the cursor moves
Previously it was only cleared when changing the position explicitly
and not as a result of the underlying marker changing such as during a
text insertion.

Closes #1295
2013-12-11 18:02:52 -08:00
Kevin Sawicki dda65d82c3 Remove unused guid require 2013-12-11 17:49:31 -08:00
Kevin Sawicki 56de32f433 📝 Mention packages instead of extension 2013-12-11 17:23:23 -08:00
Kevin Sawicki 3cb751723d Register editor with project when deserializing 2013-12-11 17:18:03 -08:00
Nathan Sobo 344e6d15ce Merge branch 'ns-latest-telepath' 2013-12-11 17:03:19 -08:00
Nathan Sobo 8e7de0dc89 Upgrade to telepath 0.70.0 for undefined marker timestamp fix
This upgrades the serialization version of telepath documents because
for a window of time we were storing undefined timestamps. It also
adds dev-mode assertions that raise when the index of a solo marker
exceeds the array length. I think that issue should actually be resolved
and if we don't see an assertion failure here for a while we can remove
the Math.min shim.

Closes atom/telepath#7
2013-12-11 16:49:05 -08:00
probablycorey 3b388f16fd Update metrics package… again. 2013-12-11 16:47:43 -08:00
probablycorey c64b1a7628 Update metrics package 2013-12-11 16:37:38 -08:00
Kevin Sawicki 5ce71f5ded Upgrade to atom-dark-ui@0.17.0 for status icon tweak 2013-12-11 16:30:32 -08:00
Kevin Sawicki 02415ca400 Upgrade ui themes for hover removal 2013-12-11 16:04:13 -08:00
Nathan Sobo 69f357b538 Merge branch 'ns-latest-telepath' 2013-12-11 15:30:49 -08:00
Nathan Sobo 780441bdb8 Upgrade to telepath 0.68.0 for solo marker multiple undo fix 2013-12-11 15:19:46 -08:00
probablycorey e0ad22d0bd Don't pop-up save dialog in specs 2013-12-11 14:51:44 -08:00
probablycorey 115203cbd2 Update spec description 2013-12-11 14:48:12 -08:00
Nathan Sobo 0b5155f496 Set telepath.devMode to true when not on an official release
This will enable assertions inside of telepath to help us diagnose
atom/telepath#7. Otherwise, the issue *should* be covered over for end
users.
2013-12-11 14:47:52 -08:00
Nathan Sobo 4f18baaed5 Upgrade telepath to 0.67.0 for devMode flag 2013-12-11 14:46:40 -08:00
Kevin Sawicki 095320680f 📝 Start CoffeeScript styleguide 2013-12-11 14:35:06 -08:00
Nathan Sobo 8a8df8d6cb Add Atom::isReleasedVersion, which determines if the version is a SHA 2013-12-11 12:28:20 -08:00
Nathan Sobo 6bb4eaee93 Merge branch 'ns-teleditor' 2013-12-11 11:17:45 -08:00
Nathan Sobo 7710845cdc Use property accessors instead of accessing state directly 2013-12-11 11:10:43 -08:00
Nathan Sobo 8471ffed29 Observe scroll* behaviors instead of the entire state document 2013-12-11 11:10:06 -08:00
Nathan Sobo ce6d793528 Merge branch 'ns-reopen-uris' 2013-12-11 11:03:59 -08:00
Nathan Sobo e5bf70544e Document methods 2013-12-11 11:02:56 -08:00
Kevin Sawicki c591911455 📝 There is no tomorrow 2013-12-11 10:37:26 -08:00
Kevin Sawicki 44955e536b Upgrade to tree-view@0.44.0 2013-12-11 10:20:29 -08:00
Kevin Sawicki 6f25945911 Upgrade to fs-plus@0.11.0 to remove npm warning 2013-12-11 10:09:06 -08:00
Kevin Sawicki e5bd341f05 Set npm log level to warn instead of silent 2013-12-11 10:03:32 -08:00
Kevin Sawicki e9d4563084 Disable apm colors in CI builds 2013-12-11 09:40:30 -08:00
Kevin Sawicki b67ce8f4f8 Only retain last 10 releases 2013-12-11 09:17:47 -08:00
Kevin Sawicki 6a90bc1b17 Create prereleases 2013-12-11 09:06:59 -08:00
Kevin Sawicki 6ba8855d51 Upgrade apm for logging failed downloads 2013-12-11 09:05:40 -08:00
Kevin Sawicki e6b55cd521 Merge pull request #1220 from shama/grunt-cli
Prefer npm created node_modules/.bin/grunt
2013-12-11 08:37:01 -08:00
Kyle Robinson Young 59f453bb06 Prefer npm created node_modules/.bin/grunt 2013-12-10 19:36:48 -08:00
Nathan Sobo e275b6c414 Merge remote-tracking branch 'origin/master' into ns-reopen-uris 2013-12-10 19:13:21 -08:00
Nathan Sobo f3cdb6e0a2 Merge remote-tracking branch 'origin/master' into ns-teleditor 2013-12-10 19:10:09 -08:00
Nathan Sobo c4fc75215b Reintroduce editor serialization specs
I added some features to telepath that make it easier to test model
objects.

- First, you can now call replicate on any telepath document/model
  object. The entire underlying database will be replicated and you will
  be handed the equivalent of that object in the replicated world. This
  is easier than forcing you to attach the model to the window state 
  and then call replicate there. However, remember that the entire
  window state is actually being replicated so any references the model
  has will also be replicated.

- Second, you can also replicate orphaned objects. Most objects in these
  specs we're converting are orphans because there's no reason to attach
  them to the root document just to test them in isolation.
2013-12-10 19:07:50 -08:00
Kevin Sawicki 68e7c209bd Update apm for ci changes 2013-12-10 18:22:52 -08:00
Kevin Sawicki 1737df6ff9 Use .zip extension 2013-12-10 18:03:28 -08:00
Kevin Sawicki 897bf2f8e0 💄 Add assetName variable 2013-12-10 17:49:53 -08:00
Kevin Sawicki 1851c81e60 Log when delete response is non-204 2013-12-10 17:47:43 -08:00
Kevin Sawicki 938c85e616 Use default headers in publish release API call 2013-12-10 17:46:34 -08:00
Kevin Sawicki 350602a740 Merge pull request #1282 from atom/ks-builds-repo
Upload releases to atom/atom-master-builds repo
2013-12-10 17:45:35 -08:00
Kevin Sawicki f1ed51a823 Only publish master builds 2013-12-10 17:37:32 -08:00
Kevin Sawicki 086f0a0684 📝 Mention build-package script and atom-master-builds 2013-12-10 17:37:32 -08:00
Kevin Sawicki fbd8f7a1a7 Use commitSha variable 2013-12-10 17:37:32 -08:00
Kevin Sawicki 3e359e3c4e Upload releases to atom/atom-master-builds repo 2013-12-10 17:37:32 -08:00
Nathan Sobo 425c076221 Make Editor a telepath.Model subclass 2013-12-10 17:32:34 -08:00
Matt Colyer 351c1f1ab8 Merge pull request #1284 from atom/fix-atom-download-windows
Fix `grunt download-atom-shell` on Windows
2013-12-10 17:32:15 -08:00
Matt Colyer 1efde26230 Merge remote-tracking branch 'origin/master' into fix-atom-download-windows 2013-12-10 17:24:46 -08:00
Kevin Sawicki 527aa61fa1 Remove line-jumper until atom.io issue is resolved 2013-12-10 17:23:59 -08:00
Nathan Sobo 18a712a1f7 Reopen closed pane items in workspace – by uri instead of deserializing
Serializing and deserializing closed pane items was turning into a pain
with the new telepath changes that are phasing out this kind of on the
fly serialization. Reopening by uri saves memory and simplifies panes
enormously. If we want non-uri reopening we can revisit it later when
telepath models are better integrated.
2013-12-10 17:19:44 -08:00
Matt Colyer 6c8db8ee49 Upgrade grunt-download-atom-shell@0.2.0 2013-12-10 17:18:52 -08:00
probablycorey 4bfcdf4d5b Remove unmodified editors from pane when the buffer is deleted 2013-12-10 17:08:07 -08:00
Kevin Sawicki c1f3499359 Upgrade to metrics@0.15.0 for window load time reporting 2013-12-10 17:06:48 -08:00
probablycorey 201717a9aa Remove duplicate destroy
Telepath now emits the 'destroy' event
2013-12-10 17:04:46 -08:00
Ben Ogle 3e83364e38 Update line-jumper 2013-12-10 16:52:49 -08:00
Kevin Sawicki ba681023da Upgrade to language-javascript@0.4.0 for log snippet 2013-12-10 16:46:31 -08:00
Ben Ogle 2ae7775caf Upgrade to underscore-plus@0.5.0 2013-12-10 16:27:29 -08:00
Ben Ogle b2ab9d3246 Upgrade the themes to fix text hover colors 2013-12-10 16:10:56 -08:00
Kevin Sawicki 7cc61c5252 📝 Add locally 2013-12-10 15:22:21 -08:00
Kevin Sawicki b3b2be2430 📝 Add setting up travis doc 2013-12-10 15:21:58 -08:00
Ben Ogle 1674f16a0e Add line-jumper package to default install 2013-12-10 15:10:27 -08:00
probablycorey 24c84fe09c Merge remote-tracking branch 'origin/master' into cj-deleted-files-not-modified 2013-12-10 14:46:26 -08:00
Kevin Sawicki 2136fdaa60 Set cwd to vendor/apm instead of cd'ing 2013-12-10 14:11:10 -08:00
Kevin Sawicki 347eb9ce83 Merge pull request #1281 from atom/ks-upload-release
Upload master builds to releases
2013-12-10 14:01:54 -08:00
probablycorey a3eb76d630 💄 2013-12-10 13:52:42 -08:00
Kevin Sawicki 163994340d Log Atom release tag name 2013-12-10 13:51:09 -08:00
probablycorey 8ffa8fed12 Always use Pane::addItem when adding items. 2013-12-10 13:50:51 -08:00
Kevin Sawicki 2141d06f61 Upload master builds only 2013-12-10 13:33:31 -08:00
Kevin Sawicki e1a1a7efc9 Log what release is being uploaded to 2013-12-10 13:24:02 -08:00
Kevin Sawicki f3f94a2af0 Drop prerelease from asset name 2013-12-10 12:59:32 -08:00
Kevin Sawicki 3d8e304b1c Allow script/upload-release to be called directly 2013-12-10 12:48:34 -08:00
Kevin Sawicki 2d0ba3e1f9 Uncomment branch check 2013-12-10 12:48:34 -08:00
Kevin Sawicki be0ebab841 Delete existing before uploading new one 2013-12-10 12:48:34 -08:00
Kevin Sawicki 8c1d49c703 Exit with 1 when upload fails 2013-12-10 12:48:34 -08:00
Kevin Sawicki 4af71391a6 Use basename of assetPath in zip command 2013-12-10 12:48:34 -08:00
Kevin Sawicki 90802e3725 Check for error being null and default body to empty string 2013-12-10 12:48:34 -08:00
Kevin Sawicki a9d1afdf65 Rename upload variable to assetRequest 2013-12-10 12:48:34 -08:00
Kevin Sawicki 2a51eb7614 Remove unneeded key name 2013-12-10 12:48:34 -08:00
Kevin Sawicki 96d38d7252 💄 Use return unless 2013-12-10 12:48:34 -08:00
Kevin Sawicki 4705e382bf Convert script/upload-release to CoffeeScript 2013-12-10 12:48:33 -08:00
Kevin Sawicki 11f8eba2c3 Add initial upload-release script 2013-12-10 12:48:33 -08:00
Ben Ogle d638fe9ca0 Upgrade to command-palette@0.13.0 2013-12-10 12:40:25 -08:00
Ben Ogle 3f69197a08 Update command palette to better handle keybindings.
Fixes #1233
2013-12-10 12:31:25 -08:00
Ben Ogle 43bf47fa26 Upgrade to underscore-plus@0.4.0 2013-12-10 11:47:53 -08:00
Kevin Sawicki 092ed37ed9 Remove unused core.hideGitIgnoredFiles config setting 2013-12-10 11:07:05 -08:00
probablycorey 19da22d440 Revert "Project doesn't serialize non-modified buffers that don't exist on disk"
This reverts commit ec3e139632.
2013-12-10 10:15:03 -08:00
probablycorey 51ff3ec46a Revert "Rename destroyNonExistentNonModified"
This reverts commit 22ec8c3a75.
2013-12-10 10:14:56 -08:00
Kevin Sawicki 36b5518add Upgrade to solarized-dark-syntax@0.5.0 for git commit colors 2013-12-10 10:10:22 -08:00
Kevin Sawicki dbdb51db2f 📝 Update wrapGuide to wrap-guide 2013-12-10 09:52:20 -08:00
Kevin Sawicki 7db11ea3c6 Upgrade to gists@0.13.0 for untitled editor fix 2013-12-10 09:51:43 -08:00
Kevin Sawicki f6ce92e52d Upgrade to wrap-guide@0.10.0 for spec fixes 2013-12-10 09:31:45 -08:00
Kevin Sawicki 6c1999ab60 Upgrade to wrap-guide@0.9.0 for config prefix change 2013-12-10 09:28:57 -08:00
Kevin Sawicki 3dde91dd3d Upgrade apm for template fixes 2013-12-10 08:06:01 -08:00
Nathan Sobo 9deec49f81 Bump editor serialization version 2013-12-10 01:44:10 -08:00
Nathan Sobo 7c3106d9d9 Merge branch 'ns-teleditor' 2013-12-10 01:40:14 -08:00
Nathan Sobo 7138d5b888 Merge branch 'master' into ns-teleditor
Conflicts:
	package.json
2013-12-10 01:33:23 -08:00
Nathan Sobo 43495f05ba Restore package specs in suite. Didn't mean to commit these comments. 2013-12-10 01:31:04 -08:00
Nathan Sobo 518a929880 Merge branch 'ns-latest-telepath' 2013-12-10 01:16:03 -08:00
Nathan Sobo dd00f0d4ea Upgrade to telepath 0.65.0 for markers + undo fix
Fixes #1197
2013-12-10 01:08:33 -08:00
Kevin Sawicki 20d8458009 Upgrade apm for package template fix 2013-12-09 19:43:00 -08:00
Kevin Sawicki 13f45c615a Upgrade to language-gfm@0.10.0 for HTML entities 2013-12-09 19:35:42 -08:00
Ben Ogle 998d542825 Upgrade to find-and-replace@0.58.0 2013-12-09 18:10:13 -08:00
Kevin Sawicki fccc47023c Upgrade to pathwatcher@0.11.0 for flaky tree-view spec fix 2013-12-09 18:08:19 -08:00
Kevin Sawicki a2f2efe8b3 Upgrade to base16-tomorrow-dark-theme@0.7.0 for git commit colors 2013-12-09 17:56:55 -08:00
Kevin Sawicki c6bdc59fef Upgrade to fuzzy-finder@0.28 for reload fix 2013-12-09 17:38:01 -08:00
Kevin Sawicki 047e5e696f Prepare 0.44.0 release 2013-12-09 15:33:28 -08:00
Kevin Sawicki 72191f3d3d Add atom.getWindowLoadTime() API to be used by metrics 2013-12-09 15:20:22 -08:00
Kevin Sawicki 5ced583a7c Prepare 0.43.0 release 2013-12-09 14:40:54 -08:00
Nathan Sobo c326988a7d Merge branch 'master' into ns-teleditor 2013-12-09 12:40:38 -08:00
Nathan Sobo 5ff47f3aa1 Call atom.create with TokenizedBuffer before testing it 2013-12-09 12:28:13 -08:00
Ben Ogle 308bb95ea2 upgrade to feedback@0.16.0 2013-12-09 12:09:37 -08:00
probablycorey 22ec8c3a75 Rename destroyNonExistentNonModified 2013-12-09 12:06:44 -08:00
Ben Ogle 3490022180 Upgrade to find-and-replace@0.57.0 2013-12-09 11:53:49 -08:00
probablycorey ec3e139632 Project doesn't serialize non-modified buffers that don't exist on disk 2013-12-09 11:41:57 -08:00
probablycorey 63e3be8630 Only mark a deleted file as modified if it was previously modified.
Fixes #693
2013-12-09 11:06:29 -08:00
Ben Ogle e61d482384 Ugrade to find-and-replace@o0.56.0 2013-12-09 10:43:41 -08:00
Kevin Sawicki b108b5030a Upgrade to language-ruby@0.6.0 2013-12-09 08:18:30 -08:00
Kevin Sawicki 943fe29ca3 Upgrade to metrics@0.14.0 for spec fixes 2013-12-09 08:17:39 -08:00
Kevin Sawicki 2bbf7fd0d7 Upgrade to metrics@0.13.0 2013-12-09 08:09:59 -08:00
Cheng Zhao 42e9c612b2 Merge pull request #1219 from atom/atom-shell-v0.7.5
Update to atom-shell v0.7.6.
2013-12-09 01:00:24 -08:00
Cheng Zhao 33778cefdd Merge branch 'master' into atom-shell-v0.7.5 2013-12-09 16:52:05 +08:00
Cheng Zhao 39fb5dc134 Update to atom-shell v0.7.6. 2013-12-09 16:46:27 +08:00
Kevin Sawicki ffedaa1bc1 Upgrade to git-diff@0.20.0 for new move commands 2013-12-08 20:02:12 -08:00
Nathan Sobo 3402504779 Merge branch 'ns-latest-telepath' 2013-12-07 14:09:39 -08:00
Nathan Sobo c8253be1ae Use the softWrap property directly 2013-12-07 14:08:00 -08:00
Nathan Sobo 9ede5f85e3 Use the ::editorWidthInChars property directly 2013-12-07 14:07:46 -08:00
Nathan Sobo 640fd0051b Clarify comment 2013-12-07 14:03:14 -08:00
Nathan Sobo 779c918179 Reorder requires 2013-12-07 14:03:07 -08:00
Nathan Sobo ee1f21439d Merge branch 'ns-latest-telepath' into ns-teleditor 2013-12-07 13:59:35 -08:00
Nathan Sobo f25d8d83c5 Merge branch 'master' into ns-latest-telepath 2013-12-07 13:58:53 -08:00
Nathan Sobo b4270b1e9e Merge branch 'ns-mock-cson-in-config-specs' 2013-12-07 13:52:00 -08:00
Kevin Sawicki 98701283e8 Merge pull request #1247 from atom/ks-observe-tab-length
Observe editor.tabLength config in TokenizedBuffer
2013-12-07 11:52:18 -08:00
Kevin Sawicki 34f71a2623 Observe editor.tabLength config in TokenizedBuffer
Closes #1224
2013-12-07 11:43:48 -08:00
Kevin Sawicki af06bf8984 Merge pull request #1258 from atom/ks-refresh-less-cache
Refresh less cache before activating themes
2013-12-07 11:38:32 -08:00
Kevin Sawicki 796632c36c Refresh less cache before activating themes
This ensures the import paths for themes contain the stylesheet directories

Closes #1225
2013-12-07 11:31:06 -08:00
Kevin Sawicki 65fa5bf880 Upgrade to settings-view@0.50.0, closes #1264 2013-12-07 11:28:02 -08:00
Nathan Sobo 1ccc93c50b Make DisplayBuffer a telepath model subclass 2013-12-07 03:07:15 -08:00
Nathan Sobo f4d19810b8 💄 2013-12-07 03:07:02 -08:00
Nathan Sobo 1c74925637 Upgrade to telepath 0.62.0 2013-12-07 02:36:07 -08:00
Nathan Sobo a4d2b4d21a Make TokenizedBuffer a telepath.Model subclass
There's a bunch of improvised code to make this work right now because
of the circularity of this refactoring. It will stabilize over time.
2013-12-07 02:25:47 -08:00
Nathan Sobo 88eb803d91 Mock season.writeFileSyne instead of fs.writeFileSync in config specs
The spec suite has been overwriting my config directory in weird cases.
While investigating it I noticed that we mock writeFileSync directly in
these specs, but we actually use season to write the config cson. This
makes this spec a bit simpler because it doesn't have to parse the CSON
in the spec. Lower level assertions belong on the season package itself.
2013-12-06 22:10:26 -08:00
Nathan Sobo b61654b52f Upgrade to telepath 0.61.0
This version adds a bunch of reactive primitives and ensures we destroy
documents when they are no longer referenced.
2013-12-06 21:55:57 -08:00
Nathan Sobo db1768a9c7 Upgrade feedback to 0.15.0 for spec fix 2013-12-06 21:55:43 -08:00
Nathan Sobo 6156dac3de Update status-bar to 0.24.0 so specs pass with new telepath 2013-12-06 19:57:05 -08:00
Daniel Hengeveld d5a7f7396e Merge pull request #1259 from atom/fix-doc-url
fix doc url
2013-12-06 14:16:06 -08:00
Daniel Hengeveld ca65ff6c55 fix doc url 2013-12-06 14:15:19 -08:00
Ben Ogle 49782d3335 Upgrade to feedback!0.14.0 2013-12-06 13:55:15 -08:00
Kevin Sawicki e45aeecb0a Update specs now that syntax themes have stylesheets folders 2013-12-06 13:24:34 -08:00
Kevin Sawicki d3edf33dc4 Upgrade syntax themes with new syntax-variables.less 2013-12-06 13:08:20 -08:00
Kevin Sawicki c54c925793 Merge pull request #1246 from atom/ks-color-commit-messages
Add a splash of color to commit messages
2013-12-06 13:06:52 -08:00
Kevin Sawicki e3b89aca93 Use defaults similar to ui-variables colors 2013-12-06 12:56:15 -08:00
Kevin Sawicki 9183d4968f Only include used colors for now 2013-12-06 12:56:14 -08:00
Kevin Sawicki 1aa96fc37a Drop text segment from color 2013-12-06 12:56:14 -08:00
Kevin Sawicki d75d3b6d09 Import syntax-variables in atom.less 2013-12-06 12:56:14 -08:00
Kevin Sawicki f60856eca7 Add more syntax variables 2013-12-06 12:56:14 -08:00
Kevin Sawicki 3a7049a1d9 Import syntax in atom.less 2013-12-06 12:56:14 -08:00
Kevin Sawicki 29d1b42d04 Move git markup styles to syntax.less 2013-12-06 12:56:14 -08:00
Kevin Sawicki 80552675d0 Add initial syntax-variables.less 2013-12-06 12:56:14 -08:00
Kevin Sawicki ff696355ee Use color variables for commit message files 2013-12-06 12:56:14 -08:00
Kevin Sawicki 3a2c4ca74d Upgrade to github-sign-in@0.15.0 2013-12-06 12:53:53 -08:00
Kevin Sawicki 777cc4b561 Merge pull request #1236 from atom/package-install-docs
Add manual package install directions to Atom docs
2013-12-06 12:27:54 -08:00
Kevin Sawicki c0fe3c01de 📝 Remove extra space 2013-12-06 12:26:52 -08:00
Kevin Sawicki 97dbe0d3b2 📝 Wording tweaks and link to apm and emmet 2013-12-06 12:26:24 -08:00
Cameron McEfee 250938869e Use @gjtorikian's suggested copy 2013-12-06 12:26:24 -08:00
Cameron McEfee 6092de9af8 Add manual package install directions to Atom docs 2013-12-06 12:26:23 -08:00
Ben Ogle 01855901e7 Upgrade release-notes and github-sign-in 2013-12-06 12:07:16 -08:00
Ben Ogle 161542a4af Merge pull request #1240 from atom/bo-token-stuff
Add token dealings to atom core
2013-12-06 12:04:52 -08:00
Ben Ogle 6d2bd7756e Add the getGitHubAuthTokenName fn back in 2013-12-06 11:57:31 -08:00
Ben Ogle f0fece2cf0 Add getters and setters for the keychain 2013-12-06 11:45:18 -08:00
Ben Ogle c36ee1dbe6 Add getGitHubTokenName 2013-12-06 11:39:40 -08:00
Ben Ogle 76ec5a98c4 Upgrade to atom-dark-ui@0.13.0 2013-12-06 10:59:16 -08:00
Ben Ogle ec022b5c77 Upgrade to feedback@0.13.0 2013-12-06 10:44:40 -08:00
Kevin Sawicki 912636a599 Upgrade to autosave@0.10.0 refs #1183 2013-12-06 10:05:44 -08:00
Kevin Sawicki 011c3cc223 Merge pull request #1237 from atom/ks-hard-tab-cache
Fix caching of hard tabs
2013-12-06 08:55:08 -08:00
Kevin Sawicki 433b64d581 Update spec for new hard tab span text length 2013-12-06 08:27:00 -08:00
Kevin Sawicki 365d69a19c Add missing s to invisible 2013-12-06 08:26:59 -08:00
Kevin Sawicki 5d1e507988 Remove extra newline 2013-12-06 08:26:59 -08:00
Kevin Sawicki 776b267396 💄 Correct indent 2013-12-06 08:26:59 -08:00
Kevin Sawicki 77e4b7f90f Use value ivar when invisible.tab is falsy 2013-12-06 08:26:59 -08:00
Kevin Sawicki 2501b98e8f Fix typo constructor 2013-12-06 08:26:59 -08:00
Kevin Sawicki 32d301ef34 typo: invisibles not invisible 2013-12-06 08:26:59 -08:00
Kevin Sawicki & Nathan Sobo f4861b7919 💄 Use @constructor instead of EditorView 2013-12-06 08:26:59 -08:00
Kevin Sawicki & Nathan Sobo 94e4fef108 Use DisplayBuffer::lineForRow in EditorView::positionLeftForLineAndColumn
Previously the tokenized lines were obtained from the tokenized buffer
which skipped the translation to screen coordinates.

Closes #1231
2013-12-06 08:26:59 -08:00
Kevin Sawicki & Nathan Sobo 7ae432fad5 Place entire hard tab value inside span
Previously only the first character was included in the span.
2013-12-06 08:26:59 -08:00
Ben Ogle 18057e303b Remove getUserAgent. just use navigator.userAgent 2013-12-05 18:55:20 -08:00
Matt Colyer 71064adae2 Upgrade grunt-download-atom-shell@0.1.3 2013-12-05 16:44:55 -08:00
Matt Colyer 43d964c357 Upgrade grunt-download-atom-shell@0.1.2 2013-12-05 11:39:59 -08:00
Ben Ogle 5f4115cb81 Add more native keybindings 2013-12-05 11:08:14 -08:00
Kevin Sawicki 8cf2cdb2a9 Add script/install-cli to install atom and apm 2013-12-05 11:02:37 -08:00
Kevin Sawicki a460530770 Show warning message opening opening dev window without repo cloned 2013-12-05 10:43:45 -08:00
Kevin Sawicki 162bab506d Mention package repositories 2013-12-05 08:50:58 -08:00
Cheng Zhao 6c5669b53d Add "productName" in package.json.
Atom-Shell would use it as application's name.
2013-12-05 18:15:26 +08:00
Cheng Zhao a7db8229d5 Also change the version field of package.json in set-development-version task. 2013-12-05 18:13:42 +08:00
Cheng Zhao b7848d760f Update to atom-shell v0.7.5. 2013-12-05 17:48:55 +08:00
Ben Ogle e6d8f3b9bf Merge pull request #1218 from shama/doc-typos
A couple typo fixes in the docs.
2013-12-04 21:12:09 -08:00
Kyle Robinson Young 0e270f85ba A couple typo fixes in the docs. 2013-12-04 20:40:27 -08:00
Kevin Sawicki 9e3f4dc033 Prepare 0.42.0 release 2013-12-04 19:04:36 -08:00
Kevin Sawicki c1a744b29c Make ATOM_ACCESS_TOKEN available in all grunt commands 2013-12-04 19:02:39 -08:00
Kevin Sawicki a283161c1e Upgrade to tree-view@0.43.0 refs #1213 2013-12-04 18:24:28 -08:00
Ben Ogle 9ede9571bc Upgrade to release-notes@0.14.0 2013-12-04 16:32:52 -08:00
Ben Ogle dbc21befec Upgrade to welcome@0.3.0 2013-12-04 16:28:31 -08:00
Ben Ogle ca0f0357d7 Upgrade to feedback@0.12.0 2013-12-04 16:25:15 -08:00
probablycorey be1c1f8719 Use permanent image link for atom logo 2013-12-04 16:19:33 -08:00
Cheng Zhao e95c60b4ec 💄 Fix typo in dialog. 2013-12-05 08:17:33 +08:00
probablycorey 847dd6d93b Update welcome package 2013-12-04 16:03:29 -08:00
Kevin Sawicki 7f62720350 Merge pull request #1208 from atom/ks-erb-infinite-parse-loop
Prevent infinite loop in erb grammar
2013-12-04 15:34:10 -08:00
Kevin Sawicki 8af0a59c52 Pop stack when rule is pushed without position advancement
Previously only the scope name was checked which allowed cases
were rules without scope names to grow the stack infinitely without
advancing the position.

Closes atom/language-ruby-on-rails#1
2013-12-04 15:18:33 -08:00
Kevin Sawicki 31a909828d Don't override ATOM_ACCESS_TOKEN if already set 2013-12-04 14:40:37 -08:00
Ben Ogle 78562dcf15 Upgrade to github-sign-in@0.14.0 2013-12-04 14:31:23 -08:00
Ben Ogle 4869fad7f6 Add styling for headings in overlays. 2013-12-04 14:29:32 -08:00
probablycorey 77da136d17 Update cmd-shift-P references and getting started doc 2013-12-04 14:07:43 -08:00
probablycorey 67b1d0d22a Update atom shell to 0.7.4 2013-12-04 14:03:58 -08:00
Kevin Sawicki 23fcb59c5d Upgrade to language-ruby@0.5.0 2013-12-04 14:00:50 -08:00
probablycorey 16ef30dc82 Update feedback package 2013-12-04 12:09:11 -08:00
Ben Ogle e3a4f450ad Update themes to have better tree-view focusing 2013-12-04 12:06:04 -08:00
Kevin Sawicki 847578398d Prepare 0.41.0 release 2013-12-04 12:02:08 -08:00
Kevin Sawicki 63dc8863e3 Use atom-bot's token as ATOM_ACCESS_TOKEN 2013-12-04 11:38:25 -08:00
Kevin Sawicki 58d09ec5a0 Update to fs-plus@0.10.0 2013-12-04 11:36:38 -08:00
Ben Ogle bb5d70fa2e Merge pull request #1182 from atom/removing-core-treeview-settings
Removing core treeview settings
2013-12-04 11:26:06 -08:00
Kevin Sawicki 4a904673e5 Upgrade apm for keychain token name fix 2013-12-04 11:22:50 -08:00
Kevin Sawicki 4c1d47779b 💄 Sort themes better 2013-12-04 09:36:14 -08:00
Kevin Sawicki a0adc32e04 💄 Sort themes 2013-12-04 09:35:50 -08:00
Kevin Sawicki 2434db4dc2 Merge pull request #1174 from atom/cj-update-docs
Update docs
2013-12-04 09:17:16 -08:00
Kevin Sawicki e2ee99556d Merge branch 'master' into cj-update-docs 2013-12-04 09:01:27 -08:00
Kevin Sawicki cececc2297 Update to new logo url 2013-12-04 08:58:04 -08:00
Kevin Sawicki f0825ca526 Add simple explanation 2013-12-04 08:55:19 -08:00
Kevin Sawicki 57c0261f96 Add Git commit messages section 2013-12-04 08:53:24 -08:00
Kevin Sawicki 6891922e07 Use friendlier emoji 2013-12-04 08:50:43 -08:00
Kevin Sawicki e03a7c336d Add example to require ordering section 2013-12-04 08:50:07 -08:00
Kevin Sawicki 49a32dd2dc Remove cmake dependency 2013-12-04 08:48:45 -08:00
Kevin Sawicki 94d4ad618c Add require(atom) for home directory example 2013-12-04 08:48:22 -08:00
Cheng Zhao 9b0f8ccee0 Merge pull request #1192 from atom/grunt-download-atom-shell
Use grunt-download-atom-shell to download and update atom-shell.
2013-12-03 22:07:34 -08:00
Nathan Sobo fa963f0583 Upgrade telepath to 0.45.1 in hopes of addressing #1153
Basically, it just hacks ArrayMarker::getRawStart/EndIndex in
non-replicated mode to check that the index isn't out of range. I'd
rather get to the root cause but I'm hoping this can save us some pain
in the short term while a lot of balls are in the air.
2013-12-03 20:17:01 -06:00
Ben Ogle d36c4f0ec9 getUserAgent() 2013-12-03 17:45:40 -08:00
probablycorey e6e72d99f3 Add welcome package 2013-12-03 15:37:48 -08:00
Kevin Sawicki 9ce22fd6d3 Add back internally used isPathModified 2013-12-03 13:37:21 -08:00
Garen Torikian 5166ca274c 📝 Typo fix 2013-12-03 13:02:35 -08:00
Kevin Sawicki 6f1dd702b0 Add back internally used Project::findBufferForPath 2013-12-03 12:12:28 -08:00
Kevin Sawicki 1d4f447975 📝 Fill in SelectList docs 2013-12-03 12:02:41 -08:00
Kevin Sawicki 4998fdda85 Remove unused methods in Project 2013-12-03 11:40:28 -08:00
Ben Ogle aa52428c26 Merge pull request #1193 from atom/dev-icon
Adjusting padding for new tabs
2013-12-03 11:30:43 -08:00
Matt Graham 9c1127dd1b adjusting padding for new tabs 2013-12-03 11:30:19 -08:00
Kevin Sawicki 91d4ef2653 📝 Mark more EditorView methods private 2013-12-03 11:25:17 -08:00
Kevin Sawicki 80cc881912 📝 Remove FIXME in Editor::transpose 2013-12-03 11:21:12 -08:00
Kevin Sawicki 867aaa8f95 📝 Move transact to public section with delegates tag 2013-12-03 11:21:12 -08:00
Kevin Sawicki 28a1dc58e7 Merge pull request #1190 from atom/ks-soft-wrap-cache
Use buffer positions for char width cache
2013-12-03 11:06:31 -08:00
Kevin Sawicki ee7ef0f893 Add spec that previously failed 2013-12-03 10:54:27 -08:00
Kevin Sawicki eaf60a00b3 Use TokenizedLine::tokenAtBufferColumn to obtain scopes 2013-12-03 10:54:27 -08:00
Kevin Sawicki e01c19e6b7 Use buffer positions when calculating char widths
Previously the editor width cache was being accessed using
screen columns which could cause incorrect position left values
for wrapped lines.

Closes #1096
2013-12-03 10:54:27 -08:00
Kevin Sawicki 930e479cdb Upgrade apm for template updates 2013-12-03 10:50:47 -08:00
Matt Graham 46c6d63dcd removing focus from core 2013-12-03 10:37:31 -08:00
Kevin Sawicki 1b502c6349 Prepare 0.40.0 release 2013-12-03 10:04:54 -08:00
Kevin Sawicki 07eb01016d Upgrade to tree-view@0.42.0 for spec cleanup 2013-12-03 09:28:32 -08:00
Cheng Zhao 99d6955644 Ignore grunt-download-atom-shell when loading packages. 2013-12-03 22:04:21 +08:00
Cheng Zhao 3f05ff9b14 Download grunt-download-atom-shell from apm registry.
I published grunt-download-atom-shell to apm registry so we do not need
to specify a git URL here, and as I tested the CI cannot fetch private
node module repositories due to lack of credient.

When it could be public we should publish it to npm registry instead.
2013-12-03 21:10:16 +08:00
Cheng Zhao 9caf3ca349 💄 Fix atom-shell's download dir. 2013-12-03 20:13:17 +08:00
Cheng Zhao 25a1b77048 Use grunt-download-atom-shell to download and update atom-shell. 2013-12-03 19:54:42 +08:00
Cheng Zhao 866c0c0668 Merge pull request #1191 from atom/atom-shell-v0.7.3
Update atom-shell to v0.7.3.
2013-12-02 20:55:09 -08:00
Cheng Zhao 6094efde76 Update atom-shell to v0.7.3. 2013-12-03 12:45:55 +08:00
Cheng Zhao b4099ba66f Use the new breakpad crash reporter in both browser and renderer. 2013-12-03 12:45:44 +08:00
probablycorey 10b560b5a7 Update feedback package 2013-12-02 16:21:38 -08:00
probablycorey 305c331777 Update feedback package 2013-12-02 16:10:27 -08:00
probablycorey 0b5cad27d2 Add ' body' to make .native-binding selector more specific 2013-12-02 16:09:43 -08:00
Kevin Sawicki 7d967e71f4 Upgrade apm for new templates 2013-12-02 15:02:14 -08:00
Kevin Sawicki d36a0aa437 Update file.icns to match atom.icns 2013-12-02 11:52:05 -08:00
Kevin Sawicki 8316da3338 Use long opts strings for clarity 2013-12-02 11:26:51 -08:00
Kevin Sawicki a0b200565c Specify callback to dialog.showOpenDialog 2013-12-02 11:21:29 -08:00
Kevin Sawicki 8f4de0b568 Merge pull request #1184 from atom/ks-no-more-ids
Use classes instead of ids
2013-12-02 09:49:40 -08:00
Kevin Sawicki 45cd3e9335 Upgrade themes for id to class renames 2013-12-02 09:35:51 -08:00
Kevin Sawicki c58b30bba9 Use class instead of id for pane container 2013-12-02 08:41:34 -08:00
Kevin Sawicki 0093f39102 Add classes to workspace view elements 2013-12-02 08:32:23 -08:00
Kevin Sawicki b1f041fa6e Use a class instead of id for panes element 2013-12-02 08:27:32 -08:00
Kevin Sawicki ca11661f6d Use a class instead of id for vertical element 2013-12-02 08:26:07 -08:00
Kevin Sawicki bc4ceb189c Use a class instead of id for horizontal element 2013-12-02 08:25:48 -08:00
Kevin Sawicki 98694e5407 Use a class instead of id for workspace view 2013-12-02 08:23:29 -08:00
Kevin Sawicki 86ae743e9d Use correct workspace view id 2013-12-02 08:17:31 -08:00
Kevin Sawicki dddd515c35 Upgrade packages for EditSession/Editor renames 2013-11-28 09:27:01 -08:00
Kevin Sawicki 85d46004fd Merge pull request #1155 from atom/ks-license
Add license
2013-11-28 09:26:23 -08:00
Kevin Sawicki 5cb6aa0538 Add initial LICENSE.md 2013-11-28 09:20:05 -08:00
Ben Ogle d228cfe1ee Upgrade to find-and-replace@0.55.0 2013-11-27 16:13:19 -08:00
probablycorey a8f7c5201b Add more keystrokes to .native-key-bindings 2013-11-27 14:20:45 -08:00
probablycorey e15b96691e Sort node modules to the top of require list 2013-11-27 13:29:49 -08:00
Corey Johnson 3053c4a585 Merge pull request #1168 from atom/cj-feedback-package
Add feedback package
2013-11-27 11:32:59 -08:00
probablycorey 776d58bf21 Merge remote-tracking branch 'origin/master' into cj-feedback-package
Conflicts:
	package.json
	src/editor-view.coffee
2013-11-27 11:26:34 -08:00
probablycorey 1b5762274c Update contribution guidelines 2013-11-27 11:20:22 -08:00
probablycorey 1f20dbf16d Remove philosophy portion from contributions.
I feel like these suggestions are too subjective. I think we could
expand upon these ideas in a separate document, but they are a bit 
overwhelming for new contributors.
2013-11-27 11:19:37 -08:00
probablycorey 9fe507d675 Update readme and build instructions 2013-11-27 10:59:11 -08:00
Cheng Zhao a190a069c1 Ship the "resources" dir in Atom.app, and do not copy icon separately, fixes #1165. 2013-11-27 14:58:25 +08:00
Kevin Sawicki c697e58a71 Upgrade to styleguide@0.17.0 for EditorView rename fixes 2013-11-26 19:53:24 -08:00
Kevin Sawicki 1f36d0ca02 Upgrade to space-pen@2.0.1
Closes #1164
2013-11-26 19:44:27 -08:00
Kevin Sawicki 235a1e46ab Merge pull request #1169 from atom/ks-remove-editor-shims
Rename EditSession/Editor to Editor/EditorView
2013-11-26 19:43:53 -08:00
Kevin Sawicki 1197dc1979 Upgrade to find-and-replace@0.54.0 2013-11-26 19:36:01 -08:00
Kevin Sawicki 94e94506b5 Upgrade to tree-view@0.41.0 2013-11-26 19:36:01 -08:00
Kevin Sawicki 163c800d55 Upgrade to bracket-matcher@0.14.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 3f5a6184b6 Upgrade to bookmarks@0.15.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 77819616a8 Upgrade to autoflow@0.11.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 3749726742 Upgrade to autocomplete@0.18.0 2013-11-26 19:35:44 -08:00
Ben Ogle d22d6e9af2 Upgrade to git-diff@0.19.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 7ad6f0b18b Upgrade to fuzzy-finder@0.27.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki cdfd27be3e Delegate EditorView::save to Editor::save 2013-11-26 19:35:44 -08:00
Kevin Sawicki 4e554a4941 Upgrade to markdown-preview@0.21.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 3db5cad927 Upgrade to github-sign-in@0.13.0 2013-11-26 19:35:44 -08:00
Kevin Sawicki 1a21600bde Upgrade to symbols-view@0.26.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 3c3811c527 Upgrade to spell-check@0.17.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 16c0ef935f Upgrade to snippets@0.17.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 6cc897ac67 Upgrade to settings-view@0.49.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 80782feb24 Upgrade to package-generator@0.23.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 3cfe50585a Move eachBuffer spec to project-spec 2013-11-26 19:35:43 -08:00
Kevin Sawicki 4c336ed0ee Upgrade to grammar-selector@0.13.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki c1cf8936eb Don't through exception from setGrammar delegate 2013-11-26 19:35:43 -08:00
Kevin Sawicki d131b3e39c Upgrade to go-to-line@0.12.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki 043ce8f972 Upgrade to git-diff@0.18.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki e4cac4de70 Upgrade to wrap-guid@0.8.0 2013-11-26 19:35:43 -08:00
Kevin Sawicki c5cc0706e0 Upgrade to to-the-hubs@0.15.0 2013-11-26 19:35:42 -08:00
Kevin Sawicki 45ddece673 Update getEditors references to getEditorViews 2013-11-26 19:35:42 -08:00
Kevin Sawicki 2901a04843 Rename WorkspaceView::getEditors to getEditorViews 2013-11-26 19:35:42 -08:00
Kevin Sawicki 0259536c5d Rename WorkspaceView::eachEditor to eachEditorView 2013-11-26 19:35:42 -08:00
Kevin Sawicki 48692e5127 Update EditSession to Editor in method references 2013-11-26 19:35:16 -08:00
Kevin Sawicki 19dc6b3523 Remove each helpers that delegate to Project 2013-11-26 19:35:16 -08:00
Kevin Sawicki d1496a0634 Rename EditSession to Editor 2013-11-26 19:35:16 -08:00
Kevin Sawicki d8c4fa902d Remove editSession options support 2013-11-26 19:35:16 -08:00
Kevin Sawicki f1e768767e Rename EditorView::activeEditSession to editor 2013-11-26 19:35:16 -08:00
Kevin Sawicki c03e9ad815 Rename Editor export to EditorView 2013-11-26 19:35:16 -08:00
Ben Ogle ebe3d0d885 Upgrade visual-bell@0.6.0 2013-11-26 18:06:45 -08:00
Ben Ogle 46f73d037f Fix replace on open buffers. only replace paths specified.
Closes find-and-replace#85
2013-11-26 17:08:21 -08:00
probablycorey e7e0f081f4 Update feedback package 2013-11-26 17:00:45 -08:00
probablycorey dde46ca931 Merge remote-tracking branch 'origin/master' into cj-feedback-package
Conflicts:
	package.json
2013-11-26 16:59:57 -08:00
Ben Ogle 65746521a6 Increase timeout to show default tips 2013-11-26 15:53:54 -08:00
Ben Ogle 5352f7322c upgrade to tabs@0.14.1 2013-11-26 15:52:37 -08:00
Ben Ogle f395905d4e Add destroyTooltip() 2013-11-26 15:46:01 -08:00
Ben Ogle f84635766c Upgrade to fnr@0.53.0 2013-11-26 15:36:05 -08:00
Ben Ogle 413078a493 Add hideTooltip function to hide the tip right now. 2013-11-26 15:35:47 -08:00
Kevin Sawicki d3c9b6e547 Rename root-view-spec.coffee to workspace-view-spec.coffee 2013-11-26 13:26:38 -08:00
Kevin Sawicki 078fffa7c1 Merge pull request #1166 from atom/ks-rename-root-view
Rename RootView to WorkspaceView
2013-11-26 12:28:10 -08:00
probablycorey 8472ac4fc8 Bump feedback version 2013-11-26 11:29:36 -08:00
probablycorey 1bdfb004ef Add feedback package 2013-11-26 11:23:36 -08:00
probablycorey e42079c762 Update Atom Shell 2013-11-26 11:15:55 -08:00
probablycorey a0ceb78627 Move snapshot code to package 2013-11-26 11:15:55 -08:00
probablycorey eb985a9880 Remove report issue menu 2013-11-26 11:15:55 -08:00
Kevin Sawicki d0eb26c35f 📝 RootView -> WorkspaceView 2013-11-26 11:07:46 -08:00
Kevin Sawicki 1489488159 Update rootView references in benchmarks 2013-11-26 11:02:54 -08:00
Kevin Sawicki a0a90ca26a Upgrade themes for root-view id rename 2013-11-26 11:02:53 -08:00
Kevin Sawicki 21f6676094 📝 activate() is only passed state 2013-11-26 11:02:53 -08:00
Kevin Sawicki ad9721a893 Rename workspace-view element to workspace 2013-11-26 11:02:53 -08:00
Kevin Sawicki 12ae7abc38 📝 Rename rootView to workspaceView 2013-11-26 11:02:53 -08:00
Kevin Sawicki ee0814313f Rename root-view.less to workspace-view.less 2013-11-26 11:02:53 -08:00
Kevin Sawicki a3c9e01595 Rename root-view element id to workspace-view 2013-11-26 11:02:53 -08:00
Kevin Sawicki 2e801fbf87 Rename root-view to workspace-view 2013-11-26 11:02:53 -08:00
Kevin Sawicki 40d7fb3c45 Upgrade to find-and-replace@0.52.0 2013-11-26 11:02:53 -08:00
Kevin Sawicki 14ad277012 Remove atom.workspaceView shim 2013-11-26 11:02:53 -08:00
Kevin Sawicki 6a9f29024a Remove RootView export 2013-11-26 11:02:53 -08:00
Kevin Sawicki 3ce6176313 Rename rootView to workspaceView 2013-11-26 11:02:53 -08:00
Kevin Sawicki 7d7ed79fde Upgrade packages for rootView rename 2013-11-26 11:02:52 -08:00
Ben Ogle 8aa32fc8d1 Merge pull request #1161 from atom/bo-editor-placeholder-text
Add ability for placeholder text in mini editor
2013-11-26 11:01:42 -08:00
Kevin Sawicki f8ed6eadc8 Add WorkspaceView and atom.workspaceView shims 2013-11-26 09:13:06 -08:00
Ben Ogle 0c2c739741 Add ability for placeholder text in mini editor 2013-11-25 14:46:54 -08:00
Kevin Sawicki 79c6badce8 Upgrade to gists@0.11.0 for spec fixes 2013-11-25 11:40:05 -08:00
Kevin Sawicki a48ef934eb Upgrade to gists@0.10.0 2013-11-25 11:31:53 -08:00
Kevin Sawicki 85d5968318 Remove consecutive comment blocks 2013-11-22 15:45:01 -08:00
Kevin Sawicki 9b4dd602be 📝 Tweak markdown in Atom comments 2013-11-22 15:40:50 -08:00
Kevin Sawicki 62d84e5d4b 📝 Doc Project::registerOpener 2013-11-22 15:40:50 -08:00
Ben Ogle 61ed5da1dc Upgrade themes for tooltips 2013-11-22 15:40:12 -08:00
Ben Ogle 32e25d4bb2 Don't override the default options! 2013-11-22 15:39:47 -08:00
Ben Ogle aae9614839 Upgrade to tabs@0.12.0 2013-11-22 15:33:03 -08:00
Kevin Sawicki 7fa4121227 📝 Mark PackageManager constructor as private 2013-11-22 15:19:23 -08:00
Kevin Sawicki 1d783826a2 📝 Doc Selection::compare 2013-11-22 15:19:23 -08:00
Ben Ogle bdb6e193de Upgrade find-and-replace@0.49.0 2013-11-22 15:18:43 -08:00
Ben Ogle 3f75512de2 Tooltips can now override the default options 2013-11-22 15:15:05 -08:00
Ben Ogle 5910b05344 Use my fork of bootstrap for now
I added some things to tooltips that we need. Namely, fitting them within the viewport.
2013-11-22 15:15:05 -08:00
Kevin Sawicki 7f039b3383 Update confirmSync references in specs 2013-11-22 15:09:47 -08:00
Kevin Sawicki ca35ced587 📝 Use markdown for example 2013-11-22 15:08:18 -08:00
Kevin Sawicki 734ef19f48 Upgrade to tree-view@0.39.0 2013-11-22 15:02:08 -08:00
Kevin Sawicki ef9ce1bf70 Consolidate Atom::confirm/confirmSync
Support both an array and hash of buttons to allow callbacks
optionally.
2013-11-22 15:00:32 -08:00
Kevin Sawicki c754b73b71 📝 Doc what paths are returned 2013-11-22 14:39:27 -08:00
Kevin Sawicki 21565332a4 Use fs-plus to get home directory path 2013-11-22 14:39:27 -08:00
Kevin Sawicki 8871d9cd2d Remove unused Atom::getTempDirPath 2013-11-22 14:39:26 -08:00
Kevin Sawicki 64f0fcc839 📝 Add docs to Atom class 2013-11-22 14:39:26 -08:00
Nathan Sobo 581d12b04f Upgrade to Telepath 0.45.0 for references and to debug #1153
I downgraded back to 0.38.0 after a brief period on 0.44.0 in which I
saw issues. 0.44.0 is a pretty big jump that introduces reference
semantics. I've since only seen issue #1153, which @mcolyer saw at
version 0.38.0 as well. 0.45.0 throws an exception at the moment I think
markers are getting into a bad state, so hopefully it should help us
debug the problem.
2013-11-22 16:52:10 -05:00
Kevin Sawicki 05a9ace3e6 📝 Add period to comment 2013-11-22 13:43:43 -08:00
Kevin Sawicki 03eac362f6 📝 Add missing colon to Private 2013-11-22 13:39:24 -08:00
Kevin Sawicki 8a05b0f51d 📝 Mark setDigest as private 2013-11-22 13:31:27 -08:00
Matt Colyer 4069d23d86 📝 Indicate how to access DeserializerManager 2013-11-22 14:53:08 -05:00
Kevin Sawicki 78b48345ac Update reference to renamed param 2013-11-22 11:52:21 -08:00
Matt Colyer 139e2f6de0 :note: Mark ContextMenu as private 2013-11-22 14:49:10 -05:00
Kevin Sawicki ed86b4a478 📝 Mark EditorView public 2013-11-22 11:48:00 -08:00
Kevin Sawicki f2352131cc 📝 Mark SiteShim private 2013-11-22 11:45:36 -08:00
Kevin Sawicki 56df435fb8 📝 Mark ::get as private and tweak comments 2013-11-22 11:43:52 -08:00
Kevin Sawicki 595ff19b5b 📝 Mark LessCompileCache class private 2013-11-22 11:40:52 -08:00
Kevin Sawicki 33eb0bae8f 📝 Add docs to all public methods 2013-11-22 11:37:29 -08:00
Kevin Sawicki fde1560377 📝 doc PackageManager as public 2013-11-22 10:59:43 -08:00
Kevin Sawicki a640d07599 Merge pull request #1151 from atom/ks-remove-global-functions
Remove global functions
2013-11-22 10:26:35 -08:00
Kevin Sawicki 45b65cd3aa Organize imports 2013-11-22 10:13:59 -08:00
Kevin Sawicki f217278001 Move editor window helpers to Atom class 2013-11-22 10:13:59 -08:00
Kevin Sawicki 3320176a0a Move atom/apm install helpers to CommandInstaller 2013-11-22 10:13:59 -08:00
Kevin Sawicki 754b5a6004 Remove unused requires 2013-11-22 10:13:59 -08:00
Kevin Sawicki 79b84b2433 Move window.deserializeEditorWindow to Atom class 2013-11-22 10:13:59 -08:00
Kevin Sawicki 17be036ff8 Move window.setUpEnvironment to Atom class 2013-11-22 10:13:59 -08:00
Ben Ogle 23deec833f Upgrade to bootstrap 3.0.2 2013-11-22 10:11:24 -08:00
Ben Ogle 6a8d0bef4a Merge branch 'master' of github.com:atom/atom 2013-11-22 10:03:06 -08:00
Ben Ogle d5ce1a0312 Add more chars to the shortcut parser 2013-11-22 10:02:52 -08:00
Kevin Sawicki 74decbd18a Upgrade to terminal@0.22.0 refs #1150 2013-11-22 09:33:17 -08:00
Matt Colyer 085806f97f Upgrade terminal@0.21.0 2013-11-22 10:12:19 -05:00
Matt Colyer ca8be83903 Upgrade terminal@0.20.0 2013-11-22 09:46:59 -05:00
Matt Colyer da713da311 Merge pull request #1147 from atom/pass-original-event
Pass originalEvent property on command events
2013-11-22 06:19:36 -08:00
Kevin Sawicki 7a6c75a83e Refresh cache when core.themes changes
Previously this wasn't needed because a new cache was created for each
stylesheet loaded.
2013-11-21 17:46:29 -08:00
Kevin Sawicki 3e7a517c25 Add missing @ before lessCache lazy initialization 2013-11-21 17:03:10 -08:00
Kevin Sawicki e623ef4232 Upgrade to exception-reporting@0.8.0 2013-11-21 16:56:24 -08:00
Ben Ogle 18399aa264 Replace keystrokes in tooltips 2013-11-21 16:53:38 -08:00
Kevin Sawicki 2a5f393712 Use resource path from atom.getLoadSettings() 2013-11-21 16:32:12 -08:00
Kevin Sawicki 27f779ec03 Merge pull request #1149 from atom/ks-user-dot-js
~/.atom/user.js
2013-11-21 16:26:18 -08:00
Kevin Sawicki 5d717eb7bd Load ~/.atom/user.js when available 2013-11-21 16:21:37 -08:00
Kevin Sawicki 0b457fd80a Merge pull request #1148 from atom/ks-remove-resource-path
🔥 window.resourcePath
2013-11-21 16:19:42 -08:00
Kevin Sawicki dd9aa2d02f 💄 Remove extra space 2013-11-21 16:08:27 -08:00
Kevin Sawicki 87b530140b Remove window.resourcePath 2013-11-21 16:08:27 -08:00
Kevin Sawicki 2f46fee1ca Use resource path from load settings 2013-11-21 16:08:27 -08:00
Kevin Sawicki fbb48e7807 Merge pull request #1146 from atom/ks-menu-selectors
Check selectors using webkitMatchesSelector
2013-11-21 16:07:04 -08:00
Ben Ogle 01c141eec6 Upgrade styleguide 2013-11-21 16:05:07 -08:00
Kevin Sawicki 7d9d0c715c 📝 Mention what testEditor simulates 2013-11-21 16:01:55 -08:00
Kevin Sawicki a9887b5007 Remove logging 2013-11-21 16:01:55 -08:00
Kevin Sawicki c4dec72dcd Return early when document.body matches selector 2013-11-21 16:01:55 -08:00
Kevin Sawicki d093d5cc06 Check selectors using webkitMatchesSelector 2013-11-21 16:01:55 -08:00
Ben Ogle 27c9e54538 Upgrade styleguide 2013-11-21 15:44:40 -08:00
Ben Ogle 3bbe6ee98c Merge branch 'master' of github.com:atom/atom 2013-11-21 15:30:13 -08:00
Matt Colyer 524d8e8e21 Merge remote-tracking branch 'origin/master' into pass-original-event 2013-11-21 17:54:54 -05:00
Kevin Sawicki c31211dc21 Full screen window after it is shown and focused
This prevents a blank menu bar from appearing when opening a window
that was previously closed when in full screen mode.

Closes #1144
2013-11-21 14:51:49 -08:00
Matt Colyer 6c1b63d352 Pass originalEvent property on command events
vim-mode needs access to the original keystroke that triggered the
event.
2013-11-21 17:49:07 -05:00
Ben Ogle 6fa7da79eb Provide a defualt 2013-11-21 14:34:49 -08:00
Ben Ogle c2371f3054 Allow passing an htmlElement into requireStylesheet 2013-11-21 14:32:48 -08:00
Kevin Sawicki 2349627e3c Tweak modifier order in spec 2013-11-21 13:56:12 -08:00
Kevin Sawicki 90d92a4c92 Upgrade to go-to-line@0.10.0 for atom prefix fixes 2013-11-21 13:46:54 -08:00
Matt Colyer 66171e0301 Modifiers need to be added in alphabetical order 2013-11-21 16:17:37 -05:00
Kevin Sawicki cdc7f70b22 Pass buffer from event to TextBuffer::removeBuffer
Previously only the last buffer would be destroyed since the buffer
from the loop variable was being used.
2013-11-21 13:04:47 -08:00
Matt Colyer e225dbe93d Merge pull request #1130 from atom/meta-to-command
Use `cmd` instead of `meta`
2013-11-21 12:41:31 -08:00
Kevin Sawicki 7dc18765ad Call serializeForPersistence instead of serialize 2013-11-21 11:29:05 -08:00
Matt Colyer c1d379fd6c Update packages for updated keymaps 2013-11-21 14:07:38 -05:00
Matt Colyer a754ac4da0 Revert "Alias meta to cmd in keymaps"
This reverts commit f0aa408b70.
2013-11-21 13:08:12 -05:00
Kevin Sawicki 21560df2f0 Add platform class to selectors array 2013-11-21 09:19:33 -08:00
Matt Colyer f0aa408b70 Alias meta to cmd in keymaps 2013-11-21 10:38:13 -05:00
Matt Colyer 161c9a62b5 Merge branch 'master' into meta-to-command
Conflicts:
	spec/keymap-spec.coffee
2013-11-21 09:59:49 -05:00
Nathan Sobo 2c5bbcbc22 Merge branch 'ns-fix-telepath' 2013-11-20 22:08:00 -07:00
Nathan Sobo eee72f7664 Drop back to telepath 0.38.0 until I figure out what's going on 2013-11-20 21:59:52 -07:00
Nathan Sobo 073d398e6f Upgrade telepath to 0.43.0 so we don't serialize orphans 2013-11-20 21:18:08 -07:00
Kevin Sawicki 2310e263a7 Upgrade to tabs@0.11.0 refs #1143 2013-11-20 19:30:50 -08:00
Kevin Sawicki de7b212d99 Change cancel to off for consistency with emissary 2013-11-20 19:07:56 -08:00
Kevin Sawicki 75873ef6b3 Upgrade apm for develop command running install 2013-11-20 18:58:44 -08:00
Kevin Sawicki 73855a49fc Merge pull request #1142 from atom/ks-remove-fs-shims
Remove fs-plus shims
2013-11-20 18:26:09 -08:00
Kevin Sawicki cae055fd3f Upgrade to tree-view@0.37.0 2013-11-20 18:21:09 -08:00
Kevin Sawicki 2aad31c4dc Upgrade to find-and-replace@0.47.0 2013-11-20 18:08:46 -08:00
Kevin Sawicki 93052ad611 Upgrade to fuzzy-finder@0.24.0 2013-11-20 18:06:31 -08:00
Kevin Sawicki 67733b8b05 Upgrade to git-diff@0.16.0 2013-11-20 18:04:07 -08:00
Kevin Sawicki 21543569ef Upgrade to package-generator@0.21.0 2013-11-20 18:01:42 -08:00
Kevin Sawicki 7371ebbf20 Upgrade to status-bar@0.22.0 2013-11-20 18:00:05 -08:00
Kevin Sawicki 73470cc294 Upgrade to symbols-view@0.23.0 2013-11-20 17:58:00 -08:00
Kevin Sawicki 1e60b5fa3b Upgrade to archive-view@0.14.0 2013-11-20 17:56:45 -08:00
Kevin Sawicki 172ecbd897 Upgrade to tree-view@0.36.0 2013-11-20 17:54:35 -08:00
Kevin Sawicki 289cc24b56 Remove fs shims 2013-11-20 17:48:10 -08:00
Kevin Sawicki a20483ccdb Merge pull request #1140 from atom/ks-remove-project-root-view-globals
Remove project/rootView globals
2013-11-20 17:34:44 -08:00
Kevin Sawicki b2ceaf3b8b Upgrade packages for missing atom prefix fixes 2013-11-20 17:29:01 -08:00
Kevin Sawicki 1c3c508985 Upgrade apm for new package templates 2013-11-20 17:23:48 -08:00
Kevin Sawicki 645f4ad907 📝 Add atom prefix package example 2013-11-20 17:23:48 -08:00
Kevin Sawicki 05dd6f8f17 Upgrade to fuzzy-finder@0.23.0 2013-11-20 17:23:48 -08:00
Kevin Sawicki b19390b519 Add missing atom prefix to rootView and project 2013-11-20 17:23:48 -08:00
Kevin Sawicki a3f339e0c3 Correct order of refresh steps 2013-11-20 17:23:48 -08:00
Kevin Sawicki 42040e14b3 Add atom prefix to rootView and project 2013-11-20 17:23:48 -08:00
Kevin Sawicki 91640f0886 Add atom prefix to project references 2013-11-20 17:23:47 -08:00
Kevin Sawicki 0377d64788 Assign to atom.project instead of window.project 2013-11-20 17:23:47 -08:00
Kevin Sawicki cd37caae96 Add atom prefix to rootView 2013-11-20 17:23:47 -08:00
Kevin Sawicki aab63c26e7 Add atom prefix to project 2013-11-20 17:23:47 -08:00
Kevin Sawicki 6da6101a52 Upgrade packages for project/rootView global fixes 2013-11-20 17:23:47 -08:00
Kevin Sawicki 87b33648dc Use project passed in via options hash 2013-11-20 17:23:47 -08:00
Kevin Sawicki d0b380e535 Add atom prefix to rootView and project references 2013-11-20 17:23:47 -08:00
Kevin Sawicki 99480901e2 Add missing atom prefix 2013-11-20 17:23:47 -08:00
Kevin Sawicki 6852720408 Add atom prefix to project references 2013-11-20 17:23:47 -08:00
Kevin Sawicki f9498732a5 Add atom prefix to rootView 2013-11-20 17:23:47 -08:00
Kevin Sawicki e4aa82fda1 Remove window.rootView shims 2013-11-20 17:23:47 -08:00
Kevin Sawicki bc1a743b2f Remove project and rootView from window 2013-11-20 17:23:47 -08:00
Ben Ogle 3fe22aa5c8 Set font sizes 2013-11-20 17:11:50 -08:00
Ben Ogle fe035d4d7c Merge pull request #1141 from atom/bo-jquery-extensions
Add setTooltip jquery function
2013-11-20 17:11:21 -08:00
Ben Ogle e8bfb7ca09 Fix up things for kevin 2013-11-20 17:10:57 -08:00
Ben Ogle 4bfd48b983 Add setTooltip jquery function 2013-11-20 16:55:50 -08:00
Nathan Sobo 5a1fadf7ce Merge branch 'ns-telepath-references' 2013-11-20 17:12:06 -07:00
Ben Ogle 819ac9ea68 Add keyBindingsForCommandMatchingElement to keymap 2013-11-20 15:43:02 -08:00
Nathan Sobo 6384841134 Upgrade to telepath 0.42.0 for references 2013-11-20 16:23:04 -07:00
Paul Betts a0fbec29c3 Merge pull request #1137 from atom/windows-fonts
Set up Windows font fallbacks
2013-11-20 15:14:21 -08:00
Ben Ogle 238fca2004 upgrade status-bar and grammar-selector
Use the status bar api in grammar-selector
2013-11-20 14:52:19 -08:00
Kevin Sawicki 014beda455 Merge pull request #1138 from atom/ks-remove-deserializer-shims
Remove deserializer shims
2013-11-20 14:51:03 -08:00
Kevin Sawicki 777df644ce Upgrade to markdown-preview@0.18.0 2013-11-20 14:40:04 -08:00
Kevin Sawicki f3ea3a3395 Add missing atom.deserializers prefix 2013-11-20 14:33:55 -08:00
Kevin Sawicki b82fdace61 Add missing atom.deserializers prefix 2013-11-20 14:26:56 -08:00
Kevin Sawicki 7195102a04 Upgrade to find-and-replace@0.45.0 2013-11-20 14:19:47 -08:00
Kevin Sawicki 5ec6a4a189 Use atom.deserializers directly 2013-11-20 14:18:38 -08:00
Kevin Sawicki e330b1a2e8 Use atom.deserializers directly 2013-11-20 14:16:38 -08:00
Kevin Sawicki 5334433bc2 Upgrade to tabs@0.10.0 2013-11-20 14:13:54 -08:00
Kevin Sawicki 366a12903a Deserialize using atom.deserializers 2013-11-20 14:13:13 -08:00
Kevin Sawicki 063cb04fb5 Upgrade to styleguide@0.11.0 2013-11-20 14:10:00 -08:00
Kevin Sawicki d9c2f07fbe Use atom.deserializers directly 2013-11-20 14:09:44 -08:00
Kevin Sawicki 5c1fa8e53d Upgrade to terminal@0.18.0 2013-11-20 14:07:08 -08:00
Kevin Sawicki a1f3540cb4 Call deserialize on deserializers ivar 2013-11-20 14:00:51 -08:00
Kevin Sawicki 2eeb399cf1 Remove deserializer shims on window 2013-11-20 13:51:12 -08:00
Kevin Sawicki 71e8e865f2 Merge pull request #1131 from atom/ks-remove-shims
Remove shims
2013-11-20 13:42:11 -08:00
Paul Betts 9f080be6e1 Add Courier New as a last-chance fallback 2013-11-20 13:21:30 -08:00
Kevin Sawicki 56f66f8578 Upgrade to release-notes@0.12.0 2013-11-20 12:49:16 -08:00
Kevin Sawicki 0b1dc704ea Upgrade to tabs@0.9.0 2013-11-20 12:49:16 -08:00
Kevin Sawicki 578d823118 Upgrade to find-and-replace@0.44.0 2013-11-20 12:49:16 -08:00
Kevin Sawicki 0196f2a2eb Upgrade to dev-live-reload@0.16.0 2013-11-20 12:49:16 -08:00
Kevin Sawicki 1e68a7266f Add atom prefix to keymap global 2013-11-20 12:49:16 -08:00
Kevin Sawicki 093143f7a9 Upgrade to symbols-view@0.21.0 2013-11-20 12:49:16 -08:00
Kevin Sawicki 4eeef9cfbd Upgrade packages for shim removal fixes 2013-11-20 12:49:15 -08:00
Kevin Sawicki ce3ec75c55 Remove remaining package manager shims 2013-11-20 12:49:15 -08:00
Kevin Sawicki bb09de9703 Upgrade to wrap-guide@0.6.0 for spec fixes 2013-11-20 12:48:50 -08:00
Kevin Sawicki e64ba18fe3 Upgrade to visual-bell@0.4.0 for atom global fixes 2013-11-20 12:48:50 -08:00
Kevin Sawicki 3908f81fc6 Upgrade to spell-check@0.14.0 for spec fixes 2013-11-20 12:48:06 -08:00
Kevin Sawicki fac46a295c Add shim for rootView on either atom or window 2013-11-20 12:48:06 -08:00
Kevin Sawicki b01470a738 Upgrade to settings-view@0.44.0 for config fixes 2013-11-20 12:48:06 -08:00
Kevin Sawicki f3be613662 Add atom prefix to config global 2013-11-20 12:48:06 -08:00
Kevin Sawicki ede29d99c1 Access package manager via atom.packages 2013-11-20 12:48:05 -08:00
Kevin Sawicki d2369e94c8 Add atom prefix to config reference 2013-11-20 12:48:05 -08:00
Kevin Sawicki dbe3399016 Upgrade to autoflow@0.6.0 for global fixes 2013-11-20 12:48:05 -08:00
Kevin Sawicki 3952423d99 Access package manager methods on atom.packages 2013-11-20 12:48:05 -08:00
Kevin Sawicki ffdcecc0f2 Remove unused package manager shims on atom 2013-11-20 12:48:05 -08:00
Kevin Sawicki 0069eb4d0d Remove atom.isPackageActive shim 2013-11-20 12:48:05 -08:00
Kevin Sawicki 5fa55026d5 Call loadPackage on atom.packages 2013-11-20 12:48:05 -08:00
Kevin Sawicki 6d04d57e74 Remove atom.loadPackage shim 2013-11-20 12:48:05 -08:00
Kevin Sawicki 3f0dca5a40 Remove unused package managers shims 2013-11-20 12:48:05 -08:00
Kevin Sawicki 8b14a66e2c Upgrade to settings-view@0.43.0 2013-11-20 12:48:05 -08:00
Kevin Sawicki 1607411df1 Upgrade to timecop@0.10.0 2013-11-20 12:48:05 -08:00
Kevin Sawicki dade9f6309 Upgrade to metrics@0.12.0 2013-11-20 12:48:05 -08:00
Kevin Sawicki 568aa1d396 Remove some package manager shims on atom global 2013-11-20 12:48:05 -08:00
Kevin Sawicki 9febe179fa Remove unused deserializer shims 2013-11-20 12:48:04 -08:00
Kevin Sawicki c9e68ab044 Remove window.config shim from spec helper 2013-11-20 12:48:04 -08:00
Kevin Sawicki 285186567a Upgrade to status-bar@0.18.0 for syntax global fixes 2013-11-20 12:48:04 -08:00
Kevin Sawicki 1c136f16e3 Upgrade to keybind-resolve@0.4.0 for rootView fix 2013-11-20 12:48:04 -08:00
Kevin Sawicki 534a2d4565 Upgrade to markdown-preview@0.17.0 for atom prefix on globals 2013-11-20 12:48:04 -08:00
Kevin Sawicki 9e814de969 Remove window.config shim 2013-11-20 12:48:04 -08:00
Kevin Sawicki 7202ba274a Upgrade to status-bar@0.17.0 for atom.syntax usage 2013-11-20 12:48:04 -08:00
Kevin Sawicki 46e85fac87 Remove window.syntax shim 2013-11-20 12:48:04 -08:00
Kevin Sawicki d1f1b494cf Remove window.keymap shim 2013-11-20 12:48:04 -08:00
Kevin Sawicki f11803df60 Remove window.site shim 2013-11-20 12:48:04 -08:00
Paul Betts f094a86ae7 Initial hack of proper Windows fonts 2013-11-20 12:47:32 -08:00
Ben Ogle a6c791ce39 Upgrade to tree-view@0.34.0 2013-11-20 11:40:08 -08:00
Matt Colyer dfa870f514 Merge branch 'master' into meta-to-command
Conflicts:
	keymaps/win32.cson
2013-11-20 10:19:12 -08:00
Corey Johnson a98377b899 Merge pull request #1132 from atom/cj-editor-rename
Editor & EditSession rename
2013-11-20 10:11:09 -08:00
probablycorey c3de3d8eea Update documentation 2013-11-20 10:04:28 -08:00
probablycorey 2d15f5e49a Remove pathForRepositoryUrl from atom exports 2013-11-20 10:03:06 -08:00
Matt Colyer 56386cb06a Upgrade atom-shell@0.6.11 2013-11-20 08:48:03 -08:00
Ben Ogle 986a7ad5c3 Merge pull request #1135 from atom/workspace-class
Use `.workspace` rather than `body` for keybindings
2013-11-19 18:50:43 -08:00
Kevin Sawicki 9a01b5a6bf Use Date.now() 2013-11-19 17:15:25 -08:00
Matt Colyer ccafda6f7f Keep .platform-<platform> rather than .workspace-<platform> 2013-11-19 17:03:16 -08:00
Matt Colyer 33538a5ed7 Use .workspace rather than body for keybindings 2013-11-19 16:57:10 -08:00
Ben Ogle aae85cd7c1 Upgrade to find-and-replace@0.43.0 2013-11-19 16:56:32 -08:00
Matt Colyer ce098e587f Reduce specificity of platform keybindings 2013-11-19 16:46:46 -08:00
Kevin Sawicki 233d819e04 Add atom prefix to syntax global 2013-11-19 16:37:50 -08:00
Kevin Sawicki fbbf3d177a Upgrade to whitespace@0.9.0 2013-11-19 16:33:46 -08:00
probablycorey c33bd34996 Add reverse compatability for Editor creation 2013-11-19 16:22:29 -08:00
probablycorey 34cdb23d71 Remove file
I didn't mean to check this file in.
2013-11-19 15:57:41 -08:00
probablycorey fcedcd117d Merge remote-tracking branch 'origin/master' into cj-editor-rename 2013-11-19 15:55:20 -08:00
Matt Colyer 3d7de21d6c Replicate command keybindings on windows 2013-11-19 15:53:43 -08:00
Matt Colyer 2278ee742a Merge remote-tracking branch 'origin/master' into meta-to-command 2013-11-19 15:35:31 -08:00
Matt Colyer 55e90f8ae1 Use cmd instead of command 2013-11-19 15:29:37 -08:00
probablycorey 2ca738453b Update benchmarks 2013-11-19 15:24:50 -08:00
probablycorey 31a9bb83cf Replace editSession variables with editor 2013-11-19 15:22:47 -08:00
Matt Colyer 1e4504e7f3 Use command instead of meta 2013-11-19 15:16:55 -08:00
probablycorey bf05ddb958 🔫
I screwed up a rebase, this nasty commit is the result.
2013-11-19 15:15:12 -08:00
probablycorey 756c2be64a Replace editor instance variables with editorView 2013-11-19 14:57:35 -08:00
probablycorey 6fdd4f775b Rename TextEditor and TextEditorView to Editor and EditorView 2013-11-19 14:57:35 -08:00
probablycorey 625fcaffc8 Update TextEditor specs 2013-11-19 14:57:31 -08:00
probablycorey 955d379e0e Rename EditSession to TextEditor 2013-11-19 14:56:09 -08:00
Kevin Sawicki 0d71f20073 Upgrade to gists@0.8.0 for pasteboard fix 2013-11-19 14:43:28 -08:00
Kevin Sawicki 42c40e8c7a Upgrade to to-the-hubs@0.11.0 for pasteboard fix 2013-11-19 14:39:44 -08:00
probablycorey 89212e599f Update requires 2013-11-19 14:34:26 -08:00
probablycorey 95e4ac903c Use Range literals 2013-11-19 14:34:26 -08:00
probablycorey 311155ac0d Rename editor-spec to text-editor-view-spec 2013-11-19 14:34:26 -08:00
probablycorey aaa82e23da Rename Editor to TextEditorView 2013-11-19 14:34:20 -08:00
Kevin Sawicki 8e46bc5241 Add shim for atom.rootView vs. window.rootView 2013-11-19 14:15:47 -08:00
Matt Colyer 37a5a6f501 Merge pull request #1117 from atom/platform-keybindings
Platform keybindings
2013-11-19 14:10:53 -08:00
Kevin Sawicki 83f14c137c Remove window.pasteboard shim 2013-11-19 14:03:44 -08:00
Matt Colyer b0b458b1f6 Review remaining global bindings 2013-11-19 13:53:10 -08:00
Kevin Sawicki f4de124aa6 Add atom prefix to rootView reference 2013-11-19 13:34:01 -08:00
Kevin Sawicki 4b0eaf05a5 Remove Emitter::trigger shim 2013-11-19 13:24:29 -08:00
Kevin Sawicki 03e8bc6f19 Remove Emitter::one shim 2013-11-19 12:58:56 -08:00
Kevin Sawicki 13186fcf7a Remove Emitter::subscriptionCount shim 2013-11-19 12:55:18 -08:00
Kevin Sawicki fea0f1f90a 📝 atom.project instead of global.project 2013-11-19 12:30:05 -08:00
Matt Colyer b449bb4444 Fix update-atom-shell task when using the keychain 2013-11-19 12:21:12 -08:00
Matt Colyer fe6b40fc5d Merge branch 'master' into platform-keybindings 2013-11-19 11:58:48 -08:00
Matt Colyer 82e3935ae3 Guard against undefined labels 2013-11-19 11:57:59 -08:00
Matt Colyer 32a3b6302c Use document.body to be concise 2013-11-19 11:21:50 -08:00
Matt Colyer 6157fcaf73 Merge branch 'master' into platform-keybindings 2013-11-19 11:11:32 -08:00
Matt Colyer ab74d8be38 Merge pull request #1115 from atom/refine-paste-normalization
Don't normalize indents on paste if there are preceding characters, fixes #1112
2013-11-19 10:54:44 -08:00
Kevin Sawicki 886a2aa867 Remove pathForRepositoryUrl from exports 2013-11-19 10:26:33 -08:00
Kevin Sawicki aeaa76a9e1 Remove Site from exports 2013-11-19 10:25:42 -08:00
Kevin Sawicki 6a7bcb6f52 Prepare next release 2013-11-19 09:31:13 -08:00
Kevin Sawicki ee1ec4670d Listen for destroyed events on deserialized buffers 2013-11-19 09:08:24 -08:00
Kevin Sawicki 7e0af4c575 Prepare next release 2013-11-18 18:49:23 -08:00
Kevin Sawicki f55a200591 Return emissary subscription directly 2013-11-18 18:41:43 -08:00
Kevin Sawicki 89d8eac091 Remove console.log statement 2013-11-18 16:09:25 -08:00
probablycorey 5011b6e78f Remove atom argument from activate 2013-11-18 15:50:36 -08:00
probablycorey d6e67c5b32 Update find-and-replace 2013-11-18 15:10:13 -08:00
Ben Ogle de547e20c2 Oops 2013-11-18 15:07:49 -08:00
Ben Ogle 2b79b19330 Upgrade ui themes and style guide to style progress bars 2013-11-18 15:05:52 -08:00
Matt Colyer 2b234545b5 Merge pull request #1116 from atom/windows-menus
Make Windows menus more Native(tm), fixes #1085
2013-11-18 11:08:04 -08:00
Kevin Sawicki a66543048b Include buffer in emitted events 2013-11-18 10:06:14 -08:00
Kevin Sawicki ca96aa2804 📝 doc what DisplayBuffer::getGrammar returns 2013-11-18 09:30:56 -08:00
Kevin Sawicki 316571308a Remove unused ws dependency 2013-11-15 15:34:52 -08:00
Matt Colyer b323d9ce18 Rename hasNoPrecedingCharacters => hasPrecedingCharactersOnLine 2013-11-15 15:32:24 -08:00
Corey Johnson 0e1c757cd0 Merge pull request #1119 from atom/cj-keymap-cleanup
Keymap cleanup
2013-11-15 14:42:20 -08:00
probablycorey 084bbb1578 Use skinny arrow 2013-11-15 14:35:02 -08:00
probablycorey 7c348ee478 Update packages 2013-11-15 14:25:48 -08:00
probablycorey a0c6a94409 Added documentation for Keymap's public classes 2013-11-15 14:23:52 -08:00
probablycorey 80cdf61fa4 Update remove spec 2013-11-15 14:09:24 -08:00
probablycorey 29c3fadb6f Move public methods to top of file 2013-11-15 14:07:01 -08:00
probablycorey 1ae3806c69 Use source instead of name 2013-11-15 14:06:03 -08:00
probablycorey 98b509441c Move methods into KeyBinding class 2013-11-15 14:05:35 -08:00
probablycorey 02f40688e2 Merge remote-tracking branch 'origin/master' into cj-keymap-cleanup 2013-11-15 13:53:42 -08:00
probablycorey cb8e378af6 Use keyBinding in place of binding in method names 2013-11-15 13:49:17 -08:00
Kevin Sawicki babc4732b8 Merge pull request #1111 from atom/ks-extend-model
Extend telepath.Model
2013-11-15 13:43:23 -08:00
probablycorey dcccde8f3f Clone default keybindings in specs 2013-11-15 13:32:31 -08:00
probablycorey 8ed4923e58 Replace binding-set with key-binding 2013-11-15 13:32:09 -08:00
probablycorey 529c829438 💄 2013-11-15 11:54:18 -08:00
probablycorey 809a02ca10 Clone keyBindings by default 2013-11-15 11:54:09 -08:00
probablycorey b9902cb6f2 Add specs 2013-11-15 11:50:55 -08:00
Kevin Sawicki de4d3dbbe9 Create new project when state doesn't return a Project 2013-11-15 11:37:25 -08:00
Kevin Sawicki 3fe88c4df1 💄 Add period to comment 2013-11-15 11:17:35 -08:00
Kevin Sawicki 20811a9f52 📝 Mention which methods are telepath hooks 2013-11-15 11:17:35 -08:00
Kevin Sawicki b137f1a3e3 Upgrade to emissary@0.17.0 2013-11-15 11:17:35 -08:00
Kevin Sawicki 0b12f01206 Use Project::bufferForPathSync instead of buildBufferSync 2013-11-15 11:17:35 -08:00
Kevin Sawicki 1d7b4c5f9a Updating places still using Buffer instead of TextBuffer 2013-11-15 11:17:35 -08:00
Kevin Sawicki e2d4b58d5f Remove unused Range 2013-11-15 11:17:35 -08:00
Kevin Sawicki 1c8df2c0b5 💄 Organize imports in TextBuffer 2013-11-15 11:17:35 -08:00
Kevin Sawicki 9067c65a41 Use Atom::replicate to test serialization 2013-11-15 11:17:35 -08:00
Kevin Sawicki 1d4f2fba8b Use id provide by telepath.Model 2013-11-15 11:17:34 -08:00
Kevin Sawicki 12dd412439 Restore relative path as uri of TextBuffer 2013-11-15 11:17:34 -08:00
Kevin Sawicki 19d680544b Use Atom::replicate to obtain second project 2013-11-15 11:17:34 -08:00
Kevin Sawicki a45dd3fe37 Register deepest model classes first 2013-11-15 11:17:34 -08:00
Kevin Sawicki f6c8a435ae Upgrade to telepath@0.37.0 2013-11-15 11:17:34 -08:00
Kevin Sawicki 93bfe0edf6 Store path when set in project 2013-11-15 11:17:34 -08:00
Kevin Sawicki d3fed57cb3 Only serialize project state for persistence 2013-11-15 11:17:34 -08:00
Kevin Sawicki 8372adb38a Remove spec for removed TextBuffer::getRelativePath 2013-11-15 11:17:34 -08:00
Kevin Sawicki e4b3d3a83c Call getValues() when iterating over buffers 2013-11-15 11:17:34 -08:00
Kevin Sawicki 11f1ef9d8b Destroy unretained buffers in beforePersistence 2013-11-15 11:17:34 -08:00
Kevin Sawicki 7d87ae00ff Use Atom::replicate for second project 2013-11-15 11:17:34 -08:00
Kevin Sawicki 3ec2378242 Access project from atom global 2013-11-15 11:17:34 -08:00
Kevin Sawicki 28943a35da Use getWindowState instead of referencing window state directly 2013-11-15 11:17:34 -08:00
Kevin Sawicki 7b43c8a860 Use Atom::replicate in git spec to simulate project serialization 2013-11-15 11:17:33 -08:00
Kevin Sawicki 8b17b7eca9 Remove unused repoUrl property 2013-11-15 11:17:33 -08:00
Kevin Sawicki 6432cda691 Upgrade to telepath@0.35.0 2013-11-15 11:17:33 -08:00
Kevin Sawicki cf0bdb9c94 Remove unused property 2013-11-15 11:17:33 -08:00
Kevin Sawicki 34f1472653 Use getValues() when iterating over buffers 2013-11-15 11:17:33 -08:00
Kevin Sawicki a475e27cd4 Call createAsRoot for mini editor's buffer 2013-11-15 11:17:33 -08:00
Kevin Sawicki abc1f23516 Remove unused relative path from Editor/EditSession/TextBuffer 2013-11-15 11:17:33 -08:00
Kevin Sawicki dc7e7f9ed0 Listen for buffer destroyed in Project 2013-11-15 11:17:33 -08:00
Kevin Sawicki 5fdec4dc7b Move checkoutHead implementation to Editor 2013-11-15 11:17:33 -08:00
Kevin Sawicki 618d281d6c Restore buffer.release() call to previously location 2013-11-15 11:17:33 -08:00
Kevin Sawicki 055ec8cb9c Implement beforePersistence in TextBuffer 2013-11-15 11:17:33 -08:00
Kevin Sawicki df3fe90c89 Upgrade to telepath@0.33.0 2013-11-15 11:17:33 -08:00
Kevin Sawicki 21e0e95a7a Add model property for disk contents digest 2013-11-15 11:17:33 -08:00
Kevin Sawicki 6caed6e918 Add model property for relative path 2013-11-15 11:17:32 -08:00
Kevin Sawicki 7dd84636ba Use Project::addBuffer instead of window.deserialize 2013-11-15 11:17:32 -08:00
Kevin Sawicki b12954760d Use Project::addBuffer instead of ::openSync 2013-11-15 11:17:32 -08:00
Kevin Sawicki 4bb21fd9ec Use project.addBuffer instead of window.deserialize 2013-11-15 11:17:32 -08:00
Kevin Sawicki 11787e5a5d Return added buffer from Project::addBufferAtIndex 2013-11-15 11:17:32 -08:00
Kevin Sawicki 276e63611a Register buffer with project 2013-11-15 11:17:32 -08:00
Kevin Sawicki 957374eb40 Call telepath.Array::getValues() during clone 2013-11-15 11:17:32 -08:00
Kevin Sawicki fe9f1373c1 Cancel stopped changing timeout when destroyed 2013-11-15 11:17:32 -08:00
Kevin Sawicki 6290c19264 Set up spec Project as telepath model 2013-11-15 11:17:32 -08:00
Kevin Sawicki 913bb82d6e Remove debug logging 2013-11-15 11:17:32 -08:00
Kevin Sawicki ffc936ca4d Use telepath.Document::registerModelClasses 2013-11-15 11:17:32 -08:00
Kevin Sawicki 1808e5f991 Initial 🔪 at extending telepath.Model in Project/TextBuffer 2013-11-15 11:17:32 -08:00
Kevin Sawicki 62feefd28d Upgrade to emissary@0.15.0 2013-11-15 11:17:31 -08:00
Kevin Sawicki ada992be4d Upgrade to telepath@0.29.0 2013-11-15 11:17:31 -08:00
Kevin Sawicki f8933cfeab Upgrade to pathwatcher@0.10.0, refs atom/tree-view#17 2013-11-15 11:14:52 -08:00
probablycorey 0878d7ab6a Update specs 2013-11-15 10:45:21 -08:00
probablycorey bd8e19bce7 Update keymap in spec-helper 2013-11-15 10:43:20 -08:00
probablycorey 4852ba6d95 Don't store binding sets, instead store a keyBinding array 2013-11-15 10:21:38 -08:00
Kevin Sawicki caffcafe2e 🙉 Ignore stdout from installation of apm 2013-11-15 09:54:36 -08:00
probablycorey c7a1205ca6 Remove Editor:bindToKeyedEvent 2013-11-15 09:39:26 -08:00
probablycorey 2c4f94c319 Merge remote-tracking branch 'origin/master' into cj-keymap-cleanup 2013-11-15 09:24:45 -08:00
Corey Johnson 941fc97e79 Merge pull request #1118 from atom/cj-less-verbose-grunt
Less verbose grunt
2013-11-15 09:05:11 -08:00
probablycorey 8788b2a51c Add keybinding-resolver to default package list 2013-11-14 16:49:09 -08:00
probablycorey ca8ae9ad61 Remove bindingsForElement 2013-11-14 16:45:09 -08:00
probablycorey 2fb00af255 Rename keyMapping to keyBinding 2013-11-14 16:20:35 -08:00
Kevin Sawicki f6ce0f038f Prepare 36.0.0 release 2013-11-14 16:06:45 -08:00
probablycorey 94a8d16664 Update specs 2013-11-14 16:05:17 -08:00
probablycorey fc0a46d6b2 Add mappingsForKeystrokeMatchingElement 2013-11-14 16:05:10 -08:00
probablycorey fd443a8b68 Reorder args 2013-11-14 16:05:01 -08:00
probablycorey c43f277c5b Remove getAllKeyMappings 2013-11-14 14:46:21 -08:00
probablycorey dd0938dca6 Merge remote-tracking branch 'origin/master' into cj-keymap-cleanup 2013-11-14 14:43:37 -08:00
probablycorey e90f19da97 Rename keystrokeByCommmand to keystrokesByCommmand 2013-11-14 14:26:25 -08:00
probablycorey c3aea1d149 Remove keymap.keystrokeByCommmandForSelector 2013-11-14 14:18:54 -08:00
Paul Betts 569c3116a8 Add keyboard accelerators 2013-11-14 13:25:58 -08:00
probablycorey 8bdc1d2418 Better error messages 2013-11-14 13:10:31 -08:00
Kevin Sawicki fa1600c53d Use Atom::getConfigDirPath instead of accessing through config 2013-11-14 12:39:16 -08:00
Matt Colyer 6a1e83205f Merge branch 'master' into refine-paste-normalization 2013-11-14 11:23:45 -08:00
Matt Colyer 33891b51f2 Split keybindings by platform 2013-11-14 11:20:40 -08:00
Matt Colyer 1ef821f4e7 Add CSS class indicating platform on body 2013-11-14 11:20:34 -08:00
probablycorey ed030a54c3 Output which package failed 2013-11-14 10:54:49 -08:00
probablycorey 6bb3a69410 Only show stderr if the process fails 2013-11-14 10:54:25 -08:00
probablycorey 53f5e9fbc6 Quite some grunt.log.write 2013-11-14 10:53:19 -08:00
Matt Colyer 1dac1f375c Provide keyboard navigation for base windows menus 2013-11-14 10:39:31 -08:00
Matt Colyer cfab5c619d Use fat arrow when necessary 2013-11-14 10:39:09 -08:00
Matt Colyer b6afc415f8 Merge menu items without regard to platform decorations 2013-11-14 10:31:20 -08:00
Matt Colyer 5454e93168 Make base menus platform dependent
This fixes the most egrerious errors on Windows but there's still room
for improvement.

Refs #1085
2013-11-14 10:15:23 -08:00
probablycorey 389b2bd8d6 Remove spec suite measuring.
This may be a bit aggressive, so we can add it back if people think it
has benifits.
2013-11-14 09:03:58 -08:00
probablycorey 8ea011597c Don't log start time when running specs 2013-11-14 09:01:54 -08:00
probablycorey 21060ae85a Update public keymap interface 2013-11-14 08:33:23 -08:00
Cheng Zhao fe0cc7d273 Upgrade to node-rcedit@0.1.2 2013-11-14 10:37:29 +08:00
probablycorey f67e9b6e03 Treat all calls to grunt.log.writeln as grunt.verbose.writeln 2013-11-13 17:52:22 -08:00
Matt Colyer 64f2cdb795 💄 2013-11-13 17:35:21 -08:00
probablycorey a996597d49 Call grunt.verbose.writeln instead of grunt.log.writeln 2013-11-13 17:24:49 -08:00
Matt Colyer 52680bd63f Don't normalize indents on paste if there are preceding characters 2013-11-13 17:18:43 -08:00
Kevin Sawicki b8f0f1c683 Upgrade to symbols-view@0.19.0 2013-11-13 16:55:21 -08:00
probablycorey 0840de95dc Update settings-view 2013-11-13 16:51:13 -08:00
Kevin Sawicki fe1b2c6d9d Add rimraf used by script/cibuild as dev dependency 2013-11-13 16:25:17 -08:00
Kevin Sawicki 7b307a17ea Upgrade to metrics@0.11.0 for spec fixes 2013-11-13 16:22:45 -08:00
Kevin Sawicki 097571a83d Upgrade to bracket-matcher@0.11.0 for bug fixes 2013-11-13 16:15:20 -08:00
probablycorey 0673ce8e71 Update metrics and exception-reporting packages 2013-11-13 15:48:08 -08:00
probablycorey 967b022fa6 Add atom.getVersion 2013-11-13 15:48:08 -08:00
Matt Colyer e330b8940a Upgrade terminal@0.16.0 2013-11-13 14:44:55 -08:00
probablycorey 526e5311b9 Update exception-reporting package
Uses actor_login as an key (which octolytics requires)
2013-11-13 11:07:02 -08:00
Matt Colyer 3720f0fb8f Merge pull request #1099 from atom/win-package-specs
Get bundled package specs passing on windows, fixes #1097
2013-11-12 16:07:34 -08:00
Matt Colyer 46b108f1cc Upgrade find-and-replace@0.40.0 2013-11-12 16:01:47 -08:00
Matt Colyer aa59002922 Upgrade scandal@0.8.0 2013-11-12 15:42:31 -08:00
Matt Colyer 6af125bd33 Upgrade underscore-plus@0.3.0 2013-11-12 09:37:23 -08:00
Kevin Sawicki d5d2ae63fe Upgrade to bracket-matcher@0.10.0, refs #1110 2013-11-11 22:24:36 -08:00
Cheng Zhao 08f774e57a Merge pull request #1106 from atom/atom-shell-v0.6.10
Update to atom-shell v0.6.10
2013-11-11 19:43:40 -08:00
Matt Colyer 513a964732 Upgrade tree-view@0.30.0 2013-11-11 16:13:18 -08:00
probablycorey 8f9f5ed0ed Update specs 2013-11-11 15:46:17 -08:00
Matt Colyer 001fe5931e Merge branch 'master' into win-package-specs
Conflicts:
	package.json
2013-11-11 14:22:31 -08:00
Matt Colyer c7541f89da Upgrade tree-view@0.29.0 2013-11-11 14:20:41 -08:00
Matt Colyer cb0f3ce2ec Fix path affixing in git.coffee 2013-11-11 14:13:35 -08:00
probablycorey d71e58ec33 Use keystroke even when referring to multiKeystrokes
The use of keystroke and keystrokes was becoming confusing. When I 
started thinking of a keystroke as a set of keys that trigger a
command it became easier to think about.
2013-11-11 14:05:48 -08:00
Kevin Sawicki 5aacccb03b Uppercase that h 2013-11-11 13:18:53 -08:00
Kevin Sawicki 8f63e40ba0 Default packageDependencies outside of try block 2013-11-11 13:05:45 -08:00
Kevin Sawicki 6c09a42545 Call getPackageDependencies from getAvailablePackagePaths 2013-11-11 13:04:04 -08:00
Kevin Sawicki 1cb1387abd Merge pull request #1107 from atom/ks-editor-scroll
Fix editor occasionally going blank
2013-11-11 12:48:08 -08:00
Kevin Sawicki fe426000d0 Bring hidden input into view on focus
Closes #1104
2013-11-11 12:20:30 -08:00
Kevin Sawicki 3617a61ea2 Merge pull request #970 from atom/ks-extract-config
Remove paths from config
2013-11-11 12:18:28 -08:00
Kevin Sawicki c7b5753814 Upgrade to package-generator@0.19.0 2013-11-11 12:09:47 -08:00
Kevin Sawicki 4ce23e4b51 Upgrade to settings-view@0.38.0 2013-11-11 12:08:52 -08:00
Kevin Sawicki c8aeb8ec2d Add PackageManager::isBundledPackage 2013-11-11 12:01:44 -08:00
Kevin Sawicki 0d75bcae48 Add PackageManager::getPackageDirPaths 2013-11-11 11:53:25 -08:00
Kevin Sawicki 81c56ca4f1 Set configDirPath on ThemeManager in specs 2013-11-11 11:47:24 -08:00
Kevin Sawicki fb02917adf Set defaults after spying on save 2013-11-11 11:43:42 -08:00
probablycorey 8c8f1bc048 Make keymap changes backwards compatible 2013-11-11 11:42:11 -08:00
probablycorey 94bc4ce737 Update clear-cut 2013-11-11 11:42:10 -08:00
probablycorey 9914085ead Simplify keymap selector matching 2013-11-11 11:42:10 -08:00
Kevin Sawicki b801c3ce56 Set core/editor config defaults in spec helper 2013-11-11 11:04:24 -08:00
Kevin Sawicki e31dbfd7d6 Store resourcePath as ivar 2013-11-11 10:40:50 -08:00
Kevin Sawicki d4b5303983 Remove remaining package paths from Config class 2013-11-11 10:33:09 -08:00
Kevin Sawicki ad0d0473b3 Add missing paren 2013-11-11 10:33:09 -08:00
Kevin Sawicki 0db23c3e96 🔥 config.bundledMenusDirPath 2013-11-11 10:33:09 -08:00
Kevin Sawicki 0b78450917 🔥 config.bundledKeymapsDirPath 2013-11-11 10:33:09 -08:00
Kevin Sawicki 4b15b98bdd Set RootView/Editor config defaults from startEditorWindow 2013-11-11 10:32:52 -08:00
Kevin Sawicki 572157124e Move storage dir path to Atom 2013-11-11 10:32:17 -08:00
Kevin Sawicki d0e1d32ae9 Use resource path from load settings 2013-11-11 10:32:01 -08:00
Kevin Sawicki 33cb42a3f7 Merge pull request #997 from atom/ks-remove-some-shims
Don't use shims in core
2013-11-11 10:19:19 -08:00
Kevin Sawicki 055109a708 Remove incorrect atom. prefix from filename 2013-11-11 09:57:10 -08:00
Kevin Sawicki 3539288a1e Remove incorrect atom. prefix 2013-11-11 09:29:29 -08:00
Kevin Sawicki 88d80918a7 Use local resource path variable 2013-11-11 09:26:50 -08:00
Kevin Sawicki 0897007662 Remove unneeded @ 2013-11-11 09:26:43 -08:00
Kevin Sawicki 1c4e38c867 Set paths before creating cache 2013-11-11 09:24:14 -08:00
Kevin Sawicki 78617e31bc 💉 resource path into LessCompileCache 2013-11-11 09:20:48 -08:00
Kevin Sawicki a377a49004 Use atom.config instead of window.config 2013-11-11 09:16:44 -08:00
Kevin Sawicki 5756ec45ba Add Config::toggle 2013-11-11 09:06:33 -08:00
Kevin Sawicki 23c8db09b7 💉 paths into Keymap constructor 2013-11-11 09:05:39 -08:00
Kevin Sawicki 9f8a8139e0 Use atom.syntax instead of window.syntax 2013-11-11 08:53:52 -08:00
Kevin Sawicki d793d114d4 Use atom.site instead of window.site 2013-11-11 08:44:26 -08:00
Kevin Sawicki 9b3edc89a6 Use atom.keymap in specs 2013-11-11 08:43:14 -08:00
Kevin Sawicki 58b2a4f98e Use atom.keymap in Editor 2013-11-11 08:43:14 -08:00
Kevin Sawicki f356190b42 Use atom.pasteboard instead of window.pasteboard 2013-11-11 08:43:14 -08:00
Kevin Sawicki 08a81b61a3 Remove atom.packageStates shims 2013-11-11 08:43:14 -08:00
Kevin Sawicki bff47e10f4 Remove dimension shims on window 2013-11-11 08:43:14 -08:00
Cheng Zhao 6dbe86b063 💄 Use @constructor to refer to class name. 2013-11-12 00:42:23 +08:00
Cheng Zhao 21edc61384 Ship PNG format of icon for all platforms. 2013-11-11 21:29:47 +08:00
Cheng Zhao ef0022f4da Set window icon. 2013-11-11 21:27:31 +08:00
Cheng Zhao cbee5efee6 Ship PNG format of icon under windows. 2013-11-11 21:11:32 +08:00
Cheng Zhao 55da08c69e Update to atom-shell v0.6.10. 2013-11-11 20:58:56 +08:00
Kevin Sawicki df7c3d066a Remove unneeded node prefix 2013-11-09 17:48:45 -08:00
Ben Ogle ba627c005e Upgrade to base16-tomorrow-dark-theme@0.6.0 2013-11-08 19:10:31 -08:00
Ben Ogle b3efe00757 Upgrade to find-and-replace@0.39.0 2013-11-08 16:59:45 -08:00
Ben Ogle 5f8e757f57 Merge pull request #1102 from atom/bo-add-replace
Add replace() to project and buffer
2013-11-08 16:57:38 -08:00
Matt Colyer 5f6f09fc45 Upgrade to-the-hubs@0.9.0 2013-11-08 15:43:52 -08:00
Matt Colyer f9e7d64131 Upgrade fs-plus@0.9.0 2013-11-08 14:09:01 -08:00
Matt Colyer eefeb2ab2a Upgrade fs-plus@0.8.0 2013-11-08 13:49:50 -08:00
Ben Ogle ee896846bb Comments. Change up the api a tiny bit. 2013-11-08 12:25:59 -08:00
Ben Ogle ddd560b785 Add replace to project and buffer 2013-11-08 12:20:43 -08:00
Matt Colyer 59d8beb935 Upgrade spell-check@0.13.0 2013-11-08 11:52:09 -08:00
Matt Colyer c4de03d5c4 Upgrade status-bar@0.16.0 2013-11-08 11:46:56 -08:00
Matt Colyer 53f7592815 Merge branch 'win-package-specs' of github.com:github/atom into win-package-specs 2013-11-08 11:46:11 -08:00
Kevin Sawicki 86a1f43196 Upgrade to less-cache@0.10.0 for Windows fixes 2013-11-08 11:34:58 -08:00
Matt Colyer 177f3b9d53 Upgrade spell-check@0.12.0 2013-11-08 11:26:05 -08:00
Ben Ogle affcb5ff4a Use scandal 0.7.0 2013-11-08 11:08:55 -08:00
Matt Colyer a168692eea Don't relativize uris 2013-11-08 09:39:51 -08:00
Kevin Sawicki 80db09f47b Upgrade to oniguruma@0.24.0 for cross-platform consistency 2013-11-08 08:46:21 -08:00
Kevin Sawicki 1ef1f60556 Prepare 35.0.0 release 2013-11-08 08:39:35 -08:00
Kevin Sawicki 7934043646 Upgrade to autocomplete@0.12.0 for leak fix 2013-11-07 19:17:21 -08:00
Kevin Sawicki ae6b4547e1 Put building URL at bottom 2013-11-07 18:41:52 -08:00
Kevin Sawicki aaa654de39 Upgrade apm for removal of unused dependencies 2013-11-07 18:35:36 -08:00
Kevin Sawicki 1d3f33e740 Add missing vs2010 link 2013-11-07 18:23:11 -08:00
Matt Colyer 19e6c632ea Merge branch 'win-package-specs' of github.com:github/atom into win-package-specs 2013-11-07 17:07:20 -08:00
Matt Colyer 0d014c6257 Upgrade fuzzy-finder@0.20.0 2013-11-07 17:06:27 -08:00
Kevin Sawicki 445421f961 Add Windows link to building doc 2013-11-07 15:08:39 -08:00
Kevin Sawicki 778ed06272 📝 Add missing e 2013-11-07 15:04:48 -08:00
Kevin Sawicki e16481d6e0 Remove Objective-C styleguide 2013-11-07 15:00:46 -08:00
Kevin Sawicki f34af85ad3 💄 Beware 2013-11-07 14:58:30 -08:00
Matt Colyer 9118a70592 Merge pull request #1074 from atom/win-specs
Get Windows Specs running
2013-11-07 14:48:39 -08:00
Matt Colyer 43419fdef2 Normalize dom ids rather than remove 2013-11-07 14:41:58 -08:00
Matt Colyer 11f3686832 Upgrade dev-live-reload@0.15.0 2013-11-07 14:33:23 -08:00
Matt Colyer 455321c4a8 Merge branch 'win-specs' of github.com:github/atom into win-specs 2013-11-07 14:00:14 -08:00
Matt Colyer dfa5ac11a2 Merge branch 'origin/master' into win-specs 2013-11-07 13:59:43 -08:00
Kevin Sawicki 8754a0cbaf Upgrade to oniguruma@0.23.0 2013-11-07 13:42:12 -08:00
Daniel Hengeveld 6485e4f540 Merge pull request #1077 from atom/copy-docs-into-atom-io
Copy docs into atom io
2013-11-07 11:16:46 -08:00
Kevin Sawicki 4ca66a535c Merge pull request #1095 from atom/ks-solo
Use non-replicated telepath strings
2013-11-07 10:13:50 -08:00
Nathan Sobo 56c88820d6 Upgrade to telepath 0.23.0 to deal gracefully w/ outdated window state 2013-11-07 10:02:44 -08:00
Kevin Sawicki & Nathan Sobo 5d56365c26 Upgrade to telepath@0.22.0 2013-11-07 10:02:43 -08:00
Kevin Sawicki & Nathan Sobo 55c5ae926c Create telepath string with replicate: false option 2013-11-07 10:02:43 -08:00
Kevin Sawicki & Nathan Sobo ef68fd24d5 Log open exception stack to console 2013-11-07 10:02:43 -08:00
Kevin Sawicki 4497ec9733 Upgrade to language-coffee-script@0.3.0 for switch/when indent fix 2013-11-07 09:48:10 -08:00
Matt Colyer 38a3c0dbd3 Simplify regexp escaping in text-mate-grammar.coffee 2013-11-07 09:26:56 -08:00
Matt Colyer b69bc8ce71 Add a newline to the end of .gitattributes 2013-11-07 09:22:41 -08:00
Kevin Sawicki fe6cf8ec01 Merge pull request #1091 from atom/ks-autoscroll
Autoscroll on undo/redo
2013-11-07 09:17:10 -08:00
Kevin Sawicki b4f8387053 Remove unneded clearAutoscroll call 2013-11-07 09:04:41 -08:00
Kevin Sawicki 6b63f5db9e Always mark cursor needing autoscroll 2013-11-07 09:04:41 -08:00
Kevin Sawicki 291f4fbb90 Mark last cursor for autoscroll on undo/redo 2013-11-07 09:04:41 -08:00
Kevin Sawicki dba7687470 Autoscroll even when text does not change 2013-11-07 09:04:41 -08:00
Cheng Zhao e6a7678fd6 Update to atom-shell v0.6.9. 2013-11-07 18:52:12 +08:00
Ben Ogle 4b6867831a Upgrade to scandal@0.6.4 2013-11-06 17:34:42 -08:00
Matt Colyer 28d7160c3b Update specs concerning stylesheet ids 2013-11-06 17:12:47 -08:00
Cheng Zhao c4ab4364ba Merge pull request #1089 from atom/cz-win32-icon
Set version strings and icon for the exe on Windows
2013-11-06 17:07:46 -08:00
Matt Colyer 98db48eae6 Fix syntax path matching 2013-11-06 17:04:50 -08:00
Matt Colyer d6cb848503 Upgrade language-mode@0.3.0 2013-11-06 16:52:58 -08:00
Matt Colyer 3119ed9dfe Update project-spec.coffee for windows 2013-11-06 16:45:10 -08:00
Matt Colyer 3f0f3267c1 Upgrade scandal@0.6.3 2013-11-06 16:40:14 -08:00
Ben Ogle 2cc32e1faf Upgrade to atom-dark-ui@0.5.0
New tabs!!
2013-11-06 14:55:36 -08:00
Matt Colyer a8fe8ab982 Update keymap-spec.coffee paths for windows 2013-11-06 14:52:28 -08:00
Ben Ogle 4bee197e01 Upgrade to base16-tomorrow-dark-theme@0.5.0 2013-11-06 14:42:24 -08:00
Matt Colyer 01f41207d4 Update font specs for windows 2013-11-06 14:39:47 -08:00
Ben Ogle ce2e123cc8 Merge pull request #1088 from atom/bo-changes-for-themes-with-padding
Handle themes with padding on the scroll view
2013-11-06 14:38:34 -08:00
Ben Ogle 16b64b03f7 Nof 2013-11-06 14:38:01 -08:00
Ben Ogle 2adcc9709c 10 -> back to 2 2013-11-06 14:37:36 -08:00
Ben Ogle 0f1d701646 Upgrade to wrap-guide@0.5.0 2013-11-06 14:21:54 -08:00
Ben Ogle 6e049dd173 Fix tests in editor 2013-11-06 14:13:09 -08:00
Matt Colyer face4a3f76 Force Unix line endings in spec/fixtures 2013-11-06 14:11:36 -08:00
Matt Colyer 015f4f7542 Merge remote-tracking branch 'origin/master' into win-specs 2013-11-06 12:12:41 -08:00
Kevin Sawicki 9f5e913804 Update remaining selected class names to fold-selected 2013-11-06 09:55:53 -08:00
Kevin Sawicki 383a724144 Update class name to new fold-selected 2013-11-06 09:50:06 -08:00
Kevin Sawicki 90c21906a4 Add fold- prefix to selected class name
This prevents interference with the base selected class
which adds a noticeable blur to folded lines that are selected
when using dark syntax and light ui.
2013-11-06 09:49:18 -08:00
Cheng Zhao 0686efc429 Revert "Only run set-development-version on mac"
This reverts commit 9a4db9d95d.

It's supported on Windows now.
2013-11-06 22:48:50 +08:00
Cheng Zhao 2058d5a431 Add task to set exe icon. 2013-11-06 22:41:53 +08:00
Cheng Zhao 6c9f037cd9 Use node-rcedit to set development version. 2013-11-06 22:27:27 +08:00
Cheng Zhao 5033fac8eb Update to atom-shell v0.6.8. 2013-11-06 12:32:19 +08:00
Ben Ogle 0aa0dc01d5 Properly reset the size of layers on resize
Otherwise, when a theme has padding in the scroll-view, it will be 
scrollable all the time (width:100%).
2013-11-05 18:40:05 -08:00
Ben Ogle 994756f8c1 Use padding in the pixel left calculation
Now themes can specify padding in the scroll-view so the text isn't 
jammed up against the
2013-11-05 18:40:04 -08:00
Kevin Sawicki 47bab20363 Merge pull request #1087 from atom/ks-reenable-specs
Reenable edit session specs
2013-11-05 18:30:36 -08:00
Kevin Sawicki efb87237e2 Reenable undo, redo, and transaction specs 2013-11-05 18:25:37 -08:00
Kevin Sawicki 2be5790311 Set auto indent config setting in spec 2013-11-05 18:25:36 -08:00
Kevin Sawicki 60fa937ed7 Add asserts for undoing an insertNewlineAbove 2013-11-05 18:25:36 -08:00
Kevin Sawicki 867a6ecd95 Reenable insertNewlineBelow() specs 2013-11-05 18:25:36 -08:00
Kevin Sawicki 36c9d68009 Update to telepath@0.21.0 2013-11-05 18:25:36 -08:00
Ben Ogle 4dda2f93ae Upgrade to base16-tomorrow-dark-theme@0.4.0 2013-11-05 17:48:22 -08:00
Matt Colyer fcdc341981 Merge branch 'win-specs' of https://github.com/atom/atom into win-specs 2013-11-05 17:36:24 -08:00
Matt Colyer 5b187e7a8c Upgrade jasmine-tagged@0.2.0 2013-11-05 17:35:44 -08:00
Ben Ogle 740085e561 Upgrade base16-tomorrow-dark-theme@0.3.0 2013-11-05 17:34:00 -08:00
Ben Ogle 5a2730c8c0 Upgrade to solarized-dark-syntax@0.4.0 2013-11-05 17:23:45 -08:00
Ben Ogle 08ee9c08b7 Upgrade to atom-light-syntax@0.6.0 2013-11-05 17:08:17 -08:00
Ben Ogle 103f602c9c Upgrade dev-live-reload@0.14.0 2013-11-05 17:02:35 -08:00
Matt Colyer fb6b8029be Run bundled and user specs 2013-11-05 16:58:42 -08:00
Matt Colyer edc789173b Don't install commands on windows 2013-11-05 16:44:03 -08:00
Matt Colyer 7ba4782ceb Don't focus atom-spec.coffee 2013-11-05 16:37:54 -08:00
Matt Colyer 9863386644 Update Directory specs for platform specific issues 2013-11-05 16:36:51 -08:00
Matt Colyer 1fe6a2974d Merge branch 'win-specs' of https://github.com/atom/atom into win-specs 2013-11-05 15:46:34 -08:00
Matt Colyer 6bd7dd8841 Add jasmine-tagged, for filtering platform specs 2013-11-05 15:44:38 -08:00
Ben Ogle 3db786953c Upgrade to atom-dark-syntax@0.6.0 2013-11-05 15:17:45 -08:00
Ben Ogle b9b9b7df91 Upgradt to find-and-replace@0.38.0 2013-11-05 15:16:00 -08:00
Ben Ogle da2d37408f Upgrade to tree-view@0.28.0 2013-11-05 12:37:03 -08:00
Ben Ogle 8739dfe739 Update to find-and-replace@0.37.0 2013-11-05 12:01:02 -08:00
Matt Colyer cd2e78f04f Fix indentation of comments
Ref #1081
2013-11-05 11:46:44 -08:00
Ben Ogle 8851120db2 Add split: left handling to openSingletonSync() 2013-11-05 11:25:45 -08:00
Ben Ogle c59404b2b0 Upgrade to tree-view@0.27.0 2013-11-05 10:43:41 -08:00
Matt Colyer 151a4290d4 Update biscotto arguments to latest telepath 2013-11-05 09:39:10 -08:00
Kevin Sawicki 1ef5809b24 Merge pull request #1078 from atom/ks-soft-wrap-resize
Update soft wrap column on editor resize
2013-11-05 09:06:21 -08:00
Matt Colyer 8cca42a6b8 Remove references to atom-docs 2013-11-05 09:04:26 -08:00
Kevin Sawicki aad23d4760 💄 Remove extra empty line 2013-11-04 18:39:59 -08:00
Kevin Sawicki d20bff473b Increase overflowchanged timeout to 100ms 2013-11-04 18:38:08 -08:00
Kevin Sawicki 287f1984db Update width in chars when editor's size changes
Register an overflowchanged event listener on the editor's scroll view
and update the width in chars when this event fires.

Closes #928
Closes #961
Closes #993
2013-11-04 18:12:17 -08:00
Ben Ogle 1cb5d16a60 Style messages 2013-11-04 17:19:09 -08:00
Daniel Hengeveld 105f8d0baf check if atom.io directory exists in copy-docs 2013-11-04 17:03:29 -08:00
Daniel Hengeveld 7e9a1d8ffe copy docs into atom.io project, don't build guides as they are in the DB 2013-11-04 16:47:12 -08:00
Matt Colyer ee280d87f9 Ensure we're using proper dom ids in specs 2013-11-04 16:33:11 -08:00
Matt Colyer e312050163 Create valid DOM ids for stylesheets 2013-11-04 16:21:50 -08:00
Matt Colyer 717626fbaf Merge branch 'master' into win-specs 2013-11-04 14:53:49 -08:00
Matt Colyer ec761d00ef Remove modified check on fixture file 2013-11-04 14:53:43 -08:00
Ben Ogle 3d99e580b9 Upgrade to tabs@0.6.0 and atom-light-ui@0.6.0 2013-11-04 14:30:38 -08:00
Kevin Sawicki b0da17701b Run apm clean during bootstrap
Closes #905
2013-11-02 19:29:52 -07:00
Kevin Sawicki 8443db6630 Upgrade to language-coffee-script@0.2.0 2013-11-02 19:00:34 -07:00
Cheng Zhao 2333b53d05 Update to atom-shell v0.6.7. 2013-11-02 17:27:00 +08:00
Kevin Sawicki f05eb67125 Upgrade to package-generator@0.17.0 2013-11-01 17:34:52 -07:00
Kevin Sawicki 4c5fdbce93 Upgrade to package-generator@0.16.0 2013-11-01 17:29:36 -07:00
Kevin Sawicki 9482e9b397 Upgrade to package-generator@0.15.0 2013-11-01 17:22:47 -07:00
Kevin Sawicki 0eb4704f5e Remove empty CHANGELOG 2013-11-01 17:15:32 -07:00
Kevin Sawicki 13c374845f Upgrade to bracket-matcher@0.9.0 2013-11-01 16:54:15 -07:00
Nathan Sobo 0c87f0edf8 Make ctrl-Z/ctrl-y invoke 'core:redo' instead of 'corey:redo' 2013-11-01 17:49:29 -06:00
Kevin Sawicki c9db0f14ed Disable colored output in script/cibuild 2013-11-01 16:42:50 -07:00
Kevin Sawicki 875e9c886c Increase max buffer to 1MB 2013-11-01 16:34:20 -07:00
Kevin Sawicki 05867bc889 Default error code to 1
Apparently not all errors passed to the callback have a code so default
it to zero when missing. The 'stdout maxBuffer exceeded.' is once such
error that has no code.
2013-11-01 16:27:46 -07:00
Kevin Sawicki 621058aa9e Register copied edit sessions on the project
Without this any split edit sessions won't be passed to package
listeners that register using project.eachEditSession()

Closes #1065
2013-11-01 15:51:27 -07:00
Kevin Sawicki 3b52a6a040 Use underscore-plus 2013-11-01 15:50:38 -07:00
Nathan Sobo e70f87dfc7 Upgrade to telepath 0.20.0 so simple selection changes aren't undone
This version of telepath adds an `undo: 'combine'` option which becomes
the default for marker changes. With an undo strategy of 'combine', the
operation is only undone when combined in a transaction with other
operations that are undone. This prevents simple marker updates from
getting pushed to the undo stack.
2013-11-01 16:39:32 -06:00
Matt Colyer 0695aafe80 Devmode hard-codes the location of the atom repo 2013-11-01 15:33:11 -07:00
Matt Colyer c9eebcf00a Fixture hashes depend on line returns 2013-11-01 15:15:17 -07:00
Matt Colyer f26110a81b Remove empty collaboration menu 2013-11-01 15:02:59 -07:00
Kevin Sawicki 651b40f360 Upgrade to symbols-view@0.18.0 2013-11-01 14:28:27 -07:00
Kevin Sawicki 456c27475b Merge pull request #1069 from atom/ks-git-on-windows
Get git working on windows
2013-11-01 14:01:55 -07:00
Kevin Sawicki bc0a268841 Upgrade to find-and-replace@0.36.0 2013-11-01 13:56:48 -07:00
Kevin Sawicki 9d9ff97995 Upgrade to tree-view@0.26.0 2013-11-01 13:56:48 -07:00
Kevin Sawicki a03a89d359 Ignore debug.log 2013-11-01 13:56:47 -07:00
Kevin Sawicki 7e043f5bc6 Change platform check from windows to win32 2013-11-01 13:56:47 -07:00
Kevin Sawicki e8f8cd2dcd Normalize forward slashes on windows 2013-11-01 13:56:47 -07:00
Kevin Sawicki 132c6f7414 Enable ignoreEolWhitespace in getLineDiffs on windows 2013-11-01 13:56:47 -07:00
Kevin Sawicki a458f7581d Upgrade to git-utils@0.29.0 2013-11-01 13:56:47 -07:00
probablycorey 64565cc510 Update command palette package
I forgot to include this one in the sublime parity branch.
2013-11-01 13:51:47 -07:00
Corey Johnson 7de8b4c2f4 Merge pull request #1066 from atom/cj-sublime-bindings
Sublime key binding pairity
2013-11-01 13:45:44 -07:00
probablycorey 01e40bd866 Update fuzzy finder package 2013-11-01 13:39:49 -07:00
probablycorey 6e47135ba7 Update package versions 2013-11-01 11:49:59 -07:00
probablycorey b041c0176c Merge remote-tracking branch 'origin/master' into cj-sublime-bindings 2013-11-01 11:33:13 -07:00
probablycorey b22d64745f Handle multi-keystroke keybinding
Previously for a binding like `meta-x meta-y` you had to hold down the 
meta key. This makes it possible to release the meta key between
key presses.
2013-11-01 11:15:01 -07:00
Kevin Sawicki cbf55f38f9 Use fs-plus in covert-theme task 2013-11-01 11:11:07 -07:00
probablycorey 9e8b1fb661 Handle modifier keydown events
When only a modifier is pressed it still triggers a keydown event. This
normalizes the keystroke name for those events.
2013-11-01 11:02:46 -07:00
Kevin Sawicki 6d4285f180 Add script/build.cmd 2013-11-01 10:58:25 -07:00
Kevin Sawicki 7d3c272909 Merge pull request #1062 from atom/ks-extract-fs-utils
Extract fs-utils into a module
2013-11-01 09:14:58 -07:00
Kevin Sawicki 6677b2ccdf Upgrade to fs-plus@0.6.0 2013-11-01 09:08:49 -07:00
Kevin Sawicki bf48195752 Upgrade to fs-plus@0.5.0 2013-11-01 08:46:03 -07:00
Kevin Sawicki b8680be6c6 Update writeSync spies 2013-11-01 08:46:03 -07:00
Kevin Sawicki 0264fd6be5 Rename writeSync to writeFileSync 2013-11-01 08:46:03 -07:00
Kevin Sawicki 9c79e39401 Upgrade to fs-plus@0.4.0 2013-11-01 08:46:03 -07:00
Kevin Sawicki e06100fe25 Shim fs.exists 2013-11-01 08:46:03 -07:00
Kevin Sawicki f7686a5485 Fail if error isn't falsey 2013-11-01 08:46:03 -07:00
Kevin Sawicki 01610a3fb8 Add shims for previous fs methods 2013-11-01 08:46:03 -07:00
Kevin Sawicki d8766b9aba Use makeTreeSync 2013-11-01 08:46:03 -07:00
Kevin Sawicki ebb7a2637a Upgrade to fs-plus@0.3.0 2013-11-01 08:46:03 -07:00
Kevin Sawicki a143ca551b Remove unused rimraf dependency 2013-11-01 08:46:03 -07:00
Kevin Sawicki 3cfefc03ff Upgrade to fs-plus@0.2.0 2013-11-01 08:46:03 -07:00
Kevin Sawicki 1646cdc349 Remove plist dependency 2013-11-01 08:46:03 -07:00
Kevin Sawicki bc289cc0cb Remove unused dependency 2013-11-01 08:46:02 -07:00
Kevin Sawicki ef97dadea1 Update fs-utils references to fs-plus 2013-11-01 08:46:02 -07:00
Kevin Sawicki 83dcf79bcf Use fs-plus 2013-11-01 08:46:02 -07:00
Kevin Sawicki 60563f46c9 Upgrade to fs-plus@0.1.0 2013-11-01 08:46:02 -07:00
Ben Ogle 70925263f7 Add ability to specify rowCount to selectUp and selectDown() 2013-10-31 17:47:13 -07:00
Nathan Sobo 166faf1af2 Merge branch 'telepath-next' 2013-10-31 18:39:44 -06:00
Nathan Sobo aab2937a48 Upgrade to telepath 0.19.0 for persist: false marker option 2013-10-31 17:56:00 -06:00
Nathan Sobo 1b9f86d13a Upgrade to telepath 0.18.0
This fixes an issue where markers would no longer be updatable after
reloading an open editor. This was caused by cloned arrays not updating
the array id of their markers.
2013-10-31 17:08:41 -06:00
Nathan Sobo 88802ef4c5 Upgrade telepath to 0.17.0 2013-10-31 17:08:41 -06:00
Nathan Sobo e8e3e3224f Switch to new API for Document.deserialize and ::saveSync 2013-10-31 17:08:41 -06:00
Nathan Sobo 1b6c34673e Upgrade autosave to 0.6.0 2013-10-31 17:08:41 -06:00
Nathan Sobo aa6f2187d8 Upgrade telepath to 0.16.0 2013-10-31 17:08:40 -06:00
Nathan Sobo 7d64cd179e Always mock atom.packages.resolvePackagePath
…instead of only in package specs. This allows specs that assume it is
mocked to work correctly when we run the full spec suite. Namely, the
settings-view specs had an issue with this.
2013-10-31 17:08:40 -06:00
Nathan Sobo 56ff3b79e4 Upgrade to Telepath v0.15.0 2013-10-31 17:08:40 -06:00
Nathan Sobo ba654f15cb Drop collaboration from default packages
We'll revisit it when the codebase has a better relationship with
telepath.
2013-10-31 17:08:40 -06:00
Nathan Sobo 62ccf92a5d Get core specs passing w/ Telepath v0.14.0. Delete replication specs.
Telepath v0.14.0 is a ground-up rewrite of the replication library,
which is principally designed to support moving document fragments
within the overall document. But it's also a lot better in a number of
ways. This commit does the minimal to get things working on the new
telepath. Standard package specs don't pass yet. Also, I deleted the
replication specs since they are extremely convoluted and will be able
to be replaced with much better versions once I complete the changes
enabled by the new Telepath.
2013-10-31 17:08:40 -06:00
Nathan Sobo ca073fb7c2 Upgrade to fuzzy-finder 0.16.0 to avoid null active pane item errors
Fixes #1064
2013-10-31 17:07:52 -06:00
probablycorey 94b5d08b63 Remove unused keybinding comment 2013-10-31 15:41:26 -07:00
probablycorey 678dc82d50 Remove keybindings that are being used 2013-10-31 15:40:59 -07:00
probablycorey 5b5f0af6b5 Add native-key-bindings class 2013-10-31 15:40:44 -07:00
Ben Ogle 695c8d97f2 Remove all the complexity from the gutter check
Give up and serenader all whenever there is a change: newlines included.
2013-10-31 13:06:32 -07:00
Ben Ogle 5ac3a74bf0 Return column = 0 when mouse to the left of editor
Fixes #966
2013-10-31 12:54:21 -07:00
Ben Ogle d150170e5b Fix gutter rendering when there are folds
Fixes #1059
2013-10-31 12:54:21 -07:00
Matt Colyer d14e5a6992 Merge pull request #1061 from atom/win-close-master-process
Don't leak browser processes on windows, fixes #1060
2013-10-31 12:00:33 -07:00
Matt Colyer b419cdf193 Close browser after last window exits on windows 2013-10-31 11:47:52 -07:00
Matt Colyer a57f1e4727 First cut at build documentation 2013-10-31 11:29:43 -07:00
Matt Colyer 34499d87ab Upgrade pathwatcher@0.9.0 2013-10-31 10:57:03 -07:00
Ben Ogle 4e18e7a67c Lists are nested via padding the list items 2013-10-31 10:50:48 -07:00
probablycorey aef9a12910 Left and right tool-panels don't close when escape is pressed. 2013-10-31 10:00:38 -07:00
probablycorey b501758bf7 💄 2013-10-31 10:00:17 -07:00
Cheng Zhao 993cc75c15 Merge pull request #1054 from atom/cz-fix-win32-scripts
Fix scripts on Windows
2013-10-30 17:28:57 -07:00
Ben Ogle 64e02d007c Upgrade to find-and-replace@0.35.0 2013-10-30 17:17:24 -07:00
Kevin Sawicki a39255fa77 Upgrade to settings-view@0.37.0 2013-10-30 16:47:40 -07:00
Kevin Sawicki ddfd1842d1 Upgrade apm for --no-color option 2013-10-30 16:47:40 -07:00
probablycorey 3e71dcfcd0 Comment out unimplementd keybindings 2013-10-30 16:39:46 -07:00
probablycorey 2629345df2 Add OS X "emacs style" bindings 2013-10-30 16:31:47 -07:00
probablycorey 8c3fbc3437 Better sublime text keybinding parity. 2013-10-30 16:28:16 -07:00
Garen Torikian c30f63fa0c Merge pull request #1052 from atom/doc-updates
Doc updates
2013-10-30 15:59:29 -07:00
Ben Ogle 5685eb9263 Upgrade to 2013-10-30 15:53:34 -07:00
Garen Torikian e3fd999964 Address a few more typos 2013-10-30 15:21:51 -07:00
Matt Colyer e8109adeee Retrieve docs/template.jst from the history 2013-10-30 15:14:02 -07:00
Kevin Sawicki b150191263 Upgrade to snippets@0.13.0 2013-10-30 15:11:59 -07:00
Matt Colyer 4dc909de03 Use a fork of grunt-coffeelint
Upgrades version of coffelint to support windows. Related to #1043.
2013-10-30 15:06:07 -07:00
Garen Torikian c029f8eb95 Remove images directory
Depend on the GitHub cloud instead
2013-10-30 15:02:23 -07:00
Garen Torikian 31e75884be Spruce up documentation around themes 2013-10-30 15:01:37 -07:00
Kevin Sawicki 82e5545f6e Stub refresh methods in replication spec 2013-10-30 14:54:48 -07:00
Matt Colyer febd845876 Escape backslashes in task bootstrap on all platforms 2013-10-30 14:48:22 -07:00
Ben Ogle 61021b6a13 Add docs about the keybindings tab 2013-10-30 14:42:53 -07:00
Kevin Sawicki b9274412c5 Refresh index and status after opening repo
Previously this relied on an initial window focus event firing
to kick off the initial load.  This focus event no longer fires
in jquery 2.0 so just explicitly refresh the index and status when
setting the project path.
2013-10-30 14:42:24 -07:00
Ben Ogle d6457152f0 typos 2013-10-30 14:37:08 -07:00
Matt Colyer 49e48a0895 Merge brantch 'win-tasks' 2013-10-30 14:35:48 -07:00
Ben Ogle eae7a7065e Link the package docs together 2013-10-30 14:34:50 -07:00
Kevin Sawicki 696355f6dd Upgrade to tree-view@0.23.0 2013-10-30 14:32:51 -07:00
Matt Colyer ab0c60bd45 Update paths in task bootstrap for windows
Fixes #1049
2013-10-30 14:30:01 -07:00
Ben Ogle 83005deae6 Small changes 2013-10-30 14:28:20 -07:00
Ben Ogle d486a55b4c Fix the panel code to use the tool-panel component 2013-10-30 14:22:12 -07:00
Kevin Sawicki e6b3f400c0 Update git status on buffer path-changed events 2013-10-30 14:15:52 -07:00
Ben Ogle 86cba12457 Remove images from repo
They are hosted on github right now
2013-10-30 14:14:35 -07:00
Ben Ogle 1d6e3c73cf Update image references 2013-10-30 14:14:16 -07:00
Garen Torikian 8fb06a5b11 Add images of sample package 2013-10-30 13:21:02 -07:00
Garen Torikian 8afb3fb6b9 Talk about using Theme Variables 2013-10-30 13:21:02 -07:00
Garen Torikian ff9356bc2c Begin talking about Theme Variables 2013-10-30 13:21:02 -07:00
Garen Torikian b523decc7e Indicating the color in the stylesheet is important 2013-10-30 13:21:02 -07:00
Garen Torikian e7a14bf17f Provide initial edits to "Your First Package" docs 2013-10-30 13:21:02 -07:00
Garen Torikian a593d3b152 Split basic package information from the tutorial 2013-10-30 13:21:02 -07:00
Ben Ogle 9781565df8 Link to the theme docs 2013-10-30 13:21:02 -07:00
Ben Ogle a595378850 Add a theme-variables.md doc 2013-10-30 13:21:01 -07:00
Ben Ogle b2e2a2cdda Upgrade scandal@0.6.1 2013-10-30 12:34:57 -07:00
Ben Ogle eb8d9214b7 Upgrade to find-and-replace@0.34.0
Project search in a tab
2013-10-30 12:23:47 -07:00
Ben Ogle 8ac8b3748f Merge pull request #1053 from atom/bo-singleton-open
openSingletonSync()
2013-10-30 12:21:19 -07:00
Ben Ogle b4a28d7418 Fix test 2013-10-30 12:13:38 -07:00
Ben Ogle c6ee5699e7 Upgrade to status-bar@0.15.1 2013-10-30 11:49:43 -07:00
Ben Ogle 19220aa9f3 Upgrade to tabs@0.7.2 2013-10-30 11:49:10 -07:00
Ben Ogle 0a10603eb3 Pass all options through 2013-10-30 11:38:32 -07:00
Ben Ogle 0700732495 Upgrade to find-and-replace@0.33.1 2013-10-30 11:36:50 -07:00
Ben Ogle c3b270dc80 Upgrade to tabs@0.7.1 2013-10-30 11:26:18 -07:00
Ben Ogle 2baa5ba678 Upgrade to fuzzy-finder@0.15.1 2013-10-30 11:26:04 -07:00
Ben Ogle 0bd701b4a6 Fix tests 2013-10-30 11:25:30 -07:00
Ben Ogle 1be8d5e618 Add openSingletonSync() to rootView 2013-10-30 11:25:30 -07:00
Ben Ogle a212a7c259 pane.split() doesn't implicitly copy the active item. 2013-10-30 11:25:30 -07:00
probablycorey 76a041cfe1 Update autosave package 2013-10-30 11:08:13 -07:00
Kevin Sawicki 46eb6df61e Prepare 34.0.0 release 2013-10-30 10:51:31 -07:00
probablycorey 93c7531cf9 Don't destroy pane items in confirmClose 2013-10-30 10:47:01 -07:00
Kevin Sawicki 8bf726d3e1 Merge pull request #1055 from atom/ks-rename-toml-gfm
Add language- prefix to gfm and toml
2013-10-30 10:43:00 -07:00
Kevin Sawicki 412cb602a4 Upgrade to whitespace@0.8.0 2013-10-30 10:35:50 -07:00
Kevin Sawicki f10abfe630 Upgrade to markdown-preview@0.13.0 2013-10-30 10:34:40 -07:00
Kevin Sawicki 14664625d5 Upgrade to language-toml@0.6.0 2013-10-30 10:29:24 -07:00
Kevin Sawicki 9e12c4610d Upgrade to language-gfm@0.8.0 2013-10-30 10:29:10 -07:00
Kevin Sawicki c1d09f5229 Add cson to valid grammar extensions 2013-10-30 10:23:25 -07:00
Kevin Sawicki d486522cde Upgrade to language-toml@0.4.0 2013-10-30 10:15:41 -07:00
Kevin Sawicki e3ff39bf4f Upgrade to language-gfm@0.6.0 2013-10-30 10:15:18 -07:00
Kevin Sawicki 74a48e58dc Upgrade to settings-view@0.36.0 2013-10-30 09:29:33 -07:00
Kevin Sawicki e63bf75f96 Update apm for native module fix 2013-10-30 09:20:21 -07:00
Kevin Sawicki 8b9595f1bd Use getter when toggling soft tabs 2013-10-30 09:06:12 -07:00
Cheng Zhao 53954c236c Use the apm in node_modules/atom-package-manager instead of vendor/apm. 2013-10-30 23:44:05 +08:00
Cheng Zhao 3de18ae9f6 Fix calling of apm and grunt in script/cibuild and script/test. 2013-10-30 18:10:03 +08:00
Cheng Zhao 9c7ce22abe Unzipping atom-shell.zip on Windows with node-unzip. 2013-10-30 18:02:43 +08:00
Cheng Zhao bfab56247f node_modules/.bin/grunt is a bash script not a js script. 2013-10-30 17:05:08 +08:00
Cheng Zhao e4400c648d Revert "Run apm from node_modules"
This reverts commit 8742f6c06c.

The `node_modules/.bin/apm` is a bash script not a js script, so on
Windows `node node_modules/.bin/apm` would fail with:

```
C:\cygwin\home\zcbenz\codes\atom\node_modules\.bin\apm:2
basedir=`dirname "$0"`
        ^
SyntaxError: Unexpected token ILLEGAL
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3
```
2013-10-30 10:51:06 +08:00
Kevin Sawicki 271f23083e Bump packages for emissary@0.9.0 upgrade 2013-10-29 18:48:20 -07:00
Kevin Sawicki e3f4a72ab3 Add empty changelog to get this deploy out 2013-10-29 18:28:49 -07:00
Kevin Sawicki ee3b7cee76 Upgrade to emissary@0.9.0 2013-10-29 17:57:36 -07:00
Kevin Sawicki 5a357a54dc Prepare 33.0.0 release 2013-10-29 16:20:05 -07:00
probablycorey d07bf338c8 Consolidate pane item destruction 2013-10-29 15:55:07 -07:00
Kevin Sawicki 516ddec854 Upgrade to dev-live-reload@0.12.0 2013-10-29 15:45:05 -07:00
Kevin Sawicki 0ab2b89c1a Upgrade to collaboration@0.34.0 2013-10-29 15:24:16 -07:00
Kevin Sawicki 2c2c7e67d7 Upgrade to release-notes@0.11.0 2013-10-29 15:20:06 -07:00
probablycorey e1f8b042ed Update autosave 2013-10-29 15:18:07 -07:00
Kevin Sawicki f7ce6a015d Upgrade to release-notes@0.10.0 2013-10-29 15:12:58 -07:00
Kevin Sawicki 4775783ba3 Add missing path require 2013-10-29 15:02:05 -07:00
Kevin Sawicki d0bf4c1d2e Upgrade to emissary@0.8.0 2013-10-29 14:54:54 -07:00
Kevin Sawicki 4f1d862bc0 Merge pull request #1040 from atom/ks-speed-up-load
Speed up start time
2013-10-29 13:47:11 -07:00
Kevin Sawicki 059671c454 🐎 Load packages by path
Previously the package paths were converted to names and then
re-resolved to paths.

Now we just load the paths directly reducing the number of stat calls
and saving ~50ms in PackageManager::loadPackages

Also now internal packages are loaded by parsing the package.json
file for packageDependencies instead of loading the metadata for all
packages in node_modules and checking the engines field.
2013-10-29 13:31:42 -07:00
Kevin Sawicki 1f16cd3912 Upgrade to season@0.14.0 2013-10-29 13:31:42 -07:00
Kevin Sawicki 2d16fc33a3 Use Date.now() 2013-10-29 13:31:42 -07:00
Kevin Sawicki 6ad8062d45 Upgrade to timecop@0.9.0 2013-10-29 13:31:42 -07:00
Kevin Sawicki 8f0c0362e8 Upgrade to timecop@0.8.0 2013-10-29 13:31:42 -07:00
Kevin Sawicki 91436bec25 Add config.unshiftAtKeyPath helper 2013-10-29 13:31:42 -07:00
Kevin Sawicki e93d83dcdf Guard against null core.themes 2013-10-29 13:31:41 -07:00
Kevin Sawicki 62f44e64f4 Unshift into array instead of creating new one 2013-10-29 13:31:41 -07:00
Kevin Sawicki c571d6a9d4 Only reload non-theme packages on reload of themes 2013-10-29 13:31:41 -07:00
Kevin Sawicki bdd4ac63f4 Watch themes after activation instead of loading 2013-10-29 13:31:41 -07:00
Corey Johnson 0c77712a77 Merge pull request #1041 from atom/cj-move-autosave-to-package
Move autosave to package
2013-10-29 13:27:50 -07:00
Ben Ogle a00db81765 Only call itemAdded when there is a container
Sometimes in the tests, rootView.open is called. Sometimes by the time 
the promise is fired and callback to add the pane is called, the 
rootView and container no longer exists. See the find-and-replace tests 
that create a ResultsPaneView.
2013-10-29 12:44:11 -07:00
probablycorey c91bca44cb Update settings view
Fixes #1022
2013-10-29 11:50:01 -07:00
probablycorey dbf4ba099b Merge remote-tracking branch 'origin/master' into cj-move-autosave-to-package 2013-10-29 11:05:26 -07:00
probablycorey e67324dcc9 Upgrade autosave 2013-10-29 09:57:49 -07:00
Kevin Sawicki 1528d6ea49 Upgrade to tree-view@0.22.0 2013-10-29 09:23:53 -07:00
Matt Colyer a49fd569e3 Merge pull request #1035 from atom/win-bootstrap-native-modules
Windows Support
2013-10-29 09:15:59 -07:00
Kevin Sawicki 44213aff96 Upgrade apm for windows fixes 2013-10-29 08:38:42 -07:00
Kevin Sawicki 22589bf2dd Require nslog on non-windows machines 2013-10-29 08:27:37 -07:00
Kevin Sawicki 28a2b48688 Bootstrap is no longer vendored 2013-10-28 18:23:40 -07:00
Kevin Sawicki 668ef0b3a1 Don't copy resources/mac on windows 2013-10-28 17:49:24 -07:00
Kevin Sawicki 9a4db9d95d Only run set-development-version on mac 2013-10-28 17:46:42 -07:00
probablycorey e457600f38 Add autosave package 2013-10-28 17:34:21 -07:00
Kevin Sawicki 2f62123a75 Merge branch 'master' into win-bootstrap-native-modules 2013-10-28 17:33:39 -07:00
probablycorey e7e28b568b Purge autosave from Atom source 2013-10-28 17:27:44 -07:00
Kevin Sawicki b70df78041 Remove duplicate extend call 2013-10-28 16:46:59 -07:00
Kevin Sawicki c4b24fe738 Use Date.now() 2013-10-28 15:47:23 -07:00
probablycorey b1f5d1e276 Emit pane:before-item-destroyed event 2013-10-28 15:40:28 -07:00
Kevin Sawicki cd9d6ca6ee Update variable name 2013-10-28 15:25:18 -07:00
Kevin Sawicki d6159a38d4 Make project.resolve work on Windows 2013-10-28 15:21:08 -07:00
Corey Johnson a828f389f4 Merge pull request #1038 from atom/cj-add-user-keymap-file
Use `~/.atom/keymap.cson` file instead of `~/atom/keymaps` directory
2013-10-28 15:13:45 -07:00
probablycorey 91c8371752 Update collaboration from 0.30.0 to 0.33.0 2013-10-28 15:09:31 -07:00
probablycorey 05c70aceec Revert "Update changelog"
This reverts commit d5b960f32b.
2013-10-28 15:01:43 -07:00
Kevin Sawicki 002fc570e7 Detect resolving absolute paths on windows 2013-10-28 14:37:57 -07:00
Kevin Sawicki f81c64f068 Don't use Contents directory on windows 2013-10-28 14:27:01 -07:00
Kevin Sawicki e9bcb4637e Only run copy-info-plist on darwin 2013-10-28 14:27:01 -07:00
Matt Colyer e21f1c1394 Comment out nslog for now 2013-10-28 14:18:41 -07:00
Kevin Sawicki eae5a25872 Upgrade to first-mate@0.5.0 2013-10-28 14:11:44 -07:00
Kevin Sawicki 6364589630 Check for existence before copying 2013-10-28 13:53:51 -07:00
Kevin Sawicki 41f6d6b0dd Remove trailing slash 2013-10-28 13:50:56 -07:00
probablycorey c581135029 Remove changelog file
Changelog entries are not entered via https://github.com/atom/atom/releases/
2013-10-28 13:49:13 -07:00
Kevin Sawicki af92c96a73 Wrap walkdir in try/catch 2013-10-28 13:47:37 -07:00
Kevin Sawicki cdd4c9669a Handle walkdir error events 2013-10-28 13:45:32 -07:00
Matt Colyer 1368b60f16 Merge branch 'win-bootstrap-native-modules' of https://github.com/atom/atom into win-bootstrap-native-modules 2013-10-28 13:42:29 -07:00
Matt Colyer cc42db3bff Log to a file on windows, for now 2013-10-28 13:42:18 -07:00
Kevin Sawicki cc3a2ab2d5 Remove duplicate shell app dir cp 2013-10-28 13:41:17 -07:00
Kevin Sawicki f9837aadaa Split out win32 variable values 2013-10-28 13:38:33 -07:00
Kevin Sawicki 20c7f298a9 Install to program files on windows 2013-10-28 12:12:46 -07:00
Matt Colyer 86506752a7 Atom.app doesn't exist in windows releases 2013-10-28 12:10:42 -07:00
Kevin Sawicki 83206ac3a7 Upgrade to bootstrap@3.0.0 2013-10-28 11:39:48 -07:00
probablycorey dc54ebf416 Merge remote-tracking branch 'origin/master' into cj-add-user-keymap-file 2013-10-28 10:04:48 -07:00
probablycorey d5b960f32b Update changelog 2013-10-28 10:04:29 -07:00
Kevin Sawicki ffaaa21b37 Upgrade to collaboration@0.33.0 2013-10-28 10:03:03 -07:00
Corey Johnson ef2a322229 Merge pull request #1037 from atom/cj-buffer-serialization
When opening a window, only use serialized buffer text if the contents on disk have not changed.
2013-10-28 09:48:43 -07:00
Kevin Sawicki 1931cb6dff Upgrade to release-notes@0.9.0 2013-10-28 09:36:12 -07:00
Kevin Sawicki 6040221d26 Upgrade to scandal@0.6.0 2013-10-28 09:27:43 -07:00
probablycorey 7c70c43c1c Update keymap documentation 2013-10-28 09:23:18 -07:00
probablycorey cde0fae1f3 Rename Keymap::loadUserKeymaps to Keymap::loadUserKeymap 2013-10-28 09:19:23 -07:00
probablycorey 95107052d0 User keymap can be cson or json 2013-10-28 09:18:29 -07:00
Kevin Sawicki 650915724b Upgrade to pathwatcher@0.8.0 2013-10-28 09:16:24 -07:00
Kevin Sawicki ad67abc2a2 Upgrade to atom-shell@0.6.6 2013-10-28 09:12:57 -07:00
Kevin Sawicki 50d2d5b1cd Upgrade to git-utils@0.28.0 2013-10-28 09:12:36 -07:00
Cheng Zhao 010905db0b Fix the "'true' is not found" error. 2013-10-28 09:23:57 +08:00
Kevin Sawicki 232bc8be8e Merge pull request #1032 from atom/ks-comment-corruption
Fix commenting on hard tab lines
2013-10-26 15:26:31 -07:00
Kevin Sawicki 57577966e7 Add assert for .5 indent level 2013-10-26 15:21:02 -07:00
Kevin Sawicki 08d5231d28 Add assert for unindented line 2013-10-26 15:21:02 -07:00
Kevin Sawicki 05c3d89381 Measure indent prefix on each line being commented
Previously a single indent string was used to replace all lines
which could corrupt lines using hard tabs since the indent string
used for replacement was two spaces causing the first character
of the line to be deleted.

Closes atom/language-c#1
2013-10-26 15:21:02 -07:00
Kevin Sawicki 7a3dc2c3b8 Merge pull request #1039 from atom/ks-dont-async-before-bootstrapping
Bootstrap before requiring async
2013-10-26 15:20:25 -07:00
Kevin Sawicki 8eecc56d08 💄 Fix typo in variable name 2013-10-26 15:12:13 -07:00
Kevin Sawicki e009ff6c59 Add missing parens 2013-10-26 15:07:20 -07:00
Kevin Sawicki f500e2e9fc Add semicolon 2013-10-26 15:03:21 -07:00
Kevin Sawicki 2a98ccec8d Don't require async before bootstrapping
async won't be available on the very first run of script/build
until it runs script/bootstrap for the first time so defer requiring
it until script/bootstrap completes.
2013-10-26 15:01:19 -07:00
Kevin Sawicki 8742f6c06c Run apm from node_modules 2013-10-26 14:54:23 -07:00
Cheng Zhao 9605da9d56 Update apm for the check of vs express. 2013-10-26 20:40:52 +08:00
Cheng Zhao 1cdb87fdce Update to atom-shell v0.6.5. 2013-10-26 20:40:34 +08:00
probablycorey 330bb1df4b Add keymap.cson file to dot-atom 2013-10-25 16:39:06 -07:00
Kevin Sawicki 45ceb3f9f9 Merge pull request #1028 from atom/ks-less-one-point-five
Upgrade to less 1.5.0
2013-10-25 16:21:36 -07:00
Matt Colyer 3fa7c8fb48 Handle the difference between atom-shell binaries 2013-10-25 16:20:30 -07:00
probablycorey 97c183d6df Update docs 2013-10-25 16:19:55 -07:00
probablycorey 42362e6ce9 Load user-keymap.cson instead of keymaps dir 2013-10-25 16:19:38 -07:00
Kevin Sawicki 2266ea25e8 Upgrade to less-cache@0.9.0 2013-10-25 16:05:01 -07:00
Kevin Sawicki 970d7654cb Upgrade to grunt-contrib-less@0.8.0 2013-10-25 16:05:01 -07:00
Kevin Sawicki 82cbfb3829 Upgrade to less@1.5.0 2013-10-25 16:05:00 -07:00
probablycorey c2c6b5f868 Update coffee-script to 1.6.3 2013-10-25 16:02:23 -07:00
probablycorey 0dd0c39918 Update comment 2013-10-25 15:29:52 -07:00
probablycorey 7002b4e5f6 Factor out common buffer loading code 2013-10-25 15:26:56 -07:00
Corey Johnson 78f1865bcf Merge pull request #1033 from atom/cj-search-modified-buffers
Search modified buffers
2013-10-25 15:19:53 -07:00
probablycorey bb281ce5af 💄 2013-10-25 15:19:20 -07:00
Matt Colyer b02d906cfb Rebuild modules on Windows in grunt update-atom-shell 2013-10-25 15:06:42 -07:00
probablycorey b5b07c1052 Emit modified-status-changed event when using serialized text 2013-10-25 14:40:53 -07:00
probablycorey c77b44d5ef Move variable assignment 2013-10-25 14:29:59 -07:00
Kevin Sawicki eba1e474f8 Upgrade to spell-check@0.9.0 2013-10-25 14:27:51 -07:00
Kevin Sawicki 6fa580f543 Upgrade to symbols-view@0.15.0 2013-10-25 14:24:07 -07:00
probablycorey feed72b68e Change @loadFromDisk to @useSerializedText 2013-10-25 14:21:39 -07:00
probablycorey 5cee47c207 Fix replication spec
Don't rely on serialization to handle modifications after documents are
connected.
2013-10-25 14:21:23 -07:00
Kevin Sawicki 1d1a14b8e9 Upgrade to gists@0.6.0 2013-10-25 14:16:23 -07:00
Kevin Sawicki 18421465c0 Upgrade to github-sign-in@0.9.0 2013-10-25 14:15:20 -07:00
Matt Colyer ea9930db70 Disable broken packages, for now 2013-10-25 14:06:05 -07:00
probablycorey 2d40cb09d1 Remove focused spec 2013-10-25 14:03:27 -07:00
probablycorey 8956881192 Only load serialized content if the disk content's have not changed. 2013-10-25 13:50:16 -07:00
probablycorey 32bc8a6258 Remove initialText option from TextBuffer constructor 2013-10-25 13:50:06 -07:00
Matt Colyer 30c1124e5e Bump apm for visual studio fixes 2013-10-25 12:15:20 -07:00
Kevin Sawicki 63cb53b169 Upgrade to language-xml@0.2.0 2013-10-25 12:09:27 -07:00
Kevin Sawicki 17ebb079eb Upgrade to language-text@0.2.0 2013-10-25 12:08:34 -07:00
Kevin Sawicki 9f4f3d26e5 Upgrade to language-sql@0.2.0 2013-10-25 12:07:52 -07:00
Kevin Sawicki 8bc9c9aba3 Upgrade to language-source@0.2.0 2013-10-25 12:07:14 -07:00
Kevin Sawicki 2e20c7696e Upgrade to language-shellscript@0.2.0 2013-10-25 11:53:51 -07:00
Kevin Sawicki 78bb8b473b Upgrade to language-sass@0.3.0 2013-10-25 11:53:11 -07:00
Kevin Sawicki a0fb4333d5 Upgrade to language-ruby@0.4.0 2013-10-25 11:52:10 -07:00
Kevin Sawicki 197291e453 Upgrade to language-ruby-on-rails@0.3.0 2013-10-25 11:52:03 -07:00
Kevin Sawicki bafea9b95b 💄 Sort language packages 2013-10-25 11:49:37 -07:00
Kevin Sawicki 23b635db1e Upgrade to language-python@0.2.0 2013-10-25 11:48:35 -07:00
Kevin Sawicki 7aa57c44f8 Upgrade to language-puppet@0.2.0 2013-10-25 11:45:20 -07:00
Kevin Sawicki ece0ea2a54 Upgrade to language-php@0.2.0 2013-10-25 11:44:24 -07:00
Kevin Sawicki f22732b109 Upgrade to language-perl@0.2.0 2013-10-25 11:43:32 -07:00
Kevin Sawicki 71b9188ece Upgrade to language-object-c@0.2.0 2013-10-25 11:42:38 -07:00
Kevin Sawicki a2017628bc Upgrade to language-json@0.2.0 2013-10-25 11:39:33 -07:00
Kevin Sawicki cf025639bd Upgrade to language-javascript@0.3.0 2013-10-25 11:39:02 -07:00
Kevin Sawicki df6ebddc69 Upgrade to language-java@0.2.0 2013-10-25 11:38:14 -07:00
Kevin Sawicki aa2734f3bf Upgrade to language-hyperlink@0.3.0 2013-10-25 11:37:37 -07:00
Kevin Sawicki b9e3a8bd40 Upgrade to language-html@0.2.0 2013-10-25 11:36:28 -07:00
Kevin Sawicki 2a3a38a5f8 Upgrade to language-git@0.2.0 2013-10-25 11:35:35 -07:00
Kevin Sawicki 0254812446 Upgrade to language-css@0.2.0 2013-10-25 11:29:13 -07:00
Kevin Sawicki 11186f627e Upgrade to language-c@0.2.0 2013-10-25 11:23:21 -07:00
Kevin Sawicki db44df040e Upgrade apm for windows fix 2013-10-25 10:14:59 -07:00
Kevin Sawicki cdf439b556 Upgrade apm for windows fix 2013-10-25 10:14:04 -07:00
Kevin Sawicki e4fc15deec Remove cmake check since it is no longer required 2013-10-25 10:01:43 -07:00
Kevin Sawicki 53547b5a8d Trigger commands on rootView when body is active element 2013-10-25 09:20:47 -07:00
Kevin Sawicki 6460cbe288 Upgrade to command-palette@0.6.0 2013-10-25 08:36:32 -07:00
Kevin Sawicki 29646cdff8 💄 Use Date.now 2013-10-24 18:58:43 -07:00
Kevin Sawicki feff67457d 🚱 Include namespace when canceling subscription
Emissary does not clear our namespace listeners when calling off
with only the event name and the handler.
2013-10-24 18:45:00 -07:00
probablycorey 1f30231d5c Project.scan scans buffer if the file is modified
Closes #487
2013-10-24 15:32:32 -07:00
Ben Ogle 3e584f29b1 Upgrade to find-and-replace@0.32.0 2013-10-24 15:17:29 -07:00
probablycorey c424f7bafa Remove console.log 2013-10-24 15:04:38 -07:00
probablycorey 48fbdc69fb Update collaboration version 2013-10-24 14:43:05 -07:00
probablycorey c1b0ba2773 Check for cmake dependency before building Atom 2013-10-24 14:40:03 -07:00
Matt Colyer d4949c872b Merge pull request #1019 from atom/api-docs
More detailed pass at API documentation
2013-10-24 13:54:03 -07:00
Matt Colyer a8a28c8635 Merge remote-tracking branch 'origin/master' into win-bootstrap-native-modules 2013-10-24 13:47:09 -07:00
Kevin Sawicki 6f47010a72 Upgrade to language-javascript@0.2.0 2013-10-24 09:52:51 -07:00
Adam Roben 0a3f64a3df Merge pull request #1029 from atom/aroben-patch-1
Get rid of ANSI escape sequences in Constructicon output
2013-10-24 09:21:57 -07:00
Adam Roben f21e8e3aa4 Get rid of ANSI escape sequences in Constructicon output
Passing --no-color to grunt should get rid of these.
2013-10-24 08:48:05 -04:00
Paul Betts 39fb929af6 Bump pathwatcher and git-utils to Windows friendly ones 2013-10-23 16:47:11 -07:00
Kevin Sawicki ca26d53db1 Upgrade to collaboration@0.29.0 2013-10-23 16:31:24 -07:00
Matt Colyer 1b8f8cd914 📝 Clarify git-utils.coffee 2013-10-23 16:16:30 -07:00
Kevin Sawicki 2d30ec84bb Upgrade to tree-view@0.21.0 2013-10-23 16:12:25 -07:00
Kevin Sawicki 378a7135b7 Add missing at sign before getFocusedWindowSize
Closes atom/collaboration#22
2013-10-23 15:53:52 -07:00
Matt Colyer b288a5c68f 📝 Provide detailed docs on fsUtils 2013-10-23 14:52:27 -07:00
Corey Johnson 265e4ff43c Merge pull request #1020 from atom/cj-add-flash-error
Add visual cues for errors and beeps
2013-10-23 14:30:41 -07:00
probablycorey 4ad38eed87 Use @config instead of config 2013-10-23 14:26:48 -07:00
Kevin Sawicki 427a26c99b Upgrade apm for a couple tweaks 2013-10-23 14:25:13 -07:00
probablycorey 069e0bed9a Merge remote-tracking branch 'origin/master' into cj-add-flash-error 2013-10-23 14:21:37 -07:00
probablycorey f7dfd60014 Remove unused $$ 2013-10-23 14:14:47 -07:00
probablycorey d5f92ef59d Move all beep code into Atom class 2013-10-23 14:09:00 -07:00
Kevin Sawicki 76b68ae1f8 Upgrade to settings-view@0.33.0 2013-10-23 12:41:55 -07:00
Matt Colyer b79068ea65 Merge branch 'master' into api-docs 2013-10-23 12:29:43 -07:00
Matt Colyer 9ae078f405 Prepare for v32.0.0 release 2013-10-23 12:19:28 -07:00
Kevin Sawicki 2dd1b161cf Upgrade apm for available fix 2013-10-23 12:14:15 -07:00
Matt Colyer e6e7d389cd Upgrade symbols-view@0.14.0 2013-10-23 12:09:37 -07:00
Matt Colyer 6aa6706d86 Move window:reload from cmd-r => ctrl-alt-cmd-r 2013-10-23 12:05:48 -07:00
Matt Colyer 2b2677ae18 Upgrade apm to work with latest atom.io API 2013-10-23 12:01:19 -07:00
probablycorey 42e269a7ce Update visual bell to v0.3.0 2013-10-23 11:57:21 -07:00
Ben Ogle 0c6c2e2d84 Upgrade to find-and-replace#0.31.0 2013-10-23 11:48:26 -07:00
probablycorey c513c55f7a Update visual-beep package name to visual-bell 2013-10-23 11:38:19 -07:00
Kevin Sawicki e873a0977c Revert "Set path to node directly"
This reverts commit 8bcf40111d.
2013-10-23 11:29:14 -07:00
Kevin Sawicki 8bcf40111d Set path to node directly 2013-10-23 11:18:49 -07:00
probablycorey 224bc56d4e Require $$ via space-pen-extensions 2013-10-23 11:16:12 -07:00
probablycorey 5d35f52174 Add Visual Beep to default packages 2013-10-23 11:12:27 -07:00
Matt Colyer afb2ec86b7 Merge branch 'master' into api-docs 2013-10-23 11:02:38 -07:00
Ben Ogle 8f870544b9 Upgrade to find-and-replace@0.30.0 2013-10-23 10:58:33 -07:00
Ben Ogle 29f6833807 upgrade to settings-view@0.32.0 2013-10-23 10:53:37 -07:00
probablycorey ffcd948362 Move beep method to rootView 2013-10-23 10:42:13 -07:00
probablycorey 3b525302b0 Merge remote-tracking branch 'origin/master' into cj-add-flash-error 2013-10-23 10:27:49 -07:00
Ben Ogle 3ae5213ebf Update theme docs 2013-10-22 18:26:21 -07:00
Ben Ogle d2f33dcf39 Upgrade to settings-view@0.31.1 2013-10-22 18:09:38 -07:00
Ben Ogle 80f4e7eb7f Add ThemeManager.setEnabledThemes 2013-10-22 18:09:21 -07:00
Kevin Sawicki cbb82b1dcc Use background-color-selected for active pill
This prevents the bright blue pill color in dark-ui and instead
mirrors the active tab color.
2013-10-22 17:07:44 -07:00
probablycorey 7a81a84393 Update markdown preview package to 0.12.0 2013-10-22 16:29:33 -07:00
Matt Colyer f2f915c0d0 Merge branch 'master' into api-docs 2013-10-22 16:19:18 -07:00
Matt Colyer 72bd408722 Merge pull request #1000 from atom/sublime-keybindings
Sublime keybindings
2013-10-22 16:14:07 -07:00
Matt Colyer e38f7259e5 Upgrade symbols-view@0.13.0 2013-10-22 16:12:15 -07:00
Matt Colyer 48335bd4ac Upgrade exception-report@0.5.0 2013-10-22 16:08:05 -07:00
Kevin Sawicki cdebc2306c Upgrade apm for install version fix 2013-10-22 16:06:28 -07:00
Ben Ogle a37b029ad9 Prepend newly enabled themes, not append 2013-10-22 16:04:55 -07:00
Matt Colyer ba9be0c07a Add Movements menu 2013-10-22 16:00:32 -07:00
Ben Ogle 4a48e1a228 Upgrade to package-generator@0.14.0 2013-10-22 15:59:49 -07:00
Kevin Sawicki 43dae4e9eb Add helper to get apm path 2013-10-22 15:52:04 -07:00
Matt Colyer 8503a53fec 📝 Update documentation for file.coffee 2013-10-22 15:46:21 -07:00
Matt Colyer d0ed2a87cd 📝 Remove curly braces for core objects 2013-10-22 15:46:04 -07:00
Kevin Sawicki fa36ab1a5c Add apm to public API 2013-10-22 15:45:22 -07:00
Ben Ogle 141da61301 Commands for moving in buffer more consistent with sublime 2013-10-22 15:27:27 -07:00
Kevin Sawicki 59ef210624 Stub out Find, Collaboration, and Packages in base menu 2013-10-22 15:26:57 -07:00
Matt Colyer 2ddcfb60cf Allow f2 and tab keybindings
This is possible now that we're on atom-shell@0.6.4
2013-10-22 15:17:12 -07:00
Matt Colyer e003b478f3 Sublime accepts both meta-Z and meta-y 2013-10-22 15:17:11 -07:00
Matt Colyer de69446e1e Remap join lines to meta-j 2013-10-22 15:17:11 -07:00
Matt Colyer 5e253378e2 Update restricted key bindings for atom-shell@0.6.3 2013-10-22 15:17:11 -07:00
Matt Colyer 9da395c0aa Add a Selection menu 2013-10-22 15:17:11 -07:00
Matt Colyer fd0bed4248 Fill out the rest of the Edit menu 2013-10-22 15:17:11 -07:00
Matt Colyer 1f86c62dc9 Remove accidental logging 2013-10-22 15:17:11 -07:00
Matt Colyer 161a87b8e1 Change delete-line accelerator to ctrl-K 2013-10-22 15:17:11 -07:00
Matt Colyer 74cb91a6a1 Add Edit > Lines submenu 2013-10-22 15:17:11 -07:00
Matt Colyer 3eab78bc23 Set undo keybinding to meta-y 2013-10-22 15:17:11 -07:00
Ben Ogle 2574e4b6ee Merge pull request #994 from atom/bo-improve-theme-load-api
Add an API for activating themes without having to touch config.themes
2013-10-22 15:14:50 -07:00
Kevin Sawicki fd177d7171 Look for token in keychain 2013-10-22 15:13:35 -07:00
Matt Colyer eeb24e1d5c Mt erge branch 'master' into api-docs 2013-10-22 15:12:43 -07:00
Ben Ogle b13c633775 Upgrade to dev-live-reload@0.11.0 2013-10-22 15:09:58 -07:00
Matt Colyer b14ca90362 Upgrade tree-view@0.20.0 2013-10-22 15:08:09 -07:00
Ben Ogle 997891f298 Fixup specs 2013-10-22 15:07:09 -07:00
Ben Ogle 967c04fb19 Clean up theme check in PackageManager with PackageActivators
You can now call `PackageManager.registerPackageActivator` for specific
package types. On `PackageManager.activate` it will call your
`PackageActivator.activatePackages(packages)` with the proper packages.
2013-10-22 15:07:09 -07:00
Ben Ogle 2a7908a196 Upgrade to settings-view@0.31.0 2013-10-22 15:07:08 -07:00
Ben Ogle ecbb7cad23 fix test from config 2013-10-22 15:06:54 -07:00
Ben Ogle 8ac84359b1 Fix docs 2013-10-22 15:06:54 -07:00
Ben Ogle 71a24ec49b Fix config tests 2013-10-22 15:06:54 -07:00
Ben Ogle c614519529 Clean up the tests; add tests for disablePackage() 2013-10-22 15:06:54 -07:00
Ben Ogle 2624cf6e75 oops, don't deactivate all the packages! 2013-10-22 15:06:54 -07:00
Ben Ogle f2c1ea9b5a Remove log lines 2013-10-22 15:06:54 -07:00
Ben Ogle 7b1b73e8eb Watch the core.disabledPackages config option 2013-10-22 15:06:54 -07:00
Ben Ogle e8b50755cb Add config.unobserve() 2013-10-22 15:06:54 -07:00
Ben Ogle dd3b20f7de Pass previous value to the callback in config.observe() 2013-10-22 15:06:54 -07:00
Ben Ogle 73c1fb23da Use more concise method for @metadata settings 2013-10-22 15:06:54 -07:00
Ben Ogle d5b07088cd Remove loadStylesheets from non-theme pckage activate() 2013-10-22 15:06:53 -07:00
Ben Ogle d2864f1d0c Upgrade to dev-live-reload@0.10.0 2013-10-22 15:06:53 -07:00
Ben Ogle b330ce6722 Add atom.inSpecMode() 2013-10-22 15:06:53 -07:00
Ben Ogle 81e6150fde Return package if its already loaded 2013-10-22 15:06:53 -07:00
Ben Ogle 16128b0d90 upgrade to settings-view@0.30.0 2013-10-22 15:06:53 -07:00
Ben Ogle 0788905eb5 Upgrade to dev-live-reload@0.9.0 2013-10-22 15:06:26 -07:00
Ben Ogle abe36765b5 Fix test for both local and janky 2013-10-22 15:06:25 -07:00
Ben Ogle eaea8753f5 nof 2013-10-22 15:06:25 -07:00
Ben Ogle 0b74dfc67a Remove unnecessary lines 2013-10-22 15:06:25 -07:00
Ben Ogle 9f753cd3b9 💄 2013-10-22 15:06:25 -07:00
Ben Ogle 4440210d9a Fix tests 2013-10-22 15:06:25 -07:00
Ben Ogle 56832b11fc Refactor pkg and themeManager -- all themes stored in the pkg manager 2013-10-22 15:06:25 -07:00
Kevin Sawicki 23cc82e0ef Upgrade apm for install fixes 2013-10-22 15:05:17 -07:00
Ben Ogle 077cb9ddb7 Add an enableTheme() function to ThemeManager
And use it in the activatePackage() function in PackageManager
2013-10-22 15:04:55 -07:00
Matt Colyer b416116e0c Merge pull request #1023 from atom/remove-next-tick
Remove `_.nextTick` from atom exports
2013-10-22 14:54:10 -07:00
Matt Colyer 9cc52e7882 Remove _.nextTick from exports 2013-10-22 13:53:56 -07:00
Kevin Sawicki 79e90b313f Merge pull request #1021 from atom/ks-remove-bundle-shim
Update packages to use new language-* package naming scheme
2013-10-22 13:52:41 -07:00
Matt Colyer 9093690511 Upgrade timecop@0.7.0 2013-10-22 13:51:39 -07:00
Matt Colyer c8a45b7b74 Upgrade terminal@0.14.0 2013-10-22 13:49:16 -07:00
Matt Colyer f1e862252b Update git-diff@0.12.0 2013-10-22 13:47:09 -07:00
Kevin Sawicki c3b79778ba Upgrade to autocomplete@0.11.0 2013-10-22 13:44:54 -07:00
Kevin Sawicki 37fec2e2bf Upgrade to grammar-selector@0.8.0 2013-10-22 13:39:49 -07:00
Matt Colyer d805b6f6ac tMerge branch 'master' into api-docs 2013-10-22 13:35:56 -07:00
Kevin Sawicki f88e7e99ee Upgrade to markdown-preview@0.11.0 2013-10-22 13:34:04 -07:00
Kevin Sawicki 3c1734c8f3 Upgrade to link@0.7.0 2013-10-22 13:23:36 -07:00
Kevin Sawicki efdcf5a40f Upgrade to snippets@0.11.0 2013-10-22 13:20:29 -07:00
Kevin Sawicki 06960f5c10 Upgrade to spell-check@0.8.0 2013-10-22 13:19:20 -07:00
Kevin Sawicki 047b875ce9 Upgrade to status-bar@0.15.0 2013-10-22 13:16:58 -07:00
Kevin Sawicki 2b266da3e3 Upgrade to markdown-preview@0.10.0 2013-10-22 13:10:32 -07:00
Kevin Sawicki d430aafb7c Remove bundle rename shim 2013-10-22 13:03:27 -07:00
Kevin Sawicki 4132cddb8a Merge pull request #1012 from atom/ks-atom-dot-io
Install packages from atom.io
2013-10-22 13:02:07 -07:00
probablycorey d38067ec1a Fix lint errors 2013-10-22 13:00:14 -07:00
Kevin Sawicki beda703001 Upgrade to latest apm master 2013-10-22 12:56:30 -07:00
probablycorey 71ede6b97f Add core.audioBeep and core.visualBeep to core settings
Closes #996
2013-10-22 12:43:41 -07:00
Kevin Sawicki fa5f88cf05 Upgrade apm for atom.io integration 2013-10-22 12:40:46 -07:00
probablycorey 069ae17f9d Atom::beep triggers visual and audio beep 2013-10-22 12:32:06 -07:00
Kevin Sawicki 1e4041d7cf Upgrade apm for create fixes 2013-10-22 12:31:44 -07:00
Kevin Sawicki a7d2c14364 Expect 201 when creating package/version 2013-10-22 12:31:12 -07:00
Kevin Sawicki abf570ebf5 Upgrade to collaboration@0.28.0 2013-10-22 12:27:33 -07:00
probablycorey 3c08ae2de6 Add Atom::visualBeep method 2013-10-22 12:18:22 -07:00
Kevin Sawicki c1fae082b4 Add shim for hyperlink bundle rename 2013-10-22 12:04:39 -07:00
Kevin Sawicki 40ab5938f2 Convert old bundle names until specs are updated 2013-10-22 11:54:19 -07:00
Kevin Sawicki b2dae8be6c Update package for new name 2013-10-22 11:38:10 -07:00
probablycorey c71e9cf618 Add flashError css 2013-10-22 11:36:37 -07:00
Kevin Sawicki 931ac5d029 Upgrade apm to error passthrough fix 2013-10-22 11:35:42 -07:00
Kevin Sawicki 620b939a46 Upgrade apm for install check 2013-10-22 11:31:12 -07:00
Kevin Sawicki 73f0f2930f Ensure package basename is used 2013-10-22 11:19:47 -07:00
Kevin Sawicki c66b478c63 Upgrade apm for progress tweak 2013-10-22 11:19:41 -07:00
Kevin Sawicki 2254a6e33b Set environment variables before bootstrapping
The environment variables are required by bootstrap now for
installing packages via atom.io
2013-10-22 10:34:34 -07:00
Kevin Sawicki bb19821c5c Upgrade apm 2013-10-22 10:15:54 -07:00
Kevin Sawicki 0aae15e4c1 Upgrade apm for class renames 2013-10-22 09:01:31 -07:00
Kevin Sawicki 4d035b148d 💄 2013-10-22 09:01:31 -07:00
Kevin Sawicki 7bee816c19 Upgrade apm for install fix 2013-10-22 09:01:31 -07:00
Kevin Sawicki 927279cd9d Require language suffix to be non-empty 2013-10-22 09:01:31 -07:00
Kevin Sawicki 91f33de04e Upgrade apm for another clean fix 2013-10-22 09:01:31 -07:00
Kevin Sawicki 351035e540 Upgrade apm for clean command fix 2013-10-22 09:01:31 -07:00
Kevin Sawicki 656bee7f56 Upgrade apm for ATOM_ACCESS_TOKEN fix 2013-10-22 09:01:31 -07:00
Kevin Sawicki e7fc879a57 Upgrade apm for new atom.io installation 2013-10-22 09:01:31 -07:00
Kevin Sawicki 575a13957b Upgrade to language-todo@0.2.0 2013-10-22 09:01:31 -07:00
Kevin Sawicki ee2e5bb2b0 Upgrade to language-sass@0.2.0 2013-10-22 09:01:31 -07:00
Kevin Sawicki efbddc7339 Upgrade to language-ruby@0.2.0 2013-10-22 09:01:31 -07:00
Kevin Sawicki 1c16f4fb73 Upgrade to language-ruby-on-rails@0.2.0 2013-10-22 09:01:30 -07:00
Kevin Sawicki 23158261b2 Upgrade to language-property-list@0.2.0 2013-10-22 09:01:30 -07:00
Kevin Sawicki dd51a08d54 Upgrade to language-hyperlink@0.2.0 2013-10-22 09:01:30 -07:00
Kevin Sawicki 03f6461dec Reset language packages versions 2013-10-22 09:01:30 -07:00
Kevin Sawicki 4fae98d049 Use atom.io URL 2013-10-22 09:01:30 -07:00
Kevin Sawicki eeebaba350 Add language- prefix to package name regex 2013-10-22 09:01:30 -07:00
Kevin Sawicki 3b05b40d66 Update package names for new language- prefix 2013-10-22 09:01:30 -07:00
Kevin Sawicki f01d006e25 Add task to publish packages 2013-10-22 09:01:30 -07:00
Kevin Sawicki d765880f74 Upgrade core themes for versions with a README 2013-10-22 09:01:30 -07:00
Kevin Sawicki ceffb23431 Put clojure with the other c packages 2013-10-22 09:01:30 -07:00
Kevin Sawicki 755abaf2b7 Break out package dependencies into separate section 2013-10-22 09:01:30 -07:00
probablycorey 35ff4b8677 Remove unnecessary "if" condition
Hat tip briandoll
2013-10-21 20:14:25 -07:00
Cheng Zhao d16fb6fc8f Update to atom-shell v0.6.4. 2013-10-22 10:39:00 +08:00
Cheng Zhao 5d701d899e Merge pull request #1011 from atom/no-root-tmp
Do not always use "/tmp" to represent system temporary directory
2013-10-21 17:37:04 -07:00
Cheng Zhao 12ca6f86ef Merge pull request #1003 from atom/bash-scripts-to-js
Convert bash scripts to node.js
2013-10-21 17:36:32 -07:00
Matt Colyer 58ef0f4176 📝 Refine Directory's documentation 2013-10-21 16:54:52 -07:00
probablycorey 4dada919ba Revert "Remove window.measure and window.profile"
This reverts commit 9b318c1317.
2013-10-21 16:49:00 -07:00
probablycorey 9b318c1317 Remove window.measure and window.profile 2013-10-21 16:46:19 -07:00
Matt Colyer 6ed3bb48f2 Remove 'fs' require and use 'fsUtils' instead 2013-10-21 16:35:59 -07:00
Matt Colyer 814ab4e980 📝 Throughly document BufferedProcess. 2013-10-21 16:32:10 -07:00
Matt Colyer ffbce2020e Note that stderr is optional 2013-10-21 16:31:15 -07:00
Matt Colyer 0fc2f70dc5 📝 Throughly document BufferedNodeProcess 2013-10-21 16:26:18 -07:00
probablycorey 5277277683 Only modify pathToOpen if initialLine option is present.
Closes #1007
2013-10-21 16:05:45 -07:00
Matt Colyer 3ec33de3b7 Upgrade release-notes@0.8.0 2013-10-21 15:57:47 -07:00
Corey Johnson 0d49f2a3d0 Merge pull request #1001 from atom/cj-render-long-lines
Render long lines (without crashing or long pauses)
2013-10-21 15:38:13 -07:00
probablycorey d21a5a6836 Use string concatenation instead of array concatenation 2013-10-21 15:17:41 -07:00
probablycorey 5e3d52927a Use cachedCharWidth instead of cachedVal 2013-10-21 11:10:44 -07:00
probablycorey 0bc470c6d9 💄 2013-10-21 11:10:17 -07:00
Kevin Sawicki 2aa3a7c332 Merge pull request #1004 from atom/ks-multi-byte-onig-fix
Upgrade oniguruma for multi-byte scanning fix
2013-10-21 08:29:51 -07:00
Kevin Sawicki 948a2a47a3 Add spec for JSON tokenizing with Unicode characters 2013-10-21 08:25:15 -07:00
Kevin Sawicki df2727d926 Upgrade to oniguruma@0.21.0
Closes #980
2013-10-21 08:25:15 -07:00
Cheng Zhao 1129ff7436 doc: Mention we should be ware of platform differences. 2013-10-21 22:41:41 +08:00
Cheng Zhao 89f72c36f8 💄 Do not use "path" as file path's variabla name. 2013-10-21 22:36:40 +08:00
Cheng Zhao 017c3315d2 💄 Fix typos in specs. 2013-10-21 22:23:22 +08:00
Cheng Zhao 0a561643a9 Home directory is process.env.USERPROFILE on Windows. 2013-10-21 22:04:51 +08:00
Cheng Zhao 640b6feb49 💄 The atom object is no accessable in browser process. 2013-10-21 21:59:03 +08:00
Cheng Zhao 94f441e123 💄 Add missing ")". 2013-10-21 21:49:55 +08:00
Cheng Zhao 459309aa78 Do not use "/tmp" in scripts. 2013-10-21 21:42:55 +08:00
Cheng Zhao 558778b4d4 Add atom.getTempDirPath to return the path of "system temporary directory". 2013-10-21 21:39:52 +08:00
Cheng Zhao 05550717e2 Use temp.dir to replace '/tmp' in specs. 2013-10-21 21:36:08 +08:00
Cheng Zhao a92e5c00ea Update atom-shell to v0.6.3. 2013-10-21 16:59:49 +08:00
Cheng Zhao dbd1438cf7 Add script/bootstrap.cmd. 2013-10-19 22:32:26 +08:00
Cheng Zhao 082686bba8 Fix bootstrap script on Windows. 2013-10-19 22:11:03 +08:00
probablycorey f6fee9d04f Optimize measuring long lines 2013-10-18 15:36:39 -07:00
probablycorey 02dd79feeb Use module variable naming conventions 2013-10-18 15:36:25 -07:00
probablycorey ff5ee45dc7 Fix return value for getValueAsHTML 2013-10-18 13:53:11 -07:00
Matt Colyer 702eaea483 Merge pull request #991 from atom/menu-improvements
Improve menus for discoverablity
2013-10-18 13:04:37 -07:00
Matt Colyer fc6b6d9760 Upgrade release-notes@0.6.0 2013-10-18 12:05:32 -07:00
Matt Colyer 3e5f204f08 Add a Help menu 2013-10-18 12:02:03 -07:00
probablycorey eced0a3208 Don't cache entire line length on lines > 160 chars 2013-10-18 11:58:36 -07:00
Matt Colyer f3aec0dfee Add copy path menu item 2013-10-18 11:51:56 -07:00
probablycorey fd062a7c4f Split long spans into multiple spans
If a span has more than 2^16 chars and has the style `white-space: pre` Chrome
won't render it.
2013-10-18 11:44:56 -07:00
Matt Colyer d9c946cafa Upgrade tree-view@0.19.0 2013-10-18 11:44:18 -07:00
Matt Colyer 2502d48544 Upgrade to-the-hubs@0.8.0 2013-10-18 11:38:58 -07:00
Matt Colyer 9ea2bfa920 Clear menu template to avoid separator duplication 2013-10-18 11:34:19 -07:00
Matt Colyer 2ec6d578f6 Add menu item for soft-wrap 2013-10-18 11:33:22 -07:00
Matt Colyer ff22046f54 Upgrade timecop@0.6.0 2013-10-18 11:33:07 -07:00
Matt Colyer 5541875965 Don't append duplicate menu items
Fixes #995
2013-10-18 10:20:03 -07:00
Matt Colyer 9c877c7f0b Correct and add File menu items 2013-10-18 10:09:47 -07:00
Matt Colyer 4061011609 Upgrade terminal@0.13.0 2013-10-18 09:57:40 -07:00
Kevin Sawicki e8b5bf5402 Use clear-cut library for specificity 2013-10-18 09:33:57 -07:00
Kevin Sawicki 069208975c Add proper invisibles in empty lines with indent guide
This fixes a regression where multiple end of line invisibles were
displayed on empty lines when the indent guide was also enabled.

The invisibles array used to be shifted and not it isn't but the
entire array was still being iterated over causing extra invisibles
to be added to the line.
2013-10-17 18:31:59 -07:00
Kevin Sawicki 60dcef26b0 Join with empty string instead of comma 2013-10-17 17:25:28 -07:00
Matt Colyer 217f182579 Upgrade symbols-view@0.12.0 2013-10-17 17:12:50 -07:00
Kevin Sawicki ccdd17c0d8 Don't modify passed in item
Perform a deep clone before iterating over to add items and submenus.
2013-10-17 16:57:49 -07:00
Kevin Sawicki d6452c37d8 Clear menu template after each spec run
This is needed since packages don't destroy menus when deactivated
so the template currently grows larger each time a package is activated.
2013-10-17 16:31:15 -07:00
Matt Colyer c9ab78ee53 Upgrade styleguide@0.9.0 2013-10-17 16:29:55 -07:00
Matt Colyer 5a1e72cd81 Upgrade snippets@0.10.0 2013-10-17 16:29:34 -07:00
Matt Colyer bd674764e8 Upgrade release-notes@0.5.0 2013-10-17 16:19:53 -07:00
Matt Colyer 3cce3c5202 Upgrade package-generator@0.13.0 2013-10-17 16:12:57 -07:00
Matt Colyer c809df6762 Upgrade markdown-preview@0.9.0 2013-10-17 16:12:24 -07:00
Matt Colyer 9c3a8e5c7a Upgrade grammar-selector@0.7.0 2013-10-17 16:01:35 -07:00
Matt Colyer 9f0064f903 Upgrade to go-to-line@0.8.0 2013-10-17 15:57:06 -07:00
Matt Colyer 35399d93a9 Upgrade github-sign-in@0.8.0 2013-10-17 15:46:32 -07:00
Kevin Sawicki 5619f81c89 Log error before exiting 2013-10-17 15:38:47 -07:00
Matt Colyer 26d9d7a8fd Merge branch 'master' into menu-improvements
Conflicts:
	package.json
2013-10-17 15:28:22 -07:00
Matt Colyer 590a03b8e3 Upgrade gists@0.5.0 2013-10-17 15:09:22 -07:00
Matt Colyer 9c9e1164b1 Upgrade to fuzzy-finder@0.15.0 2013-10-17 14:59:44 -07:00
probablycorey 708d3fb08f Show Preference opens a new window (when none are already open)
Closed #990
2013-10-17 14:45:01 -07:00
probablycorey e07fb89ec7 💄 2013-10-17 14:45:01 -07:00
Matt Colyer 3c13f41b7c Upgrade find-and-replace@0.29.0 2013-10-17 14:44:03 -07:00
Matt Colyer 49756e6846 Upgrade editor-stats@0.5.0 2013-10-17 14:33:00 -07:00
Matt Colyer 142f5cf754 Add "Run Package Specs" menu item 2013-10-17 14:30:35 -07:00
Matt Colyer acbb521532 Upgrade dev-live-reload@0.8.0 2013-10-17 14:25:25 -07:00
Matt Colyer 1e6302b060 Upgrade command-logger@0.6.0 2013-10-17 14:17:30 -07:00
Kevin Sawicki c7afa8d682 Upgrade to go-to-line@0.7.0 2013-10-17 14:17:18 -07:00
Kevin Sawicki 30e20884d9 Upgrade to collaboration@0.26.0 2013-10-17 14:13:37 -07:00
Matt Colyer 3e71e8a2be Upgrade to collaboration@0.25.0 2013-10-17 14:11:13 -07:00
probablycorey 0e601737e7 Update find and replace 2013-10-17 13:58:29 -07:00
Matt Colyer 0653eed275 Upgrade to bookmarks@0.8.0 2013-10-17 13:56:27 -07:00
Matt Colyer 0d131e7253 Upgrade to autoflow@0.5.0 2013-10-17 13:49:45 -07:00
Ben Ogle a0c5e38cdd Merge pull request #988 from atom/bo-package-doc-update
Doc update for themes
2013-10-17 13:43:56 -07:00
Ben Ogle b1d474fd5c Remove slow 2013-10-17 13:42:25 -07:00
Matt Colyer 0dc6302c38 Update base menus to match proposal 2013-10-17 13:42:14 -07:00
Ben Ogle 89ea353d99 Fix based on matts suggestions 2013-10-17 13:41:40 -07:00
Corey Johnson 766634c428 Merge pull request #989 from atom/cj-text-buffer-cleanup
Text Buffer cleanup
2013-10-17 11:52:25 -07:00
probablycorey 1262073853 Wait for buffer to load in git spec 2013-10-17 11:48:22 -07:00
probablycorey 686b88fe60 Use fsUtils.statSyncNoException 2013-10-17 11:35:20 -07:00
probablycorey 875dfa61cb Merge remote-tracking branch 'origin/master' into cj-text-buffer-cleanup 2013-10-17 10:48:11 -07:00
probablycorey 2000e43053 Don't allow Atom to open files larger than 1MB
Temporary measure until we can get this working with telepath.
2013-10-17 10:41:17 -07:00
probablycorey 450eba0d54 Make content change events use async reads 2013-10-17 10:40:41 -07:00
probablycorey 5be444c4ed Rearrange require order 2013-10-17 10:40:14 -07:00
probablycorey 238399adb6 spec 💄 2013-10-17 10:39:42 -07:00
probablycorey 747b79cced Actually store the cached contents of a file.
Big Beautiful Arrows
2013-10-17 10:39:23 -07:00
probablycorey 6e93c37ce1 Rename File::read to File::readSync 2013-10-17 10:38:45 -07:00
Matt Colyer b3b3e5fa3c Upgrade autocomplete to 0.10.0 2013-10-17 10:24:41 -07:00
Kevin Sawicki 3251362400 Merge pull request #987 from atom/ks-fuzzaldrin
Extract string score and fuzzy filter
2013-10-17 09:55:28 -07:00
Kevin Sawicki 9b84271fee Upgrade to settings-view@0.29.0 2013-10-17 09:46:10 -07:00
Kevin Sawicki 5e5375528b Replace stringscore/fuzzy-filter with fuzzaldrin 2013-10-17 09:46:10 -07:00
Cheng Zhao 514ca3a9c2 Update to atom-shell v0.6.2. 2013-10-17 10:32:50 +08:00
Ben Ogle 436ffd90d4 Small changes to the pkg docs 2013-10-16 17:34:05 -07:00
Ben Ogle 201677eb1d Add notes about creating a UI theme 2013-10-16 17:18:32 -07:00
Ben Ogle 887dadd589 fix theme docs 2013-10-16 17:05:26 -07:00
Kevin Sawicki 538f66d9cf Merge pull request #977 from atom/ks-space-pen-from-jquery
Use jquery through space-pen
2013-10-16 15:27:33 -07:00
Ben Ogle 53b0ac22cc Update theme docs 2013-10-16 15:11:20 -07:00
Kevin Sawicki 84dc0df925 Update lastPixelPosition when changing
Also remove unused changedPosition variable
2013-10-16 15:02:48 -07:00
probablycorey d49e419191 Rename updateCachedDiskContents and updateCachedDiskContentsAsync 2013-10-16 14:47:08 -07:00
probablycorey d33e3e4071 TextBuffers::isModified returns false until it is fully loaded 2013-10-16 14:46:30 -07:00
Kevin Sawicki 02b9e79888 Upgrade to fuzzy-finder@0.14.0 2013-10-16 14:44:43 -07:00
Kevin Sawicki 820b870f82 Use triggerHandler for window focus/blur in specs 2013-10-16 14:41:38 -07:00
Kevin Sawicki 6171e357c1 Upgrade to autocomplete@0.9.0 2013-10-16 14:22:52 -07:00
Kevin Sawicki b07b024602 Upgrade to package-generator@0.12.0 2013-10-16 14:15:25 -07:00
Kevin Sawicki c37d5124d9 Upgrade to tree-view@0.18.0 2013-10-16 14:08:57 -07:00
Kevin Sawicki caadec6e62 jquery 2.0 can't be required in tasks 2013-10-16 13:35:12 -07:00
Kevin Sawicki 7b9ff7d0f7 Trigger focusout event on hidden input 2013-10-16 13:35:12 -07:00
Kevin Sawicki 08e5c42f0c Explicitly make pane active
Previously it relied on focus firing an event which will not occur
when not on the DOM.
2013-10-16 13:35:12 -07:00
Kevin Sawicki 2d9c2ec939 Make pane active in a beforeEach 2013-10-16 13:35:12 -07:00
Kevin Sawicki ee6b2b0776 Trigger complete beforeunload event
jquery 2.0 fails to trigger this event using just
$(window).trigger('beforeunload')
2013-10-16 13:35:12 -07:00
Kevin Sawicki 607ed972c1 Listen to window focusin/focusout instead of focus/blur
This appears to be needed by jquery 2.0+ so the specs
can correctly simulate these events using trigger.
2013-10-16 13:35:11 -07:00
Kevin Sawicki 7149ade43c Attach to DOM for focus specs 2013-10-16 13:35:11 -07:00
Kevin Sawicki d989aeb592 Focus body when root view has no focusable children
This is required now that root view has a tab index
2013-10-16 13:35:11 -07:00
Kevin Sawicki cded70c48a Set tabindex on RootView so it can be focused directly 2013-10-16 13:35:11 -07:00
Kevin Sawicki ede64f65c8 Attach to DOM for focus specs 2013-10-16 13:35:11 -07:00
Kevin Sawicki 80a3e0c9c9 Check that display isn't none for visibility 2013-10-16 13:35:11 -07:00
Kevin Sawicki 5883dd4f16 Add tab index to pane
This is required in jquery 2.0 in order for the
focus event to be received.
2013-10-16 13:35:11 -07:00
Kevin Sawicki 0254e64762 Remove window handling in catch block
The catch block in index.html takes care of this
2013-10-16 13:35:11 -07:00
Kevin Sawicki d0f6e83726 Reference correct attached variable 2013-10-16 13:34:41 -07:00
Kevin Sawicki 9d51d1a143 Use jquery provided by space-pen 2013-10-16 13:34:41 -07:00
probablycorey 565f5fb304 Sort package.json dependencies 2013-10-16 12:39:44 -07:00
Corey Johnson 835088676d Merge pull request #974 from atom/cj-make-packages-async
Add 'sync' to the end of synchronous open methods
2013-10-16 12:32:58 -07:00
probablycorey 43c54a93e5 Merge remote-tracking branch 'origin/master' into cj-make-packages-async
Conflicts:
	package.json
2013-10-16 12:28:36 -07:00
probablycorey 8bd87ac4f2 Update status bar version 2013-10-16 12:20:16 -07:00
Ben Ogle 76c152b97d Add dev-live-reload to the default install 2013-10-16 12:17:37 -07:00
Ben Ogle aa57414547 Add inDevMode() function 2013-10-16 12:17:37 -07:00
probablycorey 0ee4956109 Merge remote-tracking branch 'origin/master' into cj-make-packages-async
Conflicts:
	package.json
2013-10-16 12:11:35 -07:00
Matt Colyer 28a45c0fcd Merge pull request #965 from atom/document-themes
Theme Documentation
2013-10-16 12:10:34 -07:00
probablycorey 719616aa3a Update package versions 2013-10-16 12:10:17 -07:00
Matt Colyer dbef7a26ce 📝 Describe apm linking when creating a theme 2013-10-16 12:09:27 -07:00
Matt Colyer f7a30845f8 Update keybinding 2013-10-16 12:08:53 -07:00
Matt Colyer 492d7bc69a 📝 Give package styling recommendations 2013-10-16 11:52:00 -07:00
Ben Ogle 60aca173ce Upgrade to styleguide@0.8.0 2013-10-16 11:33:09 -07:00
probablycorey 9a839045e5 Merge remote-tracking branch 'origin/master' into cj-make-packages-async 2013-10-16 10:51:34 -07:00
Kevin Sawicki ee495575a2 Use underscore-plus from browser process classes 2013-10-15 18:47:50 -07:00
Kevin Sawicki 8ce72bedea Swap activation order for new _.max behavior 2013-10-15 18:09:14 -07:00
Kevin Sawicki 5c36a98bb0 Unfocus TextMateGrammar specs 2013-10-15 17:56:14 -07:00
Matt Colyer 3f8eb361c0 📝 Cleanup/Correct Creating a package guide 2013-10-15 17:34:19 -07:00
Matt Colyer 26039653b2 Mark core.ignoredNames as complete 2013-10-15 16:50:15 -07:00
Matt Colyer fc4750bcd5 📝 Clarify a few points about themes 2013-10-15 15:20:33 -07:00
Matt Colyer 541d25787b 📝 Clean up the getting started guide 2013-10-15 15:13:38 -07:00
Kevin Sawicki 697c96921f Merge pull request #973 from atom/ks-underscore-plus
Extract underscore extensions
2013-10-15 14:48:18 -07:00
Kevin Sawicki 913f20333d Update grammar selection for _.max change
Somewhere between underscore 1.4.4 and 1.5.2 max() was changed to return
the first element with the maximum value instead of the last.

The specs were relying on that ordering when selecting a specific grammar
by path.
2013-10-15 14:26:19 -07:00
Kevin Sawicki e2ecff22c2 Use underscore-plus instead of underscore 2013-10-15 13:57:34 -07:00
Kevin Sawicki 71f7e20eeb 💄 2013-10-15 13:50:16 -07:00
Kevin Sawicki 6a3638c7d3 Use setImmediate instead of process.nextTick 2013-10-15 13:50:16 -07:00
Kevin Sawicki 5b6e8a1b20 Use process.nextTick instead of MessageChannel 2013-10-15 13:50:16 -07:00
Kevin Sawicki 216a5e61fd Update underscore-extensions requires 2013-10-15 13:50:16 -07:00
Kevin Sawicki 8dbc0259c1 Upgrade to underscore-plus@0.2.0 2013-10-15 13:50:16 -07:00
Kevin Sawicki 4d4551987f Use underscore-plus in Grunt tasks 2013-10-15 13:50:16 -07:00
Kevin Sawicki 4fa15d3fce Replace underscore-extensions with underscore-plus 2013-10-15 13:50:16 -07:00
Kevin Sawicki f066887fd8 Upgrade apm for clean fix 2013-10-15 13:42:59 -07:00
probablycorey e3250d73a8 Fix Text Buffer spec 2013-10-15 10:58:42 -07:00
probablycorey 72a89231f8 Fix Project spec 2013-10-15 10:58:33 -07:00
probablycorey 57d9aa6019 Rename TextBuffer::load to TextBuffer::loadSync 2013-10-15 10:39:50 -07:00
probablycorey af8ecef30d Add 'Sync' to end of Project's synchronous open methods
Remove 'Async' from Project's asynchronous open methods
2013-10-15 09:45:43 -07:00
Kevin Sawicki 7b3101778b Use path.join for benchmark fixtures path 2013-10-14 21:44:57 -07:00
Kevin Sawicki d292579376 Merge pull request #968 from atom/ks-emissary
Use emissary
2013-10-14 17:51:51 -07:00
Kevin Sawicki 2c8854ce8b Stop exporting Emitter and Subscriber 2013-10-14 17:45:01 -07:00
Kevin Sawicki 03964ff568 Unsubscribe from buffer when destroyed 2013-10-14 17:28:28 -07:00
Kevin Sawicki 1c357f9b65 Use TODO instead of FIXME for consistency 2013-10-14 17:28:28 -07:00
Kevin Sawicki 6e313dc0e4 Use unless instead of if for subscription check 2013-10-14 17:28:28 -07:00
Kevin Sawicki bf1457e557 Upgrade to git-diff@0.10.0 2013-10-14 17:28:28 -07:00
Kevin Sawicki 3d9bb68007 Upgrade to find-and-replace@0.26.0 2013-10-14 17:28:28 -07:00
Kevin Sawicki eaed08a5cc Use skinny arrows in Emitter shims 2013-10-14 17:28:27 -07:00
Kevin Sawicki f05bba6a6f Upgrade to emissary@0.24.0 2013-10-14 17:28:27 -07:00
Kevin Sawicki 07f370df2a Shim one to once 2013-10-14 17:28:27 -07:00
Kevin Sawicki 672fb8ecaf Shim Emitter at top of Atom class 2013-10-14 17:28:27 -07:00
Kevin Sawicki f47ad4f16b Upgrade to settings-view@0.28.0 2013-10-14 17:28:27 -07:00
Kevin Sawicki b8597ab384 Upgrade to snippets@0.8.0 2013-10-14 17:28:27 -07:00
Kevin Sawicki d10bc2c06c Upgrade to terminal@0.11.0 2013-10-14 17:28:27 -07:00
Kevin Sawicki 0db962b94f Add shims in bootstrap script 2013-10-14 17:28:27 -07:00
Kevin Sawicki 667e0929b6 Shim subscriptionCount to getSubscriptionCount 2013-10-14 17:28:27 -07:00
Kevin Sawicki ff30a8e14b Shim trigger to emit 2013-10-14 17:28:27 -07:00
Kevin Sawicki 11dbcfecaf Only watch path once 2013-10-14 17:28:27 -07:00
Kevin Sawicki 6318571fed Export Emitter instead of EventEmitter 2013-10-14 17:28:27 -07:00
Kevin Sawicki 7f1f2bccd5 Only subscribe when file exists 2013-10-14 17:28:27 -07:00
Kevin Sawicki c797995597 Migrate path watching to new subscription added/removed events 2013-10-14 17:28:26 -07:00
Kevin Sawicki 6030edcf0a Upgrade to emissary@0.6.0 2013-10-14 17:28:26 -07:00
Kevin Sawicki 9fe32954dc Update classes for emissary API 2013-10-14 17:28:26 -07:00
Kevin Sawicki 320b4a49b4 Use Subscriber.includeInto 2013-10-14 17:28:26 -07:00
Kevin Sawicki e5ac73e0db Use includeInto instead of _.extend 2013-10-14 17:28:26 -07:00
Kevin Sawicki 0b0c3229d3 EventEmitter is exported as Emitter 2013-10-14 17:28:26 -07:00
Kevin Sawicki a0486bc9b0 Use emit instead of trigger 2013-10-14 17:28:26 -07:00
Kevin Sawicki f9a0e038a5 Use emissary for EventEmitter and Subscriber 2013-10-14 17:28:26 -07:00
Kevin Sawicki ffa83e6356 Upgrade to tree-view@0.16.0 2013-10-14 17:18:42 -07:00
Matt Colyer 4b566d1ce3 📝 Cleanup markdown 2013-10-14 17:00:16 -07:00
probablycorey 09e7a5af6b Trigger uri-opened from RootView 2013-10-14 16:41:45 -07:00
probablycorey a31862a32d Allow RootView::open to not change focus 2013-10-14 16:41:33 -07:00
probablycorey c44b04e47a Merge remote-tracking branch 'origin/master' into cj-make-packages-async 2013-10-14 15:54:22 -07:00
Matt Colyer 3589fcc107 📝 Update customizing atom guide 2013-10-14 14:40:18 -07:00
Matt Colyer 30ea10cfb8 📝 Elaborate on how to create a theme 2013-10-14 12:30:08 -07:00
Kevin Sawicki d062cdda84 Merge pull request #953 from atom/ks-apm-test
Use APM test to run package specs
2013-10-14 11:49:39 -07:00
Kevin Sawicki ea93c21a92 Lint after compiling
The compile error output is better than the lint compile error output.
2013-10-14 11:43:37 -07:00
Kevin Sawicki c0cc002134 Log empty line after specs complete 2013-10-14 11:39:29 -07:00
Kevin Sawicki 417ea030ef Upgrade to archive-view@0.10.0 2013-10-14 11:34:54 -07:00
Kevin Sawicki 3145e9b53b Upgrade to tree-view@0.15.0 2013-10-14 11:34:34 -07:00
Kevin Sawicki a7bd04de36 Remove package fixtures from core fixtures dir 2013-10-14 11:25:35 -07:00
Kevin Sawicki ec37b8abd9 💄 Add helper to set spec field on all specs 2013-10-14 11:22:34 -07:00
Kevin Sawicki 0b22d99fad Store spec directory on required specs
This allows the project to be configured based on the spec being
run.
2013-10-14 11:15:40 -07:00
Kevin Sawicki f60ead03d2 Upgrade to git-diff@0.9.0 2013-10-14 11:09:46 -07:00
Kevin Sawicki cd3ec7d156 Upgrade to fuzzy-finder@0.12.0 2013-10-14 10:35:10 -07:00
Kevin Sawicki eadee9f15c Upgrade to fuzzy-finder@0.11.0 2013-10-14 10:34:55 -07:00
Kevin Sawicki 8001942283 Upgrade to status-bar@0.12.0 2013-10-14 10:34:39 -07:00
Kevin Sawicki f506130d3b Round the logged spec time 2013-10-14 10:34:20 -07:00
Kevin Sawicki 4549ea2058 Log total spec time when done 2013-10-14 10:34:20 -07:00
Kevin Sawicki 01380c307e Upgrade to git-diff@0.8.0 2013-10-14 10:34:20 -07:00
Kevin Sawicki 024785fa4f Upgrade to git-diff@0.7.0 2013-10-14 10:34:19 -07:00
Kevin Sawicki afa03b6379 Bump queue concurrency when core specs finish 2013-10-14 10:34:08 -07:00
Kevin Sawicki a55847b03b Add dir/b.txt to working-dir fixture repo 2013-10-14 10:34:08 -07:00
Kevin Sawicki 57769f4328 Upgrade to tree-view@0.14.0 2013-10-14 10:34:08 -07:00
Kevin Sawicki 538b938a71 Upgrade to status-bar@0.11.0 2013-10-14 10:34:08 -07:00
Kevin Sawicki 714a1327ce Add a.txt to working-dir fixtures 2013-10-14 10:33:38 -07:00
Kevin Sawicki 3ff0b3cfe2 Fail build when either set of specs fail 2013-10-14 10:33:38 -07:00
Kevin Sawicki 69a247294c Remove reference to non-existent run-core-specs task 2013-10-14 10:33:38 -07:00
Kevin Sawicki b73798bd03 Rename test-task to spec-task 2013-10-14 10:33:37 -07:00
Kevin Sawicki 8ecc353999 Run core and package specs in parallel 2013-10-14 10:33:37 -07:00
Kevin Sawicki 118625f002 Increase concurrency to 2 2013-10-14 10:33:37 -07:00
Kevin Sawicki c50632bd82 Upgrade apm for test path fix 2013-10-14 10:33:37 -07:00
Kevin Sawicki 1e6cca0969 Extract isAtomPackage task helper 2013-10-14 10:33:37 -07:00
Kevin Sawicki 64c5732e51 Add missing underscore require 2013-10-14 10:33:37 -07:00
Kevin Sawicki e8c399428c Set ATOM_PATH env var when launching specs 2013-10-14 10:33:37 -07:00
Kevin Sawicki 5b239938a9 Resolve atom.sh and apm relative to app dir 2013-10-14 10:33:37 -07:00
Kevin Sawicki c1f8b1e941 💄 Use long opts for clarity 2013-10-14 10:33:37 -07:00
Kevin Sawicki aed15766fb 💄 Resolve apm path once 2013-10-14 10:33:37 -07:00
Kevin Sawicki 0f1c1715dd Add all specs to queue 2013-10-14 10:33:37 -07:00
Kevin Sawicki 091189ee79 Log what specs are running 2013-10-14 10:33:37 -07:00
Kevin Sawicki a79f36cbf2 💄 Resolve atom.sh once 2013-10-14 10:33:36 -07:00
Kevin Sawicki 483f63ab05 Add test task that runs packages specs from queue 2013-10-14 10:33:36 -07:00
Kevin Sawicki 1ed01c5155 Upgrade to archive-view@0.9.0 2013-10-14 10:33:36 -07:00
Kevin Sawicki 87408f689f Upgrade apm for path flag to test command 2013-10-14 10:33:36 -07:00
Kevin Sawicki 5d1b88493e Upgrade to jasmine-focused@0.15.0 2013-10-14 10:33:36 -07:00
Matt Colyer 551bb72756 Update bookmarks@0.6.0 2013-10-14 10:33:36 -07:00
Kevin Sawicki a0fd9098ad Upgrade to go-to-line@0.5.0 2013-10-14 10:33:36 -07:00
Matt Colyer b6a0763419 Upgrade to autocomplete@0.7.0 2013-10-14 10:33:36 -07:00
Kevin Sawicki 9994cbbd6e Upgrade to image-view@0.7.0 2013-10-14 10:33:36 -07:00
Kevin Sawicki b05a3fa4b6 Upgrade to link@0.5.0 2013-10-14 10:33:36 -07:00
Kevin Sawicki fd51392a2d Upgrade to first-mate@0.4.0 2013-10-14 10:33:35 -07:00
Kevin Sawicki 83e7c59aba Upgrade to first-mate@0.3.0 2013-10-14 10:33:35 -07:00
Kevin Sawicki 8d6ffe9daa Upgrade to markdown-preview@0.7.0 2013-10-14 10:33:35 -07:00
Kevin Sawicki bb99a8e586 Upgrade to snippets@0.7.0 2013-10-14 10:33:35 -07:00
Kevin Sawicki 63f39d84a3 Load package relative to the package's spec directory 2013-10-14 10:33:21 -07:00
Kevin Sawicki d31fe2ee91 Upgrade to tabs@0.6.0 2013-10-14 10:33:21 -07:00
Kevin Sawicki 83581bc6d2 Ignore specs that take less than 1ms 2013-10-14 10:32:26 -07:00
Kevin Sawicki 47cf00751f Upgrade to whitespace@0.6.0 2013-10-14 10:32:26 -07:00
Kevin Sawicki 002e3898fa Merge pull request #959 from atom/ks-q-continuum
Switch to q from $.Deferred
2013-10-14 10:00:38 -07:00
Kevin Sawicki 38f50d60f5 Upgrade to find-and-replace@0.25.0 2013-10-14 09:53:26 -07:00
Kevin Sawicki 7be57deef6 Upgrade to collaboration@0.23.0 2013-10-14 09:53:26 -07:00
Kevin Sawicki d0decbb7e5 Upgrade to symbols-view@0.10.0 2013-10-14 09:53:26 -07:00
Kevin Sawicki 68c7b2dab0 Use Q for promise in Project::scan 2013-10-14 09:53:26 -07:00
Kevin Sawicki 8e73258168 Remove unused Project::getFilePaths 2013-10-14 09:53:26 -07:00
Cheng Zhao 53b4b1c349 💄 Remove unsed variable. 2013-10-14 16:59:31 +08:00
Cheng Zhao fae1f500eb Rewrite script/test in js. 2013-10-14 16:52:52 +08:00
Cheng Zhao 4308e428d3 Rewrite script/cibuild in js. 2013-10-14 16:47:29 +08:00
Cheng Zhao 1d343dd483 Make the safeSpawn function a util module. 2013-10-14 15:14:03 +08:00
Cheng Zhao e17c9ced57 Rewrite script/build in js. 2013-10-14 14:37:16 +08:00
Cheng Zhao 8edd6ad5d5 Rewrite bootstrap script in js. 2013-10-14 14:18:04 +08:00
Cheng Zhao fba1d486e3 Update to atom-shell v0.6.1. 2013-10-14 12:10:11 +08:00
Paul Betts cdfad1218b Merge pull request #870 from atom/some-files-are-just-too-evil
Some files are just too evil
2013-10-11 15:34:54 -07:00
Matt Colyer 4d415d3ca9 Generate evil file fixtures depending on platform 2013-10-11 14:09:17 -07:00
Matt Colyer 6a37f9dad4 Merge branch 'master' into some-files-are-just-too-evil 2013-10-11 13:43:12 -07:00
Matt Colyer 0255faded1 Merge pull request #956 from atom/mc-bad-package
Make package loading more robust
2013-10-11 12:55:53 -07:00
Matt Colyer 12b42bf459 Initialize AtomPackage attributes earlier
This should make our package loading process a bit more robust.
2013-10-11 12:49:31 -07:00
Matt Colyer abd8bd1253 Handle errors in package.json gracefully 2013-10-11 12:49:31 -07:00
Kevin Sawicki cd633ede92 Remove logging from spec 2013-10-11 11:37:13 -07:00
Matt Colyer e4c87b2d0b Merge pull request #954 from atom/docs-about-docs
Docs about Docs
2013-10-11 11:20:52 -07:00
Matt Colyer c1c46cfb94 Merge pull request #955 from atom/mc-fix-952
Dynamically replace Atom version in application menu
2013-10-11 11:20:38 -07:00
Matt Colyer 942695d582 Dynamically replace Atom version in application menu 2013-10-11 11:11:10 -07:00
Matt Colyer 8682bad958 Revert "Dynamically replace Atom version in application menu"
This reverts commit 9b7bc34d44.
2013-10-11 11:10:04 -07:00
Matt Colyer 3d9598a99a Fix spelling 2013-10-11 11:06:04 -07:00
Matt Colyer 0221f7d263 Merge branch 'master' into docs-about-docs 2013-10-11 11:05:47 -07:00
probablycorey 92c6ad66eb Rename Project::open to Project::openSync
…and Project::openAsync to Project::open
2013-10-11 10:57:09 -07:00
probablycorey 894cae7c9c Rename rootView.openAsync to rootView.open 2013-10-11 10:56:58 -07:00
probablycorey b0e9b4b81f Rename RootView.open to RootView.openSync 2013-10-11 10:55:10 -07:00
Matt Colyer 9b7bc34d44 Dynamically replace Atom version in application menu
Fixes #952
2013-10-11 10:46:26 -07:00
Kevin Sawicki ff8577b7d6 Merge pull request #945 from atom/browser-folder
Separate classes that run in the browser process
2013-10-11 08:56:19 -07:00
Kevin Sawicki 317365e41f 💉 BrowserWindow instance into ContextMenu 2013-10-11 08:50:09 -07:00
Kevin Sawicki e4219cae45 Remove unused require 2013-10-11 08:50:09 -07:00
Kevin Sawicki ed3bb509fa Remove outdated comment about NODE_PATH tweaking 2013-10-11 08:50:09 -07:00
Kevin Sawicki 8d27369afc Add extra .. for benchmark/spec bootstrap paths 2013-10-11 08:50:09 -07:00
Matt Colyer 63fb5b1fe5 Move ContextMenu into the browser folder 2013-10-11 08:50:09 -07:00
Kevin Sawicki 891200d658 Remove src/ from global paths in browser process 2013-10-11 08:50:09 -07:00
Kevin Sawicki d815147df6 Log uncaught exceptions in browser process 2013-10-11 08:50:09 -07:00
Matt Colyer d7836f6082 Fix resourcePath in main.coffee 2013-10-11 08:50:09 -07:00
Matt Colyer 1538afee05 Relative openUrl requires in AtomApplication 2013-10-11 08:50:09 -07:00
Matt Colyer db64e8c0b3 Correct resolve to window-bootstrap 2013-10-11 08:50:09 -07:00
Matt Colyer 31c1241ce8 Use relative paths for browser files 2013-10-11 08:50:09 -07:00
Matt Colyer 7875386498 Separate classes that run in the browser process 2013-10-11 08:50:08 -07:00
Kevin Sawicki c766ddf5e6 Upgrade to fuzzy-finder@0.10.0 2013-10-10 17:59:21 -07:00
Kevin Sawicki 940df94081 Load core menu items after bundled keymaps load
Closes #948
2013-10-10 17:50:39 -07:00
Ben Ogle 018ee0deb0 Merge pull request #947 from atom/bo-multiple-editors
Use multiple editors rather than one per pane
2013-10-10 17:12:17 -07:00
Ben Ogle dafa1ab0a8 UPgrade status bar 2013-10-10 17:03:30 -07:00
Ben Ogle 730cd8680e Upgrade git-diff for fixing 2013-10-10 17:03:30 -07:00
Ben Ogle 338eb5a871 Upgrade fnr 2013-10-10 17:03:30 -07:00
Ben Ogle 142654b77c Upgrade to fnr@0.24.1 2013-10-10 17:03:30 -07:00
Ben Ogle 7db7234fb1 fix rootView spec 2013-10-10 17:03:29 -07:00
Ben Ogle 78f600a7f6 Upgrade to fuzzy-finder@0.9.0 2013-10-10 17:03:29 -07:00
Ben Ogle 187895a893 I'm not entirely sure why I need this now.
It seems there is no editor unless I show the first editSession
2013-10-10 17:03:29 -07:00
Ben Ogle 1120a14351 Fix removal of editors 2013-10-10 17:03:29 -07:00
Ben Ogle 192df9c496 Make each tab have its own editor.
Remove the viewsByClassName from the pane. Pane specs are broken.
2013-10-10 17:03:29 -07:00
Matt Colyer 45ae59b1fb Merge branch 'master' into docs-about-docs 2013-10-10 16:21:44 -07:00
Kevin Sawicki 0ac683284d Revert "Remove fixture file"
This reverts commit 818fc10ba5.

Bring back this file until archive-view is published with
fixtures included locally.
2013-10-10 15:48:24 -07:00
Kevin Sawicki 23af63b76c Ignore indentation lint
The new promises chaining causes lint errors that are false positives.
2013-10-10 15:05:58 -07:00
Matt Colyer 080b52de8d 📝 the atom documentation format 2013-10-10 14:33:49 -07:00
probablycorey 53773274df Add newline between themes and packages 2013-10-10 13:03:52 -07:00
probablycorey 3ed0f7bde4 Project::openAsync always resolves the filePath 2013-10-10 12:01:49 -07:00
probablycorey 5b214bdfd7 💄 2013-10-10 12:01:01 -07:00
probablycorey d883834626 Comment 💄 2013-10-10 11:57:32 -07:00
probablycorey 818fc10ba5 Remove fixture file
The Archive View apm maintains nested.tar in its fixtures directory
2013-10-10 11:57:13 -07:00
probablycorey b95b3148c9 Note the synchronous loading of Tokenized Buffer 2013-10-10 11:26:05 -07:00
probablycorey 29a9a9d2ed Merge remote-tracking branch 'origin/master' into cj-async-file-open
Conflicts:
	package.json
2013-10-10 11:15:20 -07:00
probablycorey 22411b3c87 Remove deprecation log message 2013-10-10 10:34:17 -07:00
probablycorey 7c6f9b1a81 Make test more consistent 2013-10-10 10:34:02 -07:00
Ben Ogle 4f8bb00af2 Merge pull request #946 from atom/bo-fix-hidden-input
Fix hidden input placement
2013-10-10 10:33:26 -07:00
probablycorey 6abb5a2390 Files in src should not use the atom export 2013-10-10 10:15:54 -07:00
probablycorey 6d29d8de48 Remove progress log 2013-10-10 10:15:08 -07:00
probablycorey 23620e158b The initialLine parameter is sent as an option 2013-10-10 09:49:06 -07:00
probablycorey 0c811ec703 Reword specs
Items are shown 'in' a pane instead of 'on' the pane
2013-10-10 09:45:18 -07:00
probablycorey b114545dd2 💄
4 kev ❤️
2013-10-10 09:45:10 -07:00
Cheng Zhao 2e71043657 Merge pull request #949 from atom/atom-shell-v0.6.0
Update to atom-shell v0.6.0
2013-10-10 08:52:25 -07:00
Cheng Zhao c614ec6beb Fix "Missing or invalid User Agent string." error. 2013-10-10 15:18:52 +08:00
Cheng Zhao 7a1874d1b9 Update atom-shell to v0.6.0. 2013-10-10 15:09:26 +08:00
Cheng Zhao 14a7202df2 "MacCtrl" is discarded in latest atom-shell. 2013-10-10 15:08:00 +08:00
Ben Ogle b7e7b83bdf Remove bringHiddenInputIntoView call from editor focus() 2013-10-09 17:48:22 -07:00
Ben Ogle 5fc14e0c37 Turns out neither of them need the 'px' 2013-10-09 17:46:06 -07:00
Kevin Sawicki d004d94f3f Upgrade to status-bar@0.9.0 2013-10-09 16:56:52 -07:00
Ben Ogle 6faef08592 Use scrollLeft so the editor is not scrolled to the left on focus in/out 2013-10-09 16:44:05 -07:00
Ben Ogle 017030fd60 Fix the tests
The test calls hiddenInput.focus(), but in reality, nothing external to
the editor can trigger this. I'd rather just have 
bringHiddenInputIntoView() called in one place, but this is insurance.
2013-10-09 16:43:26 -07:00
Ben Ogle 1b38118cc3 Place hidden input on the underlayer.
Also brings the input into view when the input is focused so we
dont scroll the scrollView and blank the editor
2013-10-09 16:18:34 -07:00
Ben Ogle 2c2661da11 Fix hiddenInput offset calculation
Regression from the speedup stuff
2013-10-09 16:18:34 -07:00
Ben Ogle b17c8ced84 Fix selectAll on buffers longer than the rendered lines 2013-10-09 16:16:19 -07:00
Kevin Sawicki 02f13d6a06 Merge pull request #941 from atom/ks-maximazing
Use current window size for new window size
2013-10-09 09:33:18 -07:00
Kevin Sawicki 8061101bbd Add initial size to window options when opening urls 2013-10-09 09:25:54 -07:00
Kevin Sawicki 662262ab82 Use deep clone for load settings
The new initialSize load setting has a nested object which should be
cloned as well.
2013-10-09 09:25:53 -07:00
Kevin Sawicki 349ba86b92 Create new windows with same size as focused window 2013-10-09 09:25:53 -07:00
Kevin Sawicki d93633a837 Maximize window by default
Use the available height and width as the default window size
when no window state exists for the dimensions.
2013-10-09 09:25:53 -07:00
Matt Colyer 93742f933b Revert "Bump tree-view to include a menu"
This reverts commit 4b70147b3b.
2013-10-08 17:39:59 -07:00
Matt Colyer 4b70147b3b Bump tree-view to include a menu 2013-10-08 16:32:57 -07:00
Matt Colyer 0be5d1f3fd Merge pull request #927 from atom/menu-api
Allow packages to append to the application menus
2013-10-08 16:30:15 -07:00
Matt Colyer ffdfe63a4e Add specs 2013-10-08 16:23:34 -07:00
Kevin Sawicki adc8618823 Upgrade to fuzzy-finder@0.8.0 2013-10-08 16:15:18 -07:00
Ben Ogle 2f2a634c2a Merge pull request #940 from atom/bo-gutter-render-perf
Partially render the gutter when possible
2013-10-08 16:10:27 -07:00
Ben Ogle 36c58e9132 💄 2013-10-08 16:03:25 -07:00
Matt Colyer 33cf5dda15 Merge branch 'master' into menu-api
Conflicts:
	src/atom.coffee
	src/config.coffee
2013-10-08 15:49:55 -07:00
Kevin Sawicki 5acf1150a4 Merge pull request #931 from atom/add-branch-selector
Add new helper functions from git-utils@0.26.0
2013-10-08 09:39:22 -07:00
Kevin Sawicki 4c9059d445 Default branch to null instead of empty object 2013-10-08 09:31:02 -07:00
Kevin Sawicki ff1ab93652 💄 Add space before and 2013-10-08 09:30:05 -07:00
Kevin Sawicki 43d5c3f66d 📝 Remove extra newline 2013-10-08 09:27:23 -07:00
Garen Torikian 250af9191a Trigger statuses-changed for branches, too
There don't seem to be any tests for this
2013-10-08 09:26:23 -07:00
Garen Torikian 7365be7d88 Add new helper functions from git-utils@0.26.0 2013-10-08 09:25:55 -07:00
Kevin Sawicki 6d15fbb114 Upgrade to tree-view@0.10.0 2013-10-08 09:00:05 -07:00
Kevin Sawicki 37ec1abc25 Add Git::isProjectAtRoot helper 2013-10-07 19:43:12 -07:00
Kevin Sawicki 41cfa2892b Guard against false result 2013-10-07 18:22:24 -07:00
Ben Ogle caae18c552 Partially render the gutter when possible. 2013-10-07 18:14:27 -07:00
Kevin Sawicki 380bad2129 Upgrade to tree-view@0.9.0 2013-10-07 18:09:51 -07:00
Kevin Sawicki 8e60db65a3 🐎 Use fs.statSyncNoException() in AtomWindow 2013-10-07 17:55:41 -07:00
Kevin Sawicki 8caed2081b Don't reuse window when opening a subfolder
Windows will only be reused when they match the initial path or
are paths to a new or existing file.

Closes #934
2013-10-07 17:23:56 -07:00
Kevin Sawicki 1ed6733ab5 Only parse line number when path to open is set
Previously if atom was launched with no path to open then '/'
was being opened as the project and a file named 'undefined' was
initially open.  This was because path.basename() returns the string
'undefined' when called with an undefined path.

This restores the previous behavior of launching a new untitled editor
with no project.

Closes #936
2013-10-07 17:09:52 -07:00
Kevin Sawicki d2d77012c5 Upgrade to collaboration@0.21.0 2013-10-07 16:21:21 -07:00
Kevin Sawicki 6c55fc102d Merge pull request #938 from atom/ks-url-api
Add API to open urls
2013-10-07 16:19:21 -07:00
probablycorey 9a61c545f4 Update comments in project 2013-10-07 16:12:44 -07:00
Kevin Sawicki 2029895f0b Pass urlToOpen to AtomWindow constructor 2013-10-07 16:12:00 -07:00
Kevin Sawicki 7f0150c6b8 💄 Inline parsed url 2013-10-07 16:12:00 -07:00
Kevin Sawicki 124b1ebd33 💄 Reorganize option param 2013-10-07 16:12:00 -07:00
Kevin Sawicki d3e2d9b5f9 📝 Update AtomApplication.openUrl() comment 2013-10-07 16:12:00 -07:00
Kevin Sawicki f8e61f5c48 Add missing @ before configDirPath 2013-10-07 16:12:00 -07:00
Kevin Sawicki e95e8a22c3 💄 Remove extra newline 2013-10-07 16:12:00 -07:00
Kevin Sawicki 0033c9659f 💉 directory dependencies into Config 2013-10-07 16:12:00 -07:00
Kevin Sawicki 9db3f9b5d9 Remove logging of found package 2013-10-07 16:12:00 -07:00
Kevin Sawicki 55b71405c9 Remove uneeded curlies and parens 2013-10-07 16:11:59 -07:00
Kevin Sawicki db47d02c3c Add fixture packages to atom.packages.packageDirPaths 2013-10-07 16:11:59 -07:00
Kevin Sawicki ad577d6315 Add url to open to load settings 2013-10-07 16:11:59 -07:00
Kevin Sawicki 19a8626c21 Add extension point for opening urls
If packages specify a urlMain in their package.json then that file
will be used as the bootstrap script new windows when a URL is opened
to that package.
2013-10-07 16:11:59 -07:00
Kevin Sawicki 87bfcf5683 💉 dependencies into AtomPackage
Removes use of resourcePath and config globals
2013-10-07 16:11:59 -07:00
Kevin Sawicki 722be2267d Add getter for config directory path 2013-10-07 16:11:59 -07:00
Kevin Sawicki a3559d1289 Call methods through this instead of atom global 2013-10-07 16:11:59 -07:00
probablycorey b4fb526d75 Simplify early return statement 2013-10-07 16:10:38 -07:00
probablycorey 122b209ad7 💄 2013-10-07 16:07:13 -07:00
Ben Ogle 53da1db3d8 Merge pull request #935 from atom/bo-improve-gutter-api
Add a simple gutter api for adding/removing classes
2013-10-07 15:35:18 -07:00
probablycorey 34d7913505 Log RootView::openAsync read progress 2013-10-07 15:22:16 -07:00
Ben Ogle 0c54f6254d Upgrade to new versions of git-diff and bookmarks 2013-10-07 15:15:30 -07:00
Ben Ogle 9c6353977f Rework the api using native methods. This is 🐎
editor.300-line-file.gutter-api.getLineNumberElementsForClass.DOM: 3 / 20000 = 0.00015ms
editor.300-line-file.gutter-api.getLineNumberElement.DOM: 8 / 20000 = 0.0004ms
editor.300-line-file.gutter-api.toggle-class: 17 / 2000 = 0.0085ms
editor.300-line-file.gutter-api.find-then-unset.single-class: 3 / 200 = 0.015ms
editor.300-line-file.gutter-api.find-then-unset.multiple-class: 9 / 200 = 0.045ms
2013-10-07 14:57:45 -07:00
Ben Ogle 2cee400547 More benchmarks 2013-10-07 14:56:29 -07:00
Matt Colyer ba8707dfd9 Bump exception-reporting to include the user agent 2013-10-07 14:35:15 -07:00
Matt Colyer 64e8c978e4 Return proper return code from atom.sh
Also improve the test failure message returned by apm.
2013-10-07 14:28:13 -07:00
Ben Ogle 1ff97fc21a Add getLineNumbersForClass()
Also clean up and use klass
2013-10-07 13:57:00 -07:00
Ben Ogle 964e88f131 Add benchmark for the gutter api fns 2013-10-07 13:55:04 -07:00
probablycorey f5c9dc7362 Added progress stats to reading files 2013-10-07 13:47:20 -07:00
Ben Ogle 32329070c2 Add a simple gutter api for adding/removing classes 2013-10-07 13:31:31 -07:00
Kevin Sawicki 9f7b430c02 Show window in benchmark bootstrap 2013-10-07 13:30:07 -07:00
Matt Colyer 26ab49306e Bump release notes version 2013-10-07 11:48:20 -07:00
probablycorey 13232de4b9 Chain promises better 2013-10-07 11:46:03 -07:00
probablycorey f9250e3dd1 Add File::readAsync 2013-10-07 11:39:41 -07:00
Ben Ogle a878d9e3da Merge pull request #901 from atom/bo-scroll-perf
Improve scrolling performance.
2013-10-07 10:36:38 -07:00
Ben Ogle 3aae7bb77e 💄 2013-10-07 10:29:02 -07:00
Ben Ogle 8825be937e TextNodeFielter -> TextNodeFilter 2013-10-07 10:29:02 -07:00
Ben Ogle b3324b49b0 Skinny arrows 💄 2013-10-07 10:29:02 -07:00
Ben Ogle 785c71daf8 💄 2013-10-07 10:29:02 -07:00
Ben Ogle 7f9ce094c7 Add only window import so the benchmarks run 2013-10-07 10:29:01 -07:00
Ben Ogle 89b0e4d159 Fix issue when there are no client rects 2013-10-07 10:29:01 -07:00
Ben Ogle 98928dd99f Upgrade to bracket-matcher@0.6.0 2013-10-07 10:29:01 -07:00
Ben Ogle 4df546a19e Remove shoulds 2013-10-07 10:28:13 -07:00
Ben Ogle 04cdad680b Remove ability to pass clearDirtyRanges and fillDirtyRanges extra vars
We don't need them anymore in the gutter.
2013-10-07 10:28:12 -07:00
Ben Ogle 87687036cb Add benchmark for empty() vs innerHTML = '' 2013-10-07 10:28:12 -07:00
Ben Ogle 4f1bdee2d7 shift() multiple little arrays. Avoid. 2013-10-07 10:28:12 -07:00
Ben Ogle 5942f2997f Remove array joins in buildEmptyLineHtml 2013-10-07 10:28:12 -07:00
Ben Ogle 26a3a77fed Rename ALL_CAPS vars to CapCamelCase 2013-10-07 10:28:12 -07:00
Ben Ogle a50e948a90 Remove log lines 2013-10-07 10:28:12 -07:00
Ben Ogle bd8c14355c Move regexes out into variables 2013-10-07 10:28:12 -07:00
Ben Ogle 1a6884ff71 Remove the ALL_CAPS vars replace with CapCamelCase 2013-10-07 10:28:11 -07:00
Ben Ogle 156b6a9490 Make wrapCharacters -> escapeString. Use a regex.
The `htmlForScreenRows` benchmark went from ~3.5 ms to ~2.9ms for a 
call to htmlForScreenRows over the entire screen range.

🐎
2013-10-07 10:28:11 -07:00
Ben Ogle 407ccc4819 Get a few benchmarks in there 2013-10-07 10:28:11 -07:00
Ben Ogle 5516dadffe Remove selective gutter rendering.
It is faster but incorrect in the case of newlines. It will have to be 
rethought. It can be a different unit of work
2013-10-07 10:28:11 -07:00
Ben Ogle f1cf8496f8 Fix test, use bufferRowsFOrScreenRowsProperly 2013-10-07 10:28:11 -07:00
Ben Ogle b4afc24ee8 Most of the tests work 2013-10-07 10:28:11 -07:00
Ben Ogle d0be7fbf8e Add a character width cache based on scopes.
This is slower than the position cache in the best case, but faster
in the worst and average case. With this, you can search for a space
in find and replace, and still scroll the buffer.

In editor.coffee, there are 10,500 spaces. To highlight all of them, 
the previous cache method took 7 seconds, this takes 2 when the cache 
is empty, and about 10ms when the entire file is cached.
2013-10-07 10:28:11 -07:00
Ben Ogle 8463c759b5 Use global range. Faster! Less garbage! 2013-10-07 10:28:11 -07:00
Ben Ogle 5a772d7078 Move back to the node walker and Range()
This is slower than the span compute, but rendering lines without 
tons of spans is much faster than with
2013-10-07 10:28:11 -07:00
Ben Ogle 8ab8201020 More benchmarks for text rendering 2013-10-07 10:28:10 -07:00
Ben Ogle 6eb72ac2a1 Use getElementsByClassName rather than jQuery 2013-10-07 10:28:10 -07:00
Ben Ogle 8a3f137519 Speed up token html generation. 20ms -> 6ms
Character replace was most of it. Removing regex creation, array 
creation and joins seems to reduce the GC pressure. Calling 500 times, 
GC spent 100ms less time.
2013-10-07 10:28:10 -07:00
Ben Ogle a57c86f4ea Shortcut out of isHidden when we can.
Checking computed style is an order of magnitude more expensive than 
checking the style property.
2013-10-07 10:28:10 -07:00
Ben Ogle 8cd04b5178 Override isHidden for the Editor
We know it's visible if it is on the dom and doesn't have
display == none set. This is an order of magnitude faster than the
default implementation which calls getComputedStyle()
2013-10-07 10:28:10 -07:00
Ben Ogle d351938702 Speed up setting the hidden input at the same place as the cursor.
Order of magnitude speedup
2013-10-07 10:28:10 -07:00
Ben Ogle c2bb5a998b Override isHidden for the CursorView
We know it's visible if it is on the dom and doesn't have 
display == none set. This is an order of magnitude faster than the 
default implementation which calls getComputedStyle()
2013-10-07 10:28:10 -07:00
Ben Ogle 303124f1dd Add benchmarks for text rendering 2013-10-07 10:28:10 -07:00
Ben Ogle 875f0ca1e5 Get benchmarks running again: Fix imports. 2013-10-07 10:28:09 -07:00
Ben Ogle 6a494f65a5 💄 2013-10-07 10:28:09 -07:00
Ben Ogle aa404a316d Don't allow NaNs 2013-10-07 10:28:09 -07:00
Ben Ogle 45d3fea3d0 Update only the changed line numbers 2013-10-07 10:28:09 -07:00
Ben Ogle 0ab382133b Back to display == none for $.fn.isHidden() 2013-10-07 10:28:09 -07:00
Ben Ogle 98a3bb475b Fix for non-extant lines 2013-10-07 10:28:09 -07:00
Ben Ogle 2394f25b92 Add the leftPixel cache back in 2013-10-07 10:28:09 -07:00
Ben Ogle 914288ab86 Wrap each char in a span; compute left position by measuring each span.
This is is faster and simpler than the old method. Running each function
20,000 times yielded these results:

Old: 3750ms
This method: 1523ms
By looking up each char's width in a dict: 29ms
2013-10-07 10:28:08 -07:00
Ben Ogle aba5eb5b41 Add a cache to positionLeftForLineAndColumn()
This is the slowest function of all.
2013-10-07 10:28:08 -07:00
Ben Ogle 5c46bff4c1 Use isVisible() 2013-10-07 10:28:08 -07:00
Ben Ogle 8f68d62420 Only re render the cursors/selections when in rendered range 2013-10-07 10:28:08 -07:00
probablycorey a8c008767f Add TextBuffer::updateCachedDiskContentsAsync 2013-10-07 09:53:53 -07:00
probablycorey 64e4cd3db1 💄 2013-10-07 09:53:13 -07:00
Matt Colyer bde0a3dff0 Use atom rather than global 2013-10-04 14:39:11 -07:00
Matt Colyer 66635a19d1 Allow updates to the application menu 2013-10-04 14:38:50 -07:00
Matt Colyer 1deba49722 Move Keymap init above MenuManager init 2013-10-04 14:38:43 -07:00
Matt Colyer 0b3a00056f Handles nested submenus 2013-10-04 14:26:09 -07:00
Kevin Sawicki 2f46db29b5 Prepare 31.0.0 release 2013-10-04 14:10:47 -07:00
Kevin Sawicki 501b6e0890 Upgrade to to-the-hubs@0.6.0 2013-10-04 14:08:37 -07:00
Matt Colyer 7b7c9abdeb Load menus from packages 2013-10-04 13:39:35 -07:00
Matt Colyer 141c4f48bf Move menu building to the proper place 2013-10-04 13:15:09 -07:00
Kevin Sawicki 1930ad5003 Prepare 30.0.0 release 2013-10-04 13:14:54 -07:00
Kevin Sawicki dcba2bcc64 Upgrade to to-the-hubs@0.5.0 2013-10-04 13:08:27 -07:00
Kevin Sawicki 668bb9ffc3 Upgrade to collaboration@0.20.0 2013-10-04 13:04:56 -07:00
Kevin Sawicki 80a9cebbef Don't parse empty strings as JSON
windowState can be an empty string which should not be attempted to be
parsed.
2013-10-04 13:01:44 -07:00
Matt Colyer 73796a27e5 📝 Access config via atom.config not global.config 2013-10-04 12:28:42 -07:00
Matt Colyer 32101c57bf Load core menus from a file 2013-10-04 12:28:19 -07:00
Matt Colyer b63a33c7bb Fix lint errors in MenuManager 2013-10-04 11:40:59 -07:00
Matt Colyer d8e857efc9 Create MenuManager class
A minimal implementation that takes over the responsiblities of managing
the application menu within the render process.
2013-10-04 11:33:28 -07:00
Matt Colyer c0b8b0a443 Remove unused devMenu 2013-10-04 10:51:08 -07:00
Matt Colyer 791d288175 Merge pull request #890 from atom/atom-shell-with-releases-api
Uses GitHub Releases API to download atom-shell.
2013-10-04 10:04:53 -07:00
Kevin Sawicki 8f2770d084 Prevent overriding coffee cache once registered
Previously this was done afterwards in index.html and task.coffee
but should really be handled by the cache itself so any module
require a different version of coffee-script are not reregistering
a different require extension handler.
2013-10-04 09:25:31 -07:00
Matt Colyer 15a62eab63 Parse multipart response from AWS S3 2013-10-04 09:24:19 -07:00
Kevin Sawicki 8be254c878 Export a register method from coffee-cache
This allows it to be required without having any side effects which
is needed for the clean task that just wanted to remove the cache
directory.
2013-10-04 09:20:46 -07:00
Kevin Sawicki d973e96846 Prepare 29.0.0 release 2013-10-04 09:04:00 -07:00
Cheng Zhao d39797fdca Import atomcredentials in cibuild. 2013-10-04 13:39:53 +08:00
Kevin Sawicki fafaa444c7 Upgrade to exception-reporting@0.3.0 2013-10-03 19:01:53 -07:00
Kevin Sawicki 46a250d4a3 Upgrade to metrics@0.8.0 2013-10-03 18:48:36 -07:00
Kevin Sawicki a47b3273dd Send events to browser window even when not focused
The window:open-path event regressed and was not being sent to Atom
which prevented windows from being opened with specific file(s) in
the editor.

Also this allows context menus to work even when the dev tools are open.
2013-10-03 18:14:01 -07:00
Kevin Sawicki 573ddc288f Upgrade to find-and-replace@0.24.0 2013-10-03 17:38:51 -07:00
probablycorey 6cf41eea0a Add TextBuffer::updateCachedDiskContentsAsync 2013-10-03 17:12:00 -07:00
probablycorey b468a6f375 Get text buffer loading to work with multi-stage load 2013-10-03 16:58:11 -07:00
Matt Colyer de285fdec2 Bump settings-view 2013-10-03 16:40:20 -07:00
Matt Colyer 951d2615bd Bump apm version 2013-10-03 15:32:50 -07:00
Matt Colyer 9e82dba4b3 Merge branch 'master' into atom-shell-with-releases-api 2013-10-03 15:09:50 -07:00
Kevin Sawicki cbd612cb2c Upgrade to find-and-replace@0.23.0 2013-10-03 14:35:33 -07:00
Kevin Sawicki 33af695acb Upgrade to scandal@0.5.0 2013-10-03 14:35:33 -07:00
probablycorey 6e17755c1a Remove unused method 2013-10-03 13:38:24 -07:00
probablycorey b921dc3a1d Remove console.logs 2013-10-03 13:27:54 -07:00
probablycorey cc68925ab7 Make Project::resolve handle null file names 2013-10-03 13:23:27 -07:00
probablycorey 9147419ed3 Use temp module when creating temp files 2013-10-03 13:22:05 -07:00
Matt Colyer a929251d7f Merge pull request #923 from atom/test-with-open-window
Always launch Atom as a separate process (when just running specs)
2013-10-03 11:47:29 -07:00
Matt Colyer f74ad104d7 Rename openBasedOnOptions to openWithOptions 2013-10-03 11:39:20 -07:00
Matt Colyer 41ec544643 Update apm to include apm test 2013-10-03 11:33:09 -07:00
Matt Colyer 0f4b36b54a Run test processes separately 2013-10-03 11:30:43 -07:00
Matt Colyer c04ba75cc1 Remove initialization repetition from a second atom process 2013-10-03 11:29:34 -07:00
Kevin Sawicki 958d100d8f Upgrade to tree-view@0.8.0 2013-10-03 11:03:43 -07:00
Matt Colyer d8b173b86e Merge pull request #919 from atom/test-without-window
Test without window
2013-10-03 10:57:40 -07:00
probablycorey ed09e4e33f Remove unused method 2013-10-03 10:28:12 -07:00
probablycorey e9fd6f0c32 Reorder text buffer's requires 2013-10-03 10:28:12 -07:00
probablycorey b315e62a43 Add Project::openAsync and Project::bufferForPathAsync 2013-10-03 10:28:12 -07:00
probablycorey 716fe8cfe7 Add more specs for RootView::openAsync 2013-10-03 10:28:12 -07:00
probablycorey c825b1d9bb Simplify RootView::openAsync 2013-10-03 10:28:12 -07:00
probablycorey a1c39c9f38 Add RootView::openAsync 2013-10-03 10:28:11 -07:00
probablycorey dc245184c1 Add q npm 2013-10-03 10:28:11 -07:00
probablycorey b92b6e689d Rearrange command line option string
I apologize, but I could not resist rearranging the command line 
options to spell "WTF VHS"
2013-10-03 10:27:26 -07:00
Kevin Sawicki e3c7ebe45d Merge pull request #921 from atom/ks-set-editor-styles-directly
Set font size and family directly on editor
2013-10-03 09:46:43 -07:00
Kevin Sawicki 2d55c3e1e9 Set textContent when reporting progress 2013-10-03 09:38:42 -07:00
Kevin Sawicki e2fb2fdae5 Set font size and family directly on editor element
Previously this was set via a style tag which ate up a lot of spec
time and seemed to be functionally equivalent to just setting the
style directly on the element instead of finding and adding/removing
style tags.
2013-10-03 09:38:42 -07:00
Kevin Sawicki 6a5151ccbb Update stylesheetsActivated when resources are deactivated 2013-10-03 09:38:25 -07:00
Cheng Zhao a6b71f07e0 Focus on webview in specs window on startup.
When specs window is hidden it would not get a chance to focus on the webview.
2013-10-03 10:28:00 +08:00
Kevin Sawicki ea2779b029 Activate stylesheets from deferred deserializer 2013-10-02 19:10:53 -07:00
Cheng Zhao 14c338619a Update to atom-shell v0.5.4. 2013-10-03 10:05:38 +08:00
Kevin Sawicki e4b55c4210 🐎 Only reload active package stylesheets
Previously all package stylesheets were loaded twice during startup,
once when the themes were loaded and once when the packages were
activated.
2013-10-02 18:49:26 -07:00
Kevin Sawicki 80e4e5f2cd 🐎 Use fs.statSyncNoException in coffee-cache 2013-10-02 18:18:01 -07:00
Kevin Sawicki 80b4572190 Update root view title when initializing
Previously the title would not be updated when opening Atom with
serialized editors.

Also consolidate event listeners to rely on the
pane-container:active-pane-item-changed event to update the title.
2013-10-02 18:05:48 -07:00
Kevin Sawicki 523efd5e1a Use fs-utils for directory check 2013-10-02 17:45:27 -07:00
Kevin Sawicki 3ca361709c Upgrade to settings-view@0.26.0 2013-10-02 17:42:40 -07:00
Kevin Sawicki 5895da3d6f Store dimensions when spec window is unloaded
Refs #918
2013-10-02 17:16:19 -07:00
Kevin Sawicki 0bfc4a3a1b 📝 capitalize Function 2013-10-02 17:01:08 -07:00
Matt Colyer de9ab2d163 Prevent showing the window via spec-bootstrap.coffee 2013-10-02 16:47:27 -07:00
Kevin Sawicki e700e6ebe8 📝 doc measure and profile functions 2013-10-02 16:38:45 -07:00
Kevin Sawicki 8129e6c632 fs.statSyncNoException returns false or an object 2013-10-02 16:19:37 -07:00
Kevin Sawicki f6447a83f3 🐎 Use statSyncNoException in fs-utils 2013-10-02 16:09:02 -07:00
Kevin Sawicki 3bb01c3ebc Guard against global project being null 2013-10-02 16:07:03 -07:00
Kevin Sawicki 80cfcb799e Destroy rootView/project on both window and atom globals 2013-10-02 15:51:11 -07:00
Kevin Sawicki 3d5f1c6c90 Show dev tools when error is thrown bootstrapping specs 2013-10-02 15:48:58 -07:00
Kevin Sawicki a6803a266a Call add instead of registerDeserializer 2013-10-02 15:47:41 -07:00
Kevin Sawicki 7633a2a7d7 Call get instead of getDeserializer 2013-10-02 15:38:21 -07:00
Kevin Sawicki 08177feb67 Simplify method names on DeserializerManager 2013-10-02 15:30:32 -07:00
Kevin Sawicki ca137974c9 Store site on atom global 2013-10-02 15:23:06 -07:00
Kevin Sawicki a9735bfa13 Upgrade to symbols-view@0.8.0 2013-10-02 14:40:15 -07:00
Matt Colyer 8f80eeb63f See if tests pass when minimized 2013-10-02 14:23:35 -07:00
Kevin Sawicki 156ca6d9fd Update initial path using atom.loadSettings 2013-10-02 14:22:02 -07:00
Kevin Sawicki 5aa83163ad Memoize load settings and return a clone
Calling this method actual eats up a lot of spec time since
it does an ipc channel sync call.
2013-10-02 14:09:30 -07:00
Matt Colyer 16fd6debea Prevent window from displaying when just running tests 2013-10-02 14:05:07 -07:00
Matt Colyer 171728367e Remove unused import 2013-10-02 13:52:08 -07:00
Kevin Sawicki 9b97433214 Remove unused .nakignore file 2013-10-02 13:46:09 -07:00
Kevin Sawicki 46762327c6 Merge pull request #881 from atom/ks-globalization
Clean up globals
2013-10-02 13:45:36 -07:00
Kevin Sawicki 3591b921fd Update atom and window globals in beforEach 2013-10-02 13:40:35 -07:00
Kevin Sawicki a85817369e Add shim for packages accessing atom.packageStates 2013-10-02 13:40:35 -07:00
Kevin Sawicki 63b79a1d04 Bring back userPackageDirPaths for backwards-compatibility 2013-10-02 13:40:35 -07:00
Kevin Sawicki 022db0fc44 Access keymap via atom global 2013-10-02 13:40:35 -07:00
Kevin Sawicki dde7ccadd4 Move onDrop global to WindowEventHandler 2013-10-02 13:40:35 -07:00
Kevin Sawicki c7bc92f6e7 Access rootView through atom global 2013-10-02 13:40:35 -07:00
Kevin Sawicki 2a9ceb42b2 Reference project and rootView using atom global 2013-10-02 13:40:35 -07:00
Kevin Sawicki 550f112be8 Remove unused requires 2013-10-02 13:40:35 -07:00
Kevin Sawicki 333c5a0db2 Add requireWithGlobals() to atom global 2013-10-02 13:40:35 -07:00
Kevin Sawicki dc9c59f0b3 Add atom prefix to globals 2013-10-02 13:40:34 -07:00
Kevin Sawicki 068a10b2db Extract deserializer management into class 2013-10-02 13:40:34 -07:00
Kevin Sawicki cad2c9c7af 📝 Mention centering behavior 2013-10-02 13:40:34 -07:00
Kevin Sawicki 1d7861677a 📝 doc dimension getter/setter 2013-10-02 13:40:34 -07:00
Kevin Sawicki 1e108aa0d1 Reference packageStates via atom.packages 2013-10-02 13:40:34 -07:00
Kevin Sawicki 0c532b62ff Reference package states on packages ivar 2013-10-02 13:40:34 -07:00
Kevin Sawicki 7cae014d09 💄 Initialize ivars in constructor 2013-10-02 13:40:34 -07:00
Kevin Sawicki ebe1598a71 Correctly passthrough call to deactivatePackages 2013-10-02 13:40:34 -07:00
Kevin Sawicki 22f2d4c1c5 Update packageDirPaths on new config instance 2013-10-02 13:40:34 -07:00
Kevin Sawicki c3e462db00 Use subscribe instead of on 2013-10-02 13:40:34 -07:00
Kevin Sawicki bdddb4eb52 Require atom after window 2013-10-02 13:40:34 -07:00
Kevin Sawicki ed5dbe983e Trigger event when packages are loaded 2013-10-02 13:40:34 -07:00
Kevin Sawicki 52ef2db198 Separate construction vs. initialization 2013-10-02 13:40:34 -07:00
Kevin Sawicki 45a1334c75 Require atom after window is required 2013-10-02 13:40:34 -07:00
Kevin Sawicki f56758acd2 Shim window.restoreDimensions to atom 2013-10-02 13:40:34 -07:00
Kevin Sawicki 8150263f52 Initialize paths in constructor
Previously this was done at eval time which
required globals to be set before the class could
be required.
2013-10-02 13:40:33 -07:00
Kevin Sawicki 901b128572 💄 Remove extra newline 2013-10-02 13:40:33 -07:00
Kevin Sawicki dc8fae12b6 Create new Atom class in spec/benchmark bootstraps 2013-10-02 13:40:33 -07:00
Kevin Sawicki e2d727f838 Move Syntax global to Atom class 2013-10-02 13:40:33 -07:00
Kevin Sawicki 5c4a8f55c8 Add deserializeEditorWindow to Atom class 2013-10-02 13:40:33 -07:00
Kevin Sawicki 4be4868959 Move dimension helpers from window to Atom class 2013-10-02 13:40:33 -07:00
Kevin Sawicki 4e3c5d2aba Keep command install functions local 2013-10-02 13:40:33 -07:00
Kevin Sawicki 6a65aad274 💄 Use atom.getLoadSettings() 2013-10-02 13:40:33 -07:00
Kevin Sawicki 62278d9137 Create config, pasteboard, and keymap in Atom 2013-10-02 13:40:33 -07:00
Kevin Sawicki 8660a46fac 📝 Mark Atom class as public 2013-10-02 13:40:33 -07:00
Kevin Sawicki 3f5875e5db 💄 Add getCurrentWindow() helper 2013-10-02 13:40:33 -07:00
Kevin Sawicki 7f4ccf6a42 Export an Atom class from atom.coffee 2013-10-02 13:40:33 -07:00
Kevin Sawicki 44d6bf9bf0 Call getLoadPackages() instead of referencing ivar 2013-10-02 13:40:33 -07:00
Kevin Sawicki fc3dcd9749 Add PackageManager class accessible from atom.packages 2013-10-02 13:40:33 -07:00
Kevin Sawicki 862220adf2 Store less cache as an ivar on ThemeManager 2013-10-02 13:40:33 -07:00
Kevin Sawicki c808630ba1 Move all stylesheet globals to ThemeManager 2013-10-02 13:40:32 -07:00
Matt Colyer d72f235c52 Merge pull request #917 from atom/apm-test
Add spec-directory command line option
2013-10-02 13:25:01 -07:00
Kevin Sawicki c4265c6b00 Upgrade to collaboration@0.19.0 2013-10-02 13:20:40 -07:00
Matt Colyer fc98a9905c Refine the command line help message 2013-10-02 13:16:19 -07:00
Matt Colyer fad7c9586c Update older (and incorrect) flag in atom.sh 2013-10-02 13:10:10 -07:00
Kevin Sawicki 3f764569f7 Upgrade to coffeestack@0.6.0 2013-10-02 13:07:11 -07:00
Kevin Sawicki 3de5c7bf3d 💄 Newline separate dependency sections 2013-10-02 12:59:55 -07:00
Kevin Sawicki dc088f49f9 Upgrade to tantamout@0.5.0 2013-10-02 12:59:21 -07:00
Kevin Sawicki 9c57f94b1f Upgrade to scandal@1.3.0 2013-10-02 12:59:00 -07:00
Kevin Sawicki 2b181c67c2 Upgrade to scandal@0.4.0 2013-10-02 12:58:48 -07:00
Matt Colyer 62b7599bea Add spec-directory command line option 2013-10-02 12:17:42 -07:00
Kevin Sawicki 96c9657593 Prepare 28.0.0 release 2013-10-02 11:26:25 -07:00
Kevin Sawicki 5de21e2cd7 Ignore theme names that cannot be resolved 2013-10-02 11:24:39 -07:00
Kevin Sawicki a3ee15e584 Remove node_modules from NODE_PATH
Packages now specify their dependencies in package.json so they
should no longer rely on the availability of modules in the main
node_modules folder.
2013-10-02 10:56:15 -07:00
Kevin Sawicki c1eb1a69db Upgrade to space-pen@1.2.1 2013-10-02 10:53:52 -07:00
Kevin Sawicki e72925f0bc Upgrade to scandal@0.3.0 2013-10-02 10:39:02 -07:00
Kevin Sawicki d1c1266ed0 Upgrade to collaboration@0.18.0 2013-10-02 10:30:53 -07:00
Kevin Sawicki 420461c9f5 Upgrade to git-utils@0.25.0 2013-10-02 10:02:33 -07:00
Garen Torikian 4908d6462a Merge pull request #915 from atom/remove-atom-title
Remove 'atom -' from title
2013-10-01 21:50:03 -07:00
Garen Torikian e2b23cd522 Remove quotes from title string 2013-10-01 17:53:55 -07:00
Matt Colyer 42e254576c Merge pull request #900 from atom/mc-release-notes
API to Notify render processes when updates are available
2013-10-01 16:41:56 -07:00
Matt Colyer 074eb3fd69 Don't pass updateVersion to AtomWindow 2013-10-01 16:38:43 -07:00
Garen Torikian 4546dbbb23 Remove 'atom -' from title 2013-10-01 16:33:18 -07:00
Kevin Sawicki 8bf301639b Prepare 27.0.0 release 2013-10-01 16:27:15 -07:00
Matt Colyer 4dd22c6ab4 Include release-notes by default 2013-10-01 15:58:45 -07:00
Matt Colyer 16b7a21866 Merge branch 'master' into mc-release-notes 2013-10-01 15:55:31 -07:00
Kevin Sawicki 3189347899 Use window height to determine number of lines to render
This prevents the editor from displaying empty lines when a view is hidden
and the editor suddenly has more vertical space available to fill.
2013-10-01 15:35:08 -07:00
Kevin Sawicki 786f35f272 Merge pull request #913 from atom/ks-cloud-ant
Switch to cloudant from iriscouch
2013-10-01 15:20:15 -07:00
Kevin Sawicki de021f2575 Add back --silent flag 2013-10-01 15:14:06 -07:00
Kevin Sawicki ef40b66fc7 Upgrade to javascript-tmbundle@2.0.0 2013-10-01 15:05:36 -07:00
Kevin Sawicki f0ed8d8093 Downgrade to telepath@0.8.1 2013-10-01 13:34:24 -07:00
Kevin Sawicki 465cf71007 Upgrade to link@0.4.0 2013-10-01 13:27:47 -07:00
Kevin Sawicki 7a43afb31d Temporarily disable silent flag for CI debugging 2013-10-01 13:21:46 -07:00
Kevin Sawicki b3d90a1dcf Update package versions for new registry 2013-10-01 13:19:47 -07:00
Kevin Sawicki e62d5ad23b Upgrade apm to version that uses :cloud:🐜 2013-10-01 12:44:51 -07:00
Kevin Sawicki ee388b2600 Set window size and position before showing
Previously a new dev window that threw an error during bootstrap
would not be displayed.
2013-10-01 08:37:14 -07:00
Kevin Sawicki 5eb72097e5 Add missing require for quit command 2013-10-01 08:32:57 -07:00
probablycorey d42c2b3e5e Update readme
This update is pointless. I JUST WANTED TO BE THE 10,000th commit!
2013-09-30 16:43:25 -07:00
Matt Colyer 6dc6f1b7ac Call window:update-available on new AtomWindows 2013-09-30 13:36:21 -07:00
Matt Colyer a1839cccf9 Merge branch 'master' into mc-release-notes 2013-09-30 10:51:05 -07:00
Kevin Sawicki b9328c82e5 Remove themes folder from .atom template
Themes now go in ~/.atom/packages
2013-09-30 08:56:12 -07:00
Kevin Sawicki b120109cbf Expose shell.beep() through atom global 2013-09-29 22:08:45 -07:00
Kevin Sawicki 6cad026a56 Mention find-and-replace 2013-09-29 21:55:30 -07:00
Cheng Zhao cc185fc9a7 Update to atom-shell v0.5.3. 2013-09-29 22:30:37 +08:00
Matt Colyer 0d1e1c6fc6 Add missing line to set updateAvailable 2013-09-27 17:10:06 -07:00
Matt Colyer fba448ac2d Notify render processes when updates are available 2013-09-27 16:46:39 -07:00
Kevin Sawicki 4f8198b53a Mention double click improvement 2013-09-27 16:08:21 -07:00
Kevin Sawicki e3b34b8ddc Remove light/dark style direction 2013-09-27 16:07:31 -07:00
Kevin Sawicki 467282ce72 Merge pull request #898 from atom/ks-selecting-between-words-and-non-words
Favor the word when double clicking between word/non-word
2013-09-27 16:06:48 -07:00
Kevin Sawicki e2daef477c Return false if either character is whitespace 2013-09-27 16:00:24 -07:00
Kevin Sawicki cd4e64a8f8 📝 correct typos in comments 2013-09-27 16:00:24 -07:00
Kevin Sawicki 542d17913d 📝 doc Cursor.isBetweenWordAndNonWord() 2013-09-27 16:00:24 -07:00
Kevin Sawicki e5b9b1f3cf Favor the word when double clicking between word/non-word
Closes #523
2013-09-27 16:00:24 -07:00
Matt Colyer c3ee3a6496 Bump metrics packages for more resilent specs 2013-09-27 15:36:12 -07:00
Ben Ogle 28aa996b3f Merge pull request #896 from atom/bo-is-visible-is-evil
Speed up pane swapping -- isVisible() is slow
2013-09-27 15:05:47 -07:00
Matt Colyer c8a4157a3f Update metrics with performance data. 2013-09-27 14:41:53 -07:00
Ben Ogle ce9920a9ff Use jquery's hidden code in our isHidden() 2013-09-27 14:33:39 -07:00
Ben Ogle 48337f3203 Just check for display != 'none' for visilbility 2013-09-27 13:44:10 -07:00
Kevin Sawicki 2146384820 📝 Use apm publish minor in the example 2013-09-27 13:25:17 -07:00
Kevin Sawicki 32c4634c85 Upgrade to symbols-view@0.6.0 2013-09-27 13:05:05 -07:00
Kevin Sawicki b18d638fef Trigger destroyed event on TextBuffer
This is useful for packages that are buffer-oriented and want to
unsubscribe when the buffer is no longer useable.
2013-09-27 13:01:53 -07:00
Kevin Sawicki 1e65dd6c16 Upgrade to apm@c431f087249 2013-09-27 12:27:28 -07:00
Kevin Sawicki 8636c8d3d6 Add initial publishing docs
Closes #872
2013-09-27 12:25:46 -07:00
Kevin Sawicki a433f5eb61 Use current window by default in atom.confirmSync
Closes atom/tree-view#7
2013-09-27 12:10:36 -07:00
Kevin Sawicki f1d0711198 Upgrade to github-sign-in@0.6.0 2013-09-27 11:51:22 -07:00
probablycorey 6fb400926f Allow task to ask for GitHub API token 2013-09-27 11:41:37 -07:00
Kevin Sawicki 4d4914ac7c Upgrade to github-sign-in@0.5.0 2013-09-27 11:38:19 -07:00
Ben Ogle 51fed1a29a Upgrade to find-and-replace@0.21.1 2013-09-27 10:57:46 -07:00
probablycorey 2f511ec412 Give error more descriptive title 2013-09-27 10:47:26 -07:00
probablycorey 2870edaf06 Output error message if GitHub api fails 2013-09-27 10:47:02 -07:00
Kevin Sawicki 438de204ca Stop tokenizing buffer when it is destroyed 2013-09-27 10:13:27 -07:00
Kevin Sawicki a6cd8e7c85 Only reposition hidden input when editor has focus 2013-09-27 08:17:29 -07:00
Cheng Zhao 12ffc222bb Uses GitHub Releases API to download atom-shell. 2013-09-27 19:15:56 +08:00
Ben Ogle f07bbb0c7c Upgrade to markdown-preview@0.5.0 2013-09-26 18:18:26 -07:00
Ben Ogle 58ccdb4c02 Upgrade to markdown-preview@0.4.0 2013-09-26 18:15:03 -07:00
probablycorey 96cc1272b3 Update find and replace package 2013-09-26 17:00:44 -07:00
Ben Ogle 0b9a316e02 Upgrade to fuzzy-finder@0.6.0 2013-09-26 15:37:28 -07:00
Ben Ogle 6ec728698e Upgrade to find-and-replace@0.19.0 2013-09-26 15:00:16 -07:00
Ben Ogle ce98bf4343 upgrade to find-and-replace@0.18.1 2013-09-26 14:53:16 -07:00
Ben Ogle 951941a626 Upgrade to find-and-replace@0.18.0 2013-09-26 14:33:41 -07:00
Ben Ogle a9e383afa4 Add paths-searched event to the scan-handler
This allows the interface to know how many total paths were searched
2013-09-26 14:33:41 -07:00
probablycorey 6a04ffd6d2 Merge branch 'cj-dev-mode-status' 2013-09-26 14:32:58 -07:00
probablycorey 33a7ff8722 Add padding to skull 2013-09-26 14:32:44 -07:00
probablycorey 35c8d53275 Use a skull and crossbones instead of a triangle 2013-09-26 14:26:28 -07:00
probablycorey 687776c3fb Use spacepen for html generation
For consistency
2013-09-26 14:26:07 -07:00
probablycorey fb4de36a87 Merge remote-tracking branch 'origin/master' into cj-dev-mode-status 2013-09-26 14:19:35 -07:00
Matt Colyer e029616782 Merge pull request #878 from atom/mc-expose-bindings
Add API for interacting with Keymap
2013-09-26 13:26:01 -07:00
Nathan Sobo 43e2d17b1e Upgrade telepath to 0.8.0 for Document::saveSync fixes 2013-09-26 13:41:28 -06:00
Kevin Sawicki 643e32043b 🐎 Set spec directory once
Prevents an IPC call on each beforeEach getting the load settings
2013-09-26 12:20:32 -07:00
Matt Colyer 9d16dab3db Integrate settings-view with keybinding listing 2013-09-26 12:13:57 -07:00
Ben Ogle 4c86bd7dbc Upgrade to find-and-replace@0.17.0 2013-09-26 12:02:51 -07:00
Matt Colyer 67913b3672 Merge branch 'master' into mc-expose-bindings 2013-09-26 10:26:13 -07:00
Cheng Zhao 554b85153c Update to atom-shell v0.5.1. 2013-09-26 11:51:24 +08:00
Kevin Sawicki fbb778b96c Upgrade to find-and-replace@0.16.0 2013-09-25 18:56:02 -07:00
Kevin Sawicki c938c1c064 Only schedule atom.setFullScreen() when set in state 2013-09-25 18:44:37 -07:00
Paul Betts 8b73224fe3 Rewrite underscore code 2013-09-25 18:03:00 -07:00
Ben Ogle 025cee96c2 Update find and replace + themes to have coloring
for the find matches
2013-09-25 17:51:36 -07:00
Paul Betts 903a1b9bf0 Use tmp.mkdir 2013-09-25 17:50:40 -07:00
Paul Betts 459e4d5523 Rewrite evil files test to generate files on the fly 2013-09-25 17:50:40 -07:00
Paul Betts 3e933ee81b Nuke these from the repo, they break cloning on Win32 2013-09-25 17:50:40 -07:00
Kevin Sawicki 5cecd533ef Add back durations to spec reporter 2013-09-25 17:36:21 -07:00
probablycorey cceb2ebac2 Remove skull from application menu
BECAUSE IT IS A LIE
2013-09-25 17:23:16 -07:00
probablycorey 92edaf157a Use warning color 2013-09-25 17:22:56 -07:00
probablycorey 0dd08dd3d2 Add tiny dev tools status indicator 2013-09-25 17:19:30 -07:00
Ben Ogle 512f45c61e Upgrade to find-and-replace@0.14.1 2013-09-25 17:11:35 -07:00
Kevin Sawicki 153e400137 Add -9 flag to pkill command
When I ssh'ed into one of the CI boxes it had over 500 Atom processes
still hanging around.
2013-09-25 17:10:56 -07:00
Kevin Sawicki 18c4d54612 Upgrade to find-and-replace@0.14.0 2013-09-25 17:06:49 -07:00
Ben Ogle a27e6fd445 Merge pull request #885 from atom/cj-project-scan
Project scan changes for new searching behavior
2013-09-25 16:46:19 -07:00
Ben Ogle 614ca3cb5f Update to FNR v0.13.0 2013-09-25 16:40:55 -07:00
Kevin Sawicki 7840c2dac9 Merge pull request #883 from atom/ks-blank-bug
Fix blank bug
2013-09-25 16:31:46 -07:00
Ben Ogle b3fd473304 UPgrade to FNR v0.12.0 2013-09-25 16:30:36 -07:00
probablycorey 123c44c4b2 Make the --dev flag work when opening a another atom window from the command line 2013-09-25 16:27:28 -07:00
Kevin Sawicki 2a2750862a Add failing spec 2013-09-25 16:24:51 -07:00
probablycorey 93940c03ef 💄 2013-09-25 16:16:45 -07:00
Kevin Sawicki 6581eb4db6 Update offset in existing focusout handler 2013-09-25 16:14:13 -07:00
Kevin Sawicki bc3aec584b Inline hidden input offset updating 2013-09-25 16:07:59 -07:00
Kevin Sawicki 8199147fca Put input in top corner on blur
This allows it to not scroll on the next focus but still be reset
to the right location on the next cursor moved event
2013-09-25 16:07:59 -07:00
Kevin Sawicki 84efe44a5a Always keep hidden input position in visible area
Previously the input could be offscreen depend on the scroll
position of the editor and this would cause a scroll event to
occur when the input gained focused causing the editor rendering
to go out of sync.
2013-09-25 16:07:59 -07:00
Ben Ogle 824049e17a Add escapeAttribute to underscore-extensions 2013-09-25 15:59:10 -07:00
Matt Colyer c22d411e16 Handle linked packages and linked atoms 2013-09-25 15:46:06 -07:00
Matt Colyer 0f408a5626 Remove focus from test 2013-09-25 15:43:41 -07:00
Ben Ogle da6aff222b upgrade themes for loading spinners 2013-09-25 15:09:00 -07:00
Ben Ogle 865591a3da Fix indentation 2013-09-25 15:03:50 -07:00
Matt Colyer 45c9d500e9 📝 2013-09-25 14:42:36 -07:00
Matt Colyer 16e6e3ff4f Keep BindingSet private, add Keymap.getAllKeyMappings 2013-09-25 14:39:31 -07:00
probablycorey 1e88caac50 Make cut/copy/paste menu items work
Previously menu item commands were being triggered on `window` they now are triggered on
`document.activeElement`.
2013-09-25 13:57:45 -07:00
probablycorey 9006ab95fc 💄 2013-09-25 13:44:50 -07:00
Nathan Sobo 935ac5c1a0 Upgrade to telepath v0.6.0 for Site::deserializeDocument 2013-09-25 14:06:32 -06:00
Nathan Sobo 745af71fa1 Update collaboration hoping to avoid "address in use" errors in specs 2013-09-25 14:06:32 -06:00
Nathan Sobo 33a7c86646 Upgrade telepath to v0.5.1
This version of telepath provides telepath.Model, document-based
property resolution, and relational operators.
2013-09-25 14:06:10 -06:00
Kevin Sawicki 76d283c51c Upgrade to collaboration@0.15.0 2013-09-25 12:00:23 -07:00
Ben Ogle 04f0bf0244 Provide scan() delegation in editSession 2013-09-25 11:03:29 -07:00
Ben Ogle 238939e738 Bubble contents-modified from buffer through editSession 2013-09-25 11:03:29 -07:00
Ben Ogle 00cdb3e317 Add lineText and lineTextOffset to buffer.scan 2013-09-25 11:03:29 -07:00
probablycorey 9c4d239696 Fix Project::scan specs 2013-09-25 11:03:29 -07:00
Ben Ogle cb11e20100 Upgrade to scandal 0.2.0 2013-09-25 11:03:29 -07:00
probablycorey f467746cba Project::scan uses core.ignoredNames 2013-09-25 11:03:29 -07:00
probablycorey 7856a8ce62 Make the scan task actually work 2013-09-25 11:03:29 -07:00
probablycorey ba80ba458c Remove console.logs 2013-09-25 11:03:28 -07:00
probablycorey cd554a4f7b Project::scan uses a task to do its work 2013-09-25 11:03:28 -07:00
probablycorey e26d7a0320 wip 2013-09-25 11:03:28 -07:00
probablycorey 861adf6692 Start using scandal and make the specs pass 2013-09-25 11:03:28 -07:00
Ben Ogle 6dd08f85d3 Return the lineText from project.scan
Also change up match -> matchText for consistency.
2013-09-25 11:03:28 -07:00
Ben Ogle cf88868bf0 Use the full name of the -G option 2013-09-25 11:03:28 -07:00
Ben Ogle d8fdbcf1b1 Use the -G param in project::scan to search within directories 2013-09-25 11:03:28 -07:00
Ben Ogle 8dc6d57901 Ignore test 2013-09-25 11:03:28 -07:00
Kevin Sawicki d4047c80cb Load package stylesheets right before activation
Previously this was done eagerly for packages using activation events.
2013-09-25 10:22:42 -07:00
Kevin Sawicki 00c0baeceb Upgrade to metrics@0.3.0 2013-09-25 10:22:26 -07:00
Kevin Sawicki 685ec46fbb Upgrade to metrics@0.2.0 2013-09-25 10:15:32 -07:00
Cheng Zhao 774aba3c7d Update atom-shell to v0.5.0. 2013-09-25 17:39:45 +08:00
Kevin Sawicki 0602983640 Upgrade to timecop@0.4.0 2013-09-24 21:54:24 -07:00
Kevin Sawicki ea54fd78b8 Add getter for loaded themes 2013-09-24 21:44:42 -07:00
Kevin Sawicki 9222f158b5 Measure load/activate time in package classes 2013-09-24 21:31:48 -07:00
Kevin Sawicki ef48da9f2e Upgrade to timecop@0.3.0 2013-09-24 21:20:11 -07:00
Kevin Sawicki 04e7bd86d7 💄 Consistently format time log messages 2013-09-24 21:03:21 -07:00
Kevin Sawicki b65c735666 💄 Move require to top 2013-09-24 20:58:49 -07:00
Kevin Sawicki 01a02d168d Remove unused require 2013-09-24 20:57:29 -07:00
Kevin Sawicki 31c03258e9 Log app start time similarly to window start time 2013-09-24 20:53:57 -07:00
Kevin Sawicki e6f7ed9862 Run script/test from npm test 2013-09-24 20:34:36 -07:00
Kevin Sawicki 64a619fc96 Upgrade to collaboration@0.14.0 2013-09-24 19:45:45 -07:00
Matt Colyer 8eeca35c85 Expose minimal interface for viewing keymap 2013-09-24 17:06:05 -07:00
Kevin Sawicki 9f697996bc Remove patrick from dependencies 2013-09-24 17:05:13 -07:00
Matt Colyer 8f9927cb3f Merge branch 'mc-settings-view-themes' 2013-09-24 16:16:39 -07:00
Matt Colyer 8395539774 Update settings-view for theme filtering 2013-09-24 15:36:49 -07:00
Ben Ogle bec93ed092 Update to light ui v0.2.1 2013-09-24 14:03:01 -07:00
Kevin Sawicki ba7279dd51 Upgrade to find-and-replace@0.11.0 2013-09-24 10:39:51 -07:00
Ben Ogle 9f37aeba83 Upgrade to find-and-replace v0.10.0 2013-09-24 10:32:21 -07:00
Ben Ogle 55cb7b4b5a Merge pull request #875 from atom/bo-multiple-new-files
Allow users to create more than one empty buffer
2013-09-24 10:30:29 -07:00
Ben Ogle 35ffdb8bf9 Make changes from kevin for clarity 2013-09-24 10:19:15 -07:00
Matt Colyer f4f1c54016 Merge pull request #869 from atom/exception-reporting
Include exception-reporting
2013-09-24 09:56:10 -07:00
Matt Colyer e95e64c4fb Merge branch 'master' into exception-reporting
Conflicts:
	package.json
2013-09-24 09:48:12 -07:00
Kevin Sawicki a47743e18e Upgrade to find-and-replace@0.9.0 2013-09-23 18:09:03 -07:00
Ben Ogle 87fb07e657 Allow for more than one empty buffer to be open
Closes #679
2013-09-23 18:05:56 -07:00
Kevin Sawicki ef3ccc992b Upgrade to find-and-replace@0.8.0 2013-09-23 18:01:16 -07:00
Kevin Sawicki 49cc27527d Upgrade to github-sign-in@0.4.0 2013-09-23 17:34:22 -07:00
Kevin Sawicki 19635c160d Upgrade to find-and-replace@0.7.0 2013-09-23 16:48:14 -07:00
Kevin Sawicki 869fe71f73 Accept timeout option to waitsForPromise 2013-09-23 16:44:59 -07:00
Kevin Sawicki 36345185b5 📝 Mention calling after setUpEnvironment 2013-09-23 16:34:49 -07:00
Ben Ogle cdde6020d3 Merge pull request #874 from atom/bo-style-updates
Style updates
2013-09-23 16:34:23 -07:00
Kevin Sawicki f5a034f38a Add API for configuring default events for non-editor windows
Used by collaboration for when joining fails but basic keybindings
and events should still work.
2013-09-23 16:33:31 -07:00
Ben Ogle 2e7a86144e Upgrade to v0.6.0 of tree view 2013-09-23 16:27:51 -07:00
Ben Ogle 1ceaa0ceca Upgrade to v0.2.0 of dark ui theme 2013-09-23 16:27:51 -07:00
Ben Ogle 8880c32c00 Upgrade to v0.2.0 of light-ui 2013-09-23 16:27:51 -07:00
Ben Ogle d1e2c5ff82 Use find-and-replace v0.6.0 2013-09-23 16:27:50 -07:00
Ben Ogle 0e94468e6e Remove scroll-view offset
It is overridden by something in js
2013-09-23 16:27:50 -07:00
Ben Ogle 4b4f9f753f Add .focusable-panel class 2013-09-23 16:27:50 -07:00
Ben Ogle d35aa2b021 Center the mini editors 2013-09-23 16:27:50 -07:00
Ben Ogle 347b1924cd Add font-family to ui-variables 2013-09-23 16:27:49 -07:00
Ben Ogle 0e6e34cdbf Use ui-demo 0.7.0 2013-09-23 16:27:49 -07:00
Ben Ogle 82fcada49e fix blocks for lists 2013-09-23 16:27:49 -07:00
Ben Ogle a8595023c2 Move some panel styles into core 2013-09-23 16:27:49 -07:00
Kevin Sawicki b2d543b9ee Merge pull request #868 from atom/timecop
Timecop
2013-09-23 16:14:11 -07:00
Kevin Sawicki 3b78fddc56 Upgrade to timecop@0.2.0 2013-09-23 16:07:18 -07:00
Kevin Sawicki 4c2df6e291 📝 Tweak wording in require comment 2013-09-23 16:07:18 -07:00
Kevin Sawicki 461a271526 Prime require cache with atom exports 2013-09-23 16:07:18 -07:00
Kevin Sawicki 26811e62bb Add timecop@0.1.0 2013-09-23 16:07:18 -07:00
Kevin Sawicki 7faa50633e Upgrade to github-sign-in@0.3.0 2013-09-23 16:05:28 -07:00
Kevin Sawicki 7370c5fccd Upgrade to package-generator@0.8.0 2013-09-23 15:05:13 -07:00
Kevin Sawicki 137a84a6c5 Upgrade to telepath@0.4.0 2013-09-23 12:14:42 -07:00
Kevin Sawicki b39936ea29 Upgrade to snippets@0.5.0 2013-09-23 12:13:42 -07:00
Matt Colyer 46914e31f5 Include exception-reporting 2013-09-23 10:44:19 -07:00
Kevin Sawicki ae57c8f3a0 Export Site from telepath 2013-09-23 08:43:13 -07:00
Kevin Sawicki cb3143199e Upgrade to coffee-script-tmbundle@7.0.0 2013-09-22 21:33:03 -07:00
Kevin Sawicki 906ed61ec6 Record activation and load time for each package 2013-09-22 13:59:18 -07:00
Kevin Sawicki e68f1f785d Upgrade to terminal@0.9.0 2013-09-22 13:52:55 -07:00
Kevin Sawicki eec38f225e Upgrade to settings-view@0.22.0 2013-09-21 11:47:03 -07:00
Kevin Sawicki da353f6973 Upgrade to image-view@0.5.0 2013-09-21 11:44:46 -07:00
Kevin Sawicki 8d9deed687 Upgrade to image-view@0.7.0 2013-09-21 11:43:43 -07:00
Kevin Sawicki 4872c5c1a3 Export telepath.Document as Document from core 2013-09-21 11:41:07 -07:00
Kevin Sawicki f4b3cb419c Upgrade to ui-demo@0.6.0 2013-09-21 11:10:43 -07:00
Kevin Sawicki f4266b5f6a 🐎 Cache compiled CSON files
This configures season to use a cache directory similar to the
coffee cache so that dev windows don't have to recompile CSON file
on each load.

This shaves hundreds of milliseconds off of the dev window load time.

The cached CSON files are located in /tmp/atom-compile-cache/cson
2013-09-21 10:41:13 -07:00
Kevin Sawicki e254e95792 Upgrade to status-bar@0.7.0 2013-09-20 18:11:14 -07:00
Kevin Sawicki 9a014b4f9e Mention solarized 2013-09-20 18:03:51 -07:00
Ben Ogle f864414f59 Fix button heights.
relates to atom/find-and-replace#16
2013-09-20 18:03:21 -07:00
Ben Ogle 78176da861 Add a theme fixture 2013-09-20 18:03:21 -07:00
Kevin Sawicki 3c080a0d66 Only hide on close when focused 2013-09-20 17:59:19 -07:00
Kevin Sawicki f98d06d212 Add node_modules back to NODE_PATH
This is required until all packages are migrated to include their
dependencies in package.json instead of requiring other modules directly
from core.

This allows apm linking to still working while packages are migrated.
2013-09-20 17:20:01 -07:00
Kevin Sawicki fa6e85a522 💄 Require Editor and Range from atom 2013-09-20 17:06:30 -07:00
Kevin Sawicki 5a9972b370 Update editor width is chars when soft wrap is toggled
Closes #858
2013-09-20 17:04:21 -07:00
Kevin Sawicki & Matt Colyer de341a7f4c Use correct binding sets by first keystroke variable name 2013-09-20 16:24:25 -07:00
Kevin Sawicki b729858eaa Upgrade to settings-view@0.20.0 2013-09-20 15:28:43 -07:00
Matt Colyer a7bae716f1 Add context menus for the tree-view and spell-check 2013-09-20 14:43:57 -07:00
Matt Colyer a772c7461f Merge pull request #850 from atom/context-menu
Context menu
2013-09-20 14:36:11 -07:00
Matt Colyer ca3f645301 Fix requires 2013-09-20 14:14:17 -07:00
Matt Colyer d6ee17da08 Merge branch 'master' into context-menu 2013-09-20 13:57:27 -07:00
Kevin Sawicki 85cf53c210 Use dev window bootstrap file when in dev mode 2013-09-20 13:52:58 -07:00
Ben Ogle ec70950b39 Use ui-demo 0.5.0 2013-09-20 13:33:53 -07:00
Matt Colyer 25e49550cb Merge branch 'master' into context-menu
Conflicts:
	src/atom.coffee
2013-09-20 13:31:45 -07:00
Kevin Sawicki c04fa6d911 Upgrade to find-and-replace@0.5.0 2013-09-20 13:28:20 -07:00
Kevin Sawicki 191b487a53 Remove node_modules from .nakignore
This is useful to have searchable now that packages are in this folder
and can be still be excluded by using the VCS ignore config option.
2013-09-20 13:00:27 -07:00
Kevin Sawicki ef9ece74d4 Merge pull request #853 from atom/atom-api
Public API
2013-09-20 12:55:12 -07:00
Kevin Sawicki 9a54c25fca Upgrade to terminal@0.8.0 2013-09-20 12:43:40 -07:00
Kevin Sawicki 80239223db Upgrade to published package versions 2013-09-20 12:38:39 -07:00
Kevin Sawicki 571bf5f9ea Resolve bootstrap scripts against dev resource path 2013-09-20 11:04:52 -07:00
Kevin Sawicki 6a0fcc9330 Verify style.theme instead of style.userTheme
This caused specs to fail locally but not on CI since CI has
not user theme
2013-09-20 10:03:02 -07:00
Kevin Sawicki 21a3df202c Compile and lint exports folder 2013-09-20 10:03:02 -07:00
Kevin Sawicki d46891caf0 Rename atom-api require to atom 2013-09-20 10:03:02 -07:00
Kevin Sawicki ed1dcceb31 Add Public keyword to all exported classes 2013-09-20 10:03:02 -07:00
Kevin Sawicki 7c7dc1d585 Put editor-stats dependency in correct order 2013-09-20 10:03:01 -07:00
Kevin Sawicki e02a1187e1 Rename atom-api to atom 2013-09-20 10:03:01 -07:00
Kevin Sawicki 05ce975ab4 Use relative path to atom require 2013-09-20 10:03:01 -07:00
Kevin Sawicki a5191e8169 💄 Sort exports alphabetically 2013-09-20 10:03:01 -07:00
Kevin Sawicki 5c8b1a1f11 Resolve CSON file using require 2013-09-20 10:03:01 -07:00
Kevin Sawicki d754c473fc Simply NODE_PATH to only include exports 2013-09-20 10:03:01 -07:00
Kevin Sawicki 88ccafa164 Use path.join for fixtures packages path 2013-09-20 10:03:01 -07:00
Kevin Sawicki a805f9a1f5 Start doc messages with a 📝 2013-09-20 10:03:01 -07:00
Kevin Sawicki 68f6275b7c doc: Update event name 2013-09-20 10:03:01 -07:00
Kevin Sawicki a0fa0c760c Support sending messages directly to task 2013-09-20 10:03:01 -07:00
Kevin Sawicki b4f62c8efe Use atom-api tag of find-and-replace 2013-09-20 10:03:01 -07:00
Kevin Sawicki bbd2f37b4f Switch to atom-api published tags 2013-09-20 10:03:01 -07:00
Kevin Sawicki 27573fe619 Use relative require paths 2013-09-20 10:02:23 -07:00
Kevin Sawicki 3197273e21 Spy on node's fs 2013-09-20 10:02:23 -07:00
Kevin Sawicki c2d5cd9b55 Use relative path for atom-package require 2013-09-20 10:02:23 -07:00
Kevin Sawicki 7c31710a5d Export BufferedProcess from core 2013-09-20 10:02:23 -07:00
Kevin Sawicki 51ecd515dd Mention why jquery shim is needed 2013-09-20 10:02:23 -07:00
Kevin Sawicki e5b2c6cd11 Export stringscore from vendor 2013-09-20 10:02:23 -07:00
Kevin Sawicki b6e112ca8d Export Point and Range from telepath 2013-09-20 10:02:22 -07:00
Kevin Sawicki 6791e00562 Don't export classes that are unusable from a task
Detect if a task is being run in atom-api and only export
classes that are usable from that context.
2013-09-20 10:02:22 -07:00
Kevin Sawicki f4d8c84a8e Include stack for uncaught exceptions 2013-09-20 10:02:22 -07:00
Kevin Sawicki 05505a9871 Add missing require 2013-09-20 10:02:22 -07:00
Kevin Sawicki 47db0a7b3b Export pathForRepositoryUrl from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 8cadf8252d Use openers ivar 2013-09-20 10:02:22 -07:00
Kevin Sawicki 58367170ce Export Directory class from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki a727fa5a84 Export Git class from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 6484667c6e Export Task class from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki fe48ec6232 Export SelectList from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 6146c0934a Export EventEmitter from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 49647ffc58 Provide type from package
This prevents packages from needing instance of checks for package
class type
2013-09-20 10:02:22 -07:00
Kevin Sawicki 32556b0ce6 Export BufferedNodeProcess from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 53d9eaf976 Export Editor from core 2013-09-20 10:02:22 -07:00
Kevin Sawicki 7737ba93a8 💄 Sort exports 2013-09-20 10:02:21 -07:00
Kevin Sawicki 6690dd6942 Export Subscriber from core 2013-09-20 10:02:21 -07:00
Kevin Sawicki a06012cf2e Remove duplicate constructor 2013-09-20 10:02:21 -07:00
Kevin Sawicki 00373cd386 Export ScrollView from core 2013-09-20 10:02:21 -07:00
Kevin Sawicki 0d88104367 Store openers on instance instead of on class
This allows packages to not have require access to Project just to register
a custom opener and allows projects to have different sets of openers.
2013-09-20 10:02:21 -07:00
Kevin Sawicki f95669c4bd Use relative require paths to src/ files 2013-09-20 10:02:21 -07:00
Kevin Sawicki a52951712c Use fs from atom-api 2013-09-20 10:02:21 -07:00
Kevin Sawicki cd12b1df0b Use relative path to task-bootstrap 2013-09-20 10:02:21 -07:00
Kevin Sawicki 99eab6f98e Inline requires instead of paths 2013-09-20 10:02:21 -07:00
Kevin Sawicki c8e9865b39 Use relative path to view class require 2013-09-20 10:02:21 -07:00
Kevin Sawicki 8f6be6caca Resolve path to handler 2013-09-20 10:02:21 -07:00
Kevin Sawicki d11742e178 Use relative require path to package class 2013-09-20 10:02:21 -07:00
Kevin Sawicki aee8df1909 Use correct path underscore-extensions 2013-09-20 10:02:21 -07:00
Kevin Sawicki 6f6daf6db0 Use relative paths for requires 2013-09-20 10:02:21 -07:00
Kevin Sawicki 0aa28cbfac Pre-resolve paths used in task bootstrap 2013-09-20 10:02:20 -07:00
Kevin Sawicki cc4477185f Resolve bootstrap script to make it absolute 2013-09-20 10:02:20 -07:00
Kevin Sawicki 73fab20d7e Use relative require path for coffee-cache 2013-09-20 10:02:20 -07:00
Kevin Sawicki 8fec056895 Remove src from NODE_PATH 2013-09-20 10:02:20 -07:00
Kevin Sawicki 41fc4f7fe6 Use relative require paths in src/ files 2013-09-20 10:02:20 -07:00
Kevin Sawicki ad0c105630 Upgrade to jasmine-focused@0.14.0 2013-09-20 10:02:20 -07:00
Kevin Sawicki 38f0e24485 Pass absolute paths to requireStylesheet 2013-09-20 10:02:20 -07:00
Kevin Sawicki 3120ca7bec Require File from atom-api 2013-09-20 10:02:20 -07:00
Kevin Sawicki 200e91175a Use require.resolve to lookup stylesheet path 2013-09-20 10:02:20 -07:00
Kevin Sawicki 3c94ca4b9e Use relative paths in spec requires 2013-09-20 10:02:20 -07:00
Kevin Sawicki fd85acd3eb Remove unused require 2013-09-20 10:02:20 -07:00
Kevin Sawicki 95673b390d Use relative paths when resolving 2013-09-20 10:02:20 -07:00
Kevin Sawicki 671c2750ef Don't resolve fixtures directories using load path 2013-09-20 10:02:19 -07:00
Kevin Sawicki 521a2b8636 Use relative paths for resolving fixture paths 2013-09-20 10:02:19 -07:00
Kevin Sawicki 96302e1e0d Add vendor prefix for jasmine path 2013-09-20 10:02:19 -07:00
Kevin Sawicki d6383f2bea Add temporary stringscore shim to exports 2013-09-20 10:02:19 -07:00
Kevin Sawicki e9db2cfe17 Remove vendor prefix from bootstrap path 2013-09-20 10:02:19 -07:00
Kevin Sawicki c7a0a4bcd9 Use relative require paths in specs 2013-09-20 10:02:19 -07:00
Kevin Sawicki 7ad85ee71f Export jQuery directly from vendor/ 2013-09-20 10:02:19 -07:00
Kevin Sawicki 9915ba73b8 Remove spec/ from NODE_PATH 2013-09-20 10:02:19 -07:00
Kevin Sawicki 6ccc8fe793 Keep RootView unrenamed for now 2013-09-20 10:02:19 -07:00
Kevin Sawicki 864ebf5c36 Remove vendor/ from NODE_PATH
Add jQuery temporarily to exports to not break packages
2013-09-20 10:02:19 -07:00
Kevin Sawicki 71b74c466e Remove unused requires 2013-09-20 10:02:19 -07:00
Kevin Sawicki 57eaaece9d Set fs extensions to override fs functions 2013-09-20 10:02:19 -07:00
Kevin Sawicki 595bd076bf Export all fs functions through fs-utils 2013-09-20 10:02:19 -07:00
Kevin Sawicki b84df9ff29 Use relative require path to jasmine stylesheet 2013-09-20 10:02:19 -07:00
Kevin Sawicki 1547912e3f 💄 2013-09-20 10:02:18 -07:00
Kevin Sawicki 7e6ee6cc0c Use relative require paths to stylesheets 2013-09-20 10:02:18 -07:00
Kevin Sawicki 4bbc93e806 Remove static from NODE_PATH 2013-09-20 10:02:18 -07:00
Kevin Sawicki 52abb4afc9 Remove nakedLoad and use standard require for jasmine 2013-09-20 10:02:18 -07:00
Kevin Sawicki 53dadf2d7f Use relative requires to vendored stringscore 2013-09-20 10:02:18 -07:00
Kevin Sawicki 867ab355b0 Use relative requires to vendored specificity 2013-09-20 10:02:18 -07:00
Kevin Sawicki a7afe7b46f Add underscore, jQuery, and SpacePen to exports 2013-09-20 10:02:18 -07:00
Kevin Sawicki 358b98cc70 Navigate up to src directory 2013-09-20 10:02:18 -07:00
Kevin Sawicki 1b8d61e0b4 Export File class 2013-09-20 10:02:18 -07:00
Kevin Sawicki d322f9a5fa Add exports folder to NODE_PATH
This is where all public classes will be exported through
2013-09-20 10:02:18 -07:00
Matt Colyer e6d3fa7c62 Fix race condition in package-generator specs 2013-09-20 10:01:13 -07:00
Cheng Zhao 98334aebdd Update atom-shell to v0.4.9. 2013-09-20 19:54:08 +08:00
Matt Colyer e8125defb9 Update specs to match latest changes 2013-09-19 14:55:17 -07:00
Matt Colyer f82449c814 Only show context menu separator when it makes sense. 2013-09-19 14:44:15 -07:00
probablycorey bc62d9e780 Update snippets package 2013-09-19 14:44:12 -07:00
probablycorey 924bad6e53 Remove keybindings for commands that mini editors don't use 2013-09-19 14:44:12 -07:00
Matt Colyer c39ced381d Implement declarative context menu loading 2013-09-19 14:21:31 -07:00
Matt Colyer 0aa0d7529a Merge branch 'master' into context-menu 2013-09-19 12:01:36 -07:00
Matt Colyer f187d88197 Add theme generation to package-generator 2013-09-19 11:59:00 -07:00
Kevin Sawicki ca9dda67a3 Upgrade to find-and-replace@0.3.0 2013-09-19 11:05:15 -07:00
probablycorey 810f047619 Sort package list alphabetically 2013-09-18 16:26:05 -07:00
probablycorey da97a01cf6 Replace the Command Panel with Find And Replace 2013-09-18 16:26:05 -07:00
Kevin Sawicki ecfc0f70e1 Upgrade to toml@0.2.0 2013-09-18 16:25:39 -07:00
Kevin Sawicki 9a05bc0add Upgrade to gfm@0.4.0 2013-09-18 16:25:17 -07:00
probablycorey 82de7009d5 Allow for case insensitive project.scan searches 2013-09-18 14:41:38 -07:00
Matt Colyer 037d39e943 Rewrite based on feedback 2013-09-18 09:53:57 -07:00
Cheng Zhao e509e23a0f Merge pull request #852 from atom/ime-support
Improve IME support
2013-09-17 23:09:18 -07:00
Kevin Sawicki 0797a89088 Add bootstrap to package.json
Removes the need to have it as a submodule by just using it directly
from the package.json using a Git URL bound to v3.0.0
2013-09-17 15:09:43 -07:00
Matt Colyer 2f419a639c s/ContextMenuMap/ContextMenu/g 2013-09-17 14:34:05 -07:00
Matt Colyer 63f8631fd1 Minor grammar improvements 2013-09-17 14:14:34 -07:00
Matt Colyer f64c0e0472 Warm the theme cache for the base16 theme 2013-09-17 14:10:11 -07:00
Matt Colyer 075daa8e94 Bundle solarized dark syntax theme 2013-09-17 14:09:54 -07:00
Matt Colyer 6c65de5b94 Bump metrics to 0.1.1
Switches to octolytics production service.
2013-09-17 13:58:16 -07:00
Kevin Sawicki 89204f9077 Spy on atom.hide in window specs 2013-09-17 11:11:01 -07:00
Kevin Sawicki 067b2b437c Mention base16 theme now bundled 2013-09-17 11:02:13 -07:00
Kevin Sawicki f5c5ca0a55 Hide window immediately when closing
Previously the body element would be hidden causing a white flash
before the window was closed.

Now the window is hidden during beforeunload unless it is in the middle
of a restart.
2013-09-17 11:00:58 -07:00
Cheng Zhao e955a0d282 Enable to use http proxy when updating atom-shell.
Used for 🐢 networking :/
2013-09-17 10:07:19 +08:00
Kevin Sawicki 1054f1be16 Remove unused .github file 2013-09-16 19:06:51 -07:00
Kevin Sawicki 57dc5eced2 Add base16-tomorrow-dark-theme@0.1.0 2013-09-16 18:49:19 -07:00
Cheng Zhao faffc09f7a Merge pull request #844 from atom/custom-resource-loader
Add custom resource loader, fixes #197
2013-09-16 18:44:21 -07:00
Kevin Sawicki 3fee026d04 Don't load keymaps, grammars, or properties for themes
Theme packages are just stylesheets and previously all themes had
their stylesheets loaded even when there weren't being used.
2013-09-16 18:38:46 -07:00
Kevin Sawicki 74e8614653 💄 Use theme as variable name instead of t 2013-09-16 18:34:59 -07:00
Ben Ogle b1bd387aee Remove parens 2013-09-16 18:09:45 -07:00
Ben Ogle 1ba04cb58a Reverse the loading order of themes.
We want the first/top-most theme's css to be loaded after the others 
so its styles will override styles in the other themes.
2013-09-16 18:09:01 -07:00
Matt Colyer 9e11f5a737 Add ContextMenuMap and use it to create the context menu 2013-09-16 17:38:41 -07:00
Matt Colyer 2e5e841cd5 Pull logic for context menus into render process 2013-09-16 17:28:20 -07:00
Kevin Sawicki 37c10af4de Upgrade to atom-light-syntax@0.2.0 2013-09-16 17:18:59 -07:00
Kevin Sawicki 958618ae01 Upgrade to atom-dark-syntax@0.2.0 2013-09-16 17:12:16 -07:00
Kevin Sawicki 35fd5be62d Upgrade to less-cache@0.8.0 2013-09-16 16:58:07 -07:00
Kevin Sawicki 52ac06cfd9 Don't look for less files under src/
This is no longer needed now that packages have been extracted from
this folder.
2013-09-16 16:44:54 -07:00
Kevin Sawicki 9aed542e4e Remove bootstrap from less config 2013-09-16 16:36:52 -07:00
Kevin Sawicki d9313bd5e3 Remove remaining references to deleted themes folder 2013-09-16 16:34:49 -07:00
Kevin Sawicki 46b0c8087e Remove bootstrap from LESS search path 2013-09-16 16:32:21 -07:00
Kevin Sawicki 9ea1ad7ce9 Use resolvable path to bootstrap stylesheet 2013-09-16 16:31:51 -07:00
Kevin Sawicki f1f5fb4fd8 Upgrade to settings-view@0.18.0 2013-09-16 16:30:40 -07:00
Kevin Sawicki 33bce240cf Use LESS imports paths from config 2013-09-16 16:23:59 -07:00
Kevin Sawicki bb479f47d9 Put vendor/bootstrap/less instead of vendor/ on less search path 2013-09-16 16:16:05 -07:00
Kevin Sawicki 613f72003c Precompile main stylesheet from each theme 2013-09-16 15:52:15 -07:00
Kevin Sawicki 92c2da30cc Remove themes directory from less config 2013-09-16 15:47:58 -07:00
Kevin Sawicki 262ada0b6c 💄 typo in TODO comment 2013-09-16 15:35:45 -07:00
Kevin Sawicki 508a0d4f2d Upgrade to less-cache@0.7.0 2013-09-16 15:34:06 -07:00
Kevin Sawicki 02f0bfb0e0 💄 2013-09-16 15:05:54 -07:00
Kevin Sawicki b68fc9c44a Copy dev dependencies to application directory 2013-09-16 15:01:13 -07:00
Kevin Sawicki 0d8411dbbb Prebuild LESS cache for common theme configurations 2013-09-16 14:58:25 -07:00
Kevin Sawicki f54f4f440d 💄 2013-09-16 14:41:25 -07:00
Kevin Sawicki c80afda593 Don't precompile LESS files 2013-09-16 14:41:25 -07:00
Kevin Sawicki c8fc7b8400 Delete less cache from partial-clean task 2013-09-16 14:40:39 -07:00
Kevin Sawicki ad381087dd Cache compiled LESS files 2013-09-16 14:40:39 -07:00
Matt Colyer 134510dfe1 Move old Theme specs and apply them to AtomPackage. 2013-09-16 12:15:09 -07:00
Cheng Zhao 61f9cf059a 💄 Remove unused requires. 2013-09-17 00:05:09 +08:00
Kevin Sawicki a234ed96bd Remove themes paths from config
Themes are now co-located with packages
2013-09-16 08:34:03 -07:00
Cheng Zhao 486de96751 Make accented character suggestion work for multiple cursors. 2013-09-16 18:05:44 +08:00
Cheng Zhao 80244a1ae7 Work around of the accented character suggestion feature in OS X.
On OS X, press and hold `c` could show an accent menu to replace `c` with
accented ones like `ć`, there is no corresponding events in W3C, so we
detected it by checking whether the text in input box are selected (this
is how Chrome implemented this feature).

And also note that IME inputs were handled the same way in Chrome, the
compostion text would be marked as selected and got replaced with final
inputs. However the compostion text won't trigger textInput event, so
it's distinguished by checking whether the hiddenInput's value are
changed by Chrome.

Fixes atom/atom-shell#50.
2013-09-16 15:54:25 +08:00
Cheng Zhao 666d202eb6 Add spec for syncing cursorView and hiddenInput's position. 2013-09-16 11:03:40 +08:00
Cheng Zhao 54e25677b6 Restore previous selected text after IME composition is done. 2013-09-16 10:44:15 +08:00
Cheng Zhao f4e3f7a055 Skip the undo stack when changing composition text. 2013-09-16 10:43:34 +08:00
Cheng Zhao dee9cce2e3 Select the text while inserting. 2013-09-14 20:20:45 +08:00
Cheng Zhao a92a65929a Make hiddentInput bigger when inputing with IME.
Some IME's input bubble would have strange behavior when they thought
the target input box is small.
2013-09-14 20:10:36 +08:00
Cheng Zhao c9d4c761bb Show IME's composition text on screen.
The composition text should only show on screen temporarily and gets
disappered when input is cancelled or done. We simply mark the
composition as selected, so it can not only indicate this is composition
text instead of normal text, but also updates the composition without
adding new interfaces.
2013-09-14 19:52:39 +08:00
Cheng Zhao 0c839f419a Move hidden input to the same position with cursor view.
This is required to make IME's input bubble follow the cursor.
2013-09-14 18:22:34 +08:00
Cheng Zhao c682a964fa Add spec for the 'atom' protocol URLs. 2013-09-14 15:00:19 +08:00
Cheng Zhao 0a8d9bdad5 doc: Add usage on the 'atom' protocol URL. 2013-09-14 14:34:00 +08:00
Cheng Zhao 1b4be18dd7 Add ~/.atom/packages to the resource load path. 2013-09-14 11:07:00 +08:00
Cheng Zhao 656793108c Add the "atom://" custom protocol handler. 2013-09-14 11:04:15 +08:00
Cheng Zhao 59e7229ea4 Update to atom-shell v0.4.7. 2013-09-14 11:04:15 +08:00
Matt Colyer 906c5b0a9d Bump settings view, again. 2013-09-13 17:22:10 -07:00
Matt Colyer 05dd400772 Bump settings-view for compatibility 2013-09-13 17:16:33 -07:00
Matt Colyer c413f024f2 Make the build green 2013-09-13 16:21:26 -07:00
Matt Colyer 382a7b8a7f Update specs to reflect new functionality 2013-09-13 16:21:07 -07:00
Matt Colyer 658c106349 Convert fixture themes to packages 2013-09-13 16:20:05 -07:00
Matt Colyer a4fd23b645 Remove unused Theme class 2013-09-13 13:50:25 -07:00
Matt Colyer a83878590d Remove build step which copied themes folder 2013-09-13 12:13:33 -07:00
Matt Colyer c6a23ba32c Add theme dependencies 2013-09-13 12:13:32 -07:00
Matt Colyer e00936f49c Remove themes directory 2013-09-13 12:13:32 -07:00
Matt Colyer 1361ec6ec1 Ensure that theme styles are applied after packages 2013-09-13 12:13:32 -07:00
Matt Colyer 708c760c6c Implement index.less/css fallback for themes 2013-09-13 12:13:32 -07:00
Matt Colyer b1675714e6 Load themes after packages, since we depend on them 2013-09-13 12:13:32 -07:00
Matt Colyer a4dedeb92d Use packages to load themes 2013-09-13 12:13:32 -07:00
Matt Colyer a3069edec0 Add test for initialLine option to EditSession 2013-09-13 11:42:31 -07:00
Matt Colyer 7c84f38410 Be more defensive about parsing line numbers 2013-09-13 11:42:31 -07:00
Matt Colyer 9a64b2775d 💄 2013-09-13 11:42:31 -07:00
Matt Colyer 3dd6e97ca1 Correct documentation 2013-09-13 11:42:31 -07:00
Matt Colyer 4b90ba06ff Add a small note about where ipc 'open'. 2013-09-13 11:42:31 -07:00
Matt Colyer e8838e3bd0 Handle file paths that contain line numbers 2013-09-13 11:42:31 -07:00
Ben Ogle 7aa87adf8d upgrade to status-bar 0.5.0 2013-09-13 11:38:21 -07:00
probablycorey ae6f0c40e6 Fix default project path in specs 2013-09-13 11:34:47 -07:00
Ben Ogle 448064b1cb Only attach the mousewheel handler on regular editors 2013-09-13 11:05:33 -07:00
Ben Ogle f9a5d505d2 Upgrade to Settings 0.15.0 2013-09-13 11:02:37 -07:00
Corey Johnson 2bba50bdd0 Use a packages fixtures directory as the default project directory 2013-09-13 09:01:22 -07:00
Corey Johnson 2152004883 Use the ACTUAL spec directory instead of the specs parent 2013-09-13 09:01:22 -07:00
Corey Johnson e64119ade2 Rename specPath loadSetting to specDirectory 2013-09-13 09:01:22 -07:00
Ben Ogle 7d679f9808 Upgrade to settings 0.14.0 2013-09-12 16:27:23 -07:00
Ben Ogle 5d923357a9 Add a separator between panes in the light theme 2013-09-12 14:04:19 -07:00
Ben Ogle b6a503ac3b Add a separator between panels 2013-09-12 14:04:19 -07:00
Ben Ogle be5c7a87f9 Fix strangeness when split panes 2013-09-12 14:04:19 -07:00
Ben Ogle 634ce0ade1 Use settings-view v0.13.0 2013-09-12 14:04:19 -07:00
Ben Ogle a89daf5153 Remove units on 0 2013-09-12 14:04:19 -07:00
Ben Ogle 09907388b7 Add sortable styles to the light theme 2013-09-12 14:04:19 -07:00
Ben Ogle a8e8bb9303 Fix section styles 2013-09-12 14:04:18 -07:00
Ben Ogle f310797b96 Style the bootstrap tabs 2013-09-12 14:04:18 -07:00
Ben Ogle f887df178c Fix small issues 2013-09-12 14:04:18 -07:00
Ben Ogle c8e0b99241 Add drop down styles to dark theme 2013-09-12 14:04:18 -07:00
Ben Ogle 81a19ea3db Add pane styles to dark theme 2013-09-12 14:04:18 -07:00
Ben Ogle 6400365a27 Style the .caret 2013-09-12 14:04:18 -07:00
Ben Ogle 7ae8f2d836 Style the sortable lists in settings 2013-09-12 14:04:17 -07:00
Ben Ogle 6277fbcf80 Remove merged screw up 2013-09-12 14:04:17 -07:00
Ben Ogle 579ccbde0f Move sortable styles into the theme 2013-09-12 14:04:17 -07:00
Ben Ogle b96c1b4186 Sections can be created with the .section class 2013-09-12 14:04:17 -07:00
Ben Ogle e0a9d3acec Links have a pointer cursor 2013-09-12 14:04:17 -07:00
Ben Ogle 261f61ac26 Oops 2013-09-12 14:04:17 -07:00
Ben Ogle e9b7e27fe0 Update sections to handle the edge borders 2013-09-12 14:04:17 -07:00
Ben Ogle 210fbc6fb1 Add bootstrap less file 2013-09-12 14:04:17 -07:00
Ben Ogle 5b362a5a34 AtomPackages emit events 2013-09-12 14:02:55 -07:00
Ben Ogle fe6732bcdb Remove theme.deactivate calls in afterEach 2013-09-12 14:02:55 -07:00
Ben Ogle 48f01c66e2 Change Theme load verbiage to activate
This is to be more consistent with packages.
2013-09-12 14:02:54 -07:00
Ben Ogle 28d48f983e Use _.contains() rather than indexOf() 2013-09-12 14:02:54 -07:00
Ben Ogle ce35a1d380 Remove duplicate of Theme creation 2013-09-12 14:02:54 -07:00
Ben Ogle c831898781 getLoadedStylesheetPaths -> getStylesheetPaths
To be consistent with Packages
2013-09-12 14:02:54 -07:00
Ben Ogle f3aa8f1024 💄 Long line -> multiple lines 2013-09-12 14:02:54 -07:00
Ben Ogle 69f28855f1 💄 Reorder functions in Theme 2013-09-12 14:02:54 -07:00
Ben Ogle a806f9c95c Add getPath() and getLoadedStylesheetPaths() 2013-09-12 14:02:54 -07:00
Ben Ogle 05b98cefe5 getThemes -> getLoadedThemes 2013-09-12 14:02:53 -07:00
Ben Ogle c1af8a86d3 Remove log line 2013-09-12 14:02:53 -07:00
Ben Ogle 91ce1a573d Remove the unloadBaseStylesheets()
It is no longer necessary. We now replace the contents of the style tags
2013-09-12 14:02:53 -07:00
Ben Ogle d8850c2c77 Use cachedContents when checking for an update.
Without this change, we would never get the initial file's change
without calling .read() first
2013-09-12 14:02:53 -07:00
Ben Ogle 261d386809 Add a theme-added event to the theme manager 2013-09-12 14:02:53 -07:00
Ben Ogle d3eec2db05 deactivated event on themes + can reload stylesheet 2013-09-12 14:02:53 -07:00
Ben Ogle b48a35fc14 Reload the stylesheet when it is applied >1x 2013-09-12 14:02:53 -07:00
Ben Ogle d2e125357a Fix .block css definition
It was selecting .blocks in the highlighted syntax. See #836
2013-09-12 13:47:10 -07:00
Kevin Sawicki 2304518a1e Upgrade to archive-view@0.5.0 2013-09-11 19:04:48 +01:00
Kevin Sawicki 428ae8b06f Upgrade to archive-view@0.4.0 2013-09-11 18:56:59 +01:00
Matt Colyer b5dfc81467 Ignore git ignored files when searching a project 2013-09-11 10:05:34 -07:00
Matt Colyer 81a18565f0 Publish docs don't need patch versions 2013-09-11 09:49:43 -07:00
Corey Johnson 15c3e2c729 Update comment 2013-09-10 14:51:09 -07:00
Corey Johnson 2eb3b7bf35 Always open dev tools before benchmarks are run
Otherwise profiles aren't generated.
2013-09-10 14:51:09 -07:00
Corey Johnson 249044e754 Add application:run-benchmarks command 2013-09-10 14:51:09 -07:00
Ben Ogle c5b56d4070 Update to grammar-selector v0.3.1 2013-09-10 13:55:34 -07:00
Ben Ogle 83f09af89b Remove .less extensions from imports 2013-09-10 12:01:35 -07:00
Ben Ogle d183688699 Update to collaboration v0.10.0 2013-09-10 12:01:35 -07:00
Ben Ogle b7f424cac3 Update to command-panel v0.3.0 2013-09-10 12:01:35 -07:00
Ben Ogle b7a258f152 Update to command-palette v0.2.0 2013-09-10 12:01:35 -07:00
Ben Ogle 3534a2842a Update to fuzzy-finder v0.4.0 2013-09-10 12:01:35 -07:00
Ben Ogle f492617225 Update to grammar-selector v0.3.0 2013-09-10 12:01:35 -07:00
Ben Ogle 3ade9f2612 Update to settings-view v0.12.0 2013-09-10 12:01:34 -07:00
Ben Ogle c82e708a99 Update to status-bar v0.4.0 2013-09-10 12:01:34 -07:00
Ben Ogle f6a0c1cbf3 Update to tabs v0.3.0 2013-09-10 12:01:34 -07:00
Ben Ogle f7e0230fc1 Use tree-view 0.3.0 2013-09-10 12:01:16 -07:00
Ben Ogle 3b2ff8adcf Unset the theme
This caused failures in the CommandPanel package.
2013-09-10 12:01:16 -07:00
Ben Ogle 864631643b Use dev version of collaboration 2013-09-10 12:01:16 -07:00
Ben Ogle 31964bc399 💄 Multiple rules on multiple lines in themes 2013-09-10 12:01:16 -07:00
Ben Ogle e9b3ad2f68 💄 Rules with multiple selectors on 2 lines
In /static
2013-09-10 12:01:16 -07:00
Ben Ogle ba0b90971e Remove ui-colors from static 2013-09-10 12:01:16 -07:00
Ben Ogle c1f92facfb Use 0.3.1 of ui-demo 2013-09-10 12:01:15 -07:00
Ben Ogle f8b6e8acce Use dev version of command-panel. 2013-09-10 12:01:15 -07:00
Ben Ogle 598b1b100e Add .has-flat-children 2013-09-10 12:01:15 -07:00
Ben Ogle e8f3879048 Move text declaration into the other heading definition 2013-09-10 12:01:15 -07:00
Ben Ogle a94a1924a0 Add selected var to the ui variables 2013-09-10 12:01:15 -07:00
Ben Ogle e99f97b9fe Add bordered panels to the light theme 2013-09-10 12:01:15 -07:00
Ben Ogle d39651a69d Add new vars to all ui-variables files. 2013-09-10 12:01:15 -07:00
Ben Ogle 8c0021a4cb Fix tabs 2013-09-10 12:01:15 -07:00
Ben Ogle ee131f7012 Add .bordered panel 2013-09-10 12:01:15 -07:00
Ben Ogle 57f6558602 Panels and inset panels are handled better 2013-09-10 12:01:14 -07:00
Ben Ogle 3621136ab5 💄 No more bootstrap-overrides.less 2013-09-10 12:01:14 -07:00
Ben Ogle 99ea5f02e4 Add pane-item class 2013-09-10 12:01:14 -07:00
Ben Ogle b8085e06b7 Handle trees without disclosure arrows 2013-09-10 12:01:14 -07:00
Ben Ogle & Kevin Sawicki 01bfe77eb7 Move inset-panel out of tool-panel 2013-09-10 12:01:14 -07:00
Ben Ogle e3a78bab9c Light mini editors handle light syntax theme 2013-09-10 12:01:14 -07:00
Ben Ogle c02e073827 Dark mini editors handle light syntax 2013-09-10 12:01:14 -07:00
Ben Ogle 351ce7fa15 Include dev command-palette 2013-09-10 12:01:14 -07:00
Ben Ogle 187dee8e7b Include dev grammar selector 2013-09-10 12:01:14 -07:00
Ben Ogle e339933d98 upgrade to ui-demo 0.3.0 2013-09-10 12:01:14 -07:00
Ben Ogle 35009b73b5 Add fuzzy-finder dev to package.json 2013-09-10 12:01:13 -07:00
Ben Ogle e81d2e9ecc Add status-bar dev to package.json 2013-09-10 12:01:13 -07:00
Ben Ogle 243e62d14e Use dev tabs package 2013-09-10 12:01:13 -07:00
Ben Ogle f7ba202720 Add link styles 2013-09-10 12:00:47 -07:00
Ben Ogle f336ebf668 Revert tabs version to 0.2.0 2013-09-10 12:00:46 -07:00
Ben Ogle d37b5fcb46 Use left margin in inline-blocks to the right 2013-09-10 12:00:23 -07:00
Ben Ogle 0e7cae9a91 Add .icon-size mixin to octicons 2013-09-10 12:00:23 -07:00
Ben Ogle cc83b70459 Use tabs from bo-theme-rework bucket. 2013-09-10 12:00:23 -07:00
Ben Ogle 3e4ba1f833 Add padding to all .icons 2013-09-10 11:59:49 -07:00
Ben Ogle d311ee9c70 Rename links -> icons 2013-09-10 11:59:49 -07:00
Kevin Sawicki 15beb22636 Upgrade to ui-demo@0.2.0 2013-09-10 11:59:49 -07:00
Ben Ogle 84bd5d543a extract a few styles from the tree view 2013-09-10 11:59:49 -07:00
Kevin Sawicki 14eacd4c26 Remove unneeded units on zero values 2013-09-10 11:59:49 -07:00
Ben Ogle 1267ac57fc Add new variables to the fixture theme 2013-09-10 11:59:48 -07:00
Ben Ogle 15e9ec2766 Add new variables to static fallback 2013-09-10 11:59:48 -07:00
Ben Ogle ffcf621afc Add new variables to dark theme 2013-09-10 11:59:48 -07:00
Ben Ogle 3cb6710eed Fix selected items in lists 2013-09-10 11:59:48 -07:00
Ben Ogle 65f597c324 Fix shadow in popover-list 2013-09-10 11:59:48 -07:00
Ben Ogle 599b33f4e0 Style inputs 2013-09-10 11:59:48 -07:00
Ben Ogle 7df12f0110 Add tree view css for light ui 2013-09-10 11:59:48 -07:00
Ben Ogle 8df96e9cd5 Style lists in overlays 2013-09-10 11:59:48 -07:00
Ben Ogle 852cbe3529 Fix weirdness with list colors in light ui 2013-09-10 11:59:48 -07:00
Ben Ogle 35acd60c7f Selected things in lists should use proper text color 2013-09-10 11:59:47 -07:00
Ben Ogle 6aa8bb4116 Lists use the selected bg color 2013-09-10 11:59:47 -07:00
Ben Ogle 4c0c786097 Bottom border looks better 2013-09-10 11:59:47 -07:00
Ben Ogle 7ffc766d26 Refactor tab border colors a bit 2013-09-10 11:59:47 -07:00
Ben Ogle b81329d8d8 Style the tabs 2013-09-10 11:59:47 -07:00
Ben Ogle bc6cd238d2 Selected text is different than highlighted 2013-09-10 11:59:47 -07:00
Ben Ogle 14c153e00f Use proper selected variable 2013-09-10 11:59:47 -07:00
Ben Ogle 906fe7bb37 Use button mixin properly in panels 2013-09-10 11:59:46 -07:00
Ben Ogle 2912893ac7 Buttons for light UI 2013-09-10 11:59:46 -07:00
Ben Ogle 53ab72e058 Update variables 2013-09-10 11:59:46 -07:00
Kevin Sawicki 44437cbb9a Add ui-demo@0.1.0 2013-09-10 11:59:46 -07:00
Kevin Sawicki 884ab2ed7b Upgrade to tree-view@bo-theme-rework 2013-09-10 11:59:46 -07:00
Kevin Sawicki b4f90bdf4d Upgrade to settings-view@bo-upgrade-bootstrap 2013-09-10 11:59:46 -07:00
Kevin Sawicki ed4b69b43f Disable duplicate-background-images rule
This causes false positives for mixins that set the background-image.
2013-09-10 11:59:46 -07:00
Kevin Sawicki d2efaf03d1 Remove unneeded units 2013-09-10 11:59:45 -07:00
Ben Ogle 4798db3679 initial light theme 2013-09-10 11:59:45 -07:00
Ben Ogle 41a3e8f84d Remove old light theme 2013-09-10 11:59:45 -07:00
Kevin Sawicki 95b7891a05 💄 2013-09-10 11:59:45 -07:00
Ben Ogle 407919f566 Rename neue-dark-ui to atom-dark-ui 2013-09-10 11:59:45 -07:00
Ben Ogle 50fd78ff7b Remove old dark ui theme 2013-09-10 11:59:45 -07:00
Ben Ogle e9c0f6b6d9 Remove ui-mixins dep from static 2013-09-10 11:59:45 -07:00
Ben Ogle 9440512113 Extract some of the list structure into base css 2013-09-10 11:59:45 -07:00
Ben Ogle dfdd172b17 Move sections into base CSS 2013-09-10 11:59:44 -07:00
Ben Ogle 6e9bcfcbcf Move links css into base css 2013-09-10 11:59:44 -07:00
Ben Ogle 59f51eb25b Move utility block classes to the base css 2013-09-10 11:59:44 -07:00
Ben Ogle 14569aa46b Pull common button code into base css 2013-09-10 11:59:44 -07:00
Ben Ogle 14aa8951f8 Move files around for consistency 2013-09-10 11:59:44 -07:00
Ben Ogle 5734ee840c Add ui-site-colors classes and rename the vars. 2013-09-10 11:59:44 -07:00
Ben Ogle 41a531391f Simplify ui-variables a ton 2013-09-10 11:59:44 -07:00
Ben Ogle d11b2118ba Use more of the variables in buttons 2013-09-10 11:59:44 -07:00
Ben Ogle 94567729fc Add button variants 2013-09-10 11:59:43 -07:00
Ben Ogle a512332bb5 Add @workspace-background-color.
I needed a name for the bg color of a tab that is not an editor. 
Like the settings, the UI demo, maybe the key map editor.
2013-09-10 11:59:43 -07:00
Ben Ogle 7241635fdf Fix tree padding broken by bootstrap upgrade 2013-09-10 11:59:43 -07:00
Ben Ogle 6587bbc2dc Change button color when in a panel-heading 2013-09-10 11:59:43 -07:00
Ben Ogle 2777374fc7 Update buttons
Colors in a mixin. btn-toolbar fixes
2013-09-10 11:59:43 -07:00
Ben Ogle 262ed0a602 Hover selected buttons are more clear 2013-09-10 11:59:43 -07:00
Ben Ogle 334d4862c6 Buttons finished. 2013-09-10 11:59:43 -07:00
Ben Ogle 9a3fe7b875 Add inline-block 2013-09-10 11:59:43 -07:00
Ben Ogle ba671c4f04 Add .block element 2013-09-10 11:59:43 -07:00
Ben Ogle e3b5dc28d6 Upgrade bootstrap to 3.0.0 2013-09-10 11:59:42 -07:00
Ben Ogle 40d54a0210 buttons wip 2013-09-10 11:59:42 -07:00
Ben Ogle d4fa8d67f5 Text smaller is .9em 2013-09-10 11:59:42 -07:00
Ben Ogle 95b9f4e17f Fix lists to make use of the text-* classes 2013-09-10 11:59:42 -07:00
Ben Ogle b06b6747e7 highlighted to highlight. Add text- prefix 2013-09-10 11:59:42 -07:00
Ben Ogle c028ae678e Style update to make the ui demo look better 2013-09-10 11:59:42 -07:00
Ben Ogle d32e0c9773 💄 2013-09-10 11:59:42 -07:00
Ben Ogle 815ffe2ac1 Style the badge class 2013-09-10 11:59:42 -07:00
Ben Ogle ac75571b8d Select list things for .mark-active class 2013-09-10 11:59:42 -07:00
Ben Ogle 7a0f484aa0 Remove highlight-selected from the select list 2013-09-10 11:59:41 -07:00
Ben Ogle df5b3f01af Remove highlight-selected classes 2013-09-10 11:59:41 -07:00
Ben Ogle 3f6ddbc3f4 Add git icons, use them in select-lists 2013-09-10 11:59:41 -07:00
Ben Ogle 7ab4565b9d Remove highlighted bg on select lists. 2013-09-10 11:59:41 -07:00
Ben Ogle 4b9b9ca4c5 Get rid of disclosure arrows. Do them in :before. 2013-09-10 11:59:41 -07:00
Ben Ogle 0e102bde13 Remove the highlight div on selected items.
Use before instead.
2013-09-10 11:59:41 -07:00
Ben Ogle f09bbac0f7 Fix Section styling 2013-09-10 11:59:41 -07:00
Ben Ogle 44b05c916b Update text styles in theme 2013-09-10 11:59:41 -07:00
Ben Ogle 5de41d19e7 Add more text classes 2013-09-10 11:59:41 -07:00
Ben Ogle bacc5f4228 Add an icon size variable 2013-09-10 11:59:40 -07:00
Ben Ogle c47624062f Move key-binding to utilities 2013-09-10 11:59:40 -07:00
Ben Ogle 4552906adf Cleanup panels 2013-09-10 11:59:40 -07:00
Ben Ogle eb5c6b7da8 Add utilities and sections 2013-09-10 11:59:40 -07:00
Ben Ogle 04f21adc5c Add icon handling in list-groups 2013-09-10 11:59:40 -07:00
Ben Ogle 17e0b3a78a Key binding css 2013-09-10 11:59:40 -07:00
Ben Ogle 8b84b77a2d popover-list css 2013-09-10 11:59:40 -07:00
Ben Ogle 7e95518d0e Style the select-lists 2013-09-10 11:59:40 -07:00
Ben Ogle 39dd42ce8e 💄 on popover-lists 2013-09-10 11:59:39 -07:00
Ben Ogle ed09b69db7 Add overlay to the new theme 2013-09-10 11:59:39 -07:00
Ben Ogle 3fc6995ac1 Use panel colors in tabs 2013-09-10 11:59:39 -07:00
Ben Ogle c3350a6d60 Add tabs to the theme 2013-09-10 11:59:39 -07:00
Ben Ogle bfd1aaa1ed Add highlight pills for text 2013-09-10 11:59:39 -07:00
Ben Ogle 0889288e1e Setup the highlights for tree views 2013-09-10 11:59:39 -07:00
Ben Ogle e7defe6e11 Style the inset panels 2013-09-10 11:59:39 -07:00
Ben Ogle ffef4e3a7e Better handling of selected items 2013-09-10 11:59:39 -07:00
Ben Ogle ac36a07298 list-group -> list-tree 2013-09-10 11:59:39 -07:00
Ben Ogle d2b5dbb5c1 Move to ui-variables rather than ui-colors 2013-09-10 11:59:38 -07:00
Ben Ogle 945f859c96 Use disclosure-arrow in the lists 2013-09-10 11:59:38 -07:00
Ben Ogle 3fef64eefb Add ui-sizes less file 2013-09-10 11:59:38 -07:00
Ben Ogle e19a6a7370 Add disclosure-arrow 2013-09-10 11:59:38 -07:00
Ben Ogle 4d88a95eed 💄 2013-09-10 11:59:38 -07:00
Ben Ogle c91c705c6d Add octicon classes 2013-09-10 11:59:38 -07:00
Ben Ogle 649e3b503e Text additions 2013-09-10 11:59:38 -07:00
Ben Ogle 494cac02ae Add loading widgets to the theme 2013-09-10 11:59:38 -07:00
Ben Ogle 5d260d1331 Add utilities less file to base css 2013-09-10 11:59:37 -07:00
Ben Ogle a192a79bec 💄 2013-09-10 11:59:37 -07:00
Ben Ogle 2abd9a65fc Add smaller text classes 2013-09-10 11:59:37 -07:00
Ben Ogle b668a30fa4 Add icons.less 2013-09-10 11:59:37 -07:00
Ben Ogle 22ce57e5b0 Add mini editor styles 2013-09-10 11:59:37 -07:00
Ben Ogle 08d70a5b5b Use all the sheets in package.cson 2013-09-10 11:59:37 -07:00
Ben Ogle 0a77526f24 Move mixins to ui-mixins 2013-09-10 11:59:37 -07:00
Ben Ogle ff6fb2174a Add new theme with new approach at colors + components 2013-09-10 11:59:37 -07:00
Matt Colyer 697e340117 Add metrics package to default bundle 2013-09-10 11:51:44 -07:00
Garen Torikian 669987a01c Bump biscotto version 2013-09-10 11:19:05 -07:00
Corey Johnson 8ef3debfd0 Mention version fix 2013-09-10 10:43:49 -07:00
Kevin Sawicki 80bb6b6057 Prepare 26.0.0 release 2013-09-10 08:06:21 +01:00
Kevin Sawicki dbdfc7fbbb Mention package generator fix 2013-09-10 08:06:05 +01:00
Kevin Sawicki 14a7b2ccde Upgrade apm for install command fix 2013-09-10 07:57:18 +01:00
Kevin Sawicki c40c77ec31 Upgrade to terminal@0.7.0 2013-09-10 07:44:31 +01:00
Kevin Sawicki e08437f668 Upgrade apm 2013-09-10 07:44:05 +01:00
Kevin Sawicki 45af1d10cb Lint Gruntfile 2013-09-09 23:25:26 +01:00
Kevin Sawicki 31a5ec62fd Delete cache dir exported by coffee-cache in clean task 2013-09-09 18:56:15 +01:00
Kevin Sawicki 6b00e01c60 💄 2013-09-09 18:56:15 +01:00
Kevin Sawicki b471a613da Use coffee-cache tag of terminal package 2013-09-09 18:56:15 +01:00
Kevin Sawicki bc76b70552 Add SHA-1 based CoffeeScript compile cache
This restores the require cache that was used pre-node integration
2013-09-09 18:56:15 +01:00
Kevin Sawicki e10f06e48f Spawn unzip command directly
adm-zip does not support retaining the executable flag and node-unzip
fails for files the size of atom-shell.zip
2013-09-09 18:40:23 +01:00
Kevin Sawicki a669950239 Lint tasks folder 2013-09-09 18:40:22 +01:00
Kevin Sawicki a171fdeca0 Upgrade to atom-shell@0.4.5 2013-09-09 18:40:22 +01:00
Kevin Sawicki fe4f9471e6 Remove cache directory before downloading
This ensures any previously failed downloads/extractions are cleaned
up before a new atom-shell distribution is downloaded and extracted.
2013-09-09 18:40:22 +01:00
Kevin Sawicki a7eaac3984 Invoke callback after zip file is removed 2013-09-09 18:40:22 +01:00
Kevin Sawicki 325438c532 Look for version file to determine if cached
This guards against the directory being created but extraction
previously failing.
2013-09-09 18:40:22 +01:00
Kevin Sawicki c24eec8205 💄 2013-09-09 18:40:22 +01:00
Kevin Sawicki d4f06a096e Invoke callback when no work to be done 2013-09-09 18:40:22 +01:00
Kevin Sawicki 23f30dbbfd Remove unused read stream 2013-09-09 18:40:22 +01:00
Kevin Sawicki 5b73ef20eb Catch any errors thrown by adm-zip 2013-09-09 18:40:22 +01:00
Kevin Sawicki 0e3caafe4d Update atom-shell to version in package.json
This changes the behavior to always install the atom-shell version
in the package.json instead of the latest.

This also ports over the script/update-atom-shell script to a Grunt task.
2013-09-09 18:40:22 +01:00
Matt Colyer 0c61ab6ad7 Use images served over https in guides 2013-09-09 10:22:20 -07:00
Corey Johnson c90eb7fc73 Add better errors to .toHaveLength spec exception
Returns a helpful error when the actual object does not have a length
var.
2013-09-09 09:28:36 -07:00
Kevin Sawicki 2876618218 Upgrade to season@0.12.0 2013-09-09 16:09:52 +01:00
Kevin Sawicki 2a70c6a217 Initially show and focus the window on the next tick
This prevents a white flicker when the window eventually loads
2013-09-09 15:59:56 +01:00
Cheng Zhao 72e725e6bc Update atom-shell to v0.4.5. 2013-09-09 16:28:31 +08:00
Kevin Sawicki fc6e2c7e15 Remove unused class 2013-09-07 14:57:34 +01:00
Kevin Sawicki 3904be2e00 Remove instructional Rakefile
Grunt was switched to over 2 months ago
2013-09-07 14:49:33 +01:00
Kevin Sawicki a4ecbf1fcf Upgrade to package-generator@0.4.0 2013-09-07 06:58:25 +01:00
Kevin Sawicki 89bfe387eb Upgrade to whitespace@0.3.0 2013-09-07 06:08:35 +01:00
Kevin Sawicki b7e0992e36 Upgrade to package-generator@0.3.0 2013-09-07 05:56:50 +01:00
Garen Torikian 31f1a7f4ef Update package.json 2013-09-06 16:53:31 -07:00
Garen Torikian 51faedb50b Update package.json 2013-09-06 16:22:19 -07:00
Kevin Sawicki 0aedfd7af6 💄 use ?= for assignments 2013-09-05 20:52:40 -07:00
Cheng Zhao e59a2dbb84 Merge pull request #802 from atom/atom-shell-4-5
Update atom-shell to v0.4.4.
2013-09-05 18:28:30 -07:00
Cheng Zhao 12aa35f83f Make BufferedNodeProcess adapt to changes of atom-shell v0.4.4. 2013-09-06 09:20:03 +08:00
Cheng Zhao bad0b74d5b Update to atom-shell v0.4.4. 2013-09-06 08:58:17 +08:00
Cheng Zhao e6cf8c8378 Update apm: Update node to v0.10.18. 2013-09-06 08:57:53 +08:00
Kevin Sawicki c6e688dc29 Prepare 25.0.0 release 2013-09-05 15:38:26 -07:00
Kevin Sawicki 1643f1702b 🐎 Precompile bootstrap.less
A regression occurred where bootstrap.less was not being precompiled
adding 200-300ms to startup since it was recompiled each time.
2013-09-05 15:37:36 -07:00
Kevin Sawicki e18674598f 24.0.0 2013-09-05 13:50:48 -07:00
Kevin Sawicki c7752ca766 Mention save fix 2013-09-05 13:50:17 -07:00
Kevin Sawicki eb6ee0286e Upgrade to whitespace@0.2.0 2013-09-05 13:47:04 -07:00
Kevin Sawicki 6686a68a0d Mention nak upgrade fix 2013-09-05 12:04:37 -07:00
Kevin Sawicki b3fdf08258 💄 path being resolved is always relative 2013-09-05 11:58:58 -07:00
Kevin Sawicki 67008e3584 Only put spec on NODE_PATH when running specs 2013-09-05 11:58:57 -07:00
Kevin Sawicki 030c341a00 Remove ~/.atom/packages from NODE_PATH
Packages paths needed for requires should be obtained from the atom global.
2013-09-05 11:58:57 -07:00
Kevin Sawicki 3770b3073e Upgrade to nak@0.2.18
Closes #784
2013-09-05 09:40:24 -07:00
Kevin Sawicki 6dbf003c03 Downgrade to atom-shell@0.4.3
Specs are failing against 0.4.4 so hardcode 0.4.3 until this is resolved.
2013-09-05 09:34:28 -07:00
Kevin Sawicki ca3fff8a94 💄 correct typo in method name 2013-09-04 14:01:46 -07:00
Kevin Sawicki aba6958e55 Load base stylesheets in spec-helper
This fixes the editor specs not working when focused.
2013-09-04 13:33:39 -07:00
Kevin Sawicki 5852238cd8 Reload instead of unload in afterEach
This ensures the stylesheets with the fixtures variables
are unloaded and the default ones are reloaded.
2013-09-04 13:32:55 -07:00
Kevin Sawicki 3a5ad9b48d Unload base stylesheets in an after each
This prevents the blue background from bleeding over into other specs.
2013-09-04 12:56:54 -07:00
Kevin Sawicki 7b2429851c Load bootstrap stylsheets in spec helper 2013-09-04 12:48:58 -07:00
Ben Ogle 26e1df4127 Add loadThemes() to atom global 2013-09-04 12:25:29 -07:00
Ben Ogle 2b2dc15ac1 Fix styles in jasmine runner 2013-09-04 12:25:29 -07:00
Ben Ogle 9d94afc8c5 Move base stylesheet loading in startEditorWindow 2013-09-04 12:25:29 -07:00
Kevin Sawicki 26ee4a065c Use space-ben to create editor div 2013-09-04 12:25:29 -07:00
Kevin Sawicki d48df331b0 Use attachToDom instead of appending directly to #jasmine-content 2013-09-04 12:25:28 -07:00
Kevin Sawicki fd69581397 Update path in comment for less-imports rename 2013-09-04 12:25:28 -07:00
Ben Ogle 8f236c8a60 Rename less-imports to variables 2013-09-04 12:25:28 -07:00
Ben Ogle c0ef23bc7d 💄 Update spec description 2013-09-04 12:25:28 -07:00
Ben Ogle 41eb649ee5 Join dirs in config LESS path 2013-09-04 12:25:28 -07:00
Ben Ogle 5c1799d751 Add individual imports to each LESS file
Make the Less linter happy
2013-09-04 12:25:28 -07:00
Ben Ogle 1d7f5845d0 remove duplicate spec 2013-09-04 12:25:28 -07:00
Ben Ogle 7c63a206f1 Revert "Remove ui-colors"
This reverts commit 45179d44be9d69923a0afaac5470b5399079b071.
2013-09-04 12:25:27 -07:00
Ben Ogle 15c1669ab6 Don't load bootstrap on reload of base sheets 2013-09-04 12:25:27 -07:00
Ben Ogle 127a2af397 Remove log line 2013-09-04 12:25:27 -07:00
Ben Ogle 30a4eb12c5 Remove ui-colors 2013-09-04 12:25:27 -07:00
Ben Ogle d1c1ecc9a4 Add ability to override ui-variables in theme
This required moving the importable less files to a `less-imports` 
directory and adding that directory to the less path. Otherwise, 
atom.less would import ui-variables from its current directory 
(/static/ui-variables) as less searches the current directory before 
any other directories on the path.
2013-09-04 12:25:27 -07:00
Ben Ogle 084457c2a0 Update the less files to properly import less 2013-09-04 12:25:27 -07:00
Ben Ogle 5c12a7ceef Move base stylesheet loading into atom.
Load the config during setup, but don't observe until the editor window
starts up.
2013-09-04 12:25:27 -07:00
Ben Ogle 9c5c05ff41 Get the proper directories before themeManage load 2013-09-04 12:25:27 -07:00
Kevin Sawicki a9c4b23563 Use relative require path for keystroke-pattern.pegjs 2013-09-04 08:54:40 -07:00
Kevin Sawicki 3009c3a9ba Add to-the-hubs@0.1.0 2013-09-04 08:49:53 -07:00
Kevin Sawicki bf0b3ee66e Prepare 23.0.0 release 2013-09-04 08:39:02 -07:00
Kevin Sawicki 8385a5403d Remove unused require 2013-09-03 19:38:31 -07:00
Kevin Sawicki 43938e9c86 Remove leftover paths from src relayout 2013-09-03 19:31:00 -07:00
Kevin Sawicki 7fc7f2574f Upgrade to settings-view@0.11.0 2013-09-03 19:14:50 -07:00
Kevin Sawicki 7ae08f5282 Upgrade to tabs@0.2.0 2013-09-03 19:14:36 -07:00
Kevin Sawicki 3508792234 Upgrade to grunt-lesslint@0.13.0 2013-09-03 17:06:37 -07:00
Kevin Sawicki b91c23e3c5 Upgrade to grunt-lesslint@0.12.0 2013-09-03 16:42:50 -07:00
Kevin Sawicki 8415922d20 💄 consistent argument ordering 2013-09-03 16:21:39 -07:00
Kevin Sawicki b57d655a8a Delete /tmp/atom-coffee-cache before building
Temp fix to get CI working again
2013-09-03 16:18:34 -07:00
Corey Johnson 35a9350b3f Use updated tree-view 2013-09-03 14:55:50 -07:00
Corey Johnson 5b3cd1b1e5 Use subscribe instead of on
So we don't listen to events after the pane container has been removed
2013-09-03 14:48:42 -07:00
Corey Johnson 653eaf4186 Rename spec 2013-09-03 14:48:42 -07:00
Corey Johnson 0b73020a35 Use pane events to trigger pane-container:active-pane-item-changed 2013-09-03 14:48:42 -07:00
Corey Johnson 49e6e82d67 Add spec for when the active pane is changed 2013-09-03 14:48:42 -07:00
Corey Johnson fc8a3f5e78 Rename pane-container:active-item-changed
To pane-container:active-pane-item-changed
2013-09-03 14:48:42 -07:00
Corey Johnson 915159d7a0 Fix pane:became-inactive and pane:became-active events 2013-09-03 14:48:42 -07:00
Corey Johnson 7fd0d934ef Add pane-container:active-item-changed event 2013-09-03 14:48:42 -07:00
Corey Johnson 44de8fe2d3 Add getActivePaneItem method to Pane and PaneAxis 2013-09-03 14:48:42 -07:00
Kevin Sawicki e3a236afbd Mention git status fix 2013-09-03 14:33:45 -07:00
Kevin Sawicki 3c0197dc35 Mention spec runner, settings view, and lit coffee fixes 2013-09-03 14:32:02 -07:00
Kevin Sawicki 68a50b196a Update spec counts when runner completes
This ensures 0/0 is displayed even when no specs were ran.
2013-09-03 14:25:42 -07:00
Kevin Sawicki f9e95c273f Only run core specs when resource path is the Atom repo 2013-09-03 14:25:42 -07:00
Kevin Sawicki 5664e94e05 Copy entire spec folder to application dir 2013-09-03 14:25:42 -07:00
Kevin Sawicki e6360594aa Move jasmine-focused to a dependency
This is required to be able to run specs from a release build.
2013-09-03 14:25:42 -07:00
Kevin Sawicki f5bb0333b9 Run apm clean instead of deleting node_modules
This ensures removed modules are uninstalled before specs run but
unchanged modules can be cached between builds.
2013-09-03 14:13:04 -07:00
Kevin Sawicki 1512029864 Remove deletion of node directory
This directory is no longer at the root of the repo
2013-09-03 14:13:04 -07:00
Kevin Sawicki 6730b19e00 Don't run partial-clean during ci task 2013-09-03 14:13:04 -07:00
Kevin Sawicki f88949bf2d Upgrade to coffee-script-tmbundle@6.0.0
This has a fix for allowing injection grammars inside of
CoffeeScript comments.
2013-09-03 14:06:30 -07:00
Kevin Sawicki 18e1e8146e Add styles for markdown in Literate CoffeeScript 2013-09-03 14:06:30 -07:00
Kevin Sawicki d78f455b23 Push filler tokens when no patterns match an empty line
This ensures that empty lines always contain tokens even when no
patterns match on empty lines.
2013-09-03 14:06:30 -07:00
Kevin Sawicki 4850636092 Tokenize empty lines using grammars
The literate CoffeeScript grammar uses empty lines to pop out of
the paragraph pattern.
2013-09-03 14:06:30 -07:00
Kevin Sawicki d4a384e04a Upgrade to coffee-script-tmbundle@5.0.0 2013-09-03 14:06:30 -07:00
Kevin Sawicki f84a332829 Upgrade to oniguruma@v0.20.0
This adds support for named capture groups
2013-09-03 14:06:30 -07:00
Kevin Sawicki 24eeda0bc7 Upgrade to settings-view@0.10.0 2013-09-03 14:05:04 -07:00
Kevin Sawicki a4774ab358 Upgrade apm for package install fix 2013-09-03 11:36:52 -07:00
Kevin Sawicki 193f727ba7 doc: Use correct code block fences
* Replace cson fences with coffeescript
  * json was being incorrectly being used for cson
  * Certain blocks had no fence name
2013-09-03 10:21:51 -07:00
Kevin Sawicki df293125f4 Upgrade to markdown-preview@0.2.0 2013-09-03 10:16:37 -07:00
Kevin Sawicki b60ad6e086 Upgrade to gfm@0.3.0 2013-09-03 10:16:20 -07:00
Kevin Sawicki c800cef4da doc: correct typo in timeline 2013-09-03 10:01:11 -07:00
Kevin Sawicki 25434e943e Silently install apm's dependencies 2013-09-02 21:25:06 -07:00
Kevin Sawicki aaea8bdb31 Trigger buffer-created from Project::addBufferAtIndex
This ensures that any listeners for this event will be notified when
a buffer is add via deserialization from a telepath document.
2013-09-02 11:46:32 -07:00
Kevin Sawicki 91531d53da Doc Git::destroy as a public method 2013-09-02 11:34:26 -07:00
Kevin Sawicki 63a3d9de94 Pass project to Git.open in the options hash
Previously the project global was unavailable in the Git constructor
since it had not been set as a global yet and so the Git instance was never
configured to watch the project's buffers for save/reload events.  This caused
the status to be out of sync in places like the gutter and status bar.
2013-09-02 11:34:20 -07:00
Cheng Zhao d9b2b3e565 The atom-shell's distribution filename now includes version and platform. 2013-09-02 14:09:14 +08:00
Kevin Sawicki d9695170ce Setup NODE_PATH when restarting render process
Without this the NODE_PATH env var will possibly be wrong when restarting
a window after another window has been opened that has a different NODE_PATH
value.

Close #630
2013-09-01 11:16:35 -07:00
Kevin Sawicki 963ad4b28c Stub out console::trace in task-bootstrap
This prevents errors from being logged when console.trace() is called
from a task process.
2013-09-01 10:16:36 -07:00
Jason Rudolph 4bf09baa30 Merge pull request #780 from atom/add-get-upstream-branch-to-git
Add #getUpstreamBranch to Git
2013-08-31 13:13:08 -07:00
Jason Rudolph 9f823040f2 Add #getUpstreamBranch to Git 2013-08-31 09:25:09 -04:00
Kevin Sawicki 34f16c58e8 Upgrade to collaboration@0.9.0 2013-08-30 15:27:37 -07:00
Matt Colyer 59d832c5c4 Bump package.json version while we work on 22.0 2013-08-30 15:17:09 -07:00
Matt Colyer 647dcd5988 Update create theme guide based on feedback 2013-08-30 15:14:12 -07:00
Matt Colyer 93a0c6eeb5 Create an outline for creating a theme 2013-08-30 15:14:12 -07:00
Kevin Sawicki d79881063a Upgrade version to 21.0.0 2013-08-30 14:09:57 -07:00
Nathan Sobo 49b80d306b 💩 Delete files that were moved to docs/proposals
I thought I deleted these when I moved them but I guess I screwed up.
2013-08-30 15:02:51 -06:00
Nathan Sobo 91adc01e4e 🐎 Don't get every line to check for soft-tabs
Getting all the lines requires SharedString to construct a big array.
It's more efficient to check them one line at a time.
2013-08-30 14:36:45 -06:00
Kevin Sawicki & Matt Colyer 4cc553daf8 🐎 Upgrade to telepath@0.1.2 2013-08-30 11:54:08 -07:00
Kevin Sawicki & Matt Colyer 538b648042 Add more selectors to cover end of ruby embedded strings 2013-08-30 10:10:40 -07:00
Matt Colyer 78b28b6ee6 Fix color highlight issue in Ruby, #716 2013-08-30 10:10:40 -07:00
Kevin Sawicki fe725ec909 Display time in seconds instead of milliseconds 2013-08-29 21:33:21 -07:00
Kevin Sawicki 35d4eadd45 Upgrade to fuzzy-finder@0.3.0 2013-08-29 19:42:37 -07:00
Kevin Sawicki 47bccc142e Upgrade to autocomplete@0.4.0 2013-08-29 19:38:01 -07:00
Kevin Sawicki 8fb10e35a9 🚱 Destroy current project in beforeEach
Previously the window specs were calling window::deserializeEditorWindow
without first destroying the spec project causing the global to be
reassigned over and leaking the initial project and repo.
2013-08-29 18:41:27 -07:00
Kevin Sawicki 2687fafca4 🚱 Destroy environments in an afterEach
These were leaking projects and therefore repos.
2013-08-29 18:37:03 -07:00
Kevin Sawicki 40860a59f5 Destroy deserialized project in an afterEach 2013-08-29 18:24:51 -07:00
Kevin Sawicki 989fffba6a 🚱 Destroy repo in Project::setPath
Previously if the new path was non-null then the current repo would be
leaked and never destroyed
2013-08-29 18:08:01 -07:00
Corey Johnson 9f1edd3189 Use a simpler escapeRegExp method 2013-08-29 15:58:21 -07:00
Kevin Sawicki e03544bab6 Hide body when unloading
This prevents a weird UI flicker when refreshing with the settings
view open.
2013-08-29 15:23:26 -07:00
Kevin Sawicki fd9f3d6543 Don't serialize packages unless the main module was activated
The settings-view activates the config for each package before it renders
causing the main module to be required in order to call activateConfig().
This was causing serialize to be called when the window state was being
saved which was incorrect since activate hadn't actually been called even
though the main module was required.
2013-08-29 14:48:42 -07:00
Matt Colyer 19b5f3e202 Added a section to getting started guide
@xpaulbettsx noted that he wasn't aware that atom windows were tied to a
specific directory.
2013-08-29 10:40:40 -07:00
Kevin Sawicki f80ad91bec Upgrade to grammar-selector@0.2.0 2013-08-29 10:24:26 -07:00
Kevin Sawicki 1e21665b69 Upgrade to status-bar@0.3.0 2013-08-29 10:13:58 -07:00
Kevin Sawicki 57132f57bd Suppress deserialization warning during window spec 2013-08-29 09:18:52 -07:00
Kevin Sawicki de5b2c5cf1 Suppress deserialization warning during pane spec 2013-08-29 09:15:31 -07:00
Kevin Sawicki d12eed3f68 Don't build description string unless actually logging it 2013-08-28 22:19:18 -07:00
Kevin Sawicki 951b3253da Remove unused name field from tracked specs 2013-08-28 22:12:34 -07:00
Kevin Sawicki e40d837b40 Log longest specs/suites during grunt test 2013-08-28 22:07:57 -07:00
Kevin Sawicki 3e626f28c4 Only require AtomReporter if actually being used 2013-08-28 21:20:31 -07:00
Kevin Sawicki 156e9f9b24 Upgrade to collaboration@0.8.0 2013-08-28 21:10:58 -07:00
Kevin Sawicki e0ccfc4788 Use terminal reporter from jasmine-node
This gives the same filtered stack traces and text output
as all our node modules that already use jasmine-node indirectly
through jasmine-focused.
2013-08-28 20:57:43 -07:00
Kevin Sawicki 8307ae8938 💄 correct lint indentation problem 2013-08-28 20:32:35 -07:00
Kevin Sawicki 464785ec3b Map npm test to grunt test 2013-08-28 20:30:23 -07:00
Kevin Sawicki 64e47aeea8 Migrate telepath to package dependency 2013-08-28 20:24:36 -07:00
Kevin Sawicki & Nathan Sobo 2bd4386090 Destroy unretained buffers when serializing project
Previously buffers could linger indefinitely if an error occurred
during startup between the deserialization of the project and the
original retaining edit session.
2013-08-28 18:37:40 -07:00
Kevin Sawicki & Nathan Sobo 40b6183937 🐎 Don't pretty print serialized window state 2013-08-28 18:13:44 -07:00
Nathan Sobo 33dc008b10 🐎 Upgrade telepath for faster SharedArray::findMarkers method 2013-08-28 16:49:06 -06:00
Matt Colyer 9fe9e0dc41 Add documentation for Selection.expandOver* 2013-08-28 15:39:08 -07:00
Kevin Sawicki c8b7040144 🐎 Find elements by id in spec reporter
Previously classes containing the spec/suite id were used which
caused major amounts of time finding DOM nodes using class selectors
instead of id selectors.

This decreases the Editor spec from ~90s to ~30s.
2013-08-28 14:56:52 -07:00
Kevin Sawicki 8e4c9076f1 Upgrade to jasmine-focused@0.12.0 2013-08-28 14:52:32 -07:00
Kevin Sawicki 1381ffdbf5 Invoke grunt callback when shell test command completes 2013-08-28 14:19:29 -07:00
Kevin Sawicki b8c906d00e Only log warning if error occurs 2013-08-28 14:15:30 -07:00
Kevin Sawicki d9c62a76bf Implement test task using grunt shell
This prevents duplicate messages in the CI build logs.
2013-08-28 14:11:05 -07:00
Kevin Sawicki c27103db8a Expect output when -t/--test flag is specified 2013-08-28 12:54:16 -07:00
Kevin Sawicki 2f46539026 Use global.devResourcePath when running package specs
This allows package specs to be launched from windows that
are not in dev mode, previously the window would fail to launch
in this case.
2013-08-28 12:49:18 -07:00
Kevin Sawicki 6261124464 Update spec to use atom::close instead of window::close 2013-08-28 10:43:12 -07:00
Kevin Sawicki 29f1f5cbe5 Call close on native window instead of JS window
Added atom.close() which forwards to remote.getCurrentWindow().close()
since calling window.close() does not call the unload handler registered
on the window global.

Closes #764
2013-08-28 09:10:54 -07:00
Nathan Sobo 2921ac856c Fall back to empty document if window state cannot be deserialized
If the telepath serialization version has changed it will return null
from Site::deserializeDocument.
2013-08-28 10:03:40 -06:00
Nathan Sobo 4474212b3e Upgrade telepath for serialization version fix 2013-08-28 10:00:32 -06:00
Kevin Sawicki b02ac8696e Add missing parens to call to app.quit() 2013-08-28 08:09:52 -07:00
Kevin Sawicki bd96814576 Correct apm command 2013-08-28 08:01:56 -07:00
Kevin Sawicki 5091efab8e Correct apm command 2013-08-28 08:01:24 -07:00
Kevin Sawicki 14522f6769 Doc critical emoji commit message guidelines 2013-08-27 13:03:16 -07:00
Kevin Sawicki & Nathan Sobo 38422150b0 🚱 Clear blinking interval when cursor view is removed 2013-08-27 13:00:41 -07:00
Kevin Sawicki & Nathan Sobo e28ef3a76c 🚱 Call off on active item when it is removed 2013-08-27 13:00:41 -07:00
Kevin Sawicki 6baaf404af 🚱 Use subscribe for tokenized buffer event listeners 2013-08-27 13:00:41 -07:00
Kevin Sawicki f42bd3f34b 🚱 Clear config subscriptions when unobserving 2013-08-27 13:00:41 -07:00
Matt Colyer 2bca1abb2a Remove trailing whitespace 2013-08-27 10:17:02 -07:00
Matt Colyer a44662c885 Actually fix task.coffee 2013-08-27 10:17:02 -07:00
Matt Colyer 0f014463c1 Undo accidental change to method signature 2013-08-27 10:17:02 -07:00
Matt Colyer 7c55348fde Fix incorrect biscotto references 2013-08-27 10:17:01 -07:00
Matt Colyer ae59078c5d Update to biscotto 0.0.14 2013-08-27 10:17:01 -07:00
Matt Colyer 4cb1f6c509 Add comments to Task 2013-08-27 10:17:01 -07:00
Matt Colyer 16ab3e5538 Reformat Selection comments 2013-08-27 10:17:01 -07:00
Matt Colyer 696a54392e Determine public API of SelectList 2013-08-27 10:17:01 -07:00
Matt Colyer 9521358c55 Add note to scroll-view.coffee 2013-08-27 10:17:01 -07:00
Matt Colyer a5e563c04c Reformatted comments for RootView 2013-08-27 10:17:01 -07:00
Matt Colyer 631995996b Reformat comments for project.coffee 2013-08-27 10:17:01 -07:00
Matt Colyer f239cdf307 Add comments to pane.coffee 2013-08-27 10:17:01 -07:00
Matt Colyer d3e482ed6f Reformat Git comments 2013-08-27 10:17:01 -07:00
Matt Colyer 75af26ea3e Reformat comments in file.coffee 2013-08-27 10:17:00 -07:00
Matt Colyer 2d547e3b9e Reformat comments in edit-session.coffee 2013-08-27 10:17:00 -07:00
Matt Colyer e84a6b4869 Reformat Cursor class's comments to Markdown 2013-08-27 10:17:00 -07:00
Matt Colyer c1c73a822a Mark classes as private per discussion 2013-08-27 10:17:00 -07:00
Matt Colyer e774b956e0 Fix visibility of classes. 2013-08-27 10:17:00 -07:00
Matt Colyer 68affd9b08 Update Directory documentation. 2013-08-27 10:17:00 -07:00
Matt Colyer dd1a04aec0 Add visibility to comments of Cursor 2013-08-27 10:17:00 -07:00
Matt Colyer ec37ec1e49 Update Config documentation 2013-08-27 10:17:00 -07:00
Matt Colyer 3d1a27875d Update ApplicationMenu documentation 2013-08-27 10:17:00 -07:00
Matt Colyer ad69522bd1 Update buffered-process's documentation 2013-08-27 10:16:59 -07:00
Matt Colyer 0043b9de77 Update atom-application documentation to latest format 2013-08-27 10:16:59 -07:00
Matt Colyer 0abbe8affb Change to bold for documentation sections 2013-08-27 10:16:59 -07:00
Matt Colyer 1c39b851e4 Update AtomApplication to new documentation style 2013-08-27 10:16:59 -07:00
Matt Colyer fdf250871d Fix all biscoto warnings 2013-08-27 10:16:59 -07:00
Matt Colyer 0e8ec74662 Fix more TomDoc references 2013-08-27 10:16:59 -07:00
Matt Colyer 8e2777ccc0 Get class visibility correct 2013-08-27 10:16:59 -07:00
Matt Colyer d5c2878d53 Document BufferedProcess and BufferedNodeProcess 2013-08-27 10:16:59 -07:00
Matt Colyer f47fdd0ae1 Make AtomApplication class private 2013-08-27 10:16:59 -07:00
Matt Colyer 2f4cca445b Document AtomApplication 2013-08-27 10:16:58 -07:00
Matt Colyer b67496a4f2 Document ApplicationMenu 2013-08-27 10:16:58 -07:00
Matt Colyer a604e51f1c Remove redundant argument to biscotto 2013-08-27 10:16:58 -07:00
Matt Colyer 61e5e6ea28 Fix delegation references in comments 2013-08-27 10:16:58 -07:00
Matt Colyer 3808f81886 Ensure API docs have the proper title 2013-08-27 10:16:58 -07:00
Kevin Sawicki 5a2b2b18c6 Upgrade to gfm@0.2.0 2013-08-27 09:40:37 -07:00
Kevin Sawicki 437cb0ccef Upgrade to symbols-view@0.4.0 2013-08-27 08:47:11 -07:00
Kevin Sawicki decaa3dfcf 💄 Move extend calls to top of class 2013-08-26 19:09:42 -07:00
Kevin Sawicki 03573b4e06 🐎 Upgrade telepath 2013-08-26 18:50:13 -07:00
Kevin Sawicki 70162d39f7 Unsubscribe from SharedString when buffer is destroyed 2013-08-26 14:45:26 -07:00
Kevin Sawicki f6f93342bc Initialize destroyed item states before setting root 2013-08-26 13:47:28 -07:00
Kevin Sawicki b22e45b8a9 Call PaneContainer::itemAdded from PaneContainer::reopenItem
This ensures the active item in the new root is filtered out of
the reopen stack, preventing a duplicate item from being opened.
2013-08-26 13:36:55 -07:00
Kevin Sawicki 419be22b7b Use Subscriber::subscribe for telepath change listeners 2013-08-26 13:04:13 -07:00
Kevin Sawicki c5535bde81 Upgrade to spell-check@0.3.0 2013-08-26 12:25:42 -07:00
Kevin Sawicki 5640f57eae 💄 move extend calls to top of class 2013-08-23 18:33:38 -07:00
Kevin Sawicki 325d534d91 💄 spec description 2013-08-23 18:29:12 -07:00
Kevin Sawicki eaf80a0194 Rename softWrapColumn to editorWidthInChars 2013-08-23 18:09:17 -07:00
Kevin Sawicki 3f848606ee Use setEditorWidthInChars to resize editor
This makes the comparisons for the soft wrap column more sane.
2013-08-23 18:09:17 -07:00
Kevin Sawicki c2b3c2e3aa Rename callbackImmediately option to callNow 2013-08-23 18:09:17 -07:00
Kevin Sawicki 08b80c15ad 💄 Remove comment for removed parameter 2013-08-23 18:09:17 -07:00
Kevin Sawicki 052a489751 💄 toggle comments 2013-08-23 18:09:17 -07:00
Kevin Sawicki 51192bb3e9 Remove config listeners when DisplayBuffer is destroyed 2013-08-23 18:09:17 -07:00
Kevin Sawicki 32396a2a8b Update soft wrapped lines when config changes
DisplayBuffer now observes for config changes to the preferred line length
and the preference to soft wrap at the preferred line length to update
any wrapped screen lines.
2013-08-23 18:09:16 -07:00
Kevin Sawicki a45b93614e Add editor.softWrapAtPreferredLineLength config setting
This is used by the DisplayBuffer to use `editor.preferredLineLength`
as the soft wrap column instead of the editor size.
2013-08-23 18:09:16 -07:00
Kevin Sawicki 8f193e4fb5 Remove default edit session options from Project
Instead read the config values directly where they are actually
used such as in EditSession, TokenizedBuffer, and DisplayBuffer.
2013-08-23 18:09:16 -07:00
Kevin Sawicki cbd4fab8f2 Emit event from display buffer when soft wrap changes
This allows the editor to be reactive to the edit session
and always respect the edit session's current value when
initially opened.
2013-08-23 18:09:16 -07:00
Kevin Sawicki 8b3b033b09 Add explicit call to setSoftWrap in specs
This is now required now that setting the soft wrap
column does not cause wrapping unless soft wrap is enabled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki e675fe73c8 Set soft wrap explicitly on the display buffer
This is required now that soft wrap column only takes affect
when soft wrap is enabled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki 0b7262aa62 Always calculate the soft wrap column 2013-08-23 18:09:16 -07:00
Kevin Sawicki 5001c6e84e Enable soft wrap explicitly in specs
This is required now that the soft wrap setting and soft wrap
column are decoupled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki a4411ab2ca Update specs for resize handler changes 2013-08-23 18:09:16 -07:00
Kevin Sawicki 5ea8c6c27b Don't store soft wrap column on EditSession
This removes duplicate state between the edit session and
display buffer.
2013-08-23 18:09:16 -07:00
Kevin Sawicki da1e5f5c10 Always update the soft wrap column when the window resizes
This allows the edit session and display buffer to always be
notified of soft wrap column changes regardless of their initial
soft wrap state.
2013-08-23 18:09:16 -07:00
Kevin Sawicki c33f7cde2a Move soft wrap state from EditSession to DisplayBuffer 2013-08-23 18:09:16 -07:00
Kevin Sawicki a39e136c43 💄 2013-08-23 18:09:16 -07:00
Kevin Sawicki 275ee62e8d 💩 Upgrade telepath 2013-08-23 15:50:50 -07:00
Kevin Sawicki 62a19aa6fa 🐎 Upgrade telepath 2013-08-23 15:18:15 -07:00
probablycorey 78b9a99f86 Add window:run-package-specs command
This will only run specs found in the current projects spec directory
2013-08-23 09:02:22 -07:00
probablycorey ba632751a0 Rename application:run-specs to application:run-all-specs 2013-08-23 09:02:22 -07:00
Nathan Sobo 96a16494ff Add a proposals folder in docs and put the private beta stuff there 2013-08-22 21:21:40 -06:00
Nathan Sobo a39d1c274e 🐎 Upgrade telepath for performance improvements
Again, addresses #734 but we're still too slow.
2013-08-22 19:24:43 -06:00
Kevin Sawicki de8dab5939 Upgrade to collaboration@0.7.0 2013-08-22 14:53:35 -07:00
Kevin Sawicki f32a289193 Store relative buffer path instead of id
This allows the tokenized buffer to be deserialized during reopening
from the pane container.

Closes #744
2013-08-22 14:42:08 -07:00
Kevin Sawicki 92a80208d3 Update the relative path when the buffer's file moves 2013-08-22 13:59:46 -07:00
Kevin Sawicki 2793ebb5c4 Remove unused bufferId from edit session document
This is now on tokenized buffer instead.
2013-08-22 13:07:28 -07:00
Kevin Sawicki 44d90615ec Remove unused ivar 2013-08-22 13:05:51 -07:00
Kevin Sawicki 7bf350251e Add EditSession::getRelativePath
Closes #746
2013-08-22 12:16:44 -07:00
Kevin Sawicki e4b5cfd600 Call AtomPackage::deactivateConfig from AtomPackage::deactivate
This adds back support for a package's main module implementing
deactivateConfig.
2013-08-22 11:13:32 -07:00
Kevin Sawicki 20a669e94f Upgrade to settings-view@0.8.0 2013-08-22 11:04:03 -07:00
Kevin Sawicki 25be233c5f Call AtomPackage::activateConfig from AtomPackage::activateNow
Previously this method was unused and so packages implementing
activateConfig were not being called.
2013-08-22 11:01:17 -07:00
Matt Colyer 13f35bc6e3 Fix documentation links 2013-08-22 10:43:45 -07:00
Joel Glovier 2efc39a265 Fixed broken links in ReadMe 2013-08-22 13:31:31 -04:00
Joel Glovier 1a31e3418d Fixed broken links for configuring.md, theming.md, and extending.md 2013-08-22 13:29:37 -04:00
Joel Glovier 090d350802 Fixed broken links to configuring.md, theming.md and extending.md 2013-08-22 13:28:33 -04:00
Joel Glovier 4f547b8c21 Fixed broken links to configuring, theming, and extending. 2013-08-22 13:27:52 -04:00
Kevin Sawicki 76992dfaeb Upgrade to autocomplete@0.3.0 2013-08-22 09:32:52 -07:00
Kevin Sawicki 070a72e76c Add ctrl-A/E keybinding to select to beginning/end of line
Closes #711
2013-08-22 09:00:02 -07:00
Kevin Sawicki 95a23cdada Add default config for editor.softTabs 2013-08-21 18:53:34 -07:00
Kevin Sawicki 6fa0c82fac Mention soft wrap and tab length setting 2013-08-21 18:52:14 -07:00
Kevin Sawicki a0db412140 Use editor.softTabs config value when creating edit sessions
This replaces the internal softWrap state and removes the previous
getter and setter for this value that was on Project.
2013-08-21 18:12:26 -07:00
Kevin Sawicki 2f4a57e5e4 Remove get/setSoftWrap from Project
The config should now be the place that soft wrap settings is interacted
with.
2013-08-21 18:08:59 -07:00
Kevin Sawicki 0da647acdf Use display: inline for editor fold marker
This prevents it from wrapping to the next line when the window
is narrower than the line length.

Closes #211
2013-08-21 17:52:19 -07:00
Kevin Sawicki 147e75ad95 Use editor.softWrap config value when creating edit sessions
Closes #666
2013-08-21 17:17:06 -07:00
Kevin Sawicki 2f4db45320 Use editor.tabLength config value when creating edit sessions
Closes #708
2013-08-21 17:12:04 -07:00
Kevin Sawicki c18810ca67 Upgrade to settings-view@0.7.0 2013-08-21 16:48:38 -07:00
probablycorey 204de3ac24 Support long version for foreground command 2013-08-21 16:19:37 -07:00
probablycorey 986a9ce0a0 Add cli option to keep the browser process running in the foreground 2013-08-21 16:19:37 -07:00
probablycorey 25b7d356a1 Make load paths work when Atom is run in stable mode 2013-08-21 16:19:37 -07:00
probablycorey e833649111 Remove aa script and replace it with compile-main-to-app 2013-08-21 16:19:37 -07:00
probablycorey 0d74753d3e The browser process loads files from the resource path in dev mode
main.coffee is the only exception
2013-08-21 16:19:37 -07:00
Kevin Sawicki 9306c9b262 Upgrade to symbols-view@0.3.0 2013-08-21 15:58:28 -07:00
Kevin Sawicki 283cbcc9ab Use constructor.name instead of hard-coded string 2013-08-21 15:41:27 -07:00
Kevin Sawicki 935df2f4f1 Add issues url to package.json 2013-08-21 15:40:55 -07:00
Kevin Sawicki 07bcd8c1ef Upgrade to archive-view@0.3.0 2013-08-21 15:40:00 -07:00
Kevin Sawicki 6ad088f6d5 Upgrade to settings-view@0.6.0 2013-08-21 14:57:39 -07:00
Kevin Sawicki b181a77130 Upgrade to image-view@0.3.0 2013-08-21 14:57:39 -07:00
Matt Colyer d83adc3a27 Update documentation concerning themes 2013-08-21 14:53:56 -07:00
Matt Colyer 1ad971f424 Consistently use 'cmd' to represent 'meta' key 2013-08-21 14:53:56 -07:00
Matt Colyer 0b8800c818 Document favoring less over css 2013-08-21 14:53:56 -07:00
Matt Colyer bb7d8812da Update document regarding symbols 2013-08-21 14:53:56 -07:00
Matt Colyer f0677e43fa First pass at documentation correctness 2013-08-21 14:53:56 -07:00
Matt Colyer 159f521104 Reorganize documentation 2013-08-21 14:53:56 -07:00
Matt Colyer 46d713169f Add missing guides to the index 2013-08-21 14:53:56 -07:00
Matt Colyer 95535d93c6 Remove package related documentation from core 2013-08-21 14:53:56 -07:00
Corey Johnson & Nathan Sobo 7173467b1a 🐎 Upgrade telepath to improve fold performance
This addresses #734. It improves performance from ~10s to ~1.5s when
running a foldAll on edit-session-spec. This still needs to get better.
2013-08-21 15:22:25 -06:00
Corey Johnson & Nathan Sobo 03712392c9 Write DisplayBuffer::findMarkers in terms of TextBuffer::findMarkers 2013-08-21 15:22:25 -06:00
Kevin Sawicki 0e49582616 Upgrade to settings-view@0.5.0 2013-08-21 13:15:17 -07:00
Kevin Sawicki 1dad3ae7ca Upgrade to collaboration@0.6.0 2013-08-21 13:02:50 -07:00
Kevin Sawicki c2123fce1f Upgrade to terminal@0.6.0 2013-08-21 10:51:24 -07:00
Kevin Sawicki 2190a009d8 Upgrade to settings-view@0.4.0 2013-08-21 10:19:04 -07:00
Kevin Sawicki e199000985 Mention python grammar fix 2013-08-21 08:51:04 -07:00
Kevin Sawicki ba70c15328 Upgrade telepath for redo fix
Closes #736
2013-08-20 19:04:14 -07:00
Nathan Sobo 0192c57f46 Fix corner case in RowMap::mapBufferRowRange w/ 0-buffer-row regions
Fixes #688

The DisplayBuffer applies buffer and screen deltas to the row map as
rows are inserted/removed from the buffer/screen. This can leave some
of the regions in a weird state, such as mapping multiple screen rows
to zero buffer rows. But next the DisplayBuffer applies any new mappings
based on the replaced lines over the top of existing regions. These
weirdly shaped regions should be overwritten by newly inserted regions,
so at the end of the operation the row map makes sense again.

This fixes a corner case where regions spanning 0 buffer rows at the
very beginning of the row range were not being included in the set of
regions to replace. This was in turn causing the RowMap to get into a
bad state in certain situations involving soft-wrapped lines.
2013-08-20 19:30:29 -06:00
Nathan Sobo b60b21cf3a Add RowMap::inspect, which returns a string for debugging the regions 2013-08-20 19:30:28 -06:00
Kevin Sawicki & Nathan Sobo 116c56c236 Serialize site across window loads
This prevents issues with the site counter resetting to 1 on each
load causing duplicate array and marker ids to be generated.

Closes #729
2013-08-20 18:29:19 -07:00
Kevin Sawicki 6fb8dcbaa5 Add site color variables to ui-colors
These are used by the collaboration package to represent
participants in the current session.
2013-08-20 17:15:43 -07:00
Kevin Sawicki 6e2fd18f62 Add back ability to open an arbitrary window
atom.open now takes an options has that can contain either pathsToOpen
or the complete settings of a new window.

This will be used by the collaboration package to open the window when a
session is being joined.
2013-08-20 15:30:53 -07:00
Matt Colyer 90da89d31c Use JSON frontmatter 2013-08-20 15:02:01 -07:00
Matt Colyer 0999dc6d44 Add a proper template for the docs 2013-08-20 15:02:01 -07:00
Matt Colyer 72cedf9027 Synchronize directory structure 2013-08-20 15:02:01 -07:00
Matt Colyer c38eccf39d Add a simple documentation index 2013-08-20 15:02:01 -07:00
Matt Colyer 3be3543ad9 Update deploy task to include guides as well 2013-08-20 15:02:01 -07:00
Matt Colyer 588efa2e11 Add grunt 'docs' task to build both guides and API docs 2013-08-20 15:02:01 -07:00
Kevin Sawicki 2fee0f1083 💄 space separate array items 2013-08-20 14:20:16 -07:00
Corey Johnson 55ee11e16a Compile keymaps into atom application 2013-08-20 14:19:32 -07:00
Kevin Sawicki b22e4d67ec Upgrade to terminal@0.5.0 2013-08-20 12:32:01 -07:00
Corey Johnson & Nathan Sobo 85626383ee Move command handling to AtomWindow 2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo fc60ba682c 💄 2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 0e7cb3ff78 🔫 2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 03ef5a72c4 Make getTemplate take keystrokesByCommand as a parameter
This clarifies the fact that we can't call this method without having
a keystrokes hash from a running window, which is why we also have a
getDefaultTemplate method which doesn't need the keystrokes.
2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 2cd91eda98 💄 2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 5d27d56056 Rename ApplicationMenu::parseTemplate to translateTemplate 2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 0c9a1fdc80 Rename Keymap::toObject to Keymap::keystrokesByCommand
Also add spec for passing a selector
2013-08-20 12:23:15 -07:00
Corey Johnson & Nathan Sobo 79dd4320da Rename AtomMenu to ApplicationMenu 2013-08-20 12:23:14 -07:00
probablycorey 37c7c8abee Remove the whitespace grunt:lint was complaining about 2013-08-20 12:23:14 -07:00
probablycorey 77bb829a3e Make keymap.toObject(selector) work 2013-08-20 12:23:14 -07:00
probablycorey dba0998687 Revert "trigger commands from the browser process on the active.element"
This reverts commit f023ce89096b1c7a6faf337cf48d29cfbb296091.
2013-08-20 12:23:14 -07:00
probablycorey 0c542d2317 Menu Items only show keyBindings that match the selector "body" 2013-08-20 12:23:14 -07:00
probablycorey 477ac1768b Rename ApplicationMenu to AtomMenu
This is so all browser process classes start with Atom.*
2013-08-20 12:23:14 -07:00
probablycorey 39ec96021e Listen for application commands using the @command method
This adds application level commands to the command palette.
2013-08-20 12:23:14 -07:00
probablycorey ab397b306c AtomApplication listens for application level events 2013-08-20 12:23:14 -07:00
probablycorey d3575bd45e Remove return value from openPath()
It is not used anywhere
2013-08-20 12:23:13 -07:00
probablycorey f6ad85488c Fix parameter ordering 2013-08-20 12:23:13 -07:00
probablycorey b8406368c6 Add underscore so download update menu item works 2013-08-20 12:23:13 -07:00
probablycorey 6278364ed2 💄 2013-08-20 12:23:13 -07:00
probablycorey 068e656627 Remove unused atom.getVersion method 2013-08-20 12:23:13 -07:00
probablycorey 6d50d05336 Move default menu creation into ApplicationMenu 2013-08-20 12:23:13 -07:00
probablycorey 60d804fb72 Don't intercept non-core commands 2013-08-20 12:23:13 -07:00
probablycorey fb2439f193 Move ApplicationMenu to the AtomApplication
This moves it completely out of the renderer process
2013-08-20 12:23:13 -07:00
probablycorey 4d8b2672ff Rename menu-bar to application-menu
Also move it to the src root in preparation for it's use in the
browser process
2013-08-20 12:23:13 -07:00
probablycorey e057d35048 Create a MenuBar object (instead of treating it like a singleton.) 2013-08-20 12:23:13 -07:00
probablycorey 6e3517dd4a Menu bar does not directly access the keymap anymore
This makes the keyBindingsForCommand methods obsolete
2013-08-20 12:23:12 -07:00
probablycorey 37c17075ea Add keymap.toObject() 2013-08-20 12:23:12 -07:00
probablycorey 1074642e8f Remove unused openWindow method 2013-08-20 12:23:12 -07:00
probablycorey e360379ced Create default menu bar that is shown if atom crashes during launch 2013-08-20 12:23:12 -07:00
probablycorey efb70e0562 Remove specs and methods that are no longer used 2013-08-20 12:23:12 -07:00
probablycorey 9a156c8629 Remove keymap.bindDefaultKeys
No longer needed since default keys are handled in AtomApplication
2013-08-20 12:23:12 -07:00
probablycorey afd1a7419d Menu bar is load by the first created Atom Window 2013-08-20 12:23:12 -07:00
Corey Johnson b3582b2632 Add keymap.keyBindingsForCommand 2013-08-20 12:23:11 -07:00
Corey Johnson e68bc47dc5 💄 2013-08-20 12:23:11 -07:00
Corey Johnson b5f4b8d254 Set devMode option on loadSettings 2013-08-20 12:23:11 -07:00
probablycorey 8803bab816 trigger commands from the browser process on the active.element 2013-08-20 12:23:11 -07:00
Kevin Sawicki b94d22794b Upgrade to bracket-matcher@0.3.0 2013-08-20 12:09:34 -07:00
Kevin Sawicki 27cee3e19c Don't terminate tokenization if stack size changes
Previously Python import blocks were not tokenizing correctly since
the loop was prematurely terminating when a match at the end of the line
was reached and no tokens were generated for it.

This approach was incorrect since the tokenizer may have just popped a rule
and another loop could possibly pop more rules.

Now this early termination is only performed if the stack size hasn't changed.
2013-08-20 11:38:06 -07:00
Ben Ogle b10a01ddc2 fix naming of background colors in default ui colors 2013-08-20 11:25:30 -07:00
Ben Ogle 14b5308bb3 Merge pull request #733 from atom/bo-theme-buttons
Add styled buttons to themes
2013-08-20 11:22:26 -07:00
Ben Ogle 4c0ffe122d Add buttons to the light ui theme 2013-08-20 11:14:07 -07:00
Ben Ogle 7ca2779e56 Fix background highlight colors naming 2013-08-20 11:13:54 -07:00
Ben Ogle 5579551521 add buttons to ui dark theme 2013-08-20 10:47:26 -07:00
Kevin Sawicki d89e95dc54 💄 Move extend under class declaration 2013-08-20 10:15:31 -07:00
Corey Johnson 7ace46d81f Add private beta docs 2013-08-20 09:43:48 -07:00
Kevin Sawicki e13eebdcd2 Remove fontello
This is no longer used now that the octicons include video/audio
on/off icons that are used in the collaboration package.
2013-08-19 21:42:32 -07:00
Kevin Sawicki 3cb3c888ba Upgrade to collaboration@0.5.0 2013-08-19 21:42:28 -07:00
Kevin Sawicki 0947e1cffa Upgrade octicons for mute/unmute icons 2013-08-19 21:40:19 -07:00
Kevin Sawicki 044bcd4053 💄 2013-08-19 21:28:09 -07:00
Kevin Sawicki 805c17d20c Revert "Remove ws dependency now managed in collaboration package"
This reverts commit dc8362cabf.

This is still needed since apm install does not install dev dependencies
of third-party modules.
2013-08-19 21:25:37 -07:00
Kevin Sawicki 77ed5324b1 Move specs from spec/app to spec/ 2013-08-19 21:23:00 -07:00
Kevin Sawicki dc8362cabf Remove ws dependency now managed in collaboration package 2013-08-19 21:08:02 -07:00
Kevin Sawicki 87b859b947 Update links for new repo location under atom org. 2013-08-19 20:50:09 -07:00
Kevin Sawicki f92e61a683 Upgrade to collaboration@0.4.0 2013-08-19 20:36:56 -07:00
Kevin Sawicki 3bd04f8da8 Remove atom-collaboration-server from .gitmodules
This is now reference in the collaboration package repository
2013-08-19 20:33:03 -07:00
Kevin Sawicki d08aa4b9d9 Update telepath submodule URL for new location in atom org. 2013-08-19 20:32:37 -07:00
Kevin Sawicki 38a3adae89 Update apm submodule URL for new location in atom org. 2013-08-19 20:30:32 -07:00
Kevin Sawicki 2f8c9ffa66 Remove src from nof list of directories
It no longer contains any package specs.
2013-08-19 20:20:36 -07:00
Kevin Sawicki a7a1244599 Flatten spec directory 2013-08-19 20:13:58 -07:00
Kevin Sawicki 6ec8b6e26f Update doc tasks for new src layout 2013-08-19 20:13:57 -07:00
Kevin Sawicki 76332c76bd Flatten src directory
* Move src/app to src/
  * Move src/stdlib to src/
  * Remove src/app and src/stdlib from NODE_PATH
2013-08-19 20:13:57 -07:00
Kevin Sawicki 45c11e6fd4 Move src/app/keymaps to repo root 2013-08-19 20:13:57 -07:00
Kevin Sawicki b6785d78e8 Reset themes in afterEach
This ensures they don't bleed over into other specs.
2013-08-19 19:49:52 -07:00
Kevin Sawicki e31cd35ce8 Upgrade apm to fix update command
Closes #726
2013-08-19 19:25:28 -07:00
Kevin Sawicki c80373b11e Upgrade to image-view@0.2.0 2013-08-19 19:15:52 -07:00
Kevin Sawicki & Nathan Sobo cf65945d5c 🐎 Upgrade telepath for performance improvements 2013-08-19 18:07:32 -07:00
Kevin Sawicki & Nathan Sobo f76108fdfd 🐎 Cache tab whitespace regexes in Token 2013-08-19 18:07:32 -07:00
Ben Ogle 8ea8671430 Merge pull request #706 from github/bo-inject-less-vars
Add theme dir(s) to less import paths -> allow package LESS to import from the current theme
2013-08-19 18:03:55 -07:00
Kevin Sawicki & Nathan Sobo f02d05811c Upgrade to collaboration@0.3.0 to fix CI 2013-08-19 16:25:05 -07:00
Kevin Sawicki & Nathan Sobo 0af8c9362b Remove duplicate call to TokenizedBuffer:resetTokenizesLines()
This is already handled in an event listener bound to 'grammar-changed'
which TokenizedBuffer::setGrammar triggers.
2013-08-19 16:20:35 -07:00
Ben Ogle d01cde3358 add another import 2013-08-19 15:55:17 -07:00
Ben Ogle 128543ec7e fix import 2013-08-19 15:55:17 -07:00
Ben Ogle 5de52c59ee Comment 2013-08-19 15:55:17 -07:00
Ben Ogle ea019870fb Add in the fallback ui colors. 2013-08-19 15:55:17 -07:00
Ben Ogle a98b2fd37f Success colors are green! 2013-08-19 15:55:17 -07:00
Ben Ogle c2aefa7616 Change colors in dark ui to match pattern in light ui colors 2013-08-19 15:55:17 -07:00
Ben Ogle 2d12f08375 Update light ui with color system 2013-08-19 15:55:16 -07:00
Ben Ogle 66162902be Pull colors out of the dark-ui theme 2013-08-19 15:55:16 -07:00
Ben Ogle 595f6a975f import the right colors file 2013-08-19 15:55:16 -07:00
Ben Ogle 15085384b9 change name of event to reloaded 2013-08-19 15:55:16 -07:00
Ben Ogle 0eff8deabc remove parens from the list comp 2013-08-19 15:55:16 -07:00
Ben Ogle 72db35d663 rename colors to ui-colors 2013-08-19 15:55:16 -07:00
Ben Ogle 51ec4d3285 Use a few colors in the themes. 2013-08-19 15:55:16 -07:00
Ben Ogle 8b149f63cb Add colors.less files.
Adds one for each theme, and a fallback
2013-08-19 15:55:16 -07:00
Ben Ogle 15a48147b1 Use theme.reload event to reload the theme stylesheets 2013-08-19 15:55:16 -07:00
Ben Ogle 3bc6023a66 Use import paths from themes when loading a less sheet 2013-08-19 15:55:15 -07:00
Ben Ogle b89e58e551 ThemeManager emits a reload event when reloaded 2013-08-19 15:55:15 -07:00
Ben Ogle 6cd003f68e Add reloadStylesheets() to AtomPackage 2013-08-19 15:55:15 -07:00
Ben Ogle 8730638ade Add directory and ImportPaths paths to themes 2013-08-19 15:55:15 -07:00
Kevin Sawicki & Nathan Sobo c3850e4d44 Upgrade to collaboration@0.2.0 for summit branch updates 2013-08-19 15:54:39 -07:00
Kevin Sawicki 0a8ebca67a Use an async waterfall to chain deploy commands 2013-08-19 15:34:25 -07:00
Kevin Sawicki & Nathan Sobo 347801b074 Merge branch 'summit'
Conflicts:
	src/app/config.coffee
	src/atom-application.coffee
	src/main.coffee
2013-08-19 14:01:24 -07:00
Kevin Sawicki & Nathan Sobo fe010eccc7 Update telepath for SharedString::lineForRow speedup 2013-08-19 13:51:59 -07:00
Kevin Sawicki 2959b51afb Upgrade telepath for assumePrimitiveElements optimization 2013-08-19 13:43:43 -07:00
Kevin Sawicki & Nathan Sobo 24e0d8fc03 Add ~/.atom/dev/packages to package load path in dev mode 2013-08-19 09:56:43 -07:00
Kevin Sawicki & Nathan Sobo 42a34c01c9 Add devMode flag to atom.getLoadSettings() 2013-08-19 09:55:11 -07:00
Nathan Sobo cfe5bb1b02 Get benchmark-suite running again 2013-08-18 10:20:20 -06:00
Nathan Sobo f23f23d032 Upgrade telepath for assumePrimitive optimization 2013-08-18 10:19:36 -06:00
Kevin Sawicki 65330a00e3 Special case last row in TextBuffer::suggestedLineEndingForRow
This fixes the TextBuffer specs for changes in the underlying
behavior of SharedString::lineEndingForRow in telepath.
2013-08-16 21:22:06 -07:00
Kevin Sawicki 7f9b057c52 💄 2013-08-16 21:20:47 -07:00
Kevin Sawicki 647b5881a8 Remove TextBuffer::lineEndingForRow spec covered in telepath 2013-08-16 21:16:34 -07:00
Kevin Sawicki 9c76214fe9 Expect undefined instead of null for invalid buffer rows 2013-08-16 21:03:04 -07:00
Kevin Sawicki 3d5516fad9 Default to empty arrays for user and bundled package paths 2013-08-16 20:52:20 -07:00
Kevin Sawicki 338b59dc5f Upgrade telepath for line performance improvements 2013-08-16 20:45:30 -07:00
probablycorey 09c8b2a3a8 Remove the close-without-confirm event
This was not being used anymore.
2013-08-16 15:49:24 -07:00
Kevin Sawicki & Nathan Sobo 1ca7663be4 Upgrade packages for collaboration branch releases 2013-08-16 12:35:05 -07:00
Kevin Sawicki & Nathan Sobo 0e2d6caf94 Upgrade telepath for stack overflow fix 2013-08-16 12:05:15 -07:00
Kevin Sawicki & Nathan Sobo fe2baa18ca Use atom.getAvailablePackageNames() to load package specs 2013-08-16 11:35:43 -07:00
Kevin Sawicki & Nathan Sobo a147dc01d7 Clear undo stack after setting initial buffer text 2013-08-16 11:30:37 -07:00
Kevin Sawicki & Nathan Sobo 2f4555a16f Add config.userPackageDirPaths which includes dev packages in dev mode 2013-08-16 11:18:08 -07:00
Kevin Sawicki & Nathan Sobo 4c121bb084 Upgrade telepath for timestamp fix 2013-08-16 11:18:00 -07:00
Matt Colyer d3130845d1 Adds deploy-docs grunt task 2013-08-16 10:11:14 -07:00
Kevin Sawicki 13a622a853 Upgrade telepath for SharedString transaction fixes 2013-08-16 09:08:58 -07:00
Ben Ogle 1254ceeb6d Merge pull request #715 from github/bo-pane-events
Add a pane:became-inactive event
2013-08-15 18:26:41 -07:00
Ben Ogle eea38a696f add a pane:became-inactive event 2013-08-15 17:28:14 -07:00
Kevin Sawicki & Nathan Sobo 27928a7145 Upgrade telepath for Document::begin/commit/abortTransaction() 2013-08-15 17:17:32 -07:00
Kevin Sawicki 67755ccdc3 Upgrade apm for new link in dev mode command 2013-08-15 08:15:15 -07:00
Kevin Sawicki & Nathan Sobo 6178c64c68 Add ~/.atom/dev/packages to package load path in dev mode 2013-08-14 17:41:32 -07:00
Kevin Sawicki & Nathan Sobo b305a09be3 Add devMode flag to atom.getLoadSettings() 2013-08-14 17:33:58 -07:00
Kevin Sawicki & Nathan Sobo 5313f6cf66 Upgrade telepath for Range.fromPointWithDelta() fix 2013-08-14 16:35:30 -07:00
Kevin Sawicki & Nathan Sobo f00bb58932 TokenizedBuffer constructor now takes an object 2013-08-14 16:35:10 -07:00
Kevin Sawicki & Nathan Sobo ad36b2c6a6 Allow user package specs to override bundled package specs 2013-08-14 15:36:45 -07:00
Kevin Sawicki & Nathan Sobo b3fe63b1b4 Don't return duplicates from atom.getAvailalblePackageNames() 2013-08-14 15:34:47 -07:00
Kevin Sawicki c6d1409151 Merge branch 'master' into summit
Conflicts:
	.pairs
	package.json
	spec/app/tokenized-buffer-spec.coffee
	src/app/edit-session.coffee
	src/app/project.coffee
	src/app/window.coffee
	src/atom-application.coffee
	static/root-view.less
2013-08-14 14:05:35 -07:00
Kevin Sawicki 5235114eed Use fs.readdirSync() for listing package directories
Previously fsUtils.listTreeSync() was used which returns every path
in the tree, not just paths directly underneath the root path.

This speeds up the spec suite require time by not stat'ing the entire
node_modules directory.
2013-08-14 11:29:48 -07:00
Ted Nyman c61d45805d Formatting 2013-08-14 11:01:50 -07:00
Ted Nyman c294c94c02 Update documentation location 2013-08-14 11:01:50 -07:00
Kevin Sawicki b7a8e22d82 Set spec type after all specs in the category are required 2013-08-14 10:58:56 -07:00
Nathan Sobo bd6dda6f0f Don't load buffer contents from disk without an isModified key in state
When we deserialize a replicated buffer, we always want to honor the
current contents of state. If the state was produced by a call to
`getState` instead of `serialize`, it won't have an `isModified` key,
so we should not load from disk.
2013-08-14 11:55:37 -06:00
Nathan Sobo 468034f261 🙊 2013-08-14 11:46:10 -06:00
Nathan Sobo c6a0e385f7 Always include text in serialized buffer state; also include isModified
Previously, we were not including the text when serializing an
unmodified buffer. We would use the absence of the text field to
determine that the buffer was previously unmodified when deserializing.
The problem is that text now stores the markers associated with the
buffer, and we want to retain those across serialization regardless of
the modified status. So now I include the text always, along with an
isModified flag which if true, will tell to reload the buffer if it
has changed since we last serialized it. Reloading a buffer should
probably do a diff-and-patch in the future rather than replacing the
contents outright, so that we always preserve markers as best as we can.
2013-08-14 11:31:17 -06:00
Kevin Sawicki 4781636889 💄 Group dependencies by type 2013-08-14 10:27:12 -07:00
Nathan Sobo fa6ea01bfc Restore assignment of @project ivar in TextBuffer
Because TextBuffers need a reference to `project` during deserialization,
and because the project global deserializes text buffers while it itself
is being deserialized (which happens before the global is actually
assigned), we have to pass a project reference into TextBuffer. This is
really annoying and makes me want to store the references to open buffers 
elsewhere. But for now it's the only way to break the circularity.
2013-08-14 10:49:48 -06:00
Kevin Sawicki f021ce3657 Compile bundled package files in compile task
Any .coffee, .cson, and .less files found in bundled Atom packages
in node_modules are now compiled during the compile task
2013-08-14 09:28:17 -07:00
Kevin Sawicki 71b238fafc Upgrade to command-logger@0.2.0 2013-08-14 08:48:13 -07:00
Kevin Sawicki 63df6c8dcd Upgrade to settings-view@0.3.0 2013-08-14 08:48:13 -07:00
Kevin Sawicki 7fc8cea167 Upgrade to settings-view@0.2.0 2013-08-14 08:48:12 -07:00
Kevin Sawicki 726a60b348 Upgrade to archive-view 0.2 2013-08-14 08:48:12 -07:00
Kevin Sawicki 0429ed09ff Remove humanize-plus dependency 2013-08-14 08:48:12 -07:00
Kevin Sawicki 14df854ea8 Remove keytar dependency 2013-08-14 08:48:12 -07:00
Kevin Sawicki c8727873c7 Remove jqueryui-browser dependency 2013-08-14 08:48:12 -07:00
Kevin Sawicki 3b7e1400c0 Remove roaster dependency 2013-08-14 08:48:12 -07:00
Kevin Sawicki 2ddd77122e Remove config.bundledPackagesDirPath that was src/packages 2013-08-14 08:48:12 -07:00
Kevin Sawicki 41268c67d7 Remove internal packages section from spec reporter 2013-08-14 08:48:12 -07:00
Kevin Sawicki 4777c4c42c Remove mention of src/packages 2013-08-14 08:48:12 -07:00
Kevin Sawicki ced95e7ad9 Remove src/packages from NODE_PATH 2013-08-14 08:48:12 -07:00
Kevin Sawicki 68ddeeef01 Pull out collaboration package into a separate repo 2013-08-14 08:48:12 -07:00
Kevin Sawicki 184e6a14c7 Pull out settings-view package into a separate repo 2013-08-14 08:48:12 -07:00
Kevin Sawicki 25378e9905 Pull out command-panel package into a separate repo 2013-08-14 08:48:12 -07:00
Kevin Sawicki 80a6999af4 Pull out fuzzy-finder package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 257722f82e Pull out command-palette package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 58a938b3f1 Pull out snippets package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 875f187915 Pull out status-bar package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 229e380e28 Pull out tree-view package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 52e8e3aaf3 Pull out autocomplete package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki dc775f93ff Pull out tabs package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 63b1546212 Pull out bookmarks package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki b9585d1cf2 Pull out package-generator package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 189b9051a9 Pull out whitespace package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki f3ef0b77a8 Pull out bracket-matcher package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki bdefff6abe Pull out editor-stats package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 235078be8e Pull out github-sign-in package into a separate repo 2013-08-14 08:48:11 -07:00
Kevin Sawicki 02d7668c73 Pull out link package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki 7bb41f57b0 Pull out markdown-preview package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki c1c50a0b4c Pull out symbols-view package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki 7bc135d82e Pull out grammar-selector package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki a1847b5355 Pull out go-to-line package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki 3686a5b0ba Pull out git-diff package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki db82f6bb8b Pull out gists package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki d5b5c76485 Pull out gfm package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki 6430aefaa8 Pull out toml package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki f41ffd6cbf Pull out wrap-guide package into a separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki 8a44da49d1 Remove tilde from humanize-plus dependency 2013-08-14 08:48:10 -07:00
Kevin Sawicki 9e50c829a0 Pull out image-view package into separate repo 2013-08-14 08:48:10 -07:00
Kevin Sawicki d2cf652a0b Pull out command-logger package to separate repo 2013-08-14 08:48:09 -07:00
Kevin Sawicki 01fee754f7 Pull out autoflow package to separate repo 2013-08-14 08:48:09 -07:00
Kevin Sawicki 24c304481e Pull out archive-view package to separate repo 2013-08-14 08:48:09 -07:00
Kevin Sawicki d02d42f40e Pull out spell-check package to separate repo 2013-08-14 08:48:09 -07:00
Kevin Sawicki c747e1c686 Separate npm and apm output with an empty line 2013-08-14 08:46:53 -07:00
Corey Johnson & Nathan Sobo 3c166edd26 Start switch to Telepath for undo/redo
Also, TextBuffer spec passes!
2013-08-13 17:34:31 -07:00
Corey Johnson & Nathan Sobo 2d46a98ea2 Update telepath 2013-08-13 17:14:10 -07:00
Cheng Zhao 51a847c820 Merge pull request #697 from github/buffered-node-process
Remove dependency of bundled node
2013-08-13 00:05:17 -07:00
Cheng Zhao 4f7c7568e9 Update apm: No more need of bundled node. 2013-08-13 14:48:40 +08:00
Cheng Zhao 326ee2e5fa 💄 2013-08-13 14:47:28 +08:00
Cheng Zhao 32a0faf068 Don't assume we have a bundled node process in BufferedProcess. 2013-08-13 14:47:27 +08:00
Cheng Zhao 66da13a6ff Add BufferedNodeProcess to execute apm and nak.
On Windows the shebang string is not supported, so we haveto execute apm
and nak as scripts instead of as executables.
2013-08-13 14:47:27 +08:00
Cheng Zhao ebaa6c349f Revert "Downgrade to atom-shell@v0.2.1"
This reverts commit d7cfb757d6.
2013-08-13 14:47:27 +08:00
Kevin Sawicki 063d48c4ab Use ScopeSelector class from first-mate
Begin migrating TextMate helpers out of src/ and into the first-mate
package.
2013-08-12 16:22:18 -07:00
Jessica Lord & Kevin Sawicki 0a53e2f7bb Use getText() instead of val() for username & password 2013-08-12 15:52:28 -07:00
Jessica Lord & Kevin Sawicki 12fbd89e79 Clear username and password when detached 2013-08-12 15:46:01 -07:00
Jessica Lord & Kevin Sawicki 6a16ef0cf8 Listen for buffer changed events to validate sign in view 2013-08-12 15:45:52 -07:00
Jessica Lord & Kevin Sawicki 8d180dd767 Set text security on line elements only
This ensures the disc does not appear when the field is empty
2013-08-12 15:44:57 -07:00
Jessica Lord & Kevin Sawicki 475fefa2fd turned off html clear to show duplicate password disc 2013-08-12 15:01:41 -07:00
Jessica Lord & Kevin Sawicki 86d0fca621 Switch GitHub Sign in to mini-editors
Previously bootstrap <input> fields didn't work with keybindings.
Switched to mini-editors to enable expected keybindings. Edited tabs for
focusing and password text to disc style.
2013-08-12 14:56:47 -07:00
Kevin Sawicki 3056efd351 Remove unused lines variable 2013-08-12 14:41:14 -07:00
Kevin Sawicki 7ba57df6f7 Mention new fixes and additions 2013-08-12 10:10:22 -07:00
Nathan Sobo 5c2f4d939a Move new additions to philosophy section and tone-down the rhetoric 2013-08-12 10:46:46 -06:00
probablycorey 6c9c7b6d92 Fuzzy filter scores files more than 10 directories deep
All files more than 10 directories deep were accidentally being scored as 0.
2013-08-12 09:43:43 -07:00
Nathan Sobo 210dd61d2a Start adding some serious philosophy to the contribution guidelines 2013-08-12 00:18:58 -06:00
Kevin Sawicki aa302cb935 Add -syntax suffix to converted themes 2013-08-11 13:51:07 -07:00
Kevin Sawicki 994e856ccd Tweak error message when theme file is not found 2013-08-11 13:44:33 -07:00
Kevin Sawicki 808f7e6ed3 Add grunt task to convert TextMate themes to Atom themes 2013-08-11 13:42:34 -07:00
Kevin Sawicki 22f7bc8f26 Upgrade to terminal 0.3.0 2013-08-09 17:34:31 -07:00
Kevin Sawicki ab0b2cf12e Bundle atom/terminal package by default 2013-08-09 17:24:11 -07:00
Kevin Sawicki 599a2ad021 Group specs into four sections
1. Core specs located in spec/
2. Internal package specs in src/packages
3. Bundled package specs in node_modules
4. User package specs in ~/.atom/packages
2013-08-09 17:24:07 -07:00
Kevin Sawicki db649798ef Ignore missing symlinks in fsUtils.traverseTreeSync()
These were previously throwing an error from the call to
statSync().

Now statSync() is wrapped in a try block and only performed when
lstatSync() reports a symbolic link.
2013-08-09 17:23:29 -07:00
Jessica Lord & Kevin Sawicki 4f8f8c43a4 Rename event to open-settings from open-config 2013-08-09 13:38:01 -07:00
Jessica Lord & Kevin Sawicki 4491a9302b Forward config menu click event to focused window
Previously the Atom > Preferences... menu just logged an error message.

Now it fires a window:open-config event to the focused window.
2013-08-09 13:29:12 -07:00
Jessica Lord & Kevin Sawicki ce138b56c0 add jlord to pairs file 2013-08-09 13:28:25 -07:00
Kevin Sawicki 8f8c0cbf45 Mention theme not found fix 2013-08-09 11:26:37 -07:00
Kevin Sawicki 7e04d85e1e Log a warning when a theme fails to load
Previously Atom would fail to launch if a theme referenced in
the config was not found.
2013-08-09 11:25:07 -07:00
Kevin Sawicki 2597837ba7 Use ~/.atom/storage instead of ~/.atom/.storage
The serialization format is changing for telepath and this allows a clean
upgrade and the dotted directory does not seem needed since it is already
behind one dotted directory (.atom).
2013-08-09 10:38:57 -07:00
Kevin Sawicki 136836e615 Allow non-existent files to be opened from fuzzy finder
The previous isFileSync check prevented unsaved buffers with a path to a
non-existent file from being opened from the fuzzy finder.

Now an error is only displayed if the selected path is a directory.

Closes #686
2013-08-09 10:31:40 -07:00
Matt Colyer 82882624ce Handle atom standard output from atom.sh 2013-08-09 10:23:05 -07:00
Kevin Sawicki c03e849089 Add missing dot in usage ellipsis 2013-08-09 10:10:39 -07:00
Kevin Sawicki 25f98e223f Use subscribe for syntax event callback 2013-08-09 09:37:21 -07:00
Kevin Sawicki c2290ab8b4 Show symlink directory icon in tree view 2013-08-08 21:35:43 -07:00
Kevin Sawicki 9c39587d6e Debounce grammar-added/updated render callback
This prevents rendering from occurring once per grammar loaded
when Atom is started with a markdown preview already opened.
2013-08-08 20:37:54 -07:00
Kevin Sawicki 972aa75f3e Add mixin for adding octicon font-face 2013-08-08 18:54:13 -07:00
Kevin Sawicki 1d1e4b33d4 💄 2013-08-08 18:44:08 -07:00
Kevin Sawicki 79a61d47b2 Remove unused parameter 2013-08-08 18:41:00 -07:00
Kevin Sawicki 26c9e7cfa9 Re-render markdown when a grammar is added
Previously if the markdown preview launched before grammars finished
loading the fenced code blocks would not be colorized correctly.
2013-08-08 18:28:26 -07:00
Kevin Sawicki 28f9f22614 Map coffee-script fence to coffee extension 2013-08-08 18:20:51 -07:00
Kevin Sawicki 69caf6c98f Upgrade to roaster 0.0.7 2013-08-08 18:18:16 -07:00
Kevin Sawicki 51f1bb896c Update config.cson example with accurate keys 2013-08-08 18:07:40 -07:00
Kevin Sawicki 0fd834004e Support optional dash in CoffeeScript fence name 2013-08-08 18:03:47 -07:00
Kevin Sawicki d2654cb70c 💄 2013-08-08 17:56:01 -07:00
Kevin Sawicki 268553cda9 Use css extension for css fenced blocks 2013-08-08 17:50:40 -07:00
Kevin Sawicki 64a61d86d4 Update docs for new window keybinding change 2013-08-08 17:48:28 -07:00
Kevin Sawicki 216a9e11c0 Run set-development-version task during ci task 2013-08-08 17:25:35 -07:00
probablycorey 04373d2d9d Score files with a low nesting depth higher.
Fixes #692
2013-08-08 17:06:58 -07:00
probablycorey 9a2e768882 Group mini-editor css styles 2013-08-08 17:06:58 -07:00
Kevin Sawicki d13d0543b9 Ignore display-property-grouping lint errors
These aren't always accurate since the computed value for floats
can override the specified value.
2013-08-08 16:47:00 -07:00
Kevin Sawicki 6178294537 Use octicon mixin for gutter and line fold icons
This corrects a line height mismatch issue between the editor
and the gutter for certain fonts and font sizes.

Close #689
2013-08-08 16:12:26 -07:00
Kevin Sawicki & Nathan Sobo 4871a7a06d Floor subpixel aware values when calculating position left
getClientRects() does not return subpixels so subpixels values
should be ignored if returned either from scrollView.offset() or
scrollLeft().
2013-08-08 16:11:23 -07:00
Kevin Sawicki fe23d82e23 Use octicon mixins in fuzzy finder and status bar 2013-08-08 14:17:58 -07:00
Kevin Sawicki d6e94b1105 Try chevrons instead of triangles in command panel 2013-08-08 14:12:19 -07:00
Kevin Sawicki f0a2b17914 Use octicon mixins in command-panel.less 2013-08-08 14:10:28 -07:00
Kevin Sawicki ab2252f80f Try chevrons in tree view instead of triangles 2013-08-08 14:00:18 -07:00
Matt Colyer f1cf8711a8 Explictly stop updates if the version is a SHA 2013-08-08 10:41:44 -07:00
Nathan Sobo 0f14dd9420 Disable pane-splitting spec for now
We'll get it working once this branch gets merged to master.
2013-08-08 11:01:01 -06:00
Kevin Sawicki & Nathan Sobo d7cfb757d6 Downgrade to atom-shell@v0.2.1
atom-shell@v0.3.0 removed the node binary which was needed for
scripts spawned by BufferedProcess such as nak. We can explore
other approaches to spawning node-based  subprocesses if it's
a deal-breaker to ship with a node binary.
2013-08-08 09:45:17 -07:00
Kevin Sawicki ea2113e753 Omit 'core.themes' from general-panel
This setting is handled in the theme-panel
2013-08-08 08:45:09 -07:00
Kevin Sawicki 05f4604005 Spy on shell.beep() to prevent an audible beep when specs run 2013-08-08 08:37:09 -07:00
Kevin Sawicki 71b2400dbc Upgrade to space-pen 1.2.0
This should speed up CI times that were originally slowed
down by the upgrade from 1.0.0 to 1.1.0
2013-08-07 21:28:11 -07:00
Kevin Sawicki 1de46330d7 Upgrade to coffee-script-tmbundle 4.0.0
Previous spec failures caused by earlier upgrade were fixed in prior commit.
2013-08-07 18:20:54 -07:00
Kevin Sawicki de4e24582d Comma separate left and right matcher in or matcher 2013-08-07 18:20:41 -07:00
Kevin Sawicki dffb0b35e7 Revert to coffee-script-tmbundle 2.0.0
4.0.0 caused some specs to fails regarding commenting lines
2013-08-07 18:07:06 -07:00
Kevin Sawicki d8ec4573ec Remove all references to vendor/packages
3rd party packages are stored in node_modules
2013-08-07 17:40:15 -07:00
Kevin Sawicki 09a6e9a42e Remove vendored TextMate themes 2013-08-07 17:39:18 -07:00
probablycorey 57fe9c6903 Remove left padding to gutter fold octicon (it causes spec failures) 2013-08-07 16:46:32 -07:00
probablycorey cf3e1a9b6d Remove superfluous logging 2013-08-07 15:52:49 -07:00
probablycorey 4629905b65 Remove all references to TextMate themes.
Let's not ship with TextMate theme support. Our .less theme files are
easier to read and write than TextMate themes. If we want to use
TextMate themes we should write a script that converts them to the 
Atom .less version.

Closes #629
2013-08-07 15:21:47 -07:00
Kevin Sawicki d4e8de60ce Upgrade coffee-script-tmbundle 2013-08-07 14:37:55 -07:00
Kevin Sawicki 3237636206 Use octicon variables in bookmarks.less 2013-08-07 14:06:30 -07:00
Kevin Sawicki 934fe1c6d0 Add left padding to gutter fold octicon 2013-08-07 14:01:23 -07:00
Kevin Sawicki 9aff1476d4 Use octicon variables in command-panel.less and editor.less 2013-08-07 13:57:41 -07:00
Kevin Sawicki 084d310366 Use octicon variables in fuzzy-finder.less 2013-08-07 13:50:38 -07:00
Kevin Sawicki d122d18a34 Update New Window menu keybinding to cmd-shift-n 2013-08-07 13:39:45 -07:00
Kevin Sawicki 6fb3dea9cd Use octicon variables in status-bar.less 2013-08-07 13:36:06 -07:00
Nathan Sobo ceb2a3857d Merge pull request #681 from github/scope-ranges
Add ability to query for a range covering a given scope/position
2013-08-07 12:14:00 -07:00
Nathan Sobo ab80da4363 Add EditSession.bufferRangeForScopeAtCursor 2013-08-07 12:53:09 -06:00
Nathan Sobo 19545e1113 Add setTextInBufferRange to EditSession
We should probably rename TextBuffer.change to .setTextInRange as well
2013-08-07 12:53:09 -06:00
Nathan Sobo 88603e2771 Use normalized variables instead of original parameters 2013-08-07 12:53:09 -06:00
Nathan Sobo 5f323cc67c Add TokenizedBuffer.bufferRangeForScopeAtPosition(selector, position)
You can call this method with a selector and a position and get the range
of any matching scope containing the given position, or a falsy value
if the scope does not match at that position.
2013-08-07 12:53:03 -06:00
Jason Rudolph & Nathan Sobo 39d15d6087 Add _.isSubset 2013-08-07 12:37:03 -06:00
Jason Rudolph & Nathan Sobo eaba8ef016 Add Jason Rudolph to .pairs file 2013-08-07 12:36:05 -06:00
Jason Rudolph & Nathan Sobo 6cc4cf87b9 💄 Add intention-revealing helper method 2013-08-07 12:36:05 -06:00
Kevin Sawicki c6a914a6e1 Default looking for octicons in ~/github/octicons 2013-08-07 10:59:45 -07:00
Kevin Sawicki 32af574206 Add trailing newline to octicon-utf-codes.less 2013-08-07 10:56:08 -07:00
Kevin Sawicki 552ab150cb Mention no more reload for theme changes 2013-08-07 10:52:36 -07:00
Kevin Sawicki 2698925d10 Reload stylesheets when core.themes config changes
Extracted a new ThemeManager class to encapsulate all the theme
work previously done directly in atom global.

Closes #642
2013-08-07 10:51:25 -07:00
probablycorey 13b1632dfc Update octicons 2013-08-07 10:37:12 -07:00
probablycorey de204b0321 Add script to automate octicon updates 2013-08-07 10:37:12 -07:00
Kevin Sawicki def07344e9 Visually separate core and package specs in reporter 2013-08-07 09:32:29 -07:00
Kevin Sawicki 4ef3f39a7b Rename settings.cson to settings-view.cson 2013-08-07 08:53:20 -07:00
Kevin Sawicki 2bf26e8db5 Rename theme-config-panel-spec to theme-panel-spec 2013-08-07 08:52:02 -07:00
Kevin Sawicki 24b3b664dc Rename config-view-spec.less to settings-view-spec.less 2013-08-07 08:51:23 -07:00
Kevin Sawicki 2352829b28 Rename config-view.less to settings-view.less 2013-08-07 08:50:45 -07:00
Kevin Sawicki 3ca34dad40 Tweak settings view button text 2013-08-07 08:50:31 -07:00
Kevin Sawicki 15dc6442d0 Upgrade to less 1.4.2
Prevents issues with version incompatibilities between our less fork,
grunt-contrib-less, and grunt-lesslint.

Closes #647
2013-08-06 19:40:53 -07:00
Kevin Sawicki d775038f8d Don't expand snippets when text is selected
Closes #675
2013-08-06 19:31:49 -07:00
Kevin Sawicki 3829970a09 Register edit session with project at end of ctor
Previously edit-session-created could be fired before certain properties
were set which could cause listeners to raise exceptions.
2013-08-06 19:09:14 -07:00
Kevin Sawicki 633306e6bf Fire edit-session-created event when deserializing
This event was previously not being fired when splitting panes
since the constructor pushing the edit session directly to the
project's array.

Closes #684
2013-08-06 19:07:24 -07:00
Kevin Sawicki 7d58008ed3 Show completions for current scope in autocomplete
Add the TextMate "completions" preferences available as "editor.completions"
and add all completions matching the current scope of the cursor position
when building the autocomplete word list.

Closes #676
2013-08-06 18:18:22 -07:00
Kevin Sawicki bc9e32a3cf 💄 2013-08-06 17:11:32 -07:00
Kevin Sawicki a98791ebd0 Add filter support to selector grammar
Currently these are unimplemented but they can now be parsed
successfully since they are used by certain snippets.
2013-08-06 17:06:22 -07:00
Kevin Sawicki a72e1813e9 Support stand-alone negation in selector grammar
Previously negation was only supported as the right hand side
of an composite.
2013-08-06 16:54:32 -07:00
Kevin Sawicki fe9ffbeb12 Support selectors with a trailing comma 2013-08-06 15:55:50 -07:00
Kevin Sawicki e61992c1f6 Allow _ characters in selector segments 2013-08-06 15:21:31 -07:00
Kevin Sawicki 612332cd9f Allow + characters in selector segments 2013-08-06 15:12:24 -07:00
Kevin Sawicki 40d81ca22c Upgrade to space-pen 1.1.1
Fixes regression when removing multiple views
2013-08-06 15:09:11 -07:00
Kevin Sawicki faf02460f5 Add TextMateScopeSelector.toCssSelector() 2013-08-06 15:09:10 -07:00
Kevin Sawicki f010e8a888 Add Editor.scopesForBufferPosition()
Passes through to EditSession.scopesForBufferPosition()
2013-08-06 15:09:10 -07:00
probablycorey 712e9c7203 Add spec to test cutToEndOfLine when soft wrap is enabled 2013-08-06 14:02:30 -07:00
probablycorey 128a030880 Moving to the start or end of a line treats screen lines as real lines 2013-08-06 14:02:30 -07:00
Kevin Sawicki 907c3245a9 Upgrade to space-pen 1.1.0
Uses WeakMap cache for faster element to View lookup.
2013-08-06 13:49:20 -07:00
Kevin Sawicki da7cbeddc7 Support scope selectors with dashes in segments
Previously dashes were only interpreted as negation which
wasn't correct.

Segments should be able to contain a dash as long as it isn't at
the very beginning of the segment.
2013-08-06 12:18:36 -07:00
Kevin Sawicki 8b55c4981d Add assert for multi-segment prefix 2013-08-06 11:35:37 -07:00
Kevin Sawicki b7a59748c4 Adding missing parens 2013-08-06 10:47:56 -07:00
probablycorey b49de61402 Rename getMovePreviousWordBoundaryBufferPosition
New name is getPreviousWordBoundaryBufferPosition
2013-08-06 08:53:27 -07:00
probablycorey c38edbfe0b Cursor.moveCursorToBeginningOfNextWord() behaves correctly on whitespace
Closes #669
2013-08-05 16:47:29 -07:00
Kevin Sawicki 557ada7c81 Read metadata when TextMate packages are loaded
The bundled TextMate packages contain valid package metadata
which should be available when displaying in the packages settings
view.
2013-08-05 16:09:10 -07:00
Kevin Sawicki 236ec6fc3b Ignore children with no names
This will be elements that aren't package views
2013-08-05 15:54:03 -07:00
Kevin Sawicki 35890588ca Remove separation for release that didn't happen 2013-08-05 14:10:52 -07:00
probablycorey c6c0ecbb37 Make changelog entries more readable 2013-08-05 14:09:08 -07:00
probablycorey 1fdbf4612c Update changelog 2013-08-05 13:56:22 -07:00
probablycorey 948fa3a91c Fix naming errors 2013-08-05 13:54:39 -07:00
probablycorey a624d52f42 💄 2013-08-05 13:54:39 -07:00
probablycorey 2b50f2409e Add settings view package description 2013-08-05 13:54:39 -07:00
probablycorey 0b11ce64a2 Rename config view to settings view 2013-08-05 13:54:39 -07:00
probablycorey f70c6928cd Use rootView.open to display config panel 2013-08-05 13:54:39 -07:00
probablycorey cbb6d58d1b Rename ThemeConfigPanel to ThemePanel 2013-08-05 13:54:39 -07:00
probablycorey 4dc2e48e8c Activate all packages before loading the settings config panel 2013-08-05 13:54:39 -07:00
probablycorey 7385bd97c6 💄 2013-08-05 13:54:39 -07:00
probablycorey 063078cd34 Remove Config panel class and update Settings Panel spec 2013-08-05 13:54:39 -07:00
probablycorey 789b8a2987 Rename GeneralConfigPanel to SettingsPanel 2013-08-05 13:54:38 -07:00
probablycorey 53ea135799 Add defaults for autodave and excludeVcsIgnoredPaths 2013-08-05 13:54:38 -07:00
probablycorey 32242687bd Rename @pack to @metadata 2013-08-05 13:54:38 -07:00
probablycorey 3aca556827 Simplify tab clicking 2013-08-05 13:54:38 -07:00
probablycorey 372a64bd5d Typo 2013-08-05 13:54:38 -07:00
probablycorey 3f83d42afc Fix broken specs 2013-08-05 13:54:38 -07:00
probablycorey 8bf877e400 Inline available packages 2013-08-05 13:54:38 -07:00
probablycorey 29f45b787b Add set loading text 2013-08-05 13:54:38 -07:00
probablycorey 68491a512d Fix broken specs 2013-08-05 13:54:38 -07:00
probablycorey bd72f245b1 Inline installed packages panel 2013-08-05 13:54:38 -07:00
probablycorey 4ef5082887 Add filter to packages config panel 2013-08-05 13:54:38 -07:00
probablycorey 27822fb37c Remove editor config panel 2013-08-05 13:54:38 -07:00
probablycorey be803bf122 Remove comments 2013-08-05 13:54:38 -07:00
probablycorey db29a1b6a2 Auto populate config settings 2013-08-05 13:54:38 -07:00
probablycorey 25d4bb8d6c Add _.uncamelcase 2013-08-05 13:54:37 -07:00
probablycorey 8cc47a2069 Add _.deepExtend 2013-08-05 13:54:37 -07:00
probablycorey c825e20f62 Make config view focusable 2013-08-05 13:54:37 -07:00
probablycorey 69eace6292 Remove references to windowed config panel 2013-08-05 13:54:37 -07:00
probablycorey 2284435551 Move config view to a package 2013-08-05 13:54:37 -07:00
probablycorey 1252b94fcb Warn if no deserilizer can be found for some state 2013-08-05 13:54:37 -07:00
probablycorey 8d0afc087f Don't set uri when pane item doesn't serialize itself 2013-08-05 13:54:37 -07:00
probablycorey f789c7e2df 💄 2013-08-05 12:43:56 -07:00
probablycorey 80bbd035db Do not download update if Atom is running in dev mode 2013-08-05 12:40:47 -07:00
Kevin Sawicki 0397df2f4d Rename package main to just Bookmarks
This allows the view that displays the bookmarks for browsing
to be called just BookmarksView.
2013-08-05 11:32:50 -07:00
Kevin Sawicki cd8796b561 Add select list to browse and open bookmarks from 2013-08-05 11:28:10 -07:00
Kevin Sawicki 68103601e6 Move folding changes to next release section 2013-08-01 09:13:12 -07:00
Kevin Sawicki c278ead451 Mention bookmarks view 2013-08-01 09:12:18 -07:00
Kevin Sawicki c44e9b6308 💄 2013-08-01 08:48:15 -07:00
Kevin Sawicki 1c37537d19 Show octicon in gutter for bookmarked line 2013-08-01 08:47:41 -07:00
Kevin Sawicki 684dec4b24 Always suggest non-negative indent levels
Close #668
2013-07-31 18:01:38 -07:00
Kevin Sawicki 30f72c1519 Update bootstrap URL in .gitmodules 2013-07-30 16:39:23 -07:00
Kevin Sawicki 69733a8f7a Put file name at beginning of markdown preview title
Previously the 'Markdown Preview - ' prefix dominated the tab text
making it hard to disambiguate which preview was for which editor.

Now the title leads with the file name and follows with a "Preview" suffix.
2013-07-29 14:41:23 -07:00
Kevin Sawicki c22bbf98b8 Remove unused redis dependency 2013-07-28 19:22:45 -07:00
Kevin Sawicki 555611aa1f Prepend new participant views instead of appending 2013-07-27 13:45:21 -07:00
Nathan Sobo 579cfb4a4a Disable audio for self-streams 2013-07-27 13:53:10 -06:00
Kevin Sawicki 9753a63227 Trigger connected event for local media connection to self
Also upgrade atom-collaboration-server
2013-07-27 11:56:04 -07:00
Kevin Sawicki 292815c014 Add participant view for self
This will show your own camera video and which color you appear
as to other session participants.
2013-07-27 11:38:16 -07:00
Kevin Sawicki b38a6f2235 Request avatars to be 420px 2013-07-27 11:10:58 -07:00
Kevin Sawicki 0b6f38118e Add back setting avatar background image to avatar url 2013-07-27 11:02:44 -07:00
Kevin Sawicki 50932bc9e2 Remove unused require 2013-07-27 10:42:25 -07:00
Kevin Sawicki 99ff064072 💄 remove unneeded units 2013-07-27 10:40:50 -07:00
Kevin Sawicki 51899e602c 💄 remove trailing whitespace 2013-07-27 10:40:15 -07:00
Kevin Sawicki bca15a7589 Show avatar until video becomes available 2013-07-27 10:39:24 -07:00
Kevin Sawicki c723dd5406 Exclude remote markers from TextBuffer.serialize() 2013-07-27 10:31:11 -07:00
Kevin Sawicki 891f032def Unfocus collaboration spec 2013-07-27 10:06:04 -07:00
Nathan Sobo 433435743e Log some collaboration events until we're more stable 2013-07-27 09:48:01 -06:00
Ben Ogle 2a010cb00a volume 100%; remove remove link 2013-07-26 17:41:15 -07:00
Ben Ogle d13cc7d96f Merge branch 'summit' of github.com:github/atom into summit 2013-07-26 17:32:07 -07:00
Kevin Sawicki & Matt Colyer 624ca77173 Wrap webkitGetUserMedia in nextTick for reliability 2013-07-26 17:24:37 -07:00
Ben Ogle ac8c95d9a6 Fix padding on connections count 2013-07-26 17:16:47 -07:00
Ben Ogle 492fc46fb8 Add avatar when video hidden 2013-07-26 17:08:52 -07:00
Ben Ogle 86d1990894 Add fontello icons.
Remove this when we have octicons for audio and video
2013-07-26 16:54:35 -07:00
Kevin Sawicki & Nathan Sobo 121ee10f5a Call atom.getWindowState() instead of accessing property directly 2013-07-26 16:17:32 -07:00
Kevin Sawicki & Nathan Sobo c1e6aeece8 Store live reference to root view state in window state instead of clone 2013-07-26 16:17:32 -07:00
Ben Ogle 450caa124a add another color 2013-07-26 16:12:34 -07:00
Ben Ogle 85e90f2c09 Add ParticipantViewContainer
makes the stacking of participant views waaay better
2013-07-26 16:10:04 -07:00
Ben Ogle c6293afc3b Add index to participant view to stack multiple vids 2013-07-26 15:39:03 -07:00
Ben Ogle 87183f52ad comment out the avatar thing 2013-07-26 15:39:03 -07:00
Ben Ogle c49e092082 toggle classes added to participant view 2013-07-26 15:39:03 -07:00
Ben Ogle 100110430a Add toggle states and colors to toggle vid and audio buttons 2013-07-26 15:39:03 -07:00
Kevin Sawicki & Nathan Sobo 9d2756a8ae Rename audio/video configuration keys 2013-07-26 15:28:23 -07:00
Kevin Sawicki & Nathan Sobo 163015517e Create media connection for each other participant 2013-07-26 15:06:16 -07:00
Ben Ogle 5b267f4a3f cursor has site color 2013-07-26 14:44:32 -07:00
Ben Ogle e07f92c4ee Pick colors for the cursors and volume bars 2013-07-26 14:32:36 -07:00
Ben Ogle a7b496f8c1 add site-id class to selection-view 2013-07-26 14:10:11 -07:00
Ben Ogle f562a84bb5 add TODO for the crappy siteId hash usage 2013-07-26 14:01:18 -07:00
Ben Ogle e84065fd9d Better use of participant object 2013-07-26 14:00:53 -07:00
Ben Ogle c6737caae6 add test for clientId -> siteId map 2013-07-26 13:50:02 -07:00
Ben Ogle a0b7b4dd96 use clientIdToSiteId in participant view 2013-07-26 13:50:02 -07:00
Ben Ogle 4fe90900cc add clientIdToSiteId to session's document 2013-07-26 13:48:24 -07:00
Matt Colyer e088daa15b Copy the session id when hosting via the statusbar 2013-07-26 13:43:25 -07:00
Matt Colyer cc9902958e Remove unused github avatar initialization 2013-07-26 13:30:40 -07:00
Matt Colyer b87b4c1089 Reduce size of video stream 2013-07-26 12:22:33 -07:00
Kevin Sawicki & Nathan Sobo c2ec172617 Upgrade telepath to avoid marker update corner case 2013-07-26 13:04:42 -06:00
Kevin Sawicki & Nathan Sobo a60320df3a Add Participant class 2013-07-26 12:25:20 -06:00
Kevin Sawicki & Nathan Sobo 32f75040de Spec 💄 – Move spies to beforeEach and s/host/leader/g 2013-07-26 11:48:42 -06:00
probablycorey c7321a795b Use WsChannel to handle media webrtc handshake 2013-07-26 08:54:07 -07:00
Kevin Sawicki & Nathan Sobo 8493ef092e Add Editor.getRelativePath() that delegates to EditSession 2013-07-26 08:45:41 -07:00
Kevin Sawicki & Nathan Sobo a9edaaba51 Add failing spec for splitting edit sessions 2013-07-26 08:45:13 -07:00
Kevin Sawicki 0e89db68a3 Upgrade to patrick 0.4 2013-07-26 08:40:45 -07:00
Kevin Sawicki 4f6f26735c Upgrade to git-utils 0.24 2013-07-26 08:38:40 -07:00
Cheng Zhao b9261a33be Update apm: update node to v0.10.15. 2013-07-26 20:16:56 +08:00
Kevin Sawicki & Nathan Sobo b4401cf10c Upgrade to patrick 0.3 2013-07-25 19:22:02 -07:00
Kevin Sawicki & Nathan Sobo b55d4364ff Allow audio/video to be disabled via config 2013-07-25 19:18:09 -07:00
Kevin Sawicki & Nathan Sobo 4c65332e55 Log when attempting to open non-session URL 2013-07-25 19:04:16 -07:00
Kevin Sawicki & Nathan Sobo 20f983874a Log the session being joined from the browser process 2013-07-25 19:03:30 -07:00
Kevin Sawicki & Nathan Sobo f859c1e32a Warn if we drop replication events 2013-07-25 19:00:32 -07:00
Ben Ogle eb40100b0f Add action bar to video. 2013-07-25 18:40:42 -07:00
Ben Ogle ad946ea482 Add email title to user. Could be a proper tooltip? 2013-07-25 18:40:42 -07:00
Ben Ogle f547af2896 Add small view by clicking 2013-07-25 18:40:41 -07:00
Ben Ogle 05caa45939 use getOtherParticipants in initial view creation 2013-07-25 18:40:41 -07:00
Ben Ogle b73f020555 remove listening event, add logic to started and stopped events 2013-07-25 18:40:41 -07:00
Ben Ogle b4ee425711 subscribe to participant change events in status bar view 2013-07-25 18:40:41 -07:00
Kevin Sawicki & Nathan Sobo ffb4387aab Upgrade atom-collaboration-server 2013-07-25 18:10:49 -07:00
Kevin Sawicki & Nathan Sobo ba644ea9f1 Add SSL support to session 2013-07-25 17:58:51 -07:00
Ben Ogle & Corey Johnson 602fecefa6 Handle participant exiting 2013-07-25 16:05:48 -07:00
probablycorey d49d3156eb Display audio and video on all sessions 2013-07-25 16:05:48 -07:00
probablycorey 47ee4337ce Add Ben Ogle to pairs file
For the 50th time
2013-07-25 16:05:48 -07:00
probablycorey a8cdf2036d Add isListening to session 2013-07-25 16:05:48 -07:00
probablycorey 0ee9aecbd1 Change isHost to isLeader 2013-07-25 16:05:48 -07:00
probablycorey 34b6c71e8a 💄 2013-07-25 16:05:47 -07:00
Ben Ogle ff73ffcb16 style the video 2013-07-25 16:05:47 -07:00
Ben Ogle cff8833b4c Add status bar icon for sharing.
Also adds participant views to the rootView
2013-07-25 16:05:30 -07:00
Kevin Sawicki & Nathan Sobo 9f8a6598e3 Use avatar url directly 2013-07-25 14:36:32 -07:00
Kevin Sawicki & Nathan Sobo 0771270c0d Remove user from ec2 host 2013-07-25 14:17:25 -07:00
Kevin Sawicki & Nathan Sobo 185f97e3b2 Default session host to ec2 instance 2013-07-25 13:59:23 -07:00
Kevin Sawicki & Nathan Sobo 3685cb3b52 Display participants in host and guest views
Also add back media connection starting in Session
2013-07-25 13:47:55 -07:00
Kevin Sawicki & Nathan Sobo bb3cacf2cd Unify guest and host sessions into single class 2013-07-25 12:56:38 -07:00
Kevin Sawicki & Nathan Sobo 241e787d0f Emit 'participant-exited' events 2013-07-25 12:26:41 -06:00
Kevin Sawicki & Nathan Sobo 4c49b69613 Include participant data in 'participant-entered' event 2013-07-25 12:13:08 -06:00
Kevin Sawicki & Nathan Sobo 954a130f41 Include participants data w/ GuestSession 'started' events 2013-07-25 12:08:33 -06:00
Kevin Sawicki & Nathan Sobo 721bc67389 💄 2013-07-25 11:59:17 -06:00
Kevin Sawicki & Nathan Sobo 1755702e1a Include participants data w/ HostSession 'started' event 2013-07-25 11:51:07 -06:00
Kevin Sawicki & Nathan Sobo a4e1d84ebb Assign clientId to Session from its channel 2013-07-25 11:50:29 -06:00
Kevin Sawicki & Nathan Sobo b9e23b96eb Use atom-collaboration-server directly in specs 2013-07-25 10:38:54 -06:00
Kevin Sawicki & Nathan Sobo a22587d09b Send OAuth token as web socket query param 2013-07-24 19:47:10 -07:00
Kevin Sawicki & Nathan Sobo 50c1fb2e3c Remove redis channel 2013-07-24 18:42:52 -07:00
Kevin Sawicki & Nathan Sobo 1f00254759 Handle presence on server and clean up channel/event names 2013-07-24 19:35:05 -06:00
Kevin Sawicki & Nathan Sobo de403a68c3 Remove Pusher-related code 2013-07-24 19:10:05 -06:00
Kevin Sawicki & Nathan Sobo 6b19cbad44 Replace RedisChannel with WsChannel 2013-07-24 18:59:55 -06:00
Kevin Sawicki & Nathan Sobo 1fc6509a51 Use Redis pub/sub for channels. to @mcolyer for the idea! 2013-07-24 17:20:01 -06:00
Ben Ogle e1a78d1f0f newlines follow last line's indent 2013-07-24 15:28:12 -07:00
Ben Ogle c7de0ba3bc fix #634 jump to the beginning of the fold when clicking on folded block. 2013-07-24 15:12:19 -07:00
Kevin Sawicki & Nathan Sobo 1bfb10bf2b Distribute events with pusher 2013-07-24 15:05:39 -07:00
Ben Ogle & Corey Johnson 16cce1efb1 nof 2013-07-24 14:55:43 -07:00
Ben Ogle b3025a4dfc rename rowRangeForCommentFoldAtBufferRow -> rowRangeForCommentAtBufferRow 2013-07-24 13:09:00 -07:00
Ben Ogle 11a1a27dbd Handle * prefixes properly 2013-07-24 12:18:27 -07:00
Ben Ogle e76fe439ba Fix tests. Indent oops. 2013-07-24 12:18:27 -07:00
Ben Ogle cc8513afdf remove !! hack on isComment 2013-07-24 12:18:27 -07:00
Ben Ogle c17f5bd41e Return false from isComment() for consistency 2013-07-24 12:18:27 -07:00
Ben Ogle 2d9ef9aad6 Add note for ScreenRow in tokenizedBuffers 2013-07-24 12:18:27 -07:00
Ben Ogle f7bb8aab9e Move rowRangeForParagraphAtBufferRow into LanguageMode 2013-07-24 12:18:27 -07:00
Ben Ogle c5c1980c9a remove fdescribe 2013-07-24 12:11:33 -07:00
Ben Ogle f234b8fa27 respects comment chars 2013-07-24 12:11:33 -07:00
Ben Ogle 778e3bbd67 respects indentation 2013-07-24 12:11:33 -07:00
Ben Ogle 5d8d5da602 autoflow respects current paragraphs 2013-07-24 12:11:33 -07:00
Ben Ogle fe449e31e3 Move config stuff out of the autoflow 2013-07-24 12:11:33 -07:00
Ben Ogle 617f0ae79a tests work again 2013-07-24 12:11:33 -07:00
Ben Ogle cf3de0e8dc move autoflow into lib dir 2013-07-24 12:11:32 -07:00
Ben Ogle 173c47f780 Fix issue in jumping to next bookmark 2013-07-24 12:07:56 -07:00
Ben Ogle 77e12e3658 add comment about using better invalidation strategy 2013-07-24 12:07:56 -07:00
Ben Ogle 8db9551700 Handle one bookmark 2013-07-24 12:07:56 -07:00
Ben Ogle ece0c76158 Use @editor.command to bind to commands 2013-07-24 12:07:56 -07:00
Ben Ogle 8881847c61 Handle jumping case when no bookmarks 2013-07-24 12:07:55 -07:00
Ben Ogle 4254efd49e remove fdescribe 2013-07-24 12:07:55 -07:00
Ben Ogle 6968075d38 Jumping to bookmarks works 2013-07-24 12:07:55 -07:00
Ben Ogle 3cb29e1d5c visually marks bookmarked lines 2013-07-24 12:07:55 -07:00
Ben Ogle e632b091f9 add initial bookmark plugin 2013-07-24 12:07:55 -07:00
Ben Ogle afa92e51f6 update changelog for the folding changes 2013-07-24 12:05:16 -07:00
Ben Ogle d746c7566c Fix CommandPanel spec
I added a new sample-with-comments.js file which 
has more matches for 'sort', so the test needed 
to be updated.
2013-07-24 12:05:16 -07:00
Ben Ogle 0a075c6934 remove fdescribe 2013-07-24 12:05:16 -07:00
Ben Ogle cef3b7d634 move folding tests from EditSession -> LanguageMode 2013-07-24 12:05:16 -07:00
Ben Ogle c31ba651cf Add shortcuts for folding at an indent level. 2013-07-24 12:05:16 -07:00
Ben Ogle d4d3426b4e Add foldAllAtIndentLevel() 2013-07-24 12:05:16 -07:00
Ben Ogle 89e3d2efec Rearrange folding functions
I think it is more clear to have small constituent 
functions below functions that compose them. IMO, 
this reads better.
2013-07-24 12:05:15 -07:00
Ben Ogle c2326d096b Fold comments in foldAll() 2013-07-24 12:05:15 -07:00
Ben Ogle 18146346f6 add failing comment fold tests 2013-07-24 12:05:15 -07:00
Ben Ogle 519c514092 add a new sample with some comments 2013-07-24 12:05:15 -07:00
Ben Ogle 4187615fa7 Fix test 2013-07-24 11:53:33 -07:00
Ben Ogle d98ea0180c Proper handling of cursor up and down behavior when selection range 2013-07-24 11:53:33 -07:00
Ben Ogle 226a4bf391 Add tests for moving to end of selection 2013-07-24 11:53:33 -07:00
Ben Ogle a689a5906e add moveToEndOfSelection option to moveLEft and moveRight 2013-07-24 11:53:33 -07:00
Kevin Sawicki 71cbcf9c4a Enable peer.js debug flag
This will log messages from the reliable library to try
and debug the packet loss issue.
2013-07-24 08:29:07 -07:00
Kevin Sawicki 40d76d2db9 Replace git global with project.getRepo() 2013-07-23 19:31:32 -07:00
Kevin Sawicki & Nathan Sobo 79fab6602f Don't replicate spell check markers 2013-07-23 18:31:30 -07:00
Kevin Sawicki & Nathan Sobo 672d0051cc Upgrade to peer.js 0.2.8 2013-07-23 18:04:52 -07:00
Kevin Sawicki & Nathan Sobo 865ab16fdf Uncomment essential logging lines 2013-07-23 17:52:05 -07:00
Corey Johnson & Matt Colyer ce2a613858 Remove sharing ivar from Host Session 2013-07-23 17:49:20 -07:00
Corey Johnson & Matt Colyer 087c4c60a1 Don't turn on the web cam until sharing is begun 2013-07-23 17:49:20 -07:00
Corey Johnson & Matt Colyer 77acaf0a1a Refactor Host Session 2013-07-23 17:49:20 -07:00
Corey Johnson & Matt Colyer 12ffff9dde Refactor guest session 2013-07-23 17:49:20 -07:00
Corey Johnson & Matt Colyer 81147c4bc6 Add TURN server support for all WebRTC connections 2013-07-23 17:49:19 -07:00
Matt Colyer 0e3940373d Add user to turn server configuration 2013-07-23 17:49:19 -07:00
Corey Johnson & Matt Colyer 07dea75562 Configure TURN and STUN servers 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo 1bd9a6bef3 Display cursors from all replicas 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo 1bf6307480 Display selections from all replicas 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo b8b9653fc0 💄 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo 636f81703c Distinguish remote and local selections in EditSession
Also: Add an Environment spec helper class that swaps out global
variables to simulate running code in different environments for the
replication specs.
2013-07-23 17:49:14 -07:00
Ben Ogle 18370bb663 Merge pull request #645 from github/bo-move-word-behavior
Add new commands for moving between words
2013-07-23 15:38:37 -07:00
Ben Ogle 1465736974 Merge branch 'master' into bo-move-word-behavior
Conflicts:
	src/app/editor.coffee
2013-07-23 15:34:20 -07:00
Ben Ogle 3907344fef Merge pull request #646 from github/bo-small-dark-theme-change
Small dark theme change
2013-07-23 15:32:51 -07:00
Ben Ogle 7c414d47cb Merge pull request #644 from github/bo-fix-scrollbar-issues
Fix scrollbar css issues
2013-07-23 15:31:38 -07:00
Kevin Sawicki 5161a71bae Remove unused telepath key from initial data hash 2013-07-23 12:02:59 -07:00
Kevin Sawicki & Nathan Sobo 9c67aa105b Replace createSite with new Site 2013-07-23 11:58:41 -07:00
Kevin Sawicki adbdb1492f DRY up repo URL to project path mapping 2013-07-23 11:56:42 -07:00
Kevin Sawicki 4fff0b9792 Remove project path from state so it doesn't replicate 2013-07-23 11:40:21 -07:00
Kevin Sawicki 4c912f4538 Pretty print window state JSON when serializing to disk 2013-07-23 11:34:03 -07:00
Kevin Sawicki a305e15746 Shrink avatar image/video to 32px 2013-07-23 08:31:32 -07:00
Kevin Sawicki 202492cc4b Trigger started/stopped events based on peer.js open/close events 2013-07-23 08:28:02 -07:00
Kevin Sawicki bc74be531d Mention keymap changes and inspect element menu 2013-07-23 08:13:32 -07:00
Kevin Sawicki & Nathan Sobo f3a932bbde Remove unused initialPath load setting
This is now handled inside Project@deserialize
2013-07-22 20:00:15 -07:00
Kevin Sawicki & Nathan Sobo 7aa2084147 💄 2013-07-22 19:59:18 -07:00
Kevin Sawicki & Nathan Sobo 019a0f2b84 Don't deserialize null pane container root 2013-07-22 19:58:59 -07:00
Kevin Sawicki & Nathan Sobo 501a6b7d11 Add site global used to create all telepath documents 2013-07-22 19:58:27 -07:00
Kevin Sawicki & Nathan Sobo 0370eb9236 Default soft wrap to millionth column
This is because peer.js cannot encode Infinity
but it should be ideally controlled via a boolean
flag instead of column number.
2013-07-22 18:40:57 -07:00
Kevin Sawicki & Nathan Sobo 4cba8ab48f Serialize project when editor window is unloaded 2013-07-22 18:39:32 -07:00
Kevin Sawicki & Nathan Sobo f4e7693e70 💩 Put apm back to version we clobbered during merge 2013-07-22 18:47:16 -06:00
Kevin Sawicki & Nathan Sobo 73adc40c4e 💄 use array-shorthand instead of new Range 2013-07-22 18:39:46 -06:00
Kevin Sawicki & Nathan Sobo 844469a9a7 Resolve filePath in Project.buildBuffer 2013-07-22 18:39:22 -06:00
Kevin Sawicki & Nathan Sobo faa8a8d9fc Use absolute path instead of uri when opening save-as dialog 2013-07-22 18:18:42 -06:00
Kevin Sawicki & Nathan Sobo fa59aafffb Relativize buffer paths for replication
TextBuffers now maintain a reference to their containing project to
make it easier to test replication of buffers between environments
without worrying about the value of the `project` global.

We're also starting the process of moving the `git` global into Project
as the `Project.repository` property.
2013-07-22 18:13:01 -06:00
Corey Johnson & Matt Colyer d051cbe0f6 Add video and audio streams to host view 2013-07-22 14:13:58 -07:00
Corey Johnson & Matt Colyer 1f18c0ba02 Stream audio and video feed of host to guest view
Conflicts:
	src/packages/collaboration/lib/session-utils.coffee
2013-07-22 13:58:55 -07:00
Corey Johnson & Matt Colyer 034aaa2927 Assume first message sent by host is a telepath document 2013-07-22 13:57:46 -07:00
probablycorey 7b57c12f59 💄 2013-07-22 13:57:36 -07:00
Ben Ogle 592b0886b2 new editor is now cmd+n, cmd+shift+n is new window fixes #652 2013-07-22 13:45:04 -07:00
Kevin Sawicki & Nathan Sobo 642df0924d Merge branch 'master' into shared-buffers
Conflicts:
	vendor/apm
2013-07-22 11:54:51 -07:00
Kevin Sawicki & Nathan Sobo 1685d62cae Don't allow caching of coffee requires to be overridden in tasks
This is a follow-on to the previous commit which handled the index.html
case.
2013-07-22 11:50:14 -07:00
Kevin Sawicki & Nathan Sobo e705e3e045 Don't allow caching of coffee requires to be overridden
Previously coffeestack was requiring a different version of coffeescript
than atom was, which had a side effect of re-registering the extension
handler for .coffee requires. This disabled coffee-cache, which made
require really slow again.
2013-07-22 11:44:39 -07:00
Kevin Sawicki 56a2c79fe1 Merge branch 'collaboration-presence' into shared-buffers
Conflicts:
	src/app/edit-session.coffee
	src/app/project.coffee
	src/app/text-buffer.coffee
	src/app/window.coffee
	src/packages/collaboration/lib/bootstrap.coffee
	src/packages/collaboration/lib/session-utils.coffee
	vendor/telepath
2013-07-22 10:12:45 -07:00
Kevin Sawicki 0bb7d3ba09 Default save as dialog to directory of active item 2013-07-22 09:11:57 -07:00
Ben Ogle 8e92499ebb Fix comments so they match up with actual behavior 2013-07-22 09:02:05 -07:00
Ben Ogle 62e0274ff6 hook selectToFirstCharacterOfLine up to a command in editor. 2013-07-22 09:02:05 -07:00
Ben Ogle fe4c4e9751 Add selectToFirstCharacterOfLine to editSession 2013-07-22 09:02:05 -07:00
Kevin Sawicki baa03f5587 Upgrade apm
Closes #638
2013-07-22 08:35:10 -07:00
Nathan Sobo d85560e886 💄 2013-07-21 18:38:51 -06:00
Nathan Sobo 25d594e717 Update spell-check package for new telepath-based marker API 2013-07-21 18:00:55 -06:00
Nathan Sobo 383ba80d1e Use EditSession.getSoftTabs instead of .softTabs attr in snippets spec 2013-07-21 17:51:42 -06:00
Nathan Sobo 561e666091 Eliminate EditSession.markersForBufferPosition
We use findMarkers for everything now
2013-07-21 17:51:02 -06:00
Nathan Sobo 071f8a6a84 Use .findMarkers instead of .markersForBufferPosition in snippets 2013-07-21 17:50:12 -06:00
Nathan Sobo da95d26c58 Upgrade telepath to fix markers at end of buffer being invalid 2013-07-21 17:49:51 -06:00
Nathan Sobo 9c4478302e Translate attribute names in DisplayBufferMarker.matchesAttributes 2013-07-21 17:49:15 -06:00
Nathan Sobo 28a0bdaf95 Add TextBuffer.destroyMarker 2013-07-21 17:14:16 -06:00
Nathan Sobo 50ade54c3c Also serialize project in pane specs that remove the pane from the DOM
The project contains the only reference to the buffer that belongs to
the edit session in the serialized pane. If we tear down the pane then
the edit session is destroyed and the buffer is removed. So we have to
serialize and restore the project to its previous state once we finish
tearing down the view.
2013-07-21 16:55:44 -06:00
Nathan Sobo d43f459ad1 Fall back to .serialize() if a pane item has no .getState() method 2013-07-21 16:46:22 -06:00
Nathan Sobo 383985d331 Ensure there is clean serialization of RootView state
Everything from RootView to Pane needs to return a serialized clone of
its state, so we don't accidentally further mutate the serialized state
in tests.
2013-07-20 22:40:40 -06:00
Nathan Sobo 5246d4cd72 Add Project.getState() and make Project.serialize clone state 2013-07-20 21:24:32 -06:00
Nathan Sobo 97c4b9a83a Don't clone state in EditSession.getState() 2013-07-20 21:21:51 -06:00
Nathan Sobo ff9acb50ff Deserialize display buffer when deserializing edit sessions
Previously, we kept display buffer attributes in the edit session's
serialized state, then recreated a fresh display buffer each time when
deserializing edit sessions. Now that DisplayBuffer and TokenizedBuffer
are serializable, we can just include them directly when serializing
the edit session.
2013-07-20 18:21:44 -06:00
Nathan Sobo ca0832e58e Include folds in DisplayBuffer deserialization 2013-07-20 16:41:46 -07:00
Nathan Sobo 503629fdcb 💄 2013-07-20 16:40:38 -07:00
Nathan Sobo eeeb453cf9 Back DisplayBuffer with a telepath document 2013-07-20 16:22:26 -07:00
Nathan Sobo e1f795a352 Back TokenizedBuffer with a telepath document 2013-07-20 15:42:13 -07:00
Nathan Sobo 2b7a294cdd Use new marker attribute API to store/replicate selection goal ranges 2013-07-20 02:24:35 -07:00
Nathan Sobo c85932d46b Preserve folds and all selection attributes when copying EditSessions 2013-07-20 02:23:12 -07:00
Nathan Sobo 75cf1acce1 Honor preserveFolds option when creating a new selection 2013-07-20 02:23:12 -07:00
Nathan Sobo 7f5d71dada 💄 2013-07-20 02:23:12 -07:00
Nathan Sobo 1f8fd3c16c Fix isReversed option name 2013-07-20 02:23:12 -07:00
Nathan Sobo 7ccfd6c94b 💄 2013-07-20 02:23:12 -07:00
Nathan Sobo 1911ef2d80 Fix 'isReversed' option name for marker creation 2013-07-20 02:23:12 -07:00
Nathan Sobo 74347ea874 Upgrade telepath to allow marker attributes to be updated 2013-07-20 02:23:06 -07:00
Ben Ogle 214d73d812 Remove line highlight in dark syntax
When moving around and selecting things, the entire line looks selected
and is super confusing. This leaves the line number highlighted, but 
not the line itself.
2013-07-19 13:57:08 -07:00
Ben Ogle 8c6fe7a540 lighten selection color so it's more clear. 2013-07-19 13:55:29 -07:00
Ben Ogle 164d5591a0 remove comment 2013-07-19 13:25:05 -07:00
Ben Ogle 85cb7c88fa plumb up the select to boundary to editor commands 2013-07-19 12:21:36 -07:00
Ben Ogle 4ccbd03daf I can't spell. Boundary. 2013-07-19 12:17:17 -07:00
Ben Ogle 3df33a7367 Add selection counterparts to move next/prev word boundary 2013-07-19 12:07:30 -07:00
Ben Ogle 13b592d1f3 Add Cursor::moveToNextWordBoundry()
Plumb up to editor as well.
2013-07-19 11:37:47 -07:00
Ben Ogle ab8df8dcde Add moveToPreviousWordBoundry to cursor.
Plumb it up to a command in the editor.
2013-07-19 11:16:14 -07:00
Ben Ogle 2b25d433c7 move editor scrollbar above the edit pane
So you can grab it with your mouse!
2013-07-18 17:45:38 -07:00
Ben Ogle 1ba8218743 Move the resize handle over between the treeview and the editor
Otherwise it covers up the scrollbar in the treeview. No bueno.
2013-07-18 17:42:36 -07:00
Nathan Sobo de1b69dbc9 Add DisplayBuffer.copy 2013-07-18 11:34:39 -07:00
Nathan Sobo 8b53b4d749 Add ability to copy display buffer markers 2013-07-18 10:25:03 -07:00
Ben Ogle 17cf2bd1c8 Merge pull request #635 from github/bo-fix-comment-indent
Add proper indents to comments on toggle-line-comments Closes #615
2013-07-18 10:13:28 -07:00
Nathan Sobo c54bb792b2 Make EditSession.copy return a copy with a unique id and markers
We want to be able to use the copy independently, which means we
should not use EditSession@deserialize to create it because that will
tie us to the same selection markers.
2013-07-18 06:23:43 -07:00
Cheng Zhao 1746bc8797 Add 'Inspect Element' context menu. Fixes #632. 2013-07-18 20:10:33 +08:00
Cheng Zhao 635f09b741 Destroy window immediately when user choose to close window.
There is no need to delay destroy now.
2013-07-18 18:57:34 +08:00
Cheng Zhao ee0443e40c Revert "Use atom-shell 23dd5b4da8"
Since the async function issue is fixed in atom-shell, we can go back to
use the latest release.
2013-07-18 18:57:13 +08:00
Ben Ogle d02e9172da 💄 2013-07-17 21:04:50 -07:00
Nathan Sobo 804df73e8d Get edit session specs passing with selection based markers 2013-07-17 19:16:42 -07:00
Ben Ogle bc55ee6bd2 Add change string to changelog.md
Added a newline; assumed I am the first on this deploy
2013-07-17 18:30:43 -07:00
Ben Ogle 76be95bd6c update comment 2013-07-17 18:25:41 -07:00
Ben Ogle e43e8d156e Combat against empty range; fixes tests 2013-07-17 18:22:41 -07:00
Ben Ogle 2aca31988f Fix tests in EditSession 2013-07-17 17:56:52 -07:00
Ben Ogle c937827582 Use editSession.lineForBufferRow()
Rather than the buffer directly.
2013-07-17 17:51:40 -07:00
Ben Ogle c52cf836cd remove the f on the describe 2013-07-17 17:42:33 -07:00
Ben Ogle 0924ad586f spaces around the + 2013-07-17 17:39:39 -07:00
Ben Ogle abdce2df04 replace new Range(...) with [[..], [..]] syntax 2013-07-17 17:38:51 -07:00
Ben Ogle 3f8c120ad0 update tests to be more clear 2013-07-17 17:37:45 -07:00
Ben Ogle 365e5e8413 calcMinIndent -> minIndentLevelForRowRange 2013-07-17 17:35:05 -07:00
Ben Ogle 90e53ad3e2 Add proper indents on auto comments 2013-07-17 16:04:53 -07:00
Nathan Sobo a724ef3b40 Tag selection markers with a disambiguating EditSession id
This prevents selection markers created by different edit sessions
from being shared. Otherwise every edit session for a buffer would be
forced to have the same selection/cursor state.
2013-07-17 15:29:21 -07:00
Nathan Sobo ab8c0bbf04 Make DisplayBuffer.getMarkers call down into TextBuffer.getMarkers 2013-07-17 15:00:15 -07:00
Ben Ogle & Nathan Sobo 96f434f276 Set languageMode and softTabs in constructor, not setBuffer
The softTabs option is only in scope in the constructor, and it can
sometimes be needed if we're unable to auto-determine the softTabs
setting from the buffer.
2013-07-17 14:59:46 -07:00
Ben Ogle & Nathan Sobo ba3fa50c6e Add DisplayBufferMarker.getAttributes 2013-07-17 14:58:21 -07:00
Ben Ogle & Nathan Sobo e8d4bbe5e7 💄 Extract setBuffer/buildDisplayBuffer methods 2013-07-17 12:05:18 -07:00
Ben Ogle & Nathan Sobo bb695ec53f Replicate the destruction of selections 2013-07-17 11:53:39 -07:00
Ben Ogle & Nathan Sobo 6079dd4ba3 💄 2013-07-17 11:33:56 -07:00
Ben Ogle & Nathan Sobo 47bfac22c2 Replicate the addition of new selections 2013-07-17 11:12:42 -07:00
Ben Ogle & Nathan Sobo 461e331f58 🙊 2013-07-17 11:12:18 -07:00
Ben Ogle & Nathan Sobo f32e1fc643 Replicate initial EditSession selection state 2013-07-17 10:25:28 -07:00
Ben Ogle & Nathan Sobo baeae2d8d5 Upgrade telepath so we can query 'invalidation' key in findMarkers 2013-07-17 10:25:02 -07:00
Corey Johnson & Matt Colyer 4a67bfcf15 Remove editor.autoIndentOnPaste config option
Normalize paste on indent covers most use cases of autoindent when pasting.

Closes #584
2013-07-16 17:08:12 -07:00
Corey Johnson & Matt Colyer 2410ea0d5b Add Matt to pairs file 2013-07-16 17:07:59 -07:00
Kevin Sawicki 6482e26526 Copy session url to clipboard instead of just id 2013-07-16 09:49:47 -07:00
Kevin Sawicki 0a4e3cec94 Add missing connection prefix to event name 2013-07-16 09:49:47 -07:00
Kevin Sawicki c8accea5dc Synchronize instead of Synchronize 2013-07-16 09:49:47 -07:00
Kevin Sawicki 438b8f6a14 Support launching the app directly with a URL
In this case there will be no paths to open and so editor windows
should be created.

This will allow sessions to be joined when Atom isn't currently running
but a session link is clicked from within another application.
2013-07-16 09:49:47 -07:00
Kevin Sawicki 522768e6c0 Handle opening session urls 2013-07-16 09:49:47 -07:00
Kevin Sawicki 5bb45d4684 Add serialization version to image and archive edit sessions 2013-07-16 09:49:46 -07:00
Kevin Sawicki 3d6fb85152 Upgrade to patrick 2.0 2013-07-16 09:49:46 -07:00
Kevin Sawicki 9ccf9365c3 Make all edit session uri's relative
This allows them to be collaborated without having absolute paths
in the shared document.
2013-07-16 09:49:46 -07:00
Kevin Sawicki a9710e7a63 Ignore session id if empty 2013-07-16 09:49:46 -07:00
Kevin Sawicki f3bb826e8d Remove unused color from dark collaboration theme 2013-07-16 09:49:46 -07:00
Kevin Sawicki 96b91ef36b Add collaboration stylesheet for light theme 2013-07-16 09:49:46 -07:00
Kevin Sawicki ae9ffbb526 Rename buddy-list.less to collaboration.less 2013-07-16 09:49:46 -07:00
Kevin Sawicki 89dba4603c Add progress bar to loading sesion view 2013-07-16 09:49:46 -07:00
Corey Johnson & Kevin Sawicki 8812b6c31d Use patrick to mirror repository state 2013-07-16 09:49:46 -07:00
Corey Johnson & Kevin Sawicki 33f538ebf4 Create new branch if guest has unpushed changes 2013-07-16 09:49:46 -07:00
Corey Johnson & Kevin Sawicki 56b333e7fb 💄
Kevin found this offensive
2013-07-16 09:49:46 -07:00
Corey Johnson & Kevin Sawicki 72d76e511e Begin replication of host repo state 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki 601efa53e6 Only create single host view instance 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki af80327995 Set guest session project path from repo name 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki 3ce520d9de Store participants and repository under collaborationState doc 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki 1836257f0b Show avatars in host and guest views 2013-07-16 09:49:45 -07:00
Kevin Sawicki 98765c7d5c Only display participants that aren't the host 2013-07-16 09:49:45 -07:00
Kevin Sawicki f3ca26e2c9 Trigger participants-changed in guest session 2013-07-16 09:49:45 -07:00
Kevin Sawicki b1ca43ac0f Upgrade telepath 2013-07-16 09:49:45 -07:00
Kevin Sawicki 5ce0cf65c4 Unvendor pusher.js 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki 460a09f9eb Show participants in the session 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki 40d500949b Remove presence from collaboration package. 2013-07-16 09:49:45 -07:00
Corey Johnson & Kevin Sawicki be078b2b41 Add share button to buddy list 2013-07-16 09:49:45 -07:00
Kevin Sawicki 0fd44994ee Trigger status changed for self 2013-07-16 09:49:44 -07:00
Kevin Sawicki 09e73b16fe Show all open windows in buddy list 2013-07-16 09:49:44 -07:00
Kevin Sawicki b55e62f2ab Use fat arrow for callbacks 2013-07-16 09:49:44 -07:00
Kevin Sawicki aab4d7a78b Add avatar to buddy view 2013-07-16 09:49:44 -07:00
Kevin Sawicki 533f91e7ac Remove unused class 2013-07-16 09:49:44 -07:00
Kevin Sawicki aed7d3ed70 Make buddy list a permanent view on the right 2013-07-16 09:49:44 -07:00
Kevin Sawicki 0fdb15f9a6 Move peer.js to vendor directory 2013-07-16 09:49:44 -07:00
Kevin Sawicki 05748cd7dc Display repo and branch in buddy list 2013-07-16 09:49:44 -07:00
Kevin Sawicki b127492c9f Add initial buddy list 2013-07-16 09:49:44 -07:00
Kevin Sawicki 4fde8f0753 Export Pusher class 2013-07-16 09:49:44 -07:00
Kevin Sawicki e7ba9e1c9d Add Git.getConfigValue() 2013-07-16 09:49:44 -07:00
Kevin Sawicki d1812d74d6 Vendor pusher.js 2013-07-16 09:49:44 -07:00
Kevin Sawicki 17cecda23e Use atom-shell 23dd5b4da8
The release past this build is causing issues with async callbacks
not firing.
2013-07-16 09:48:15 -07:00
Kevin Sawicki & Nathan Sobo abc20b3a05 Update text buffer to use telepath markers 2013-07-15 17:07:06 -07:00
Kevin Sawicki 9d733a2da9 Don't grab native window focus
Call $(window) instead of atom.focus() so the native window
doesn't regain focus on each spec run preventing it from running
in the background.
2013-07-15 13:56:21 -07:00
Kevin Sawicki 6bbcc58542 Call atom.focus() in the root beforeEach
Async events are not currently firing in specs and this
appears to cause them fire.
2013-07-15 13:40:53 -07:00
Kevin Sawicki 1a76e3dc9d Add missing '..' to node directory path
The path has changed and one more parent directory needs to be
traversed to find the bundled path to node for spawning child
processes.
2013-07-15 12:20:09 -07:00
Kevin Sawicki ff70ae633d Correct broken link to npm 2013-07-12 17:30:05 -07:00
Kevin Sawicki d1f372e439 Rebuild native modules when atom-shell is upgraded
Spawn an apm rebuild when the atom shell version changes
after running the update-atom-shell script.

Closes #618
2013-07-12 14:48:10 -07:00
Kevin Sawicki 041f52aaaa Upgrade apm 2013-07-12 14:07:03 -07:00
Kevin Sawicki 270d17814e Move right border to tree view resizer
This allows the border to still show when the tree view
scrolls horizontally.

Closes #622
2013-07-12 13:59:52 -07:00
Kevin Sawicki 16095c8086 Add New Window to File menu
Closes #626
2013-07-11 20:22:43 -07:00
Coby Chapple 94e2dbbc2c extraneous paren in package docs 2013-07-11 10:20:29 +01:00
Kevin Sawicki 12580bce83 Guard against missing file path in getScore() 2013-07-10 08:54:15 -07:00
Cheng Zhao 753b11cf15 Register Atom to handle atom:// scheme URLs. 2013-07-10 18:57:26 +08:00
Kevin Sawicki 0fee962faa Mention j/k support 2013-07-09 09:22:35 -07:00
Kevin Sawicki ed1f51b987 Map k/j to up/down in archive-view 2013-07-08 18:57:58 -07:00
Kevin Sawicki f1bdcaedc1 Support moving up/down in tree view with k/j keys 2013-07-08 17:06:16 -07:00
Kevin Sawicki 2efbe9ce4e Run partial-clean during deploy task 2013-07-08 11:29:46 -07:00
Kevin Sawicki 3366c4d6a5 Remove node_modules before bootstrapping 2013-07-08 11:29:28 -07:00
Kevin Sawicki acb69a4221 Format stack traces in console reporter
This generates valid CoffeeScript line/column numbers and
also removes noisy lines from jasmine.js and from the grunt
stack portion for the initial test process spawn.
2013-07-06 15:39:32 -07:00
Kevin Sawicki b3b501ef07 Set stack trace overflow to auto
This keeps the stack trace text inside the spec box when the window
in narrower than the stack trace lines.
2013-07-06 14:27:23 -07:00
Kevin Sawicki e34d8e4c42 Display CoffeeScript line numbers in stack traces
Use coffeestack to convert stack traces to have CoffeeScript
line and column numbers in the output instead of JavaScript line
and column numbers.
2013-07-06 14:27:16 -07:00
Kevin Sawicki adebae6c47 Remove jasmine.js lines from displayed stack trace
This removes the noise from the setup and compare lines that occur in
jasmine.js and only displays the lines that are generated from within
the failing spec.
2013-07-06 14:03:13 -07:00
Kevin Sawicki 4ae0d8af9f Use tantamount for _.isEqual() implementation
This code was needed in telepath so it was pulled out as a
standalone module with the exact same behavior as was previously
in Atom.
2013-07-06 13:54:46 -07:00
Kevin Sawicki 010fa219aa Move Point and Range specs to telepath 2013-07-05 12:53:51 -07:00
Kevin Sawicki cdbbb114f6 Use PeerServer ☁️ instead of EC2 2013-07-05 12:53:51 -07:00
Kevin Sawicki b8bd9b6ec6 Compare site id using site from original event
Previously the site was being looked for in a copy of the event where
only the range and text keys were picked and so it was always missing.
2013-07-05 12:53:51 -07:00
Kevin Sawicki & Nathan Sobo 5a26fa838f Emit markers-updated event for remote buffer changes
This is temporary until markers are a part of telepath.
2013-07-05 12:53:51 -07:00
Kevin Sawicki & Nathan Sobo bffe361151 Upgrade telepath 2013-07-05 12:53:51 -07:00
Kevin Sawicki & Nathan Sobo bf45beedbe Swap parameter order for Document.deserialize() 2013-07-05 12:53:51 -07:00
Kevin Sawicki & Nathan Sobo e82170efcb Serialize EditSession's buffer's id instead of its path 2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 9b22ca4825 Serialize window state in telepath format 2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 85cc81851f Replicate insertion and removal of project buffers
Buffers are now destroyed when removed from the project if they
haven't been destroyed already.
2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 30273c6a66 Add serialization version to TextBuffer 2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo e01ac96b66 Guard against a null pending changed event
Previously TextBuffer would emit change events even when the change
was empty. SharedString does not emit empty change events and so a
pending event may no longer be present when a marker-updated event
fires.
2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 2ff282011b 💄 2013-07-05 12:53:50 -07:00
Kevin Sawicki f766bbbb38 Remove Point and Range classes now provided by telepath 2013-07-05 12:53:50 -07:00
Kevin Sawicki e5ef23dc5a Expect null instead of undefined for invalid line rows 2013-07-05 12:53:50 -07:00
Kevin Sawicki fddcbae4eb Clip range specified to change() 2013-07-05 12:53:50 -07:00
Kevin Sawicki 2d313e07ff Clip position in characterIndexForPosition() 2013-07-05 12:53:50 -07:00
Kevin Sawicki 1efa480b4e Upgrade telepath 2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 05a3f35512 Normalize line endings in TextBuffer.change() 2013-07-05 12:53:50 -07:00
Kevin Sawicki & Nathan Sobo 72f9af4d00 Replicate buffer changes
Still some failures due to line endings
2013-07-05 12:53:49 -07:00
Kevin Sawicki & Nathan Sobo dd0f7a032f Start basing Buffer's text on a replicable string 2013-07-05 12:53:49 -07:00
Kevin Sawicki & Nathan Sobo 010c3435da Add Project serialization version 2013-07-05 12:53:49 -07:00
Kevin Sawicki & Nathan Sobo da3a89fc27 Don't show pane items that can't be deserialized 2013-07-05 12:53:49 -07:00
Nathan Sobo 30e4531a8f Store buffer paths instead of serialized buffers in EditSession state
Since there can be multiple edit sessions per buffer, it doesn't make
sense to serialize the buffer multiple times. Previously, we were
de-duplicating buffers in the deserialize method itself, but this won't
work now that we want to replicate buffers.
2013-07-05 12:53:49 -07:00
Kevin Sawicki 651bbaa3ce Create an empty ~/.atom/config.cson when missing
Closes #614
2013-07-05 09:17:44 -07:00
Kevin Sawicki & Nathan Sobo 0448ba5ceb Remove atom-shell during partial-clean task instead of clean task 2013-07-03 17:53:43 -07:00
Kevin Sawicki & Nathan Sobo 6d70bf9106 Remove node_modules during script/cibuild so they recompile during bootstrap 2013-07-03 17:53:43 -07:00
Cheng Zhao 857629e07e Revert "Revert "Upgrade apm: update node to v0.10.12.""
This reverts commit 18c5c788d7.
2013-07-04 08:52:13 +08:00
Cheng Zhao 18c5c788d7 Revert "Upgrade apm: update node to v0.10.12."
This reverts commit 433beac9aa.
2013-07-04 08:37:59 +08:00
Cheng Zhao a8e7a9a091 Should also clean atom-shell. 2013-07-04 07:22:15 +08:00
Kevin Sawicki 59097ddf96 Remove ~/.atom/.node-gyp during clean 2013-07-03 09:26:04 -07:00
Cheng Zhao 433beac9aa Upgrade apm: update node to v0.10.12. 2013-07-03 18:23:41 +08:00
Kevin Sawicki c7f6e87132 Only use event.which when key identifier is non-ASCII
Previously event.which was used when it was less than the key identifier
which broke fn-delete since that generates a valid key identifier but a
lower event.which value that does not translate to 'delete' using the char
code converter.

Close #611
2013-07-02 13:13:45 -07:00
Garen Torikian 64e2fee975 Merge pull request #610 from github/add-nooutput-to-biscotto
Bump the biscotto version
2013-07-02 11:13:20 -07:00
Garen Torikian df35cb0756 Bump the biscotto version
This prevents doc builds from occuring when you're only interested in stats/missing
2013-07-02 11:07:58 -07:00
Kevin Sawicki & Nathan Sobo 0e6a3c52ad Add comments to view cache ivars 2013-07-02 10:13:59 -07:00
Kevin Sawicki b786bcc774 Store views that don't implement setModel() by their item
Previously viewForItem() would create a new view each time it was called
with an item whose view did not implement setModel() even if a view for that
item already existed in the pane.

Now a WeakMap is used to map items to their view so they can be reused
and cleaned up even when the view does not implement setModel().
2013-07-02 09:41:46 -07:00
Kevin Sawicki 6cb13e843c Mention more fixed and added items 2013-07-02 09:08:57 -07:00
Kevin Sawicki 7e76721712 Don't call realpathSync for non-existent directory 2013-07-01 13:23:47 -07:00
Nathan Sobo 23df564189 Release any leftover buffers in Project.destroy 2013-07-01 14:21:42 -06:00
Nathan Sobo 0c17ed9c33 Return a clone of @buffers from Project.getBuffers
Previously, we traversed the EditSessions. Not necessary.
2013-07-01 14:21:42 -06:00
Kevin Sawicki cde9ae02fe Prevent clash between path require and variable name 2013-07-01 13:07:35 -07:00
Kevin Sawicki 77017c2cd3 Compare against realpath of HOME 2013-07-01 12:59:31 -07:00
Kevin Sawicki 7615d54337 Support calling fsUtils.absolute() with a '~' path 2013-07-01 12:46:50 -07:00
Kevin Sawicki 6b591b121d Interpolate pathToCreate instead of path
This regressed as part of the migration to using helpers from
path instead of fs-utils.

Close #608
2013-07-01 12:10:52 -07:00
Kevin Sawicki & Nathan Sobo 268edf16d8 Make setModel optional in pane item view classes 2013-07-01 10:53:34 -07:00
Kevin Sawicki 01f220fb1b Support non-English keyboard languages
Use event.which if it is lower than the parsed key identifier.
This is the case when a non-English keyboard language is selected and
a physical English keyboard is being used.

This allows keybindings to still work even when the physical key pressed
is different than the key it maps to for the currently selected language.

Closes #585
2013-06-28 16:36:55 -07:00
Kevin Sawicki 53a92751e6 Add missing @ before call to confirmSync 2013-06-28 10:06:41 -07:00
Nathan Sobo b66431e3a6 Delete atom.windowState in global afterEach
It seems like the windowState was getting saved to disk, causing weird
window state to be loaded on the next test run and a spec to fail.
2013-06-28 04:39:31 -06:00
Nathan Sobo 5a9e45f9d8 Upgrade telepath 2013-06-28 04:39:31 -06:00
Kevin Sawicki 8561bb34a8 Save and restore spec window dimensions
Closes #597
2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo d55c09c9d3 Nuke documentation threshold specs
We're going to make it a lint task that's run via grunt.
2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo f4300b8cab Fix specs due to scrollTop/Left becoming methods on EditSession 2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo f3f9c2c921 Show active item from Pane constructor if state has activeItemUri 2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo 33dca9315c Add PaneContainer.getState 2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo c596514d11 Accept documents in EditSession and replicate scroll position 2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo 390b03647e Don't clear #jasmine-content when window.debugContent is true 2013-06-28 04:39:30 -06:00
Kevin Sawicki & Nathan Sobo 5b00cf1701 Rename Buffer -> TextBuffer to match file and deserializer name 2013-06-28 04:39:29 -06:00
Kevin Sawicki & Nathan Sobo 95e69ad858 Use .getState() instead of .serialize() in replication specs 2013-06-28 04:39:29 -06:00
Kevin Sawicki & Nathan Sobo ef0363e8ff Use jasmine-focused npm instead of spec/jasmine-focused.coffee 2013-06-28 04:39:29 -06:00
Kevin Sawicki & Nathan Sobo a62cd0f16a Replicate active pane item 2013-06-28 04:39:29 -06:00
Kevin Sawicki & Nathan Sobo f340828506 Use .getState() instead of .serialize() when mutating panes 2013-06-28 04:39:29 -06:00
Kevin Sawicki & Nathan Sobo 8b0a68dd4a Return this from $.fn.attachToDom spec helper 2013-06-28 04:39:29 -06:00
Kevin Sawicki 1049a677bf Set dimension of spec window 2013-06-28 04:39:29 -06:00
Kevin Sawicki d2bc415042 Remove telepath from package.json 2013-06-28 04:39:28 -06:00
Kevin Sawicki b439e6239d Add telepath as submodule 2013-06-28 04:39:28 -06:00
Kevin Sawicki b999c71ad6 Auto-insert clipboard when it is a GUID 2013-06-28 04:39:28 -06:00
Kevin Sawicki 9f31f9a76b Add loading view when joining session 2013-06-28 04:39:28 -06:00
Kevin Sawicki & Nathan Sobo 7fe356b649 Ensure events are delivered in order 2013-06-28 04:39:28 -06:00
Kevin Sawicki & Nathan Sobo b5aa0b900c Remove output listener when connection is closed 2013-06-28 04:39:28 -06:00
Kevin Sawicki & Nathan Sobo cd4622fbeb Serialize project in window state 2013-06-28 04:39:27 -06:00
Kevin Sawicki & Nathan Sobo 89192c2ee2 Extract helpers to session-utils 2013-06-28 04:39:27 -06:00
Kevin Sawicki & Nathan Sobo b5b408d134 Open new window when joining collaboration session 2013-06-28 04:39:27 -06:00
Kevin Sawicki b08f320ed5 Remove mini class to give id enough room 2013-06-28 04:39:27 -06:00
Kevin Sawicki 4c7025ae81 Add message to join prompt 2013-06-28 04:39:27 -06:00
Kevin Sawicki 554af1becb Add initial collaboration keymap 2013-06-28 04:39:27 -06:00
Kevin Sawicki 6d49e0fd57 Pass through all window settings as load settings 2013-06-28 04:39:26 -06:00
Kevin Sawicki 31d872fbfe Add atom.openWindow() 2013-06-28 04:39:26 -06:00
Kevin Sawicki b842a727ee Support sending in windowState to AtomWindow ctor 2013-06-28 04:39:26 -06:00
Kevin Sawicki & Nathan Sobo 0851b4d011 Replicate pane splitting and removal
We're using Peer.js to stream changes to shared telepath documents
between participants.

We're replacing the rootView of joiners in a somewhat hacky way,
but replication of pane splits and items is fully tested.
2013-06-28 04:39:26 -06:00
Kevin Sawicki & Nathan Sobo 8a7c57994d Remove parens from require 2013-06-28 04:39:26 -06:00
Kevin Sawicki & Nathan Sobo 6480e956af Keep resident window state object 2013-06-28 04:39:26 -06:00
Kevin Sawicki & Nathan Sobo 9c95a4751b Return telepath documents from getWindowState() 2013-06-28 04:39:25 -06:00
Kevin Sawicki & Nathan Sobo d283834978 Add initial document sharing over peerJS connection 2013-06-28 04:38:22 -06:00
Kevin Sawicki 66b490b5da Add initial collaboration package 2013-06-28 04:38:22 -06:00
Kevin Sawicki 0d252ab9fd Use parent directory as resource path 2013-06-27 09:19:37 -07:00
Kevin Sawicki 3e8de2d22d Use config to retrieve contents directory 2013-06-27 09:18:22 -07:00
Kevin Sawicki 52aee1d050 💄 2013-06-27 09:11:15 -07:00
Kevin Sawicki ff9dc2c5af Look under atom instead of globals for buildDir 2013-06-27 09:10:18 -07:00
Kevin Sawicki 3b8cdb58e2 Rename docs to docs-task 2013-06-27 09:08:16 -07:00
Kevin Sawicki bd14aeee17 Move Grunt tasks to tasks directory 2013-06-27 09:07:33 -07:00
Cheng Zhao e434f7c0a9 💄 2013-06-27 22:39:41 +08:00
Cheng Zhao 837e3000d3 Merge pull request #605 from github/beforeunload
Use beforeunload handler to control whether window should close
2013-06-27 07:33:35 -07:00
Cheng Zhao e1c2aa0da1 Fix specs regarding beforeunload event. 2013-06-27 21:31:07 +08:00
Cheng Zhao e7aac2ef6e Show confirm close dialog as sheet. 2013-06-27 21:30:47 +08:00
Cheng Zhao f9545acde6 Show window before opening devtools.
It may happen that an exception is thrown before window is shown.
2013-06-27 19:29:35 +08:00
Cheng Zhao 45ce8e1d63 Ask for close confirmation in beforeunload handler. 2013-06-27 18:39:29 +08:00
Cheng Zhao bdbec54f24 Make PaneContainer.confirmClose() synchronous. 2013-06-27 16:21:14 +08:00
Cheng Zhao 1df48d1725 Fix spec of confirmSync in 'window:close'. 2013-06-27 15:07:38 +08:00
Cheng Zhao 6c0f4c09d9 Make Pane.promptToSaveItem synchronous. 2013-06-27 12:40:36 +08:00
Cheng Zhao f45ce3a7ee Upgrade apm: update to node v0.10.12. 2013-06-27 10:59:09 +08:00
Kevin Sawicki dc6e624eda Add grunt tasks to generate and lint docs
Closes #604
2013-06-26 19:25:50 -07:00
Kevin Sawicki e67676b01c Use deleteSelectedText() instead of delete()
Selection.delete() adds to the selection if it is empty which
we don't want to do when replacing selected text.

Closes #603
2013-06-26 19:03:45 -07:00
Kevin Sawicki f37ae7e4e7 Upgrade dev dependencies 2013-06-26 08:57:52 -07:00
Kevin Sawicki f913f6a8d5 Upgrade dependencies 2013-06-26 08:56:04 -07:00
Kevin Sawicki 20991381bd Remove unneeded stdout/stderr output forwarding 2013-06-25 17:47:21 -07:00
Kevin Sawicki 6930fe0eff Mention keymap fixes 2013-06-25 13:47:39 -07:00
Kevin Sawicki f3b50eed3b Migrate close bindings from editor namespace to pane
These were left over from the pane migration still under
the editor namespace and were previously not accessible via
a keybinding.
2013-06-25 13:15:39 -07:00
probablycorey a4217909c0 Don't check for updates in background if version is a sha
If the version is a 7 char sha, then we assume it is a local build.
2013-06-25 09:54:03 -07:00
Kevin Sawicki 5b7c4686f9 Add nof task 2013-06-24 20:55:55 -07:00
Kevin Sawicki 86c8343107 Score grammar matches using longest fileType match
Previously the score for two grammars matching on path
was equal and so the first one would be selected.

Now the longer match will have a higher score and will be selected
over other grammars with shorter fileType match lengths.

Closes #602
2013-06-24 18:23:54 -07:00
Kevin Sawicki 6b6ce03c72 Use hasParent() instead of isOnDom() 2013-06-24 18:03:35 -07:00
Kevin Sawicki a7ee5985db Separate variable from requires 2013-06-24 16:56:52 -07:00
Kevin Sawicki be354f78a6 Focus root view if previously focused element is no longer attached
This can be the case when a select list is triggered while a different
select list is already open and so the second list to open has no
element to restore focus to when it closes.
2013-06-24 16:46:36 -07:00
Kevin Sawicki ab75f6f635 Don't detach on focusout when detaching 2013-06-24 16:45:26 -07:00
Kevin Sawicki d6513e9aa9 Use BufferedProcess for apm commands
This ensures the path to node is always available in the environment.
2013-06-24 16:44:40 -07:00
Kevin Sawicki afac77ddfd Don't copy bootstrap docs to build folder 2013-06-24 16:17:07 -07:00
Kevin Sawicki fcd0b6839b Don't copy vendor/apm to build folder
This is already copied as node_modules/atom-package-manager
2013-06-24 16:13:56 -07:00
Kevin Sawicki 32c2548442 Allow spaces before fenced code block language 2013-06-24 15:13:51 -07:00
Kevin Sawicki 1cf02c22a7 Support colorizing fenced python blocks 2013-06-24 15:08:19 -07:00
Kevin Sawicki 34e5594a2d Nest all rules under a root .is-blurred class 2013-06-24 15:01:05 -07:00
Kevin Sawicki 46eac52dbf Upgrade apm 2013-06-24 14:57:32 -07:00
Kevin Sawicki 915a737797 Don't copy git-utils/oniguruma deps/ during build
These contain source files used to build the native modules
and are not needed in the binary distribution.
2013-06-24 14:56:02 -07:00
Kevin Sawicki d227d8794d Upgrade apm 2013-06-24 14:24:29 -07:00
Kevin Sawicki ad888b3250 Use walkdir for recursively copying
grunt.file.recurse only calls back for file paths so directory
symlinks are being copied instead of linked causing duplicate
files in the final build folder.
2013-06-24 14:11:18 -07:00
Kevin Sawicki 5350a67990 Correct typo in package.json key 2013-06-24 12:13:48 -07:00
Kevin Sawicki c02be2330c Only read package.json once 2013-06-24 12:05:14 -07:00
Kevin Sawicki cf936a8a02 Upgrade apm 2013-06-24 11:45:53 -07:00
Kevin Sawicki 0b07d276b9 Don't copy dev dependencies during build task
Closes #601
2013-06-24 11:14:46 -07:00
Kevin Sawicki 6879f0d0ac Update initialPath on project path changes
atom.setPathToOpen() is now longer available and instead
the load settings should be updated.
2013-06-24 10:41:44 -07:00
Kevin Sawicki d31d18360b Store untitled window state under load settings
This keeps untitled windows from contaminating each other by
storing to the same state path on disk but still stores state
across reloads of the windows.

Closes #599
2013-06-24 10:37:53 -07:00
Kevin Sawicki aeee3c9ade Remove unused methods 2013-06-24 08:53:15 -07:00
Kevin Sawicki dae28d2222 Add light syntax colors for embedded strings
Closes #598
2013-06-24 08:33:18 -07:00
Kevin Sawicki f81f95e830 💄 2013-06-24 08:32:33 -07:00
Kevin Sawicki 41611f826a Add back lint as part of CI 2013-06-21 19:59:37 -07:00
Kevin Sawicki 4eac57c31c Capture test standard out and error and log it 2013-06-21 13:35:19 -07:00
probablycorey 2a7f03761d Update documentation 2013-06-21 09:46:25 -07:00
probablycorey 264f7e1a74 Add script/test 2013-06-21 09:46:25 -07:00
probablycorey 94227889f1 script/build calls script/bootstrap 2013-06-21 09:46:25 -07:00
Kevin Sawicki 34114a9620 Add jasmine-focused as dev dependency
This has the nof command to un-focus all specs
2013-06-21 09:36:27 -07:00
Kevin Sawicki b562b3cf72 Remove script/copy-info-plist
Perform the copy in Gruntfile.coffee instead of a script
2013-06-21 09:30:53 -07:00
Kevin Sawicki 3938d143a1 Drop unneeded './' from script commands 2013-06-20 22:02:53 -07:00
Kevin Sawicki 95418566ef Correct typo in Requirements 2013-06-20 22:02:28 -07:00
Kevin Sawicki 622b877663 Remove extra newline 2013-06-20 21:59:23 -07:00
Kevin Sawicki 503ff13eb3 Sort keys in fence extension hash 2013-06-20 21:59:21 -07:00
Kevin Sawicki 2792f0d835 Map XML fence to grammar 2013-06-20 21:59:12 -07:00
probablycorey 82cb2aa124 Remove unused scripts 2013-06-20 17:15:53 -07:00
probablycorey ba08123abc Update installation instructions 2013-06-20 17:15:53 -07:00
probablycorey 93d6a80bc6 Add script/build task 2013-06-20 17:15:53 -07:00
probablycorey fd78c2a709 Don't clean node_modules when building 2013-06-20 17:15:53 -07:00
Kevin Sawicki & Nathan Sobo fb7080c39a Remove unused require 2013-06-20 17:15:53 -07:00
probablycorey cc591e18b0 Remove colored output from cibuilds 2013-06-20 17:15:53 -07:00
probablycorey 7e6979236e 🐛 2013-06-20 17:15:53 -07:00
probablycorey e72c48607b Fix doc specs 2013-06-20 17:15:52 -07:00
probablycorey 3e91334c82 Bundle themes are no longer copied 2013-06-20 17:15:52 -07:00
probablycorey 593e8c0e14 Don't bootstrap from gruntfile 2013-06-20 17:15:52 -07:00
probablycorey f8bc5ce648 cibuild runs ./script/bootstrap 2013-06-20 17:15:52 -07:00
probablycorey 29f10e71ce Mentioned grunt change 2013-06-20 17:15:52 -07:00
probablycorey 84340782ff Update readme 2013-06-20 17:15:52 -07:00
probablycorey 674946d180 Update rakefile 2013-06-20 17:15:52 -07:00
probablycorey abf4a6501a Use grunt to run ci tests 2013-06-20 17:15:52 -07:00
probablycorey ee0d073cd2 Update default grunt task 2013-06-20 17:15:52 -07:00
probablycorey 2d583d6ea0 Use local spawn method to output all errors 2013-06-20 17:15:52 -07:00
probablycorey e46af10631 Remove unused files from gitignore 2013-06-20 17:15:52 -07:00
probablycorey 0328c77be1 Don't copy themes to .atom dir 2013-06-20 17:15:51 -07:00
probablycorey 5c2aaf9849 Create deploy task 2013-06-20 17:15:51 -07:00
Kevin Sawicki & Nathan Sobo eab21e19f6 💄 2013-06-20 16:13:42 -07:00
Kevin Sawicki & Nathan Sobo 266548d75c Implement dev window opening with meta-O 2013-06-20 16:12:11 -07:00
probablycorey 4731c1f3f0 Hack to always update from the speakeasy master release
Related to https://github.com/atom/atom-shell/issues/33
2013-06-20 12:15:35 -07:00
probablycorey d6cd51399d Fix build script 2013-06-20 12:15:35 -07:00
probablycorey 7eff25e180 Install atom when default grunt task is run 2013-06-20 12:15:35 -07:00
probablycorey ab53e2ffda Rename create-atom script to constructicon/build 2013-06-20 12:15:35 -07:00
probablycorey e23357cf13 Default to version 0 2013-06-20 12:15:35 -07:00
probablycorey d5808e1164 Let constructicon set the SUFeedURL 2013-06-20 12:15:35 -07:00
probablycorey f47fa21fe9 Don't create version file in app bundle 2013-06-20 12:15:34 -07:00
probablycorey 478c617e60 Don't use polite curl in update-atom-shell 2013-06-20 12:15:34 -07:00
probablycorey 4449758135 Don't set version when building on constructicon 2013-06-20 12:15:34 -07:00
probablycorey 7163d8dc71 Make atom work with constructicon 2013-06-20 12:15:34 -07:00
probablycorey 128f7b851a Better constructicon output 2013-06-20 12:15:34 -07:00
probablycorey 90bc5f58f7 Bootstrap atom before constructicon build 2013-06-20 12:15:34 -07:00
probablycorey c89328fa14 Set permissions for prebuild script 2013-06-20 12:15:34 -07:00
probablycorey af655b3674 Make atom work with constructicon 2013-06-20 12:15:34 -07:00
probablycorey 5875c814df Don't assume we can remove the BUILD_DIR 2013-06-20 12:15:34 -07:00
probablycorey fcaa952973 Simplify gyp
Gyp is only used for construction now.
2013-06-20 12:15:34 -07:00
probablycorey 65c02328b3 Remove polite curl 2013-06-20 12:15:34 -07:00
probablycorey d629468cd1 Send error to async callback 2013-06-20 12:15:34 -07:00
probablycorey 0cdb477b3f Only copy the app file 2013-06-20 12:15:34 -07:00
probablycorey ed4f4a699b Remove typo that causes everything to fail 2013-06-20 12:15:34 -07:00
probablycorey fc7b8b4bf1 Replace local exec function calls with grunt.util.spawn 2013-06-20 12:15:33 -07:00
probablycorey 22b7ae2136 Move plist code into update-info-plist 2013-06-20 12:15:33 -07:00
probablycorey 032d865c92 Move plist code into update-info-plist 2013-06-20 12:15:33 -07:00
probablycorey c48c716eb0 Move utility functions to bottom of file 2013-06-20 12:15:33 -07:00
probablycorey e98219d2c5 Allow gruntfile to set build-dir from the command line 2013-06-20 12:15:33 -07:00
probablycorey 519e090a7a Rename app-Info.plist to atom-Info.plist 2013-06-20 12:15:33 -07:00
probablycorey 4e0f37281b Add codesign grunt task 2013-06-20 12:15:33 -07:00
probablycorey e6750de14d Remove lint from default task
It is causing an error.
2013-06-20 12:15:33 -07:00
probablycorey 5380a342d5 Rename postbuild to update-version 2013-06-20 12:15:33 -07:00
Nathan Sobo 44e73200ff Default editor.normalizeIndentOnPaste to true 2013-06-19 13:01:23 -06:00
Nathan Sobo 48b4c62696 Add editor.normalizeIndentOnPaste to the config panel 2013-06-19 13:01:01 -06:00
Corey Johnson & Nathan Sobo b9accadb70 When normalizing indent, ignore leading spaces of first line
Fixes #594
2013-06-19 12:21:05 -06:00
Kevin Sawicki e358c67da5 Listen for correct path loader progress event 2013-06-19 10:17:23 -07:00
Kevin Sawicki 1764677b7d Unsubscribe markers when destroying display buffer
Previously the display buffer markers would still fire events
even after a display buffer was destroyed since they were not
being unsubscribed from their underlying buffer marker which
could still fire events in the case of an editor split on the
same buffer.

Closes #593
2013-06-19 09:56:55 -07:00
probablycorey 264ddbe183 Use app.getVersion instead of the version file 2013-06-19 09:43:34 -07:00
probablycorey d8ba422178 Replace global.homeDir with app.getHomeDir() 2013-06-19 09:33:34 -07:00
Cheng Zhao 95f43917a4 Use @resourcePath when resource path of specs doesn't exist.
People may put atom under places other than ~/github/atom and wants to
run specs.
2013-06-19 14:01:24 +08:00
Cheng Zhao e0f806f0fb Use app.getHomeDir() API to get home dir. 2013-06-19 13:57:31 +08:00
Kevin Sawicki & Nathan Sobo 01a7b5fbc6 Throw exception when referencing a non-existent screen line 2013-06-18 14:34:23 -06:00
Kevin Sawicki c86b8198d9 Use built-in underscore from grunt.util 2013-06-18 10:21:15 -07:00
Kevin Sawicki 3771bda471 Separate resources and mac segments before joining 2013-06-18 10:09:16 -07:00
Kevin Sawicki 1178d844d0 Look before and after empty lines for max indent level
Previously the indentation guide level for empty lines was
derived by only looking after the empty line which caused gaps
in certain cases.

Now the indentation for an empty line is the higher value of the
previous non-empty line indentation and the following non-empty
line indentation.

Closes #588
2013-06-18 09:56:31 -07:00
Kevin Sawicki aa9577db67 Upgrade to lesslint 0.7 2013-06-17 20:02:35 -07:00
Kevin Sawicki 7af474cbc6 Disable outline-none rule 2013-06-17 19:58:21 -07:00
Kevin Sawicki 7f6de430c0 Remove unneeded units 2013-06-17 19:57:38 -07:00
Kevin Sawicki bc2d0ff0cc Only check ending rules when stack size increases
Previously on zero length matches the last two rules were compared
and if they had the same scope name then the last rule was popped
and the remaining line was tokenized using the current scope stack
to prevent infinite parsing loops.

This caused nested method calls in Java to not tokenize correctly
since method rules were sequential in the stack but did not constitute
an infinite loop of zero matches since the stack was currently decreasing.

Now the last two rules are only compared when the stack size is increasing
to prevent this false positive.

Closes #587
2013-06-17 13:08:10 -07:00
Kevin Sawicki 645aa65e9b Remove view when package is deactivated 2013-06-17 12:11:26 -07:00
Kevin Sawicki 2ae494999c Terminate in beforeRemove() instead of afterRemove() 2013-06-17 12:11:26 -07:00
Kevin Sawicki 2826d50cbb Remove logging of pid 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki 8c4bddac9f Add spec for Task.once() 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki 2a7d35cc39 Remove spec that was renamed to task-spec.coffee 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki 8389698958 Drop suffix from handler path 2013-06-17 12:11:26 -07:00
Kevin Sawicki 289b270c85 Use Task.once for repository status handler 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki 8661290c6a Rename LoadPathsTask to PathLoader 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki 84a8f11fc9 Make fuzzy finder work with new Task system 2013-06-17 12:11:25 -07:00
Kevin Sawicki ad1b530d32 💄 2013-06-17 12:11:25 -07:00
Kevin Sawicki 65e322824b Remove task-shell 2013-06-17 12:11:25 -07:00
Kevin Sawicki 3f5bee7e4c Move task-bootstrap to src/ 2013-06-17 12:11:25 -07:00
Kevin Sawicki bff57e53f0 Throw error when starting terminated process 2013-06-17 12:11:25 -07:00
Kevin Sawicki 8280b3a3ff Update repository status to use new task style 2013-06-17 12:11:25 -07:00
Kevin Sawicki 7dd52995d0 Update tag reader view to use new task style 2013-06-17 12:11:25 -07:00
Kevin Sawicki e8bf433c68 Remove unused class 2013-06-17 12:11:25 -07:00
Kevin Sawicki 12b5c43d85 Remove unused task 2013-06-17 12:11:25 -07:00
Kevin Sawicki b42cc6f683 Update spell check view to use new task 2013-06-17 12:11:25 -07:00
Kevin Sawicki a1d6ae010e 💄 2013-06-17 12:11:25 -07:00
Kevin Sawicki cd1c88a1b5 Correct typo in git docs 2013-06-16 22:08:18 -07:00
Kevin Sawicki 5d245f403f Upgrade to grunt-cson 0.3 2013-06-16 21:37:48 -07:00
Kevin Sawicki 91f18df917 Use grunt-cson for compilation 2013-06-15 22:10:06 -07:00
Kevin Sawicki f3b3c291b9 Un-f wrap guide spec 2013-06-15 21:25:46 -07:00
Kevin Sawicki 6bcd6240ce Only override resource path if running specs from menu
Previously if the specs were being run via the --test command line
flag then the resource path specified would be overridden and
~/github/atom would be used instead which was causing CI to fail
since it specified a custom resource path at a different location.
2013-06-15 20:07:16 -07:00
Kevin Sawicki 5df5a679ac Un-f fuzzy finder spec 2013-06-14 11:48:02 -07:00
Kevin Sawicki 6dc2db25da Add Zoom to Window menu 2013-06-14 11:47:12 -07:00
Kevin Sawicki 7d33e1302a Doc what unicode characters render to 2013-06-14 11:47:12 -07:00
Corey Johnson & Kevin Sawicki 2edb5b5496 Setup node path in Atom Window.
This lets windows run code from different resource paths.
2013-06-14 10:01:23 -07:00
probablycorey 3ba7d68d4a Add global.homeDir
Ick, this should be handled by an npm or hopefully a patch to Node.
2013-06-14 09:56:01 -07:00
probablycorey da58bd5609 Always use ~/github/atom as the resource path when running specs 2013-06-14 09:27:54 -07:00
Kevin Sawicki e8c0f46afb Relativize exact path matches to the empty string 2013-06-14 09:20:28 -07:00
Kevin Sawicki 772a99012d Focus window when atom.focus() is called
Previously listeners bound to $(window).focus() would not get
events when Atom initially started or on reloads.
2013-06-14 08:39:32 -07:00
Kevin Sawicki f408406ef0 Support symlinks in .relativize() and .contains() 2013-06-14 08:29:21 -07:00
Kevin Sawicki 1fa319a8f3 Hide status and branch info for non-project files 2013-06-13 23:11:07 -07:00
Kevin Sawicki a0aefe21c8 Bind mousewheel event to list instead of parent 2013-06-13 22:11:46 -07:00
Kevin Sawicki d6be29dbdc Prevent propagation of mousewheel events from list
Without this, the autocomplete list is not scrollable using
the mouse wheel since it is consumed by the parent editor.
2013-06-13 18:50:36 -07:00
Kevin Sawicki 52ffa2d8c0 Use fat arrow for write callback 2013-06-13 18:38:23 -07:00
Kevin Sawicki 5ca4e8006e Format command and run count integers 2013-06-13 18:09:37 -07:00
Kevin Sawicki 75cfddebcd Implement getEmptyMessage() in CorrectionsView 2013-06-13 11:47:00 -07:00
Kevin Sawicki 1bc4b4ef32 Use mini-icon helper for loading-message 2013-06-13 11:40:32 -07:00
Kevin Sawicki ff7c639b64 Don't use error class in select list
Use a subtler error message that displays in the same place as the
loading message but does not change the entire background of the
view.

Also, extending classes can now customize the message displayed
when there are no items and also no filtered items to allow for
different messages for these two cases.
2013-06-13 11:31:09 -07:00
Kevin Sawicki 77172800a8 Remove link to deleted method 2013-06-13 10:10:59 -07:00
Kevin Sawicki 6615e0f2db Use triple # internal comment 2013-06-13 10:03:54 -07:00
Kevin Sawicki 0f562330cf Remove unused functions and specs 2013-06-13 10:02:13 -07:00
Kevin Sawicki 42a8a1ff61 Use skinny arrow for onPath callback 2013-06-13 08:51:13 -07:00
Kevin Sawicki 29c0f0c115 Clean up function comments 2013-06-13 08:49:48 -07:00
Kevin Sawicki dc33168ecc 💄 2013-06-13 08:44:12 -07:00
Kevin Sawicki 1e26bb533a Remove unneeded relativePath parameter 2013-06-13 08:41:04 -07:00
Kevin Sawicki 021fbc533f Specify utf8 encoding to fs.readFileSync() 2013-06-13 08:34:26 -07:00
Kevin Sawicki bc6daaeac2 Make function comment accurate 2013-06-13 08:32:58 -07:00
Kevin Sawicki d60c255703 Rename nodePath to path 2013-06-13 08:31:04 -07:00
Kevin Sawicki 2d9ba937fb Only ignore tags file at root
This allows the tags file inside spec/fixtures to be modified.
2013-06-12 20:57:38 -07:00
Kevin Sawicki 9cdc6122b3 Add mdown to readme extensions array 2013-06-12 20:56:52 -07:00
Kevin Sawicki 3374074940 Use path instead of Path 2013-06-12 20:55:27 -07:00
Kevin Sawicki 4f65cb099a Remove unused fsUtils.split() 2013-06-12 20:44:15 -07:00
Kevin Sawicki 0e52a3bcee Remove fsUtils.makeDirectory()
fsUtils.makeTree() was sufficient for all current uses.
2013-06-12 20:39:40 -07:00
Kevin Sawicki ed3a4a33e2 Rename .write() to writeSync() 2013-06-12 20:38:26 -07:00
Kevin Sawicki 3e0658fe30 Use mkdirp from fsUtils.makeTree() 2013-06-12 20:31:38 -07:00
Kevin Sawicki f35724daa9 Revert incorrect rename to isDirectorySync() 2013-06-12 20:29:14 -07:00
Kevin Sawicki 58fd786fda Rename readPlist() to readPlistSync() 2013-06-12 18:32:36 -07:00
Kevin Sawicki bf41c77d80 Use fsUtils.readObject to load snippets file 2013-06-12 18:30:43 -07:00
Kevin Sawicki d8de321074 Rename readObject() to readObjectSync() 2013-06-12 18:28:25 -07:00
Kevin Sawicki d77705a039 Rename listTree() to listTreeSync() 2013-06-12 18:26:44 -07:00
Kevin Sawicki 27d9da15dc Rename list() to listSync() 2013-06-12 18:25:42 -07:00
Kevin Sawicki a192842dc0 Rename isExecutable() to isExecutableSync() 2013-06-12 18:22:43 -07:00
Kevin Sawicki 400aa93bf3 Rename isFile() to isFileSync() 2013-06-12 18:21:57 -07:00
Kevin Sawicki 86952ff85e Rename isDirectory() to isDirectorySync() 2013-06-12 18:16:31 -07:00
Kevin Sawicki bab9bd7550 Rename path variables to prevent collisions 2013-06-12 17:59:37 -07:00
Kevin Sawicki 87e60bd0eb Update element path key to filePath instead of path 2013-06-12 17:51:07 -07:00
Kevin Sawicki 711d20ea14 Rename path variables to prevent collisions 2013-06-12 17:35:12 -07:00
Kevin Sawicki a0a0036727 Add missing path require 2013-06-12 17:35:03 -07:00
Kevin Sawicki 15f6a33c4b Rename path variables to prevent collisions 2013-06-12 17:27:23 -07:00
Kevin Sawicki 10f92836e6 Rename path variables to prevent collisions 2013-06-12 17:19:16 -07:00
Kevin Sawicki 54558c863d Remove unused path 2013-06-12 17:10:19 -07:00
Kevin Sawicki e25aece700 Use filePath instead of path as variable name 2013-06-12 17:04:37 -07:00
Kevin Sawicki bfdad19911 Use repoPath as parameter name to loadStatuses() 2013-06-12 17:02:02 -07:00
Kevin Sawicki d112089152 Use filePath variable instead of path 2013-06-12 16:57:47 -07:00
Kevin Sawicki 6c91d8bea6 Add missing require for path 2013-06-12 16:51:53 -07:00
Kevin Sawicki 7edebc6dd2 Don't clobber path module by using path as a variable name 2013-06-12 16:50:15 -07:00
Kevin Sawicki 76649ba268 Add missing require for path 2013-06-12 16:50:00 -07:00
Kevin Sawicki 2ae95bdf2b Use scopedPropertiesPath instead of propertiesPath 2013-06-12 16:44:08 -07:00
Kevin Sawicki 1548ef10b0 Don't clobber module by reassigning to path 2013-06-12 16:41:23 -07:00
Kevin Sawicki 835cd70ded Use Path.dirname() internally 2013-06-12 16:33:36 -07:00
Kevin Sawicki 5a8444579c Use more description variable names instead of path 2013-06-12 16:32:12 -07:00
Kevin Sawicki dc4012ea7c Add missing path require 2013-06-12 16:25:41 -07:00
Kevin Sawicki 17007e6154 Add missing path prefix to method invocation 2013-06-12 16:23:48 -07:00
Kevin Sawicki 82013b1970 Use path.join() instead of fsUtils.join() 2013-06-12 16:20:40 -07:00
Kevin Sawicki 7cf4063d9e Use path.dirname() instead of fsUtils.directory() 2013-06-12 15:54:34 -07:00
Kevin Sawicki d1cf839e53 Use correct less stylesheet path variable name 2013-06-12 15:53:47 -07:00
Kevin Sawicki f47164a2e6 Use more descriptive variable name instead of path 2013-06-12 15:46:15 -07:00
Kevin Sawicki bdb641ec94 Use path.extname() instead of fsUtils.extension() 2013-06-12 15:43:58 -07:00
Kevin Sawicki 341a327ea0 Rename path variable to entryPath 2013-06-12 15:36:18 -07:00
Kevin Sawicki 3d53a6ecf8 Remove internal references to .base() 2013-06-12 15:32:25 -07:00
Kevin Sawicki eede4a386f Use path.basename() instead of fsUtils.base() 2013-06-12 15:26:09 -07:00
Kevin Sawicki 437137783c Use rimraf for removing files/folders 2013-06-12 15:09:54 -07:00
Kevin Sawicki b96597b089 💄 2013-06-12 14:44:06 -07:00
Kevin Sawicki eeb2782700 Use lookbehind for whitespace before bold/italic text 2013-06-12 14:43:14 -07:00
Kevin Sawicki 0f4ad0bbf5 Guard against a null initial path
This will be the case when the .atom fold is opened from the config window.

path.join() cannot be called with null values.
2013-06-12 14:31:49 -07:00
Kevin Sawicki 750e4a1cca Rename linux.css to linux.less 2013-06-12 13:28:39 -07:00
Kevin Sawicki e5b8aa57d7 Guard against null rootView
This will be the case for the config window.
2013-06-12 13:13:24 -07:00
Kevin Sawicki 0723514fea Combine colors into single rule 2013-06-12 13:10:23 -07:00
Kevin Sawicki c298e1b3ee Remove background-color on .text .source
This was causing a different background in script tags
in HTML that looked strange.
2013-06-12 13:07:32 -07:00
Kevin Sawicki 91e5d171b7 Lint dot-atom coffee files 2013-06-12 13:04:10 -07:00
Kevin Sawicki 28f47e8248 hideGitIgnoredFiles is under core key, not editor 2013-06-12 12:48:25 -07:00
Kevin Sawicki f870dc7b72 Allow autocomplete package to be deactivated 2013-06-12 11:41:41 -07:00
Kevin Sawicki 04c5e9fa42 Return subscription from RootView.eachEditor() 2013-06-12 11:38:05 -07:00
Kevin Sawicki 65b08e2914 Upgrade to lesslint 0.4 2013-06-12 11:02:34 -07:00
Kevin Sawicki ed19b9e032 Upgrade to lesslint 0.3 2013-06-12 10:27:40 -07:00
Kevin Sawicki e72b5a55a0 Remove invalid float on inline-block element 2013-06-12 10:18:23 -07:00
Kevin Sawicki 5281507483 Remove invalid include rule 2013-06-12 10:18:23 -07:00
Kevin Sawicki abf7303d6e Disable font-sizes rule 2013-06-12 10:18:23 -07:00
Kevin Sawicki 775f29564a Use LESS style comments 2013-06-12 10:18:23 -07:00
Kevin Sawicki 7e33a3e12f Remove duplicate properties 2013-06-12 10:18:23 -07:00
Kevin Sawicki 5538b2910d 💄 2013-06-12 10:18:23 -07:00
Kevin Sawicki c7c7988ae6 Drop units when using zero 2013-06-12 10:18:23 -07:00
Kevin Sawicki 454106a22b Disable several CSS Lint rules 2013-06-12 10:18:22 -07:00
Kevin Sawicki 43c1d7f8aa Add less lint task 2013-06-12 10:18:22 -07:00
probablycorey 1156018c0d Make gutter line number's position relative
This makes it easier to decorate line numbers.
2013-06-12 09:55:31 -07:00
Kevin Sawicki e00e87a845 Lint css files in static/ 2013-06-11 16:34:48 -07:00
Kevin Sawicki 2b29212d0f Sort flags alphabetically 2013-06-11 16:30:46 -07:00
Kevin Sawicki 7390d908bd Add -v flag to print the version 2013-06-11 16:23:47 -07:00
Kevin Sawicki a98308a7a4 Add -n option to always open a new window 2013-06-11 16:15:04 -07:00
Kevin Sawicki 3b263eb961 Tweak crashed dialog messaging 2013-06-11 16:07:57 -07:00
Kevin Sawicki c6d5c143cf Mention LESS/CSS indent fix 2013-06-11 15:54:56 -07:00
Kevin Sawicki 6d0f303cd5 Set initialPath on load settings 2013-06-11 15:48:22 -07:00
Kevin Sawicki 327f16fa03 Add semicolon 2013-06-11 15:44:25 -07:00
Corey Johnson & Kevin Sawicki a4ee1eb785 Rename pathToOpen load setting to initialPath
Use the initialPath as the window state serialization key.

Also use the parent directory as the intitial path when the
path to open is a file.
2013-06-11 15:38:31 -07:00
Corey Johnson & Kevin Sawicki fc52ee518e Wait for window:loaded before emitting window:open-path 2013-06-11 14:48:51 -07:00
Corey Johnson & Kevin Sawicki b3e0ea6d33 Add AtomWindow.openPath() 2013-06-11 14:39:52 -07:00
Corey Johnson & Kevin Sawicki dc53f387a6 Remove project serialization 2013-06-11 14:39:32 -07:00
Corey Johnson & Kevin Sawicki 11dfe7b649 Tweak unresponsive dialog text 2013-06-11 14:28:27 -07:00
Corey Johnson & Kevin Sawicki 1ce861c000 Don't save pathToOpen to window state 2013-06-11 14:17:20 -07:00
Corey Johnson & Kevin Sawicki 0c8f200d45 Always load bundle preferences
Previously the scoped properties would not load if there weren't
any grammars in the bundle or if listing the grammars directory
failed.

Closes #570
2013-06-11 13:52:40 -07:00
Kevin Sawicki c63536c682 Include source TextMate bundle 2013-06-11 13:02:00 -07:00
Corey Johnson & Kevin Sawicki 7516cebb40 Comment .less code correctly 2013-06-11 12:25:57 -07:00
Corey Johnson & Kevin Sawicki e82a7f57fe Move already opened path logic to Atom Window 2013-06-11 11:28:53 -07:00
Corey Johnson & Kevin Sawicki bcc16fbefe Remove hash params from url
Load settings are now stored on the browser window.
2013-06-11 11:17:16 -07:00
Cheng Zhao a57c5c7c93 Show prompt to close or reload window when renderer is crashed. 2013-06-11 14:49:04 +08:00
Cheng Zhao f7db59ea7c Close window immediately if renderer is crashed. Fixed #580. 2013-06-11 14:49:04 +08:00
Kevin Sawicki 4f348dcd19 Watch archive file and react to events
The view now refreshes on 'contents-changed' events and
closes on 'removed' events
2013-06-10 18:32:11 -07:00
Kevin Sawicki a3d896f456 Mention archive viewer 2013-06-10 14:22:30 -07:00
Kevin Sawicki 9ad65e6e46 Add top padding to directories 2013-06-10 14:11:19 -07:00
Kevin Sawicki 790c9714c7 Forward focus to selected file on focus events 2013-06-10 14:11:19 -07:00
Kevin Sawicki 68074be9d6 Add initial archive viewer spec 2013-06-10 14:11:19 -07:00
Kevin Sawicki 4c2a40808b 💄 2013-06-10 14:11:19 -07:00
Kevin Sawicki 8dbac6a34f Add light theme support for archive viewer 2013-06-10 14:11:18 -07:00
Kevin Sawicki 6bd8213093 Remove duplicate property 2013-06-10 14:11:18 -07:00
Kevin Sawicki 0b0af2296f Add summary header with size and file/folder counts 2013-06-10 14:11:18 -07:00
Kevin Sawicki 2c7d49f7a8 Ignore callbacks if path has changed 2013-06-10 14:11:18 -07:00
Kevin Sawicki dc89b0569a Add margin to loading message 2013-06-10 14:11:18 -07:00
Kevin Sawicki ff5ea00b00 Use toggle class for removing selected class 2013-06-10 14:11:18 -07:00
Kevin Sawicki 1894901930 Add up/down/confirm event handling 2013-06-10 14:11:18 -07:00
Kevin Sawicki 135a285596 Remove unused require 2013-06-10 14:11:18 -07:00
Kevin Sawicki 32e229b162 Log error stack 2013-06-10 14:11:18 -07:00
Kevin Sawicki 3102ac403b Tweak file and folder styles 2013-06-10 14:11:18 -07:00
Kevin Sawicki 0f16b54d8e Only update view when path changes 2013-06-10 14:11:18 -07:00
Kevin Sawicki 8fc1e34a74 Remove debug logging 2013-06-10 14:11:18 -07:00
Kevin Sawicki af2b775a4a Upgrade to ls-archive 0.9 2013-06-10 14:11:18 -07:00
Kevin Sawicki e9bf2fe161 Add initial archive viewer 2013-06-10 14:11:17 -07:00
Kevin Sawicki 3709a0b7e1 Release instead of build 2013-06-10 09:01:00 -07:00
Kevin Sawicki c651cdc356 Update image to match current icon 2013-06-10 09:00:26 -07:00
Kevin Sawicki db9d92041f Add speakeasy link 2013-06-10 09:00:08 -07:00
Kevin Sawicki b474a818aa Always return false from link click callback 2013-06-10 08:56:19 -07:00
Kevin Sawicki cea521a737 Save window parameters on reload 2013-06-08 17:22:21 -07:00
Kevin Sawicki b89eb07c6e URI encode parameter values
Previously the path to open would not open properly if it contained
a '&' character since the character was not encoded and would cause
the parameter parsing to stop at the first '&'.
2013-06-07 11:11:31 -07:00
Kevin Sawicki 7f6e5e2e52 Un-f image view spec 2013-06-07 11:02:41 -07:00
Kevin Sawicki 4fdaf6dead Always open untitled editor when no path to open
Refs #577
2013-06-07 10:54:51 -07:00
Kevin Sawicki dea0e08d93 Use hash instead of query string for parameters
This allows the pathToOpen to be changed when the project
path changes.

Previously if the untitled window file was saved, the project
path would be forever associated with the undefined window.

Now when the project path changes, the pathToOpen changes so
that the state is persisted to the project area and the untitled
window never has a project.
2013-06-07 10:50:06 -07:00
Kevin Sawicki fca1c13d03 Move image-view to a package
This removes the ugliness of having project.coffee require
image-edit-session at the end since the image-edit-session can
now register itself in an @activate callback and as a deferred
deserializer in the package.cson file.
2013-06-07 10:15:32 -07:00
Kevin Sawicki 3029137cb8 Correct typo in return comment 2013-06-07 09:31:04 -07:00
Kevin Sawicki c7c9a2496a Sort autocomplete words case insensitively 2013-06-07 09:18:16 -07:00
Kevin Sawicki f40a7105bc Call .openPath() when 'new-window' is triggered
Closes #577
2013-06-07 08:51:10 -07:00
Kevin Sawicki 00313c747a Mention TODO 2013-06-07 08:29:05 -07:00
Kevin Sawicki 2ffd187094 Mention full screen persistence 2013-06-07 08:27:53 -07:00
Cheng Zhao 6f519b0456 Show unresponsive message dialog as sheet. 2013-06-07 16:26:58 +08:00
Cheng Zhao cb2bf796fa Show prompt to force closing window when window is frozen.
Fixed atom/atom-shell#17.
2013-06-07 16:26:18 +08:00
Cheng Zhao bbde993e81 Fullscreen => FullScreen. 2013-06-07 14:33:55 +08:00
Kevin Sawicki 9088ecca16 Default first argument to empty hash 2013-06-06 17:31:54 -07:00
Kevin Sawicki 9a99af2281 Store/restore full screen state on root view
Closes #245
2013-06-06 17:21:33 -07:00
Kevin Sawicki 70bb40ce2f Show all words when prefix and suffix are empty
This seems more applicable than just showing the "No matches found"
error when the current position has neither a prefix or a suffix.
2013-06-06 16:42:37 -07:00
Kevin Sawicki 9fea9ea756 Catch and log errors thrown by process.kill()
These can occur if killing the process fails because it no longer exists.
2013-06-06 16:23:53 -07:00
Kevin Sawicki dc46960e6c Update scroll position after layer dimensions
Calling updateLayerDimensions() may change the scroll position
so restore the edit session's stored scroll positions after
updateLayerDimensions() is called but store the scroll left and
scroll top positions beforehand.
2013-06-06 16:15:51 -07:00
Kevin Sawicki 7a04b22375 💄 2013-06-06 16:00:44 -07:00
Kevin Sawicki d5526515f1 Only save scroll position when attached 2013-06-06 15:58:44 -07:00
Kevin Sawicki 8aeedb8971 Upgrade apm 2013-06-06 13:23:19 -07:00
Kevin Sawicki 9fe7bfb898 Remove unneeded activatePackage calls
These are already done in the root beforeEach
2013-06-06 12:45:41 -07:00
Kevin Sawicki 7313407d04 Resolve ${group:/command} style pattern names
These are used by the todo package to include the lower cased
version of the matched capture index in the pattern scope name.
2013-06-06 12:39:51 -07:00
Kevin Sawicki 42d70f888e Bundle todo package 2013-06-06 12:37:39 -07:00
Kevin Sawicki 881efc8e8f Add mdown for GFM fileTypes 2013-06-06 12:12:26 -07:00
Kevin Sawicki 71c86381df Support includes inside of injection grammars 2013-06-06 11:30:01 -07:00
Kevin Sawicki efdb750334 Mention make package 2013-06-06 11:02:57 -07:00
Kevin Sawicki 5afd8d8bd3 Bundle make package 2013-06-06 10:40:45 -07:00
Kevin Sawicki 6f21ea930a Menion opening fuzzy finder to specific line 2013-06-06 10:23:58 -07:00
Kevin Sawicki af14f57962 Support opening fuzzy finder to a specific line
Adding a line number after a colon such as ':8' to the end of the fuzzy
filter input field will navigate to line 8 of the opened editor.
2013-06-06 10:17:15 -07:00
Kevin Sawicki e9b8f71997 Mark indentation issues as errors
All existing issues have been resolved.
2013-06-06 08:33:25 -07:00
Kevin Sawicki 2f8c45aec4 Break out wrap test to own function 2013-06-06 08:32:47 -07:00
Kevin Sawicki eaf5b8bc8e Remove duplicate getLastScreenRow() method 2013-06-06 08:21:00 -07:00
Kevin Sawicki efb2cfab9f Remove duplicate getBufferRowCount() method 2013-06-06 08:19:21 -07:00
Kevin Sawicki 320328777e Remove duplicate keys in classes 2013-06-06 08:18:08 -07:00
Kevin Sawicki 21f965f284 Mark empty param lists as errors 2013-06-06 08:16:23 -07:00
Kevin Sawicki 5c36064afc Remove empty param lists 2013-06-06 08:16:11 -07:00
Cheng Zhao 01b583957e Add back edit menu.
On OS X, applications rely on the menu to trigger native events for
various commands. Editor view doesn't need it before it listens to the
keyboard shortcuts itself. Since spec window and devtools view don't
listen to keyboard shortcuts, we should rely on the menu to make edit
commands work.

Fixed atom/atom-shell#18.
2013-06-06 10:24:30 +08:00
Kevin Sawicki 7ccf2390a7 Constantly sync scroll left/top value from editor to edit session
Previously these values were only saved on the edit session when
is became inactive causing the scroll position to not always
persist between refreshes.

Closes #474
2013-06-05 19:14:30 -07:00
Cheng Zhao feab9862ac Update apm for node v0.10.9. 2013-06-06 09:57:03 +08:00
Kevin Sawicki f85f95e792 Move universal comment toggle specs to edit-session-spec 2013-06-05 17:58:39 -07:00
Kevin Sawicki d658e7c490 Only uncomment when all lines start with a comment
Previously only the first row was checked for a comment. Now all
rows are checked and the rows are only uncommented when they all
start with a comment.

This only impacts languages that do not specify a command end pattern.

Closes #554
2013-06-05 17:38:50 -07:00
Kevin Sawicki 520e510aab Update expection extension to .less 2013-06-05 17:02:44 -07:00
Kevin Sawicki 769834e1a6 Add more common binary exetnsions 2013-06-05 17:00:30 -07:00
Kevin Sawicki 42d06d6281 Update path text when active item title changes
Closes #573
2013-06-05 16:53:52 -07:00
Kevin Sawicki 0d6028976b Convert light and dark syntaxes to less
Closes #533
2013-06-05 16:25:12 -07:00
Kevin Sawicki 69f7af7c63 Ignore errors unlinking non-existent path 2013-06-05 11:54:27 -07:00
Kevin Sawicki abbada47da Put node directory in PATH when spawning
This ensures the node used by the spawned process is the one bundled
with Atom.

This should prevent any "env: node: No such file or directory"
errors when spawning a node bin script such as nak.

Refs #514
2013-06-05 10:58:52 -07:00
Kevin Sawicki e7679d8320 Remove submoduling 3rd-party packages 2013-06-05 10:51:55 -07:00
Kevin Sawicki d3807fd908 Remove deleted folder 2013-06-05 10:51:11 -07:00
Kevin Sawicki 5adf74794b Log errors from nak to console 2013-06-04 18:47:05 -07:00
Kevin Sawicki 73c2e94a32 Pad image from container 2013-06-04 18:43:44 -07:00
Kevin Sawicki 66000a6769 Upgrade to oniguruma 0.16
This release returns objects for capture indices instead of
the index, start, and end in sequence in a single array.
2013-06-04 17:41:02 -07:00
Kevin Sawicki 09b15bab9b Mention tree view and utf8 fixes 2013-06-04 13:55:07 -07:00
Kevin Sawicki 0ed88c474a 💄 2013-06-04 13:43:19 -07:00
Kevin Sawicki c40a312e73 Add spec with surrogate pair token with trailing text 2013-06-04 13:43:19 -07:00
Kevin Sawicki 3d1ca5abb1 Add specs for partial surrogate pairs 2013-06-04 13:43:19 -07:00
Kevin Sawicki f63866b2a2 Rename hasSurrogatePairs() to hasSurrogatePair() 2013-06-04 13:43:19 -07:00
Kevin Sawicki 7dec3866cf Update spec description to be accurate 2013-06-04 13:43:19 -07:00
Kevin Sawicki 06a5234d10 Doc text-utils.coffee 2013-06-04 13:43:19 -07:00
Kevin Sawicki a109a3317e Add support for surrogate pairs
Surrogate pairs, meaning characters outside the Basic
Multilingual Plane, are now broken out as atomic tokens.

Closes #567
2013-06-04 13:43:19 -07:00
Kevin Sawicki 9f4fc49790 💄 2013-06-04 13:38:14 -07:00
Kevin Sawicki 6c8063b26a Use active pane item for path
Previously the active view was used to obtain the path.

The ImageView does not provide a path and was causing an
exception to be thrown when getPath was called on it
unguarded.

Closes #568
2013-06-04 13:36:45 -07:00
Kevin Sawicki 36ddbe99a1 Have inner image-container consume entire area 2013-06-04 13:23:26 -07:00
Cheng Zhao 47e5c0df16 Merge branch 'master' into atom-shell
Conflicts:
	.nakignore
2013-06-04 09:52:18 +08:00
Kevin Sawicki 86635c4543 Ignore docs/api when searching 2013-06-03 17:40:45 -07:00
Kevin Sawicki 855549d677 Remove unused method 2013-06-03 13:39:50 -07:00
Kevin Sawicki d58ec4d3f6 Show window from bootstrap script 2013-06-03 13:23:16 -07:00
Kevin Sawicki 879cc31261 Replace DevTools with Developer Tools in menu text 2013-06-03 13:19:05 -07:00
Kevin Sawicki 56fea45505 Replace Atom Shell with Atom in menu text 2013-06-03 13:17:40 -07:00
Kevin Sawicki 5e7656489d Add toggle full screen to View menu 2013-06-03 13:16:51 -07:00
Kevin Sawicki a816423037 Remove non-functional menus
These can be re-added as they are wired to triggering
commands into Atom.
2013-06-03 13:10:40 -07:00
Kevin Sawicki f3a500923c Catch and log errors parsing window state
Previously if a read or parse error occurred the window
would never show and the dev tools would be inaccessible.
2013-06-03 12:14:17 -07:00
Kevin Sawicki 7f0947ef9b Don't cancel on delay when no tags exist
Instead just show the error until explicitly cancelled so the behavior
when no tags is the same as the behavior when no tags match the
current filter.
2013-06-03 11:46:30 -07:00
Kevin Sawicki f90530f593 💄 2013-06-03 10:50:13 -07:00
Kevin Sawicki 3683f7e097 Move show() to atom.coffee
Co-locates it with hide() and focus() which are similar.
2013-06-03 10:43:43 -07:00
Kevin Sawicki 98310e8d7a 💄 2013-06-03 10:32:35 -07:00
Kevin Sawicki 8c9aad9e34 Merge branch 'master' into atom-shell 2013-06-03 09:38:47 -07:00
Kevin Sawicki 2b6a4365ac Upgrade apm 2013-06-03 09:34:53 -07:00
Kevin Sawicki 94c1ed4c28 Add node_modules dir to config.bundledPackageDirPaths array 2013-06-03 09:32:20 -07:00
Kevin Sawicki c1a1633593 Break on first path match 2013-06-03 09:30:33 -07:00
Cheng Zhao a6c37ff276 💄 on code style. 2013-06-03 22:56:30 +08:00
Cheng Zhao 495b218c7f Make atom.update() work. 2013-06-03 22:48:52 +08:00
Cheng Zhao d224f3c5bd Don't check for updates if it's a custom build.
Currently we check whether the version has the '.', the custom builds
would have commit hash as version, which doesn't contain '.'.
2013-06-03 22:33:04 +08:00
Cheng Zhao be309aba69 Setup crash reporter on 'will-finish-launching' event. 2013-06-03 22:26:47 +08:00
Cheng Zhao 2b3d3d9cf5 Make auto updater work. 2013-06-03 22:21:45 +08:00
Cheng Zhao 681969439d Merge branch 'master' into atom-shell 2013-06-03 19:53:10 +08:00
Cheng Zhao f9be1f3493 Convert Info.plist to XML format. 2013-06-03 18:42:23 +08:00
Cheng Zhao a2efd40798 URL => Url. 2013-06-02 15:16:21 +08:00
Cheng Zhao 94e7011413 Update node version to v0.10.9.
Should make this default settings after atom-shell branch is merged.
2013-06-02 10:25:35 +08:00
Cheng Zhao 1aca554ae3 Make atom.crashMainProcess and atom.crashRenderProcess work. 2013-06-02 00:34:12 +08:00
Cheng Zhao eefc18202f Make crash reporter work. 2013-06-01 20:15:19 +08:00
Cheng Zhao 70e414b279 Check the existence of socketPath.
See the comments for the reason.
2013-06-01 14:09:53 +08:00
Cheng Zhao e629088ec3 Make sure Atom terminates after message is sent. 2013-06-01 13:11:07 +08:00
Kevin Sawicki 9431a8c3ac Check that scope name is present before comparing
Previously if the last 2 rules in the stack had no scope
name and the position wasn't advancing then the last rule
would be popped.

This caused Java single line comments to not parse properly
since the push rules for comment blocks have no scope name.
2013-05-31 09:28:41 -07:00
Kevin Sawicki 9e7a9e6210 Remove incorrect @
anchorPosition is a parameter
2013-05-31 09:25:54 -07:00
Cheng Zhao c36fc467e6 Since files passed in command line won't trigger 'open-file' any more, there is no need to clean duplicate paths.
It also seems that there is a typo...
2013-05-31 10:30:37 +08:00
Kevin Sawicki 0c7701dc57 Copy files consistently with perms 2013-05-30 18:00:14 -07:00
Kevin Sawicki 2dbbce31d6 Set resource path as single argument 2013-05-30 16:45:40 -07:00
Kevin Sawicki d18ccc168f Guard against null options 2013-05-30 16:45:40 -07:00
Kevin Sawicki cc5ae002a2 Ignore pkill failures 2013-05-30 16:45:40 -07:00
Kevin Sawicki 06886f98d4 Log failure code 2013-05-30 16:45:40 -07:00
Kevin Sawicki 5e072e94e8 Add ci task 2013-05-30 16:45:39 -07:00
Kevin Sawicki 9e4ef708e4 Add test task 2013-05-30 16:45:15 -07:00
Kevin Sawicki da0af11bbb Only delete file if it exists 2013-05-30 16:45:15 -07:00
Kevin Sawicki 04b8ab1b87 Add bootstrap task 2013-05-30 16:45:15 -07:00
Kevin Sawicki 7988e3ead9 Run postbuild scripts after compile 2013-05-30 16:45:15 -07:00
Kevin Sawicki b51aea98b4 Copy symlinks properly 2013-05-30 16:45:15 -07:00
Kevin Sawicki 91cb03a43c Filter paths while recursing 2013-05-30 16:45:14 -07:00
Kevin Sawicki 9977f4efab Use grunt API for is directory 2013-05-30 16:45:14 -07:00
Kevin Sawicki 7928f075b5 Use grunt API for mkdir and rm 2013-05-30 16:45:14 -07:00
Kevin Sawicki 79bc23f83a Copy source mode to destination 2013-05-30 16:45:14 -07:00
Kevin Sawicki b201dbb698 Use grunt API for copying folders 2013-05-30 16:45:14 -07:00
Kevin Sawicki 11004c20e6 Use grunt API for copying files 2013-05-30 16:45:14 -07:00
Kevin Sawicki 3a54d0b8a9 💄 2013-05-30 16:45:14 -07:00
Kevin Sawicki 24d5fdd6eb Create path to install directory 2013-05-30 16:45:14 -07:00
Kevin Sawicki 75eb321272 Support copying files and folder from cp function 2013-05-30 16:45:14 -07:00
Kevin Sawicki ef8f630ad5 Copy non-compiled files to build directory 2013-05-30 16:45:14 -07:00
Kevin Sawicki 5c51060dca Add atom-shell segment to BUILD_DIR 2013-05-30 16:45:14 -07:00
Kevin Sawicki ec13dea5e6 Add missing atom-shell segment to APP_DIR 2013-05-30 16:45:14 -07:00
Kevin Sawicki affd4a481f Add install task 2013-05-30 16:45:13 -07:00
Kevin Sawicki eafad9a5c4 Show skull menu when in dev mode 2013-05-30 16:31:54 -07:00
Corey Johnson & Kevin Sawicki 454656a91c Use open-file event for paths to open 2013-05-30 15:15:08 -07:00
Corey Johnson & Kevin Sawicki a5c3ca9e8e Add open menu under File 2013-05-30 14:04:15 -07:00
Corey Johnson & Kevin Sawicki 4db152b2d7 Killing comment that made kevin angry 2013-05-30 12:07:48 -07:00
Corey Johnson & Kevin Sawicki 43a2096852 Don't reuse windows when --wait flag is set 2013-05-30 12:02:56 -07:00
Corey Johnson & Kevin Sawicki f76ab1ebe6 Add open class method to AtomApplication 2013-05-30 11:57:49 -07:00
Corey Johnson & Kevin Sawicki 04392c562e Create AtomApplication after app is finished launching 2013-05-30 11:38:08 -07:00
Corey Johnson & Kevin Sawicki a4470f9b6d Ignore windows without paths 2013-05-30 11:05:16 -07:00
Cheng Zhao db85792c59 Center the window by default, instead of position of (0, 0). 2013-05-30 22:16:15 +08:00
Cheng Zhao 92f071de93 Add script to clean up "open with" menu.
By compiling and running Atom again and again, the "open with" menu
would be polluted with various Atoms... This script cleans them.
2013-05-30 22:11:24 +08:00
Cheng Zhao ee046f1c25 Check whether the socket file exists before connecting.
By removing the socket file when the browser process of Atom quits and
checking it's existence before trying to connect it, we can greatly
reduce the startup time of the first instance of Atom.
2013-05-30 22:02:35 +08:00
Cheng Zhao 2135de059f Also listen to 'open-file' event in constructor.
The 'open-file' may happen before application is launched.
2013-05-30 21:37:14 +08:00
Cheng Zhao 3cad4ae118 Adopt to filename changes of atom-shell. 2013-05-30 21:36:49 +08:00
Cheng Zhao 69b8b7989a Listen to 'finish-launching' event in constructor.
Otherwise @handleEvents would never be called...
2013-05-30 21:30:46 +08:00
Cheng Zhao 3c02b28c11 Don't open any file until the application has finished launching.
When user double clicks a file in Finder, the Atom would start with no
pathToOpen, and then the 'open-file' event would be emitted for the
opened file. After 'open-file' event has been emitted for all files, the
'finish-launching' event would be finally emitted.

If no file has been opened and current process is the first instance of
Atom, Atom would open the empty editor.
2013-05-30 19:55:10 +08:00
Cheng Zhao 9e7510deea atomWindow.pathToOpen could be null. 2013-05-30 18:21:58 +08:00
Cheng Zhao e259df1d0a Add various file types in Info.plist. 2013-05-30 17:04:32 +08:00
Cheng Zhao 941a3d8bf8 Open file when received 'open-file' event.
This event is emitted when the OS X opens files with Atom.
2013-05-30 16:13:25 +08:00
Kevin Sawicki 970227e082 Add initial build task 2013-05-29 17:35:00 -07:00
Kevin Sawicki c42b018915 Simplify lint task 2013-05-29 16:45:12 -07:00
Kevin Sawicki c7553e032e Correct indentation 2013-05-29 16:45:00 -07:00
Kevin Sawicki 3e10fac5d0 Add clean task 2013-05-29 16:39:37 -07:00
Corey Johnson & Kevin Sawicki b15f0b0805 Guard against null pathsToOpen 2013-05-29 15:49:50 -07:00
Corey Johnson & Kevin Sawicki fa3c636494 Doc test flag 2013-05-29 14:57:33 -07:00
Corey Johnson & Kevin Sawicki b91487c60f Pass pid to kill to AtomApplication ctor 2013-05-29 14:52:45 -07:00
Corey Johnson & Kevin Sawicki 8ad695e89f Make atomApplication a global 2013-05-29 14:49:43 -07:00
Corey Johnson & Kevin Sawicki 0f5c68971c 💄 2013-05-29 14:43:57 -07:00
Corey Johnson & Kevin Sawicki 3373549e56 Resolve paths to open in main.coffee 2013-05-29 14:39:20 -07:00
Corey Johnson & Kevin Sawicki 608fcbd0a1 Use relative requires 2013-05-29 14:38:48 -07:00
Corey Johnson & Kevin Sawicki 1470ae73e7 Make --wait flag work again 2013-05-29 14:09:44 -07:00
Corey Johnson & Kevin Sawicki b0f51eaca6 Stringify Browser logging 2013-05-29 14:05:58 -07:00
Corey Johnson & Kevin Sawicki 715210944e Forward console.log to NSLog in browser process 2013-05-29 14:05:58 -07:00
Kevin Sawicki a4f35a8452 Remove OnigRegExp spec now included in package 2013-05-29 13:46:00 -07:00
Kevin Sawicki 5a691a1b1e Merge branch 'master' into atom-shell 2013-05-29 13:23:23 -07:00
Kevin Sawicki 73a755f29b Move grunt packages to dev dependencies 2013-05-29 13:16:52 -07:00
Kevin Sawicki fe7f36ad7f Add initial csslint task 2013-05-29 12:13:47 -07:00
Kevin Sawicki 36e41ecae6 Remove invalid class name 2013-05-29 12:10:56 -07:00
Kevin Sawicki 367e532578 Remove empty rule 2013-05-29 12:04:16 -07:00
Kevin Sawicki ce71cf7703 Use correct indentation 2013-05-29 11:55:06 -07:00
Kevin Sawicki e19c0e4f87 Remove semicolons 2013-05-29 11:52:14 -07:00
Kevin Sawicki 60881e2ecd Don't lint fixtures 2013-05-29 11:50:53 -07:00
Kevin Sawicki f8fb803e52 Update snippet for newly upgraded javascript bundle 2013-05-29 11:46:05 -07:00
Kevin Sawicki 19411d3d3d Update package id for fixture with broken snippets 2013-05-29 11:45:35 -07:00
Corey Johnson & Kevin Sawicki c1ebf8ae1a Allow Syntaxes and Preferences directories to be lowercase 2013-05-29 11:02:57 -07:00
Corey Johnson & Kevin Sawicki f8f059d3fe Use correct textmate package names 2013-05-29 11:01:59 -07:00
Corey Johnson & Kevin Sawicki 17a83933d4 Use two -f flags to clean all git dirs 2013-05-29 10:01:33 -07:00
Cheng Zhao 326c1332bf shell.moveToTrash => shell.moveItemToTrash 2013-05-29 20:04:00 +08:00
Cheng Zhao c6d4942295 Generate Info.plist for App and Helper. 2013-05-29 19:33:48 +08:00
Cheng Zhao 9a08ea10cc Copy icon files and speakeasy.pem to bundle. 2013-05-29 18:57:02 +08:00
Cheng Zhao aace41032e Rake clean should also clean unused files of master branch.
So when people switch from master branch to atom-shell, they wouldn't
have to clean those files themselves.
2013-05-29 12:21:26 +08:00
Cheng Zhao b1e8a45fbe Remove some dead code. 2013-05-29 12:20:56 +08:00
Cheng Zhao 0cc86b024d Unspy atom.setWindowState after each spec.
Spec window needs to call it to save window dimenses.
2013-05-29 12:20:55 +08:00
Cheng Zhao d4142db847 Restart renderer process instead of reloading.
Chromium has the bug that reloading would cause memory leaks, and V8's
GC would slow down everything, so restarting the renderer process when
the Atom is reloaded would make things much cleaner.
2013-05-29 12:20:55 +08:00
Kevin Sawicki 30b67af51a doc dev flag 2013-05-28 18:15:25 -07:00
Kevin Sawicki be595a62b7 Add version to usage message 2013-05-28 17:56:07 -07:00
Kevin Sawicki f64724eda0 doc wait flag 2013-05-28 17:54:54 -07:00
Kevin Sawicki fe532b9dd5 Add initial help message 2013-05-28 17:52:19 -07:00
Kevin Sawicki 40dd8275d2 Add initial Gruntfile 2013-05-28 17:30:09 -07:00
Corey Johnson & Kevin Sawicki 40b654048b Recompile atom-application and atom-window 2013-05-28 17:29:00 -07:00
Corey Johnson & Kevin Sawicki 53f98951ea Parse out wait and pid arguments 2013-05-28 16:31:23 -07:00
Corey Johnson & Kevin Sawicki 88a3a82a21 Resolve paths to open in constructor 2013-05-28 15:10:26 -07:00
Corey Johnson & Kevin Sawicki bb5e18d981 Exit with 0 when process exists 2013-05-28 14:53:17 -07:00
Corey Johnson & Kevin Sawicki 7bc905d352 Reuse existing windows when opening paths from command line 2013-05-28 14:45:54 -07:00
Kevin Sawicki ba60324426 Correct indentation 2013-05-28 13:29:45 -07:00
Kevin Sawicki a731e4a9b5 Remove semicolons 2013-05-28 13:26:34 -07:00
Kevin Sawicki ed4d12bfcb Remove non-existent directory 2013-05-28 13:07:29 -07:00
Kevin Sawicki 0c44769740 Use relative main path 2013-05-28 13:05:15 -07:00
Kevin Sawicki 8c774a204d Remove submodules task
This is handled in script/bootstrap
2013-05-28 12:57:46 -07:00
Kevin Sawicki 9919387904 Use shorter symlink paths 2013-05-28 12:54:08 -07:00
Kevin Sawicki 13d57f56f6 Focus existing window for path 2013-05-28 12:26:54 -07:00
Kevin Sawicki 56731927ee 💄 2013-05-28 12:03:47 -07:00
Kevin Sawicki b21db90456 💄 2013-05-28 12:02:11 -07:00
Kevin Sawicki 55e0f91bcc Resolve paths before writing to socket 2013-05-28 11:59:26 -07:00
probablycorey 0eaec66ba6 Remove all native code 2013-05-28 11:46:19 -07:00
Kevin Sawicki 7c4f373d2a Add back coffee-script require but don't assign it 2013-05-28 11:28:03 -07:00
Kevin Sawicki 60e08de077 Remove unused require 2013-05-28 11:17:25 -07:00
Kevin Sawicki a081c47efa Join github and atom dirs 2013-05-28 11:05:46 -07:00
Kevin Sawicki b015b8bd2b 💄 2013-05-28 11:00:13 -07:00
Kevin Sawicki 2bd95a2b57 Merge branch 'master' into atom-shell
Conflicts:
	.gitmodules
2013-05-28 10:47:46 -07:00
Kevin Sawicki ea7ff135ee 💄 2013-05-28 09:42:20 -07:00
Kevin Sawicki e84e13fe37 Load internal modules with an atom engines field as packages 2013-05-28 09:25:28 -07:00
Kevin Sawicki 617af68aeb Upgrade apm 2013-05-28 09:25:28 -07:00
Kevin Sawicki 6690598024 Use TextMate packages instead of vendoring bundles 2013-05-28 09:25:22 -07:00
Cheng Zhao 54de539b8b 'pathsToOpen' passed in 'open' message is an array. 2013-05-27 21:38:46 +08:00
Cheng Zhao 684778b666 Map 'meta-r' to 'window:reload' in renderer. 2013-05-25 15:37:22 +08:00
Cheng Zhao e89ee8ff3c 💄 2013-05-25 15:36:47 +08:00
Cheng Zhao 50ba01e22d If no 'executed-from' and 'pathsToOpen' is provided, open empty editor. 2013-05-25 14:56:17 +08:00
Cheng Zhao 462bd77ad5 Make atom.open work with parameters. 2013-05-25 14:38:04 +08:00
Cheng Zhao 0cdbfed7ab Push new window to atomApplication.windows in AtomWindow. 2013-05-25 12:04:53 +08:00
Cheng Zhao ddfae74ba4 Only allow one config window. 2013-05-25 11:58:18 +08:00
Cheng Zhao 45f96ab67f Fix atom.getVersion. 2013-05-25 11:50:23 +08:00
probablycorey 5170478f19 Rely on the atom cli created inside Atom 2013-05-24 14:54:32 -07:00
probablycorey 6b08d18f4b Move AtomWindow to it's own file 2013-05-24 14:46:25 -07:00
probablycorey 7aa6c1c08e Change how pathsToOpen gets passed around 2013-05-24 14:45:48 -07:00
probablycorey 623a58fb47 Use the local pathsToOpen 2013-05-24 14:43:58 -07:00
probablycorey b6c543734a Moved AtomApplication out of main.coffee 2013-05-24 11:53:49 -07:00
probablycorey 6ae858d35c 🙈 2013-05-24 11:53:49 -07:00
Cheng Zhao 47410c54e5 Remove 'modal dialogs' spec.
The main purpose of this spec is to test whether the simulation of modal
dialogs works, since the dialogs of atom-shell are real blocking modal
dialogs, there is no need to check whether the dialogs are presented as
modal dialogs correctly any more.
2013-05-25 00:20:54 +08:00
Cheng Zhao e430002951 atom.getVersion returns plain string, not string object. 2013-05-25 00:19:50 +08:00
Cheng Zhao 0fa5ca3782 Generate version after all files are copied.
And also note that <(PRODUCT_DIR) cannot work in postbuilds.
2013-05-24 23:58:01 +08:00
Cheng Zhao 6bbea1bbf2 Clean atom-shell caches in 'rake clean'. 2013-05-24 23:35:31 +08:00
Cheng Zhao a00fe91fca Show Atom's version. 2013-05-24 23:24:46 +08:00
Cheng Zhao 22d77af409 Also restore dimensions for spec window. 2013-05-24 22:09:44 +08:00
Cheng Zhao e2a18e3487 Hide window when window is going to close, not when unloading.
Otherwise reloading window would also hide and then show window, which
makes things weird.
2013-05-24 21:58:14 +08:00
Cheng Zhao 7bb6a7c1e8 Restore window dimensions after atom.windowMode is set.
It's required to set atom.windowMode before getting window state.
2013-05-24 21:52:03 +08:00
Cheng Zhao 2937404227 Make cibuild work. 2013-05-24 21:29:35 +08:00
Cheng Zhao a3b7df7b25 Fix window spec.
The windowStatePath now requires atom.windowMode, without setting it the
deserializeEditorWindow would create the wrong window.project.
2013-05-24 21:10:40 +08:00
Cheng Zhao 6edcb553e8 If no pathsToOpen is specified and executedFrom is provided, then open executedFrom.
This is the expected behavior of 'atom' cli command.
2013-05-24 20:41:52 +08:00
Cheng Zhao ce1c1e1f88 Hide window before doing unload work.
In this way we can give user the feeling of quick close even though the
unloading could take some time.
2013-05-24 20:12:42 +08:00
Cheng Zhao fa0a35741a Make configuration window work. 2013-05-24 19:45:20 +08:00
Cheng Zhao cf4c2b5768 Return separate windowStatePath for config window. 2013-05-24 19:33:25 +08:00
Cheng Zhao 0dd823aa38 Merge branch 'master' into atom-shell 2013-05-24 19:12:47 +08:00
Cheng Zhao b9b8101676 Window without pathToOpen should also has meaningful windowStatePath. 2013-05-24 19:02:53 +08:00
Cheng Zhao d1917fb986 Calling AtomApplication.open() without parameters should work. 2013-05-24 18:40:33 +08:00
Cheng Zhao e1442efef3 Make sure web view in spec window never loses focus. 2013-05-24 18:21:48 +08:00
Cheng Zhao 20b53313af dimensions could be undefined. 2013-05-24 16:34:26 +08:00
probablycorey 15baa08ca2 Only allow one atom process to run at a time
If another atom process is opened, it will send its pathsToOpen to the
existing atom process via a socket
2013-05-23 16:34:49 -07:00
Kevin Sawicki 7daeb6c633 Allow json grammars in TextMate bundles 2013-05-23 12:11:17 -07:00
Kevin Sawicki a267b67337 Remove unused require 2013-05-23 11:58:34 -07:00
probablycorey 70ac47b8a8 🙈 2013-05-23 11:18:31 -07:00
probablycorey 61d9f957ea Change indexOf string matching calls to use regex 2013-05-23 10:31:07 -07:00
probablycorey c0149100bb 💄 2013-05-23 10:26:31 -07:00
Cheng Zhao 1b896d8b30 Fix link package spec. 2013-05-23 15:04:47 +08:00
Cheng Zhao 20c0b76329 Add prefix for loading packages in spec/fixtures. 2013-05-23 14:50:56 +08:00
Cheng Zhao f715a6fca2 Fix opening links in external browsers. 2013-05-23 14:50:21 +08:00
Cheng Zhao 8849eb1186 Remove a few abandonded atom.* functions relying on sendMessageToBrowserProcess. 2013-05-23 14:13:39 +08:00
Cheng Zhao 95d5bff6ba Make atom work when there is no enough command line parameters. 2013-05-23 10:53:35 +08:00
Cheng Zhao 1d9449838f Make detect order of resourcePath more robust.
1. Use the resource-path of process.argv if specified;
2. Otherwise if --dev is specified then use ~/github/atom;
3. If no valid resourcePath is provide use the ones in bundle.
2013-05-23 10:36:27 +08:00
probablycorey b5bd7160d2 Update window spec 2013-05-22 16:44:09 -07:00
probablycorey ce4cb0db80 Test window.closeWithoutConfirm instead of window.close 2013-05-22 16:28:13 -07:00
Kevin Sawicki 603868a8c9 Mention installing packages 2013-05-22 16:02:48 -07:00
probablycorey 7716441bbd Update clipboard calls in edit session spec 2013-05-22 16:01:57 -07:00
Kevin Sawicki b5c805f0e9 Listen for package events and update view on state changes 2013-05-22 15:44:44 -07:00
Kevin Sawicki 6f54250ee5 Include error in trigger arguments 2013-05-22 15:41:03 -07:00
probablycorey 2746d72731 Ignoring 'modal native dialogs' spec
/cc @zcbenz since we don't use sendMessageToBrowserProcess anymore
these specs aren't mocked correctly. Is there a method that we can
mock when calling remote objects?
2013-05-22 15:34:48 -07:00
probablycorey 7f083acdc4 Update atom specs 2013-05-22 15:31:59 -07:00
Kevin Sawicki 681bc18248 Add spec for installing a package 2013-05-22 15:29:38 -07:00
Kevin Sawicki 23ce97a358 Add spec for uninstalling a package 2013-05-22 15:29:38 -07:00
Kevin Sawicki 26bfd95289 Expect relative main path 2013-05-22 15:29:38 -07:00
Kevin Sawicki 51cd8cc977 Add string case to unsubscribeFromActivationEvents() 2013-05-22 15:29:38 -07:00
Kevin Sawicki 571c953e51 Mark emitter class as internal 2013-05-22 15:29:38 -07:00
Kevin Sawicki d65b3608ba Add keybinding to description 2013-05-22 15:29:38 -07:00
Kevin Sawicki 14db63df3c Support single string activationEvents 2013-05-22 15:29:38 -07:00
Kevin Sawicki ed95c0d555 Add a description for each package 2013-05-22 15:29:38 -07:00
Kevin Sawicki 8deaeed6b7 Use a relative require path 2013-05-22 15:29:38 -07:00
Kevin Sawicki 05df25b8f4 Update spec for new DOM layout 2013-05-22 15:29:38 -07:00
Kevin Sawicki 9a5fc6ebe8 Add retry button for when fetching fails 2013-05-22 15:29:38 -07:00
Kevin Sawicki d671345ab3 Update views when packages are installed/uninstalled 2013-05-22 15:29:37 -07:00
Kevin Sawicki 9ecfe91729 💄 2013-05-22 15:29:37 -07:00
Kevin Sawicki fa571717d4 Only unload package if it is loaded 2013-05-22 15:29:37 -07:00
Kevin Sawicki 262a7d549e Add asserts for version text 2013-05-22 15:29:37 -07:00
Kevin Sawicki 860dd76d0d Wait for packages loaded event before starting specs 2013-05-22 15:29:37 -07:00
Kevin Sawicki 484c16da42 Always trigger loaded event 2013-05-22 15:29:37 -07:00
Kevin Sawicki 9552ebf4c2 Add warning label instead of warning panel when disabled 2013-05-22 15:29:37 -07:00
Kevin Sawicki 732c846cfc Show label when update is available 2013-05-22 15:29:37 -07:00
Kevin Sawicki a518af71ea Unload package before upgrade 2013-05-22 15:29:37 -07:00
Kevin Sawicki ca8a99bcfb Support a string repository field 2013-05-22 15:29:37 -07:00
Kevin Sawicki d1a5add3ea Remove unused requires 2013-05-22 15:29:37 -07:00
Kevin Sawicki 055e4d96e8 Render markdown in installed package views 2013-05-22 15:29:37 -07:00
Kevin Sawicki ce20bba792 Show loading message in available tab 2013-05-22 15:29:37 -07:00
Kevin Sawicki 80a55bb69a Use correct path variable name 2013-05-22 15:29:37 -07:00
Kevin Sawicki 32bdffa7eb Add description 2013-05-22 15:29:36 -07:00
Kevin Sawicki 07e8ee35d9 Add Atom.getAvailablePackageMetadata()
This includes the metadata for all available packages
whether or not they are currently loaded.
2013-05-22 15:29:36 -07:00
Kevin Sawicki 25b8da0a76 Don't show uninstall action for bundled packages 2013-05-22 15:29:36 -07:00
Kevin Sawicki 63bfca3d09 Allow metadata to be loaded independently 2013-05-22 15:29:36 -07:00
Kevin Sawicki 37b1d4e77d Force metadata name to be package name 2013-05-22 15:29:36 -07:00
Kevin Sawicki d4e5050fc2 Load packages by name instead of path 2013-05-22 15:29:36 -07:00
Kevin Sawicki 0cd27eac50 Use CSON.resolve() to find metadata path 2013-05-22 15:29:36 -07:00
Kevin Sawicki 7fa67d4a21 Sort installed packages by name 2013-05-22 15:29:36 -07:00
Kevin Sawicki 493f02951f Always include a name value in the metadata 2013-05-22 15:29:36 -07:00
Kevin Sawicki 82597aa636 Use same view for installed and available packages 2013-05-22 15:29:36 -07:00
Kevin Sawicki 76384747a1 Add isActive() helper to Package 2013-05-22 15:29:36 -07:00
Kevin Sawicki e85e30c1f7 Simplify version label 2013-05-22 15:29:36 -07:00
Kevin Sawicki 25eb893837 💄 2013-05-22 15:29:36 -07:00
Kevin Sawicki b6b48513de Remove logging of selector length 2013-05-22 15:29:36 -07:00
Kevin Sawicki e9a22192f7 Only show installed version when different 2013-05-22 15:29:35 -07:00
Kevin Sawicki 1fe576752b Unload package when uninstalled 2013-05-22 15:29:35 -07:00
Kevin Sawicki 4277271992 Don't hide dropdown when clicked 2013-05-22 15:29:35 -07:00
Kevin Sawicki 6622e7369d Decrease coverage to 75% 2013-05-22 15:29:35 -07:00
Kevin Sawicki d2bd937f36 Store packages in hash instead of array
This allows quick lookup by name without having to
memoize the resolved path.
2013-05-22 15:29:35 -07:00
Kevin Sawicki ff1f9b98d2 Use path.basename() instead of fsUtils.base() 2013-05-22 15:29:35 -07:00
Kevin Sawicki 0c85b40789 Add initial support for installing and uninstalling 2013-05-22 15:29:35 -07:00
Kevin Sawicki b4104c0136 Use third package view instead of first 2013-05-22 15:29:35 -07:00
Kevin Sawicki fb712cf9c1 Add asserts for homepage and issue links 2013-05-22 15:29:35 -07:00
Kevin Sawicki 061b285aeb Use simpler internal tag 2013-05-22 15:29:35 -07:00
Kevin Sawicki 9841df732f Remove unused method 2013-05-22 15:29:35 -07:00
Kevin Sawicki 9f94d1b6b4 Add initial spec for available packages 2013-05-22 15:29:35 -07:00
Kevin Sawicki 5b2b699618 💄 2013-05-22 15:29:35 -07:00
Kevin Sawicki 7c04662d7d Remove logging statement 2013-05-22 15:29:34 -07:00
Kevin Sawicki 4746ac82c3 Show counts in nav area badge 2013-05-22 15:29:34 -07:00
Kevin Sawicki a223439eb8 Combine package configs into single panel 2013-05-22 15:29:34 -07:00
Kevin Sawicki 6e50b5c005 Mark class as internal 2013-05-22 15:29:34 -07:00
Kevin Sawicki 213524e893 Show upgrade as default action when newer version exists 2013-05-22 15:29:34 -07:00
Kevin Sawicki be020fad39 💄 2013-05-22 15:29:34 -07:00
Kevin Sawicki 2308533235 Add issue link to dropdown 2013-05-22 15:29:34 -07:00
Kevin Sawicki 009b50557c Add homepage link to dropdown 2013-05-22 15:29:34 -07:00
Kevin Sawicki 8668dd67ac Add README to package section 2013-05-22 15:29:34 -07:00
Kevin Sawicki e7df1f1f3d Use a dropdown button for package actions 2013-05-22 15:29:34 -07:00
Kevin Sawicki 6b81eebb02 Add initial available packages view 2013-05-22 15:29:34 -07:00
Kevin Sawicki c4cfc0cff6 Move btn override to command panel stylesheet 2013-05-22 15:29:34 -07:00
Kevin Sawicki d3cbd937fb Clip buffer position in screenPositionForBufferPosition()
Closes #562
2013-05-22 15:25:27 -07:00
probablycorey 102068f9e5 Remove calls to $native
And now some specs pass!
2013-05-22 11:57:31 -07:00
probablycorey 0901e1a34c Allow spec window to store window state
It just stores window dimensions for now.
2013-05-22 11:56:33 -07:00
probablycorey 6abe6e7539 💄 2013-05-22 11:39:16 -07:00
probablycorey f6cb33b2ea Replace resource-path flag with dev flag (assume atom is located at
~/github/atom)
2013-05-22 11:06:50 -07:00
Garen Torikian 1dc49cfc70 Merge pull request #561 from github/update-nak
Bump nak, for better gitignoring
2013-05-22 10:11:22 -07:00
Garen Torikian f49ec5fac8 Explicitly require nak's bin executable 2013-05-22 10:05:50 -07:00
Garen Torikian ab466b60c8 command in project.scan needs to resolve to the bin, not the lib file
This is because nak was changed to also be run as a regular Node script, not just an executable
2013-05-22 09:29:37 -07:00
Garen Torikian d2e5c55bbf Bump nak, for better gitignoring 2013-05-22 09:29:34 -07:00
Cheng Zhao 127e38a0b5 Don't send commands to renderer for reload and toggleDevTools menu item.
The specs window doesn't respond to window commands, so it would make
the menu items do not work.
2013-05-22 22:35:19 +08:00
Cheng Zhao b68978ecb3 💄 2013-05-22 22:30:04 +08:00
Cheng Zhao a381e36779 The resourcePath should also be added to 'NODE_PATH'.
The core specs rely on this to find and run specs.
2013-05-22 22:27:18 +08:00
Cheng Zhao a5a6af7ef6 Don't prevent close for specs window. 2013-05-22 21:39:31 +08:00
Cheng Zhao 31ffe5e060 💄 2013-05-22 20:57:23 +08:00
Cheng Zhao 61f8878e05 Merge branch 'master' into atom-shell
Conflicts:
	package.json
	script/bootstrap
	spec/app/window-spec.coffee
	src/app/window.coffee
2013-05-22 20:52:42 +08:00
Cheng Zhao 9b44b15f3b Use Command+Ctrl+Alt+S for running specs. 2013-05-22 20:01:25 +08:00
Kevin Sawicki 530965ac7e Mention .git in search results 2013-05-21 21:20:39 -07:00
Kevin Sawicki 42e1595bd7 💄 2013-05-21 18:49:27 -07:00
Kevin Sawicki e7c08d1202 Exclude core.ignoredNames when scanning project 2013-05-21 18:46:03 -07:00
Kevin Sawicki 61b5160d81 Move apm to github org. 2013-05-21 18:24:55 -07:00
probablycorey b58fcc5395 Specs run (but fail hardcore) 2013-05-21 17:04:00 -07:00
probablycorey d4b146d080 Serialize window dimensions 2013-05-21 14:33:45 -07:00
probablycorey f65fbdf7ae Don't show window until it is finished loading 2013-05-21 14:32:12 -07:00
probablycorey 8008985120 🙊 2013-05-21 14:27:58 -07:00
probablycorey f23cb1aa79 Window state works now
The state is now stored in ~/.atom/.storage/SHA-OF-PATH. It is written
to every time it is set.
2013-05-21 14:12:15 -07:00
Garen Torikian 0caf6b5a2e Merge pull request #559 from github/remove-blank-options
Remove blank options in renderMarkdown
2013-05-21 11:36:19 -07:00
Garen Torikian d401f7cd19 Bump roaster 2013-05-21 11:30:24 -07:00
Garen Torikian 21bf03320e Remove blank options argument from renderMarkdown 2013-05-21 10:52:50 -07:00
Garen Torikian ecc65ff233 Bump roaster 2013-05-21 10:52:36 -07:00
probablycorey 26094a5405 Use executedFrom command line option to resolve paths 2013-05-20 16:02:06 -07:00
probablycorey 40d49373d3 Rename createAtomWindow to open 2013-05-20 14:47:36 -07:00
probablycorey 501acbc9c8 Files and folders can be opened from the command line 2013-05-20 14:46:57 -07:00
probablycorey cf6b2f8efd Slice application name off the argument list 2013-05-20 14:46:57 -07:00
Cheng Zhao 4faf48233b 💄 2013-05-20 22:36:49 +08:00
Cheng Zhao bf6e0752f8 Remove atom.presentModal and its helper methods.
Since all the dialogs are modal and blocking now, there is no need to
keep the atom.presentModal which is used to emulate the blocking
behavior.
2013-05-20 22:25:57 +08:00
Cheng Zhao 6e012ed24f Adopt to new open/save dialog API. 2013-05-20 22:23:27 +08:00
Cheng Zhao 1254561724 There is no need to call node-gyp externally any more.
From npm v1.2.19, the npm_config_disturl is supported to set dist-url
for node-gyp, so we don't need to interactive with node-gyp ourselves
any more.
2013-05-20 15:27:12 +08:00
Cheng Zhao 60fcb97a3e Send window commands instead of invoking window APIs directly.
For some events generated on the browser side, like reloading, closing
window, we should not handle those events directly, instead we should
send the corresponding commands to the renderer and let the renderer
deal with it.

The window.reload() is also moved to atom.reload(), because I saw things
like toggleFullScreen(), focus(), toggleDevTools() are also there.
2013-05-20 14:19:12 +08:00
Cheng Zhao 5459f1e9db Store AtomWindow instead of BrowserWindow in atomApplication.windows. 2013-05-20 12:07:04 +08:00
Cheng Zhao 0ad96ca7da Make a few window related atom.* functions work. 2013-05-20 11:55:27 +08:00
Cheng Zhao 8be54136ed Use "shell.openExternal(url)" to open links in external browsers. 2013-05-20 10:12:40 +08:00
Cheng Zhao 7cb6801ce8 Use atom-shell's "shell.moveToTrash()" to replace "$native.moveToTrash()" 2013-05-20 09:57:29 +08:00
Cheng Zhao 177ac5687f Use atom-shell's "shell.beep()" to replace "$native.beep()" 2013-05-20 09:49:34 +08:00
Cheng Zhao 1301eb0fa4 Use atom-shell's API for pasteboard operations. 2013-05-20 09:43:19 +08:00
Cheng Zhao 62caaf01d7 💄 2013-05-18 15:06:35 +08:00
Cheng Zhao 160c9b9d8e Add Edit menu. 2013-05-18 12:28:17 +08:00
Cheng Zhao c8891c1008 Adopt to API change of dialog.showMessageBox. 2013-05-18 12:21:25 +08:00
probablycorey 153668db56 Opening a folder works! 2013-05-17 15:51:11 -07:00
Kevin Sawicki 276c6c1725 Add --silent flag to apm/npm commands 2013-05-17 15:37:26 -07:00
Kevin Sawicki 5859ae6ba7 Upgrade apm 2013-05-17 15:37:21 -07:00
probablycorey 1594231b4f Refactor AtomWindow code 2013-05-17 14:21:43 -07:00
probablycorey f9acde8c55 AtomApplication takes resourcePath as a parameter 2013-05-17 14:14:27 -07:00
probablycorey 6bdfe65bf2 💄 2013-05-17 14:10:03 -07:00
probablycorey 5fd6c1c5ab Move windows var to AtomApplication 2013-05-17 14:09:54 -07:00
probablycorey bab80e0089 AtomApplication creates the initial AtomWindow 2013-05-17 13:59:03 -07:00
probablycorey be2cfb3252 Rename BrowserMain to AtomApplication 2013-05-17 13:54:08 -07:00
probablycorey 49bc53c6d2 Moving bootstrap methods out of BrowserWindow
The file is going pretty hairy, so I'm going to split the classes
into new files
2013-05-17 11:47:58 -07:00
probablycorey 067bbb966d 💄
This is a totally subjective style change. I just prefer keeping code
that is rarely changed tight and dense. Another option would be to 
move the menu templates into a separate file.
2013-05-17 10:51:12 -07:00
Kevin Sawicki 75508fe9e8 Allow more than 3 back ticks for fenced code blocks 2013-05-17 10:00:14 -07:00
Kevin Sawicki 49afce5f68 Register javascript fence names 2013-05-17 08:51:25 -07:00
Cheng Zhao 6260d350ac Should always show devtools instead of toggling when getting error. 2013-05-17 23:07:34 +08:00
Cheng Zhao 26c89f71b2 Use BrowserWindow's 'close' event instead of 'beforeunload' to control closing.
Ideally both window closing and reloading should use 'beforeunload' to
control whether the unloading should continue, however since the save as
dialog is asynchronous, we have to prevent unloading first and then
continue after user's confirmation. And since we can not distinguish
whether the window is reloading or closing in the 'beforeunload'
handler, we do not know what to continue after user's confirmation. So I
have to rely on BrowserWindow's 'close' event to let user decide whether
window should be closed.
2013-05-17 22:30:14 +08:00
Cheng Zhao 2d14f6e768 Replace default menu with custom built menu. 2013-05-17 22:14:09 +08:00
Cheng Zhao b27cd33116 Implement atom.confirm with atom-shell's dialog API.
Note that the dialog.showMessageBox is blocking, so we don't need to use
the '@presentModal'.
2013-05-17 20:39:37 +08:00
Cheng Zhao f0448ba231 Trigger 'window:close' command in the 'beforeunload' event handler.
When user wants to close the window, the 'beforeunload' event would be
called, then the closing would be cancelled and the 'window:close'
command would be triggered. In the 'window:close' handler, a confirm
dialog could be showed if there are unsaved contents, and if the window
is really meant to be closed, the window would be tried to be closed
again and this time 'beforeunload' handler wont't prevent it.
2013-05-17 20:17:06 +08:00
Cheng Zhao acf5e21f50 Do unload work in 'unload' event handler instead of 'beforeunload'.
In Atom, the 'beforeunload' event never prevents window from closing so
it in fact has the same effect with 'unload' event, I guess using
'beforeunload' instead of 'unload' is because the 'beforeunload' is
guarrenteed to happen when window is closing or application is quiting.
However in Atom Shell the 'unload' event is guarrenteed to happen on
both conditions, just like the 'beforeunload' in Atom, so it's safe to
replace the 'beforeunload' with 'unload' here.

And in Atom Shell, the 'beforeunload' event is mainly used for
preventing window from closing, just like the 'window:close' command in
Atom.
2013-05-17 20:17:03 +08:00
Cheng Zhao d1ca0a8f8f Use toggleDevTools instead of showDevTools. Fixes atom/atom-shell#8.
Currently the toggleDevTools of atom-shell is simulated by keeping state
of devtools, because there is no way to know the state of devtools in
brightray, so it could not behave correctly sometimes.

This problem will be solved when brightray is patched and atom-shel gets
updated.
2013-05-17 19:02:03 +08:00
Cheng Zhao e7b35d27e7 Revert ae7dce4575.
Now require('package') won't wrong resolve to the package.json, so
reverting previous workaround.
2013-05-17 18:48:02 +08:00
Cheng Zhao 02e3f4cd9c Enable harmony collections, also revert previous WeakMap hack.
Fixed atom/atom-shell#7.
2013-05-17 16:21:01 +08:00
probablycorey 8487536280 Store parsed command line args in BrowserMain 2013-05-16 17:33:12 -07:00
Kevin Sawicki 84753e55a7 Add enable/disable helpers to jquery extensions 2013-05-16 17:29:48 -07:00
probablycorey 0c96b30053 Move setupNodePaths method to BrowserMain 2013-05-16 17:28:54 -07:00
probablycorey 27bd476b12 Moving logic into BrowserMain class 2013-05-16 17:25:39 -07:00
Kevin Sawicki ed69dc12ab Serialize logged in username with view 2013-05-16 17:16:44 -07:00
Kevin Sawicki e05b443a69 Tweak service name and warning text 2013-05-16 16:46:25 -07:00
Kevin Sawicki a4455d2c5f Use released version of space-pen 2013-05-16 16:42:12 -07:00
probablycorey 8f17889f7f Open dialog creates new atom window 2013-05-16 16:38:47 -07:00
Kevin Sawicki a965cb684c Add some commas to the paths loaded badge 2013-05-16 16:22:53 -07:00
probablycorey f713429674 Remove unused params 2013-05-16 16:21:29 -07:00
Kevin Sawicki 392ffce8c7 Remove unused requires 2013-05-16 15:54:10 -07:00
Kevin Sawicki d7a238b5ec Guard against possibly null event handler 2013-05-16 15:49:53 -07:00
probablycorey 92ec78cd8a Show dev tools when toggleDevTools is triggered
Eventually want make toggle work as expected. Related to https://github.com/atom/atom-shell/issues/8
2013-05-16 15:14:50 -07:00
probablycorey 889ccdb58d Throw error when sendMessageToBrowserProcess is called 2013-05-16 15:13:31 -07:00
Kevin Sawicki & Nathan Sobo a29015551c Extract link click callback to method 2013-05-16 15:04:30 -07:00
Kevin Sawicki & Nathan Sobo 83e6a4a57e Rely on core:focus-next/previous in sign in view 2013-05-16 15:01:23 -07:00
Kevin Sawicki & Nathan Sobo 001183245e Add core:focus-next/focus-previous
Focus now cycles between elements with a positive tabindex on
tab and shift-tab.
2013-05-16 15:00:55 -07:00
probablycorey 09ab319328 Atom.show no longer used
The window is shown automatically when it is created.
2013-05-16 14:19:53 -07:00
Kevin Sawicki & Nathan Sobo 76e7161608 Extract window event handling into separate class 2013-05-16 14:18:57 -07:00
probablycorey bc854afead Make messageIdCounter an instance var of window.atom 2013-05-16 13:48:16 -07:00
probablycorey 1e0b734734 Add hacked interface for WeakMap
We need to add the `--harmony_collections` flag to atom-shell.
Related to issue https://github.com/atom/atom-shell/issues/7
2013-05-16 13:46:17 -07:00
Kevin Sawicki & Nathan Sobo 848ce7936f DRY up subscribe and subscribeToCommand
subscribeToCommand now supports unsubscribing by object.
2013-05-16 13:43:18 -07:00
Kevin Sawicki & Nathan Sobo d76d0a030f Forward all subscribe arguments from Subscriber to EventEmitter 2013-05-16 13:36:51 -07:00
Kevin Sawicki e2af4c964d Bind multiple events to single callback 2013-05-16 12:17:41 -07:00
Kevin Sawicki 4527d8bd51 Remove unneeded catch and default response to empty hash 2013-05-16 12:17:41 -07:00
Kevin Sawicki a17a282b03 Warn instead of log 2013-05-16 12:17:41 -07:00
Kevin Sawicki 2c050522cd Enable fields when attaching 2013-05-16 12:17:41 -07:00
Kevin Sawicki c98e7cab4b Upgrade to keytar 0.4 2013-05-16 12:17:41 -07:00
Kevin Sawicki 4b49562949 Add token to request when available 2013-05-16 12:17:40 -07:00
Kevin Sawicki efb388ded4 Add initial sign in screen
Signing in generates an OAuth2 token and saves
it to the keychain.
2013-05-16 12:17:40 -07:00
Kevin Sawicki 08e9f19644 Add repository field 2013-05-16 12:16:48 -07:00
Kevin Sawicki 3b35a4b63b Link atom.sh instead of copying 2013-05-16 12:16:33 -07:00
Garen Torikian b3b7f1ea97 Change to an H2
Otherwise the TOC renders wrong
2013-05-16 12:48:20 -06:00
Kevin Sawicki 075018d03d Mention disabled packages fix 2013-05-16 11:45:38 -07:00
probablycorey ae7dce4575 Rename package.coffee to base-package.coffee
Related to https://github.com/atom/atom-shell/issues/6
2013-05-16 10:57:41 -07:00
Kevin Sawicki & Nathan Sobo 3b0748fe44 Add config.pushAtKeyPath/removeAtKeyPath 2013-05-16 10:51:23 -07:00
Kevin Sawicki & Nathan Sobo 2b49a04227 Return a cloned object from config.get()
This prevents mutations to the values of the default settings.
2013-05-16 10:29:08 -07:00
Kevin Sawicki & Nathan Sobo 097ee9f2a9 Remove unneeeded calls to config.update() 2013-05-16 10:14:21 -07:00
probablycorey ee12977a9f Use ipc to store and retrieve windowState
I'll want to change the interface in the future. For now I am trying
to keep the code as simple and small as possible.
2013-05-16 09:57:07 -07:00
Kevin Sawicki e2821cbea8 Use map instead of iterating 2013-05-16 09:42:09 -07:00
Kevin Sawicki e9f9c6e777 Mention fuzzy finder 2013-05-16 08:51:04 -07:00
Kevin Sawicki 95d4391680 Run fuzzy filter on project relative paths
This prevents the score being influenced by the
segments contained in the project path.

Closes #553
2013-05-16 08:49:43 -07:00
probablycorey f65a2826f2 Make atom a global object 2013-05-15 15:32:51 -07:00
probablycorey 94a8c44d39 Remove AtomWindow params that are not in use yet
I pulled these out to keep the code simpler until we something running
2013-05-15 15:18:43 -07:00
probablycorey 16f8402d36 The resource path can be set with a command arg 2013-05-15 15:03:59 -07:00
Garen Torikian 04d4085759 Update manifest to include new "Your First Package!" information 2013-05-15 14:41:13 -06:00
Garen Torikian a75896c85b Merge pull request #544 from github/api/extension-docs
Level up the "creating packages" documentation
2013-05-15 13:37:36 -07:00
probablycorey d397bd5c4f Add optimist npm (an option parser) 2013-05-15 11:22:40 -07:00
Kevin Sawicki 61675c2e77 Install apm command when Atom starts
This changes the command installation to use symlinks instead
of copying over the contents of the file.
2013-05-15 10:29:27 -07:00
Kevin Sawicki 718175eb34 Make atom.sh executable 2013-05-15 10:29:27 -07:00
Cheng Zhao 8a3ee0515c 'window' module is renamed to 'browser_window'. 2013-05-15 22:27:28 +08:00
Nathan Sobo aefb84cdeb Don't modify uri's with a scheme prefix in Project.resolve 2013-05-14 20:55:14 -06:00
Nathan Sobo 5aac826ec1 Register a custom opener for ImageEditSessions on the Project class 2013-05-14 20:32:16 -06:00
Nathan Sobo aa86362a0a Add Project@registerOpener(fn) to register custom openers on project
Now packages can register custom handlers for different kinds of file
paths. If the function you register returns a resource for the given
path, it will be returned from Project.open instead of an EditSession.
2013-05-14 20:23:25 -06:00
Nathan Sobo 6104927cb6 Rename Project.buildEditSession -> Project.open 2013-05-14 20:03:53 -06:00
Kevin Sawicki 74c889062b Upgrade apm 2013-05-14 13:14:55 -07:00
Kevin Sawicki 7b2539c4f4 Correct typo in console warning message 2013-05-14 12:30:48 -07:00
Kevin Sawicki 851febd495 Use apm to install modules 2013-05-14 12:30:35 -07:00
Kevin Sawicki a12abd7377 💄 2013-05-14 12:01:21 -07:00
Kevin Sawicki 2f54cb4c22 Use season module internally 2013-05-14 11:58:34 -07:00
Kevin Sawicki 81f7354fb5 Use season for compiling cson to json 2013-05-14 11:08:32 -07:00
Kevin Sawicki f8c20e1659 Use correct dev mode check when opening config window
Closes #545
2013-05-14 10:12:25 -07:00
Kevin Sawicki 56394f6d8d Don't wrap the path text in the status bar
Also set a min width so the branch icon doesn't overlap
the path text when the window isn't wide enough to display
both.
2013-05-14 09:59:16 -07:00
Nathan Sobo e0e6d96c84 Fix #550. Use min-width: 0 after flexbox orientation switch.
By default, flexbox items have a min size of -webkit-min-content in the
the flex axis. I previously switched the pane item-views to flex
horizontally for performance reasons (preventing over-aggressive
repaints), but forgot to change min-height to min-width.
2013-05-14 10:10:25 -06:00
Kevin Sawicki f41b558fe5 Exclude symlinked folders from fuzzy finder
This can put the fuzzy finder in an infinite loop if a cycle
occurs.
2013-05-13 17:35:51 -07:00
Kevin Sawicki 5507febe09 Upgrade to git-utils 0.17
This release handles relativizing paths to a symlinked repository.

Close #549
2013-05-13 17:35:51 -07:00
Kevin Sawicki b8ee3187ec doc: task instead of web worker 2013-05-13 17:35:51 -07:00
probablycorey f74842cd4c Use new ruby scopes in TextMateGrammar spec 2013-05-13 16:51:30 -07:00
probablycorey 2e61201f86 Update ruby TextMate bundle
Closes #541
2013-05-13 16:51:30 -07:00
Kevin Sawicki 4108d572b8 Use real path to determine if repository root 2013-05-13 15:52:49 -07:00
probablycorey 423b133e75 Comments can't increase the indent level of the next line 2013-05-13 14:28:16 -07:00
probablycorey eb25d2e6a8 TokenizedBuffer.tokenForPosition(position) now works correctly
It was previously returning the wrong token at token boundaries.
2013-05-13 14:28:16 -07:00
probablycorey eae06b62bc Spec 💄 2013-05-13 14:28:16 -07:00
probablycorey 49aeef99b6 Add config option editor.normalizeIndentOnPaste 2013-05-13 14:28:16 -07:00
probablycorey 8e37d2ada6 Turn auto-indent on for all 'newline' specs 2013-05-13 14:28:16 -07:00
probablycorey 7513fe9c69 Set editor.autoIndent to true in specs 2013-05-13 14:28:16 -07:00
probablycorey 34d3091fc9 Remove console.log 2013-05-13 14:28:16 -07:00
probablycorey 992f520698 Normalize pasted text when there is an indent basis 2013-05-13 14:28:16 -07:00
probablycorey b23e1d3d52 In specs, use local copyText function to put text on the pasteboard 2013-05-13 14:28:16 -07:00
probablycorey dd53539799 Moving auto-indent specs to appropriate places 2013-05-13 14:28:15 -07:00
probablycorey 93b1ce53c0 Rename autoDecreaseIndentForRow to autoDecreaseIndentForBufferRow 2013-05-13 14:28:15 -07:00
probablycorey e70d6d1f8f Remove unused method autoIncreaseIndentForBufferRow 2013-05-13 14:28:15 -07:00
probablycorey c34db290e4 Only indent the line following a '\n' not the line preceding it 2013-05-13 14:28:15 -07:00
probablycorey 9d2b7875b9 💄 2013-05-13 14:28:15 -07:00
probablycorey 1f025817f1 Rename autoIndentNewlines to autoIndentNewline 2013-05-13 14:28:15 -07:00
probablycorey 38d4e3a097 Move all auto-indent specs to the auto-indent describe block 2013-05-13 14:28:15 -07:00
probablycorey c03d44da00 Add autoIndentNewline and autoDecreaseIndent options to insertText
insertText now takes these options:
* autoIndent will auto indent all inserted text based
* autoIndentNewline will indent a line when a '\n' is inserted
* autoDecreaseIndent will decrease the indent if the line matches a 
decreaseIndent pattern (such as a `}` in javavascript)
2013-05-13 14:28:15 -07:00
probablycorey 537c507efe Use suggested indent when auto indenting a buffer row 2013-05-13 14:28:15 -07:00
probablycorey 0fbd08f1ab Allow suggested indent level to be less than the current indent level 2013-05-13 14:28:15 -07:00
probablycorey 0f469a3269 Add Range.getRows 2013-05-13 14:28:15 -07:00
probablycorey 9713bc8c02 💄 2013-05-13 14:28:15 -07:00
probablycorey 7f0b2c54f3 editor.autoIndentOnPaste will auto indent every pasted line
I've removed normalizeLines and its tests. They will be added back in
a later commit.
2013-05-13 14:28:14 -07:00
probablycorey e9fd61a1ea Remove unused indent methods from Selection 2013-05-13 14:28:14 -07:00
probablycorey 33c95d1a58 Rename insideExistingLine to isCursorInsideExistingLine 2013-05-13 14:28:14 -07:00
probablycorey c5aa670569 Document methods as internal 2013-05-13 14:28:14 -07:00
probablycorey 533b11f991 💄 2013-05-13 14:28:14 -07:00
Kevin Sawicki ebb68c3386 Mention new icon 2013-05-13 09:33:17 -07:00
Cheng Zhao e9a4d9cafe 💄 2013-05-13 20:08:43 +08:00
Cheng Zhao bb114932ea Correctly set NODE_PATH before opening window. 2013-05-13 19:57:07 +08:00
Cheng Zhao 3b87c5d84b Set bootstrapScript and resourcePath params in URL. 2013-05-13 18:32:15 +08:00
Cheng Zhao 30b635527c Show the static/index.html on startup. 2013-05-13 16:47:16 +08:00
Cheng Zhao 77963aaf88 Keep symbol links when copying atom-shell bundle. 2013-05-13 16:46:48 +08:00
Cheng Zhao 02d5ca78d5 Clean unused native build scripts. 2013-05-13 15:16:42 +08:00
Cheng Zhao e99fe93029 Don't build native code and use atom-shell's binary instead. 2013-05-13 13:49:31 +08:00
Cheng Zhao 548021dd40 Download atom-shell and remove cefode. 2013-05-12 19:51:31 +08:00
Cheng Zhao 0f528c4811 Remove prebuilt-cef submodule. 2013-05-12 19:18:06 +08:00
Nathan Sobo c876876d5e Upgrade the icon 2013-05-11 10:35:45 -06:00
Nathan Sobo 7dde2fec55 Fix wrap guide spec again. Previously it only passed w/ a wide window. 2013-05-11 09:08:10 -06:00
Nathan Sobo 49cf92c2a2 Fix perf regression: Don't update line numbers for single line changes 2013-05-10 19:39:33 -06:00
Nathan Sobo 60319c30ac Fix wrap guide specs after panes css change 2013-05-10 18:30:01 -06:00
Nathan Sobo 191e8ab240 Fix perf regression caused by flex-flow: column on pane item views
For some reason, having flex-flow column on the pane item views
container was forcing the entire view to be repainted on cursor
movement and line edits. Allowing the container to flow row-wise and
setting the min-height to 0 instead of min-content-height achieves
the same layout effect without the huge repaint cost. Flexbox is a
fragile bitch.
2013-05-10 18:19:41 -06:00
Nathan Sobo b4dec8ccbb In Editor.updateRenderedLines, cap renderFrom to the last screen row
If we remove a large number of screen lines when we are scrolled down,
the current @firstRenderedScreenRow may end up being larger than the
number of screen rows we now have. Setting renderFrom to the
@firstRenderedScreenRow in this case was causing the renderFrom to be
larger than the renderTo, which was causing problems downstream with
the new mapping code.
2013-05-10 13:20:43 -06:00
Nathan Sobo 7d28edc116 Rename ScreenLine -> TokenizedLine
Now that ScreenLines don't contain the bufferRows property, which was
essential to the functioning of the LineMap, they're just containers
for tokens. Since they're stored in the TokenizedBuffer in a form that
doesn't necessarily match what ends up on screen, it makes more sense
to call them tokenized lines. A tokenized line is a screen line if it's
in the `.screenLines` array of the DisplayBuffer, but "screenness" is
not an inherent property, so it shouldn't be in the name of the class.
2013-05-10 13:20:43 -06:00
Nathan Sobo 4d314f99ac Eliminate ScreenLine.bufferRows property
Previously, we used bufferRows to determine how many buffer rows were
spanned by the screen line in the event it was folded. Now that we have
RowMap, screen lines don't need to serve this purpose. We still need
to know if a screen line is wrapped, which we solve via setting the
lineEnd property to null for a soft-wrapped screen line.
2013-05-10 13:20:43 -06:00
Nathan Sobo 1d146640e5 Break some methods out of DisplayBuffer.updateScreenLines 2013-05-10 13:20:43 -06:00
Nathan Sobo b4c95d4fc9 Merge adjacent isomorphic regions after adding new regions 2013-05-10 13:20:42 -06:00
Nathan Sobo d9c258f27e Handle new regions overlapping screen wise but not buffer wise 2013-05-10 13:20:42 -06:00
Nathan Sobo 4a56cc3693 Kick docs threshold down again because I removed public methods 2013-05-10 13:20:42 -06:00
Nathan Sobo 8b149ff827 Delete LineMap 2013-05-10 13:20:42 -06:00
Nathan Sobo f3145e671a Declare screenLines ivar in DisplayBuffer 2013-05-10 13:20:42 -06:00
Nathan Sobo d3cb001d65 Use RowMap instead of LineMap in DisplayBuffer 2013-05-10 13:20:42 -06:00
Nathan Sobo 16da9b0506 Document RowMap 2013-05-10 13:20:42 -06:00
Nathan Sobo d7914d2c54 Ensure row map applies negative deltas only after the given start row 2013-05-10 13:20:42 -06:00
Nathan Sobo 9849c62d80 Properly handle regions that straddle existing regions
When we're creating folds that contain other folds, we'll need the
region based on the new fold's row mapping to overwrite the regions
from the old folds. This commit ensures that the new region cleanly
slots in, replacing any regions it completely contains and splitting
regions that it only partially overlaps.
2013-05-10 13:20:42 -06:00
Nathan Sobo 3c630fb7f4 Rename mapping -> region within RowMap 2013-05-10 13:20:42 -06:00
Nathan Sobo 55f0b6a1f8 Replace existing regions when inserting a mapping that surrounds them 2013-05-10 13:20:42 -06:00
Nathan Sobo 1b21fdda3b Don't throw errors when applying screen deltas after the last mapping 2013-05-10 13:20:41 -06:00
Nathan Sobo c17d6ba487 Adjust multiple mappings if needed when applying screen deltas
If there are multiple mappings following the start row of the delta
that span fewer screen rows than the delta, we collapse mappings to 0
screen rows until we have removed the number of rows specified by the
delta.

Expanding positive deltas expands the first mapping following the
start row as it did previously.
2013-05-10 13:20:41 -06:00
Nathan Sobo c6ff7e8934 Inserting a mapping within an existing mapping preserves its shape
Inserting a mapping should never change the position of any existing
mappings on screen or in the buffer. It's simply a statement about a
range of rows in the buffer mapping to a range of existing rows on
screen, but shouldn't add or remove any rows. Adding and removing rows
on screen or in the buffer is the job of the applyBufferDelta and
applyScreenDelta methods.
2013-05-10 13:20:41 -06:00
Nathan Sobo 1895e8143d Allow the screen row count of N-screen:1-buffer mappings to be updated 2013-05-10 13:20:41 -06:00
Nathan Sobo 5c74a02688 Add row map specs for mappings of N screen rows to 1 buffer row 2013-05-10 13:20:41 -06:00
Nathan Sobo 2f900e11ed Add RowMap.bufferRowRangeForScreenRow 2013-05-10 13:20:41 -06:00
Nathan Sobo 1123ca4bc1 Helpful comments 2013-05-10 13:20:41 -06:00
Nathan Sobo 4973c2afc6 Don't return a mapping from traverseToBufferRow if we fall off the end 2013-05-10 13:20:41 -06:00
Nathan Sobo 502e3ceb3b Factor mapping traversal its own traverseToBufferRow method 2013-05-10 13:20:41 -06:00
Nathan Sobo 32b40fe1ad Eliminate dummy implementation of bufferRowRangeForScreenRow 2013-05-10 13:20:41 -06:00
Nathan Sobo 9a12b170f6 Allow insertion of multiple buffer row range mappings 2013-05-10 13:20:41 -06:00
Nathan Sobo 9f4b594bd0 Start on RowMap 2013-05-10 13:20:41 -06:00
Kevin Sawicki ea7a8c9670 Render markdown when buffer is reloaded
This will keep the preview in sync with the editor.
2013-05-10 12:16:45 -07:00
Kevin Sawicki 113dac6e2b Add more entries to fence name hash 2013-05-10 12:13:37 -07:00
Kevin Sawicki 642427d015 Remove unneeded guards
Syntax will always return a grammar and tokenizing
with the null grammar is acceptable.
2013-05-10 12:12:25 -07:00
Kevin Sawicki 26dad65c8d Only set code color outside of editor-colors parent 2013-05-10 12:12:03 -07:00
Kevin Sawicki 827bab90bf Add tokenizeLines to null grammar 2013-05-10 12:09:58 -07:00
Kevin Sawicki 1a90f1c017 Include source.shell inside of sh/bash code blocks 2013-05-10 11:50:21 -07:00
Kevin Sawicki 8172618bec Remove unused libgit2 script 2013-05-10 11:19:40 -07:00
Garen Torikian & Nathan Sobo e12d779f00 Add listing of package.json keys 2013-05-08 15:07:55 -07:00
Garen Torikian & Nathan Sobo 1300955c13 Explicitly mention node.js core modules 2013-05-08 15:07:38 -07:00
Garen Torikian & Nathan Sobo 7714c35829 Finish package sample 2013-05-08 15:07:25 -07:00
Kevin Sawicki 3de070708f Mention class layout 2013-05-08 11:30:34 -07:00
Kevin Sawicki 7aba7b0854 Use consistent rm flag order 2013-05-08 11:17:55 -07:00
Kevin Sawicki f16c7247a9 Clean cefode cache during prebuild 2013-05-08 11:17:30 -07:00
Kevin Sawicki ef2ece3600 Treat .tgz extension as compressed 2013-05-08 10:27:26 -07:00
Kevin Sawicki 962b559638 Mention fuzy finder fix 2013-05-08 10:25:54 -07:00
Garen Torikian & Nathan Sobo 9ab4707d43 More words on creating a pane 2013-05-07 12:53:09 -07:00
Kevin Sawicki c3759feaa0 Show number of paths loaded after indexing message 2013-05-07 08:56:06 -07:00
Kevin Sawicki 96418f3640 Respect core.excludeVcsIgnoredPaths in fuzzy finder 2013-05-06 18:06:10 -07:00
Kevin Sawicki a96c354f4f Fork with harmony collections enabled 2013-05-06 18:04:01 -07:00
Kevin Sawicki 81462d9050 Hide/show entire loading area instead of only message 2013-05-06 16:53:34 -07:00
Kevin Sawicki 919bdca8f4 Style select list loading area similar to command panel 2013-05-06 16:34:39 -07:00
Kevin Sawicki 130e5cd3ec Use task handler to load fuzzy finder paths
This use completely async calls from a process task and
also respects the repository-defined ignore rules.

Closes #509 and #514
2013-05-06 16:34:39 -07:00
Kevin Sawicki 42301210c4 Log uncaught exceptions to parent process 2013-05-06 16:34:39 -07:00
probablycorey 43a3c93d9b Substitution commands can replace text with empty string
Closes #488
2013-05-06 12:11:48 -07:00
Kevin Sawicki cc98b88e28 Expect Error instead of JSON string in markdown preview view 2013-05-06 09:42:45 -07:00
Kevin Sawicki 212a192abf 💄 2013-05-06 09:38:10 -07:00
Kevin Sawicki ebc75b1ba8 Use site color for code elements 2013-05-06 08:34:05 -07:00
Kevin Sawicki 7be6421989 Remove incorrect error message
The markdown API is no longer used.
2013-05-06 08:26:02 -07:00
Nathan Sobo b4206d3202 Merge branch 'master' into know-when-to-foldem
Conflicts:
	src/app/edit-session.coffee
2013-05-06 08:35:13 -06:00
Nathan Sobo e8e0d5dd02 Fix regression: folds can be destroyed by clicking them 2013-05-06 08:27:43 -06:00
Garen Torikian be229d374e Finish the working with styles section 2013-05-04 11:49:22 -07:00
Garen Torikian 14b28a8a89 Update package creation docs 2013-05-04 11:49:22 -07:00
Garen Torikian c71bccd72c Add new Included Libs doc 2013-05-04 11:49:22 -07:00
Garen Torikian cee9605fc5 Updates to first package information 2013-05-04 11:49:22 -07:00
Garen Torikian 7b5b942c47 Start the Creating a Package doc 2013-05-04 11:49:22 -07:00
Garen Torikian d5e0af2646 Move themes file 2013-05-04 11:49:22 -07:00
Garen Torikian a12e1d8b0e Update note on activationEvents 2013-05-04 11:49:22 -07:00
Garen Torikian d9d9b6800b Finish authoring packages section 2013-05-04 11:49:21 -07:00
Garen Torikian 8d7fd982e1 Start leveling up extension docs 2013-05-04 11:49:21 -07:00
Nathan Sobo 3e937e9811 Merge remote-tracking branch 'origin/master' into know-when-to-foldem
Conflicts:
	src/app/buffer-marker.coffee
	src/app/cursor.coffee
	src/app/display-buffer-marker.coffee
	src/app/display-buffer.coffee
	src/app/edit-session.coffee
	src/app/fold.coffee
	src/app/line-map.coffee
	src/app/range.coffee
	src/app/selection.coffee
	src/app/text-buffer.coffee
2013-05-03 18:29:52 -06:00
Garen Torikian 4b993b99cd Merge pull request #507 from github/markdown-and-out
Swap out Markdown render logic with module
2013-05-03 16:59:00 -07:00
Garen Torikian & Nathan Sobo 839f0b642c Merge Kevin's fix for empty line invisibles with the reshuffling of buildLineHtml methods to be on the class level 2013-05-03 16:57:42 -07:00
Garen Torikian & Nathan Sobo f4d7586034 Refactor syntax highlighting of Markdown pre blocks
Extract out editor-colors class to apply background and default text color
Remove pre background coloring from Markdown preview stylesheet
2013-05-03 16:57:42 -07:00
Garen Torikian & Nathan Sobo ab23f624af Add pairs file for gjt 2013-05-03 16:57:42 -07:00
Garen Torikian 86484e7426 💄 for renamed method call 2013-05-03 16:57:42 -07:00
Garen Torikian 734b6778b1 Add more langauges to mapping 2013-05-03 16:57:42 -07:00
Garen Torikian 252682dd99 Syntax highlight based entirely on editor colors 2013-05-03 16:57:42 -07:00
Garen Torikian 95e14486af Fix specs for testing highlighted lines 2013-05-03 16:57:42 -07:00
Garen Torikian cf239ccac0 Implement highlighting of Markdown pre blocks 2013-05-03 16:57:41 -07:00
Garen Torikian dd041945d2 Transform specs to something useful 2013-05-03 16:57:41 -07:00
Garen Torikian 1cc4c52c7a Style emoji 2013-05-03 16:57:41 -07:00
Nathan Sobo a2c894bcc9 Fix some docs issues 2013-05-03 17:35:01 -06:00
Nathan Sobo ebfd8ca4c3 Give docs errors a better failure message 2013-05-03 17:34:48 -06:00
Corey Johnson & Nathan Sobo da938d8212 Fix edit session specs concerning delete/backspace + folds 2013-05-03 17:24:08 -06:00
Corey Johnson & Nathan Sobo 855f955dec Make BufferMarker return copies of its points so they can't be mutated 2013-05-03 17:23:24 -06:00
Corey Johnson & Nathan Sobo 1b8a8cf939 Make UndoManager.clear not cancel the transaction
If an exception is thrown while running an operation, we clear the
undo manager and re-throw it. But if we were in a transaction, we will
commit it in a `finally` block. If the transaction is set to null,
committing the transaction will then throw an exception which hides
the original exception… we don't want that. Now clear just empties the
current transaction out.
2013-05-03 17:21:50 -06:00
Nathan Sobo 9147e86d96 Delete unused param 2013-05-03 17:19:11 -06:00
Garen Torikian 6c748c2f87 Fix tests 2013-05-02 18:33:28 -07:00
Garen Torikian 4b6e0916c9 Swap out Markdown render logic 2013-05-02 18:33:20 -07:00
Kevin Sawicki fa5861a626 Include $self inside heading rule
This allows emoji, links, etc. to be parsed
and highlighted in headings
2013-05-02 16:21:22 -07:00
Kevin Sawicki f556890873 Mention icon 2013-05-02 14:21:22 -07:00
Kevin Sawicki 55f185f980 Tweak select list colors 2013-05-02 14:08:51 -07:00
Garen Torikian d4474e1d4d Merge pull request #512 from github/change-status-block-tag
Change status block tag
2013-05-02 13:50:06 -07:00
Kevin Sawicki b64f6c5c27 Upgrade icon to orange cube circles 2013-05-02 13:46:42 -07:00
probablycorey 616bb487f4 Correct config.observe documentation 2013-05-02 13:24:08 -07:00
probablycorey 9f4fb29b58 💄 2013-05-02 13:22:08 -07:00
Garen Torikian 1262d3fce9 💄 2013-05-02 12:22:37 -07:00
probablycorey f4f74e1171 💄 2013-05-02 12:05:56 -07:00
probablycorey f0c8c044c9 No longer need extra event handler
Since config doesn't store default values anymore, this line isn't
needed.
2013-05-02 12:05:56 -07:00
probablycorey c13b291c64 Update config panel spec 2013-05-02 12:05:56 -07:00
probablycorey 70191ea368 Don't store config values that equal their default config value
If 'foo' has not been set and has a default value of 1, 
config.set('foo', 1) will not store the 1.

If 'foo' has been set to X and has a default value of 1, 
config.set('foo', 1) will remove 'foo' from config
2013-05-02 12:05:56 -07:00
probablycorey d294bf4d05 💄
Keep the bind commands close together
2013-05-02 12:05:56 -07:00
Kevin Sawicki 10ca03f238 Don't show indent guide in truly trailing whitespace
Lines that are all whitespace are considered trailing
whitespace and should display the indent guide.

But lines with leading and trailing whitespace should never
have the indent guide rendered in the trailing area.
2013-05-02 11:44:49 -07:00
probablycorey 67f96e0fdd Remove shift from all non-alphanumeric key bindings
There is no guarantee that the shift values for
non-alphanumeric keys will be the same across keyboards.
2013-05-02 10:29:10 -07:00
Cameron McEfee 879ce3b30d ctrl-| to ctrl-shift-| 2013-05-02 10:01:32 -07:00
probablycorey 3de96f1e7a Only cancel termination if there are AtomWindowControllers open.
Sometimes an application has other windows open, like the open
panel. Even when these are closed they seem to live on in the
application's window array. We now ignore those windows when trying
to terminate the app.

Closes #534
2013-05-02 09:38:51 -07:00
Kevin Sawicki ee621bcace Bind link click handler in window.handleEvents() 2013-05-01 22:18:39 -07:00
Kevin Sawicki c2118a8cb9 Remove unneeded trailing if 2013-05-01 21:55:37 -07:00
Kevin Sawicki 21f1579f73 Return early when href is a hash 2013-05-01 21:48:43 -07:00
Kevin Sawicki 4dce9d659f Open http/https links in an external browser
Listen for all links being clicked and open any http/https
hrefs by spawning a call to the 'open' command.

Closes #531
2013-05-01 21:36:36 -07:00
Kevin Sawicki ca4cfe358f Mention update and indent guide fixes 2013-05-01 21:26:15 -07:00
Kevin Sawicki 7c8c4bd233 Remove unused requires 2013-05-01 20:57:16 -07:00
Kevin Sawicki 35cf96e15f Render empty line invisibles at correct position
End of line invisibles are not rendered at the correct
position for empty lines instead of always after the
last indent guide span.

Closes #456
2013-05-01 20:54:09 -07:00
Corey Johnson & Nathan Sobo 7a9d408425 Add rootView to tab spec 2013-05-01 17:41:25 -07:00
Nathan Sobo 69300e0766 Make Buffer.transact restore marker ranges on undo/redo of transaction
We no longer need to restore selection ranges before and after
transactions now because selections are based on markers so they go
along for the ride for free. This allows us to delegate directly to
Buffer.transact from EditSession.
2013-05-01 18:38:40 -06:00
Corey Johnson & Nathan Sobo 559f76e887 Dragging a tab from one pane to another clears all placement markers
Closes #528
2013-05-01 17:36:54 -07:00
Kevin Sawicki 6eb88278ae Only return false if focused
Previously the editor would not gain focus if the underlayer was clicked.
2013-05-01 17:27:33 -07:00
Garen Torikian 662ddf9fd6 Update documentation to push threshold back past 80% 2013-05-01 17:21:05 -07:00
Kevin Sawicki 698f670350 Remove mini class from grammar selector
Grammars were wrapping when miniaturized even though
there was plenty of room.
2013-05-01 17:13:46 -07:00
Kevin Sawicki aebaf688a9 Add secondar-line class to light theme 2013-05-01 17:13:17 -07:00
Kevin Sawicki 7e15a343f3 Add primary/secondary line classes to select list
This will be a style that can be used by extending
classes to provide two lines that don't wrap with
color and padding.

This is initially used by symbols view and fuzzy finder.
2013-05-01 17:09:37 -07:00
Garen Torikian f47eea1e6c 💄 2013-05-01 17:03:12 -07:00
Garen Torikian 5a944514f3 Rewrite all hash key options 2013-05-01 17:01:55 -07:00
Garen Torikian fb955667f5 Resolve references to Internal 2013-05-01 17:01:55 -07:00
Garen Torikian 31aaa23b20 Update tokenizedbuffers 2013-05-01 17:01:55 -07:00
Garen Torikian 4d239b46e2 Update textmatescopeselector 2013-05-01 17:01:55 -07:00
Garen Torikian 856b07197a Update textbuffer 2013-05-01 17:01:55 -07:00
Garen Torikian d07751605a Update textbuffer 2013-05-01 17:01:55 -07:00
Garen Torikian ddb09e98e8 Update selection 2013-05-01 17:01:55 -07:00
Garen Torikian 75b40f603a Update screen-line 2013-05-01 17:01:55 -07:00
Garen Torikian 5c21d71461 Update root-view 2013-05-01 17:01:54 -07:00
Garen Torikian 6c5f310cba Update range 2013-05-01 17:01:54 -07:00
Garen Torikian 909a951ff0 Update project 2013-05-01 17:01:54 -07:00
Garen Torikian 51a07bdb31 Update point 2013-05-01 17:01:54 -07:00
Garen Torikian 3dcdf0863e Update line-map 2013-05-01 17:01:54 -07:00
Garen Torikian 46b5731ac4 Update line-map 2013-05-01 17:01:54 -07:00
Garen Torikian 9be438d2f7 Update language-mode 2013-05-01 17:01:54 -07:00
Garen Torikian bb8f4fb092 Update image-view 2013-05-01 17:01:54 -07:00
Garen Torikian 7b65a68450 Update image-edit-session 2013-05-01 17:01:54 -07:00
Garen Torikian 7e6eecc6cf Update gutter 2013-05-01 17:01:54 -07:00
Garen Torikian 9d709ea152 Update git 2013-05-01 17:01:54 -07:00
Garen Torikian eadb3cf98c Update fold 2013-05-01 17:01:54 -07:00
Garen Torikian 09e9c2f224 Update file 2013-05-01 17:01:53 -07:00
Garen Torikian dbae05605b Update eventemitter 2013-05-01 17:01:53 -07:00
Garen Torikian 3c5b721177 Update Editor 2013-05-01 17:01:53 -07:00
Garen Torikian b0e4ce7bb8 Update EditSession 2013-05-01 17:01:53 -07:00
Garen Torikian 2bf7adef5c A slight modification to EditSession 2013-05-01 17:01:53 -07:00
Garen Torikian 34fb03fbd3 Update DisplayBuffer 2013-05-01 17:01:53 -07:00
Garen Torikian a8a28fea18 Update DisplayBufferMarker 2013-05-01 17:01:53 -07:00
Garen Torikian 16cef29925 Update directory 2013-05-01 17:01:53 -07:00
Garen Torikian 26564ee020 Update cursor 2013-05-01 17:01:53 -07:00
Garen Torikian 66a80ade30 Update config 2013-05-01 17:01:53 -07:00
Garen Torikian 685ec5d8d7 Update buffer-marker docs 2013-05-01 16:58:43 -07:00
Garen Torikian 52139dc24e Bump biscotto 2013-05-01 16:58:43 -07:00
Garen Torikian 2357f46761 Fix block comments in src 2013-05-01 16:58:43 -07:00
Garen Torikian 64fea21a38 Bump biscotto 2013-05-01 16:58:05 -07:00
Kevin Sawicki 71e73750e2 Kill negative top margin on path 2013-05-01 16:52:13 -07:00
Kevin Sawicki 37b298fcba Lessify the base fuzzy finder stylehsheet 2013-05-01 16:51:39 -07:00
Kevin Sawicki 01ad97e7b0 Show ellipsis for long paths in fuzzy finder
Previously the directory was shown after the file name
and it would wrap if too long causing inconsistent row
heights.

Now the full path is shown below the name in a smaller font
and both the path and file are set to overflow with an ellipsis.
2013-05-01 16:46:22 -07:00
Nathan Sobo 988f4da6e1 Always restore marker ranges on undo/redo, even for valid markers 2013-05-01 17:32:39 -06:00
Nathan Sobo f48ee846e9 💄 2013-05-01 17:23:21 -06:00
Nathan Sobo a9c599abeb Isolate folds on a per-display-buffer basis
Creating a fold in one pane now has no effect on an edit session
for the same buffer in another pane. Before they were polluting each
other by sharing the same fold markers.
2013-05-01 16:24:32 -06:00
Nathan Sobo c717d23901 🔫 dead code 2013-05-01 16:15:28 -06:00
Nathan Sobo 6153375c76 Base folds on buffer markers, since they don't rely on screen coords
When creating a display buffer for buffers that already have fold
markers, which we'll eventually do on refresh, basing folds on
full-blown display buffer markers is a problem because we end up
creating display buffer markers during construction of the line map.
When we create a display buffer marker it memoizes its screen positions,
but since the line map isn't built yet we have nothing to translate
against. Basically, since the line map depends on folds, folds can't
depend on the line map. Luckily, they don't need to. Buffer markers
work just fine.
2013-05-01 16:14:25 -06:00
probablycorey 850ecb23df Atom will auto-update on close if a newer version is on Speakeasy
The first call to terminate is canceled so that every window can be 
closed. On AtomCefClient the OnBeforeClose method is called when a
browser is finished closing. Once all windows have finished closing, AtomCefClient calls terminate again, which will terminate the 
application.

Closes #527
2013-05-01 13:54:38 -07:00
probablycorey 8f03ff2952 💄 2013-05-01 13:54:38 -07:00
probablycorey 0be166bb59 Remove the bottomPaddingInLines from editor 2013-05-01 13:54:37 -07:00
probablycorey cb2d24baca Listen for clicks outside of the render lines on the underlayer 2013-05-01 13:54:37 -07:00
probablycorey 7609b08e86 💄 2013-05-01 13:54:37 -07:00
Kevin Sawicki aeffa0e150 Remove duplicate property 2013-05-01 13:10:14 -07:00
Kevin Sawicki 932d552ae7 Only show scrolls when needed in tree view 2013-05-01 08:22:03 -07:00
Kevin Sawicki 78d8485243 Allow config window to be closed with meta-W
window.confirmClose() should close the window immediately when
there is no rootView which is the case in the config window.
2013-05-01 08:02:17 -07:00
Kevin Sawicki c3232a463c Use ems instead of pixels for config editor widths
This allows the editor to be big enough to still show
multiple characters in large font sizes.
2013-05-01 07:58:12 -07:00
Kevin Sawicki 536beb0d40 Support setting number fields to 0
Previously entering 0 would end up as '0' in the config
value instead of as a numeric value.
2013-04-30 23:10:22 -07:00
Kevin Sawicki 1afe4f0cd9 Mention missing wrap guide fix 2013-04-30 23:02:48 -07:00
Kevin Sawicki 334c4095bb Write empty object values on same line as keys 2013-04-30 22:43:51 -07:00
Kevin Sawicki 986e5f9c7a Default to 80 when editor.preferredLineLength <= 0
Previously any non-null value would be used as the target
column in the wrap guide and autoflow packages when really
80 should have been used if the value was non-postive.

Now config.getPositiveInt() is called with a default value
of 80 if the current value isn't already positive.
2013-04-30 22:37:02 -07:00
Kevin Sawicki 6077cf2389 Mention save error with markdow preview 2013-04-30 22:06:05 -07:00
Kevin Sawicki f417e898f6 Only call save on active item when it exists
Closes #529
2013-04-30 22:02:46 -07:00
Kevin Sawicki 047d9525e7 Ignore first modified event in config editor
This event comes from initially setting the text for the current
config value on the editor and was causing the config to be
immediately saved multiple times when opened.
2013-04-30 21:55:43 -07:00
Kevin Sawicki ca7da8a0da Don't set un-parseable numbers to 0 in the config
Previously if an integer or float field was empty it would
default to zero instead of undefined which made it inconsistent
with string value fields.

Now the config value is only set as a Number when it can be
parsed as one.
2013-04-30 21:36:27 -07:00
Nathan Sobo 49b17023a5 Fix method missing exception in LineMap.logLines 2013-04-30 18:40:14 -06:00
Nathan Sobo 693c4f8270 Preserve folds when restoring selections on undo/redo 2013-04-30 18:39:54 -06:00
Nathan Sobo df08c14aef Restore markers before triggering buffer events
This allows folds to be restored on undo/redo
2013-04-30 18:21:37 -06:00
Nathan Sobo af903f6690 Don't trigger marker-added/removed events anymore
I missed this previously
2013-04-30 18:20:15 -06:00
Nathan Sobo cef25898bb Properly unsubscribe DisplayBuffer from Buffer on destruction 2013-04-30 18:14:53 -06:00
Nathan Sobo 0dea901368 Use instance method 2013-04-30 18:14:31 -06:00
Nathan Sobo 9086171f45 💄 2013-04-30 18:14:13 -06:00
Nathan Sobo 9aec992693 Hold marker [in]validation events until after buffer change events
For a while, the goal has been to prevent marker update events from
firing until after the buffer change event. But at the same time, we
want all the markers to be updated when the buffer change fires. This
commit irons out some issues for markers that are invalidated or
revalidated by the change, making their behavior consistent with the
rest of marker updates.
2013-04-30 17:37:28 -06:00
Kevin Sawicki a788006d7c Default editor.preferredLineLength config to 80 2013-04-30 15:03:46 -07:00
Nathan Sobo 40512a4823 Don't update the DisplayBuffer when a fold's marker changes
Because we don't currently allow for direct manipulation of fold
marker ranges, if a fold's marker changes it will be because of a
buffer change. This buffer change will bubble to the display buffer
anyway, where the screen line update will account for the change to
the fold's marker range.
2013-04-30 15:07:37 -06:00
Nathan Sobo 2e77f0ed7d Eliminate special behavior for changes straddling start / end of folds
Previously, we were attempting to preserve the fold and adjust in an
intuitive way in the face of changes that straddled the beginning or
the end of the fold. That added complexity… we would have to add a new
marker invalidation strategy to support it and I'm not convinced it's
actually a big deal to destroy folds in the face of straddling changes.
So that's what we do now.
2013-04-30 14:28:42 -06:00
probablycorey af5392b8ac Add extra padding to the bottom of an editor's vertical scrollbar
This gives us some space when we scroll to the bottom of a file.
Similar to how MacVim works when using the mouse.

Closes #464
2013-04-30 11:52:28 -07:00
probablycorey 471ac4976f Test correct editor in font size spec 2013-04-30 11:52:28 -07:00
probablycorey 16c892caa6 Update click and drag spec
Stop relying on setInterval to trigger the scroll events in the spec. Instead simulate the mouse moving at the top of the screen. I found 
testing the setInterval approach required so much mocking that it 
wasn't worth it.
2013-04-30 11:52:28 -07:00
Corey Johnson 35b0e06260 💄 2013-04-30 11:52:28 -07:00
Corey Johnson bbb7dfdd07 Only the underlayer needs height: 100% 2013-04-30 11:52:28 -07:00
Nathan Sobo 56a9316a28 Fix docs references 2013-04-30 11:37:31 -06:00
Nathan Sobo 7d676f51bd Document TextBuffer.getMarker[s] 2013-04-30 05:12:43 -06:00
Nathan Sobo 7ca8e31087 Document Fold methods 2013-04-30 05:12:13 -06:00
Nathan Sobo 029d8b58db Remove outdated method 2013-04-30 04:58:02 -06:00
Nathan Sobo 160a336b48 Fix command interpreter spec 2013-04-30 04:57:08 -06:00
Nathan Sobo 1ecd195e6e 💄 2013-04-30 04:53:26 -06:00
Nathan Sobo 9f8a07fc27 Fix some edit session specs. The remaining failures are less trivial. 2013-04-30 04:43:28 -06:00
Nathan Sobo 1f3e3c698f Add DisplayBuffer.foldsStartingAtBufferRow 2013-04-30 04:37:11 -06:00
Nathan Sobo 1f9e33d995 WIP: Base folds on markers.
Still a couple of specs failing on this for changes that straddle the
start / end of a fold. We need a new marker invalidation strategy for
these cases.
2013-04-30 04:30:08 -06:00
Nathan Sobo 32178541fe Emit 'destroyed' events from display buffer markers 2013-04-29 21:01:48 -06:00
Nathan Sobo 51e915c423 Replace marker 'observe' methods w/ ordinary 'changed' event 2013-04-29 21:01:48 -06:00
Nathan Sobo 4ca00f7347 Simplify marker events
Instead of marker-added and marker-removed events which are emitted
when markers are created/invalidated/revalidated/destroyed, we now
just have marker-created events that are triggered *only* when markers
are created for the first time. The marker itself emits a 'destroyed'
event when it is destroyed. The marker already notifies observers when
its validation status changes, so that's covered.
2013-04-29 21:01:48 -06:00
Nathan Sobo b2d34d93ab Emit 'marker-added/removed' events on DisplayBuffer 2013-04-29 21:01:48 -06:00
Nathan Sobo 78bb074c0d Add DisplayBufferMarker.inspect 2013-04-29 21:01:48 -06:00
Nathan Sobo 3a39c92ae4 Emit 'marker-added/removed' events when buffer marker validity changes 2013-04-29 21:01:48 -06:00
Nathan Sobo 883127f0d6 Emit 'marker-added/removed' when buffer markers are created/destroyed 2013-04-29 21:01:48 -06:00
Nathan Sobo 3b52cd018b Reduce documentation threshold
I deleted a bunch of documented methods. I haven't added any new
undocumented methods, but now there are fewer overall documented
methods, which is breaking the docs threshold spec. I don't think it
makes sense to start documenting non-related methods in this branch
right now.
2013-04-29 21:01:48 -06:00
Nathan Sobo 6f34d0b346 Document new methods 2013-04-29 21:01:48 -06:00
Nathan Sobo b35bd36ec7 Get spell check specs passing with new marker api 2013-04-29 21:01:48 -06:00
Nathan Sobo 8c037bf425 Destroy markers properly in command panel operations 2013-04-29 21:01:48 -06:00
Nathan Sobo ae5e07ddd6 Make bracket matcher work with new marker API 2013-04-29 21:01:48 -06:00
Nathan Sobo b16529bf9f Use new marker API to get marker ranges in command panel operations 2013-04-29 21:01:47 -06:00
Nathan Sobo db0676cc51 Use new API to destroy markers in snippets package 2013-04-29 21:01:47 -06:00
Nathan Sobo 2d1cb8b519 Fix selection spec to to check marker destruction properly 2013-04-29 21:01:47 -06:00
Nathan Sobo 3a11c56438 Add .isDestroyed method to markers 2013-04-29 21:01:47 -06:00
Nathan Sobo caf34d6a3a EditSession.selectMarker checks if the marker is valid
Also, it returns the selected range if it's valid, and otherwise
returns a falsy value. This has more utility than just true/false.
2013-04-29 21:01:47 -06:00
Nathan Sobo a028dff6e9 Add DisplayBufferMarker.isValid 2013-04-29 21:01:47 -06:00
Nathan Sobo 0563ee4a97 Make DisplayBuffer.findMarkers return DisplayBufferMarkers 2013-04-29 21:01:47 -06:00
Nathan Sobo d466abdc64 Fix DisplayBuffer spec 2013-04-29 21:01:47 -06:00
Nathan Sobo f4be899ae9 Switch EditSession over to object-oriented markers API 2013-04-29 21:01:47 -06:00
Nathan Sobo 5403bc647a Convert display buffer markers to object-oriented API 2013-04-29 21:01:47 -06:00
Nathan Sobo 482eb6c0de Give TextBuffer an object-oriented marker interface
The previous API revolved around methods on TextBuffer for querying
and manipulating markers based on their id. Now marker creation
methods return marker objects. These are still retrievable by id so
they can be dealt with across serialization boundaries in the future,
but you deal with them directly as objects.
2013-04-29 21:01:47 -06:00
Nathan Sobo e02e4cd975 Add DisplayBuffer.findMarker[s] 2013-04-29 21:01:47 -06:00
Nathan Sobo ac90b13032 Add missing Buffer.findMarker implementation 2013-04-29 21:01:46 -06:00
Nathan Sobo 64aaf670ed Add startRow and endRow special attributes to TextBuffer.findMarker[s] 2013-04-29 21:01:46 -06:00
Nathan Sobo 4a764c2d9d 💄 2013-04-29 21:01:46 -06:00
Nathan Sobo 0f0480b79f Add Buffer.findMarker[s], which returns marker[s] matching attributes 2013-04-29 21:01:46 -06:00
Nathan Sobo df6feab346 Add Range.compare 2013-04-29 21:01:46 -06:00
Nathan Sobo aef34c11b7 Use new DisplayBuffer.updateScreenLines method for .destroyFold 2013-04-29 21:01:46 -06:00
Nathan Sobo 0292ba959f Use the same code path for fold creation and tokenized buffer changes 2013-04-29 21:01:46 -06:00
Kevin Sawicki 58275a2f0a Use ems instead of pixels for loading octicon size 2013-04-29 18:23:10 -07:00
Kevin Sawicki f0d3a06655 Mention dev mode fixes 2013-04-29 18:02:40 -07:00
Kevin Sawicki 0ce67b307c Remove unneeded resource path assignment
There is a fall back case after this that sets the resource
path to the bundle path if not already set.
2013-04-29 17:58:41 -07:00
Kevin Sawicki 598cdea22a Don't crash when running dev with no resource path
Previously if the --dev flag was used and no resource was
specified or found in ~/github/atom then the app would
crash trying to add a null resource path to the node paths
list.

Now the bundle resource path is the fallback whenever the
dev resource path cannot be found or does not exist.
2013-04-29 17:54:31 -07:00
Kevin Sawicki 32d23d6303 Allow Atom to be run in stable mode
Previously isDevMode was returning true when it was called
before the resource path was initially set forcing Atom to
always run in dev mode.

Now we just use the new isDevFlagSpecified() method to check
where the bundle resource path should be used.
2013-04-29 17:51:13 -07:00
Kevin Sawicki 3279a575f6 Reuse search when re-toggling find in project
Previously the prior find in file search was thrown
away when toggling find-in-project subsequent times.

Now the previous search text is retained and selected when toggled.
2013-04-29 15:25:07 -07:00
Kevin Sawicki 16ffbd1920 Reuse search when re-toggling find in file
Previously the prior find in file search was thrown
away when toggling find-in-file subsequent times.

Now the previous search text is retained and selected when toggled.
2013-04-29 15:24:44 -07:00
Corey Johnson 9180060920 Revert "Listen for mouse events on scrollView instead of renderedLines"
You can't listen on scroll view because that makes
it impossible to scroll using the scrollbar

Opens #464

This reverts commit fdae5fd89c.
2013-04-29 15:07:38 -07:00
Corey Johnson fdae5fd89c Listen for mouse events on scrollView instead of renderedLines
It was not possible to click on the lower part of the last line
when the editor was scrollable and listening for mousedown events on renderedLines.

Closes #464
2013-04-29 14:59:23 -07:00
Corey Johnson 8e218de3e7 💄 2013-04-29 14:59:23 -07:00
Kevin Sawicki a6c89b75fc Retain command panel text between toggles
Previously the mini editor was cleared on toggle but now
the existing text retained and selected when toggled.
2013-04-29 14:48:06 -07:00
Kevin Sawicki 15cf475d04 Use loading octicon in command panel
This removes the SVG spinner which had been incorrectly
rendering since the bootstrap upgrade due to box sizing
issues.
2013-04-29 14:13:21 -07:00
Corey Johnson & Kevin Sawicki b56f4a129f Mention fixed freeze 2013-04-29 12:15:10 -07:00
Corey Johnson & Kevin Sawicki 0d8a6782b3 Stop tokenizing line when the same rule is pushed more than once
Previously Rails classes would infinitly loop if the Ruby on Rails
grammar was loaded but the Ruby grammar had not been. This occurred
because a rule was continually pushing itself on the stack but never
advancing.

Now if the position does not advance and the last two rules in the
stack have the same scope the last rule is popped and the entire line
is tokenized with the current scopes.

Closes #524 #486
2013-04-29 12:10:40 -07:00
Corey Johnson fe219ed159 💄 2013-04-29 12:10:40 -07:00
probablycorey 6ee24cc50e 💄 2013-04-29 12:10:40 -07:00
Kevin Sawicki 5a84814e27 Undasherize the namespace when no event exists
This would present the new-window event as "New Window"
instead of "New-window".
2013-04-29 10:49:31 -07:00
Kevin Sawicki 994138c7a6 Mention meta-N command 2013-04-29 10:29:46 -07:00
Kevin Sawicki df6809e705 Bind meta-N to open a new untitled editor 2013-04-29 10:27:39 -07:00
Kevin Sawicki 71aa9802d5 Move default keys from keymap.coffee to atom.cson 2013-04-29 10:11:21 -07:00
Kevin Sawicki 8b98a7793d Include Java grammar in fenced code blocks 2013-04-28 06:50:03 -07:00
Kevin Sawicki b4cbffd978 Wait for execute promise to prevent leaking subscriptions 2013-04-27 07:58:56 -07:00
Kevin Sawicki 53dde09523 Mark config panels as internal
The doc spec was failing since these classes were added with
no docs and weren't marked as internal so the coverage dropped
below 80%.
2013-04-27 07:40:06 -07:00
Kevin Sawicki 8af73449fe Set no max width on img elements in image view 2013-04-27 07:21:23 -07:00
Kevin Sawicki d2b513bd5e Bind meta-_ to zoom out in image view 2013-04-27 07:19:34 -07:00
Kevin Sawicki c54766a08a Don't show indent guide in mini editor 2013-04-26 17:31:54 -07:00
probablycorey 8a7aa8083c Add show inded guide 2013-04-26 15:36:58 -07:00
probablycorey d1a26b9f81 Style editors like input fields 2013-04-26 15:36:58 -07:00
probablycorey 655fec2f18 Redraw editors when panel appears
If not done, the editors have zero height.
2013-04-26 15:36:58 -07:00
probablycorey 2d5bb8bd8b Move open .atom button to config menu 2013-04-26 15:36:58 -07:00
probablycorey bd7542cb0a Use mini-editors instead of inputs 2013-04-26 15:36:58 -07:00
probablycorey f06c9a5bc8 Don't respond to observe events when the editor value doesn't change 2013-04-26 15:36:58 -07:00
probablycorey 9f85ba4f7d Empty editors trigger config to delete the associated config key 2013-04-26 15:36:58 -07:00
Corey Johnson & Nathan Sobo b878be27a0 Revert to default font when setFontFamily is set to null/undefined 2013-04-26 15:36:58 -07:00
Corey Johnson & Nathan Sobo 1b98bf706e Setting value to null/undefined removes key from config 2013-04-26 15:36:58 -07:00
Corey Johnson & Nathan Sobo c923b561e2 💄 2013-04-26 15:36:57 -07:00
probablycorey e72e1c9c56 Remove log 2013-04-26 15:36:57 -07:00
probablycorey ecad6bc2a8 Don't allow float or int Editor's to have NaN as a value 2013-04-26 15:36:57 -07:00
probablycorey cedea831f7 Config panel handles binding for Editors 2013-04-26 15:36:57 -07:00
probablycorey 1b4fbdb065 Allow html attributes to be applied to Editors 2013-04-26 15:36:57 -07:00
Corey Johnson & Nathan Sobo c5cd39308d Add "open .atom" button to general config view 2013-04-26 15:36:57 -07:00
Nathan Sobo 083e6f26bd Style the general config panel w/ bootstrap 2013-04-26 15:36:57 -07:00
Nathan Sobo 15f95cb2a3 Add some explanatory text about cascading themes 2013-04-26 15:36:57 -07:00
Nathan Sobo b6d1f37249 Make theme name text non-selectable 2013-04-26 15:36:14 -07:00
Nathan Sobo 232978ea9d Themes can be disabled by clicking their 'x' icon in the enabled list 2013-04-26 15:36:14 -07:00
Nathan Sobo 5afe0a758c Allow stylesheets with ' characters in their filename 2013-04-26 15:36:14 -07:00
Nathan Sobo d3fa5b0f85 🙊 2013-04-26 15:36:13 -07:00
Nathan Sobo ad0bcc3851 Update enabled themes list when config key is updated 2013-04-26 15:36:13 -07:00
Nathan Sobo b110f430ee Update 'config.themes' config key when enabled themes list is sorted 2013-04-26 15:36:13 -07:00
Nathan Sobo 7993e3ab39 WIP: don't allow duplicates to be dragged 2013-04-26 15:36:13 -07:00
Nathan Sobo 540c543984 Add a styled but non-functional themes config panel 2013-04-26 15:36:13 -07:00
Nathan Sobo af02d9f0fd Use config defaults to default themes to atom-dark-* 2013-04-26 15:36:13 -07:00
Nathan Sobo 36d0b2c735 No need for jQuery UI in package config panel 2013-04-26 15:36:13 -07:00
Nathan Sobo 7518864938 Set initial size of config window to 800x600 2013-04-26 15:36:13 -07:00
Nathan Sobo 2d00d3e07e Import variables.less into config.less so it can be compiled alone
We try to compile all stylesheets across the board, but now many of
our stylesheets are imported into a master `atom.less` stylesheet. The
config stylesheet would compile fine when included from `atom.less`,
but alone it fails because it doesn't have the variables. We should
probably only try to pre-compile stylesheets we intend to require
directly… using a manifest maybe?
2013-04-26 15:36:13 -07:00
Nathan Sobo 0d520e9930 Add a package config panel with the list of enabled packages 2013-04-26 15:36:13 -07:00
Nathan Sobo b70ff1b164 Don't assign window.jQuery in jasmine-jquery.js helper
I wrap it in a function wrapper to ensure that the assignment
`var jQuery` doesn't end up assigning a window global.
2013-04-26 15:36:13 -07:00
Nathan Sobo ba6d3a1124 Use bootstrap to style editor config panel 2013-04-26 15:36:13 -07:00
Nathan Sobo ac65e288df Pull config stylesheet into atom.less 2013-04-26 15:36:12 -07:00
Nathan Sobo c5e34c60f8 Don't explode if 'core.themes' config key is undefined 2013-04-26 15:36:12 -07:00
Nathan Sobo 5a291e8188 Use bootstrap stacked nav-pills for panels menu in config window 2013-04-26 15:36:12 -07:00
Nathan Sobo ab5156c5e3 Clear out some styling cruft that will be replaced by bootstrap stuff 2013-04-26 15:36:12 -07:00
Nathan Sobo 360a3076a8 Fix jqueryui-browser npm version 2013-04-26 15:36:12 -07:00
Nathan Sobo 0af9564d1a Styling 💄 2013-04-26 15:36:12 -07:00
Nathan Sobo 21f83ea938 Add 'x' icon to enabled themes list 2013-04-26 15:36:12 -07:00
Nathan Sobo 81c1769770 Allow available themes to be dragged to sortable 'enabled themes' list
Still not doing anything with the sort update events.
2013-04-26 15:36:12 -07:00
Nathan Sobo 0620d19f26 Require jquery-ui-sortable and -draggable in the general config panel.
This commit has a hack to make window.jQuery available during the
duration of the requiring of jquery-ui. Once we're done requiring
jQuery, the global is removed from window once again.

Issue #494 has an alternative idea of enhancing require to allow the
requiring script to specify the value of global variables in the script
being required.
2013-04-26 15:36:12 -07:00
Nathan Sobo 46acb6da2c Style themes and packages lists 2013-04-26 15:36:12 -07:00
Nathan Sobo e8a66ded01 🙊 2013-04-26 15:36:12 -07:00
Nathan Sobo c90579956f Un-f 2013-04-26 15:36:11 -07:00
Nathan Sobo d857cc7d77 List available themes in general config panel 2013-04-26 15:36:11 -07:00
Nathan Sobo 495230435f Allow packages to be enabled / disabled from general config panel 2013-04-26 15:36:11 -07:00
Nathan Sobo 707ed3c51a Make config panels to scroll vertically if needed 2013-04-26 15:36:11 -07:00
Nathan Sobo 027bada7d5 Add editor.nonWordCharacters to editor config panel 2013-04-26 15:36:11 -07:00
Nathan Sobo 58add85f09 Add editor.showLineNumbers option 2013-04-26 15:36:11 -07:00
Nathan Sobo 7359101bac Add core.hideGitIgnoredFiles option 2013-04-26 15:36:11 -07:00
Nathan Sobo 4e787ceb43 Fix typo 2013-04-26 15:36:11 -07:00
Nathan Sobo ff76911e4c Move autosave to general config panel 2013-04-26 15:36:11 -07:00
Nathan Sobo f0cddf9f32 Serialize the state of the config window on refresh 2013-04-26 15:36:11 -07:00
Nathan Sobo c32c894d23 Add more editor config properties 2013-04-26 15:34:48 -07:00
Nathan Sobo 422d89a7ed Handle checkbox fields in config panel 2013-04-26 15:34:48 -07:00
Nathan Sobo 5e0dd80366 Remove overkill assertions 2013-04-26 15:34:48 -07:00
Nathan Sobo bfbdfb46a8 Use id instead of name for config key path 2013-04-26 15:32:48 -07:00
Nathan Sobo 91e3fbd2d8 Allow native event handling for non-editor input elements
This allows arrow keys, tab, etc. to work properly inside input
elements.
2013-04-26 15:32:48 -07:00
Nathan Sobo 6c640133f1 Add 'native!' keymap override to let the browser handle the keystroke
This allows us to selectively opt out of handling key events with the
keymap for certain elements. In particular, it will be useful for
allowing the standard native behavior in input elements by overriding
global bindings for arrow keys, backspace, etc.
2013-04-26 15:32:47 -07:00
Nathan Sobo bb287cb465 Add ConfigPanel superclass that can bind fields to config values
When you give a config field a `name` attribute based on a config key
path, such as 'editor.fontSize', it is automatically kept in sync with
the config value. You can also specify a `type` attribute of 'int' or
'float' to automatically convert the field value to a numeric type.
Specifying a type of 'string' is optional to signal no conversion.
2013-04-26 15:32:47 -07:00
Nathan Sobo 252159afcf Add super basic styling to config view and 2 non-functional panels 2013-04-26 15:32:47 -07:00
Nathan Sobo 6c43fd5c9d Set up dev tools event handler when binding default keys 2013-04-26 15:32:47 -07:00
Nathan Sobo 2f60ffcfce Add ability to add panels to the config view 2013-04-26 15:32:47 -07:00
Nathan Sobo 8980a97895 Add atom.activatePackageConfig, which is called in config windows
This calls an optional `activateConfig` method on the package's main
module, which allows it to add a configuration interface to the
`configView`.
2013-04-26 15:32:47 -07:00
Nathan Sobo 160b80b47f Open a custom config window on 'open-user-configuration' event 2013-04-26 15:32:47 -07:00
Nathan Sobo df064ddd21 Use isDevMode method to determine whether to use bundle resource path 2013-04-26 15:32:46 -07:00
Nathan Sobo 9d2d3d5c00 Rename window methods to distinguish editor window from config window 2013-04-26 15:32:46 -07:00
Nathan Sobo f62e81bca8 Add config.observeUserConfig 2013-04-26 15:32:46 -07:00
Nathan Sobo ab1b90804e Add specs for successful calls to .loadUserConfig 2013-04-26 15:31:18 -07:00
Nathan Sobo 9fe264ded4 💄 2013-04-26 15:31:18 -07:00
Corey Johnson & Kevin Sawicki 0e3f9297fb Only pass instances of EditSession to CommandInterpreter 2013-04-26 14:54:15 -07:00
Garen Torikian 7fdfd71382 💄 2013-04-26 14:45:18 -07:00
Garen Torikian bb40ad6177 💄 all the things 2013-04-26 13:49:12 -07:00
Kevin Sawicki e3295059a0 Mention bug fixes and new features 2013-04-26 09:53:17 -07:00
Kevin Sawicki 4940439f4b Include ruby grammar for fenced ruby blocks 2013-04-26 08:58:43 -07:00
Kevin Sawicki dccd5ec8ba Include XML grammar for fenced XML blocks 2013-04-26 08:56:13 -07:00
Kevin Sawicki 0ca1204b89 Use standard headings in command logger
Now that we have bootstrap we no longer need these
tweaks to headings.
2013-04-25 18:44:25 -07:00
Kevin Sawicki c8d76edea1 Always return created view 2013-04-25 18:44:25 -07:00
Kevin Sawicki 1d9aa7c5e1 Use relative require path 2013-04-25 18:44:25 -07:00
Nathan Sobo 3a05731f2d Eliminate EditSession references from tokenized-buffer-spec 2013-04-25 17:16:51 -06:00
Nathan Sobo 9c7ff78fc8 Move language-specific integration tests to text-mate-grammar-spec 2013-04-25 17:15:27 -06:00
Nathan Sobo 89fe8e1628 Add TextMateGrammar.tokenizeLines convenience method
It can be used in specs to test parsing. It takes a block of text,
splits it into lines, and then tokenizes them, returning an array
of token arrays, one for each line.
2013-04-25 17:15:27 -06:00
Nathan Sobo 7e0ac1db9c Default TokenizedBuffer options hash to {} 2013-04-25 17:15:27 -06:00
Kevin Sawicki 20073c9d34 Upgrade to git-utils 0.15 2013-04-25 15:39:22 -07:00
Nathan Sobo 4fdc9fba63 Eliminate EditSession dependencies in DisplayBuffer spec 2013-04-25 16:18:39 -06:00
Nathan Sobo 0d78098dbf Make TokenizedBuffer select its own grammar, not LanguageMode
This is part of an effort to disentangle LanguageMode, DisplayBuffer,
and TokenizedBuffer. It should be easy to create a DisplayBuffer
without creating an EditSession… let's get the dependencies flowing
in a single direction.
2013-04-25 15:13:00 -06:00
Nathan Sobo ee31114b32 💄 whitespace 2013-04-25 14:06:53 -06:00
Nathan Sobo 0f623b3d08 Move structural folding logic to LanguageMode
DisplayBuffer should just focus on providing basic support for folding.
Scanning the structure of the code, looking at scopes, etc is more the
domain of the LanguageMode object.
2013-04-25 14:06:53 -06:00
Nathan Sobo 1ac55413d9 Define class properties with :, not = 2013-04-25 14:06:53 -06:00
Nathan Sobo 60f945aafd Move structural folding specs to edit-session-spec
Structural folding should really be handled at the edit session level
so that the DisplayBuffer doesn't need access to the LanguageMode. It
should only be concerned with the raw ability to create folds.
2013-04-25 14:06:53 -06:00
Nathan Sobo ca3b0c97da 💄 getter renames 2013-04-25 14:06:52 -06:00
Kevin Sawicki c50b7fd99e 💄 2013-04-25 11:27:59 -07:00
882 arquivos alterados com 31741 adições e 71075 exclusões
+8
Ver Arquivo
@@ -0,0 +1,8 @@
# Specs depend on character counts, if we don't specify the line endings the
# fixtures will vary depending on platform
spec/fixtures/**/*.js text eol=lf
spec/fixtures/**/*.coffee text eol=lf
spec/fixtures/**/*.less text eol=lf
spec/fixtures/**/*.css text eol=lf
spec/fixtures/**/*.txt text eol=lf
spec/fixtures/dir/**/* text eol=lf
-2
Ver Arquivo
@@ -1,2 +0,0 @@
[docs]
title = The Guide to Atom
+6 -8
Ver Arquivo
@@ -3,13 +3,11 @@
.project
.svn
.nvm-version
atom.xcodeproj
build
.xcodebuild-info
node_modules
npm-debug.log
tags
/cef/
/sources.gypi
/node/
docs/api
debug.log
/tags
/atom-shell/
docs/output
spec/fixtures/evil-files/
/apm
+3 -90
Ver Arquivo
@@ -1,90 +1,3 @@
[submodule "vendor/packages/text.tmbundle"]
path = vendor/packages/text.tmbundle
url = https://github.com/textmate/text.tmbundle.git
[submodule "vendor/packages/css.tmbundle"]
path = vendor/packages/css.tmbundle
url = https://github.com/textmate/css.tmbundle.git
[submodule "vendor/packages/html.tmbundle"]
path = vendor/packages/html.tmbundle
url = https://github.com/textmate/html.tmbundle.git
[submodule "vendor/packages/javascript.tmbundle"]
path = vendor/packages/javascript.tmbundle
url = https://github.com/textmate/javascript.tmbundle.git
[submodule "vendor/packages/ruby-on-rails-tmbundle"]
path = vendor/packages/ruby-on-rails-tmbundle
url = https://github.com/drnic/ruby-on-rails-tmbundle.git
[submodule "vendor/packages/ruby.tmbundle"]
path = vendor/packages/ruby.tmbundle
url = https://github.com/textmate/ruby.tmbundle.git
[submodule "vendor/packages/coffee-script-tmbundle"]
path = vendor/packages/coffee-script-tmbundle
url = https://github.com/kevinsawicki/coffee-script-tmbundle.git
[submodule "vendor/packages/puppet-textmate.tmbundle"]
path = vendor/packages/puppet-textmate.tmbundle
url = https://github.com/cburyta/puppet-textmate.tmbundle.git
[submodule "vendor/packages/c.tmbundle"]
path = vendor/packages/c.tmbundle
url = https://github.com/textmate/c.tmbundle.git
[submodule "vendor/packages/objective-c.tmbundle"]
path = vendor/packages/objective-c.tmbundle
url = https://github.com/textmate/objective-c.tmbundle.git
[submodule "vendor/packages/git.tmbundle"]
path = vendor/packages/git.tmbundle
url = https://github.com/kevinsawicki/git.tmbundle.git
[submodule "vendor/packages/json.tmbundle"]
path = vendor/packages/json.tmbundle
url = https://github.com/textmate/json.tmbundle.git
[submodule "vendor/packages/shellscript.tmbundle"]
path = vendor/packages/shellscript.tmbundle
url = https://github.com/textmate/shellscript.tmbundle
[submodule "vendor/packages/xml.tmbundle"]
path = vendor/packages/xml.tmbundle
url = https://github.com/textmate/xml.tmbundle.git
[submodule "vendor/packages/property-list.tmbundle"]
path = vendor/packages/property-list.tmbundle
url = https://github.com/textmate/property-list.tmbundle.git
[submodule "vendor/packages/python.tmbundle"]
path = vendor/packages/python.tmbundle
url = https://github.com/textmate/python.tmbundle
[submodule "vendor/packages/clojure.tmbundle"]
path = vendor/packages/clojure.tmbundle
url = https://github.com/mmcgrana/textmate-clojure
[submodule "prebuilt-cef"]
path = prebuilt-cef
url = https://github.com/github/prebuilt-cef
[submodule "vendor/packages/yaml.tmbundle"]
path = vendor/packages/yaml.tmbundle
url = https://github.com/textmate/yaml.tmbundle.git
[submodule "vendor/packages/java.tmbundle"]
path = vendor/packages/java.tmbundle
url = https://github.com/textmate/java.tmbundle.git
[submodule "vendor/packages/php.tmbundle"]
path = vendor/packages/php.tmbundle
url = https://github.com/textmate/php.tmbundle.git
[submodule "vendor/packages/perl.tmbundle"]
path = vendor/packages/perl.tmbundle
url = https://github.com/textmate/perl.tmbundle.git
[submodule "vendor/packages/sass.tmbundle"]
path = vendor/packages/sass.tmbundle
url = https://github.com/alexsancho/SASS.tmbundle.git
[submodule "vendor/packages/less.tmbundle"]
path = vendor/packages/less.tmbundle
url = https://github.com/mathewbyrne/less.tmbundle.git
[submodule "vendor/packages/mustache.tmbundle"]
path = vendor/packages/mustache.tmbundle
url = https://github.com/kevinsawicki/Mustache.tmbundle.git
[submodule "vendor/packages/go.tmbundle"]
path = vendor/packages/go.tmbundle
url = https://github.com/rsms/Go.tmbundle
[submodule "vendor/bootstrap"]
path = vendor/bootstrap
url = https://github.com/twitter/bootstrap
[submodule "vendor/packages/pegjs.tmbundle"]
path = vendor/packages/pegjs.tmbundle
url = https://github.com/alexstrat/PEGjs.tmbundle
[submodule "vendor/packages/sql.tmbundle"]
path = vendor/packages/sql.tmbundle
url = https://github.com/textmate/sql.tmbundle
[submodule "vendor/packages/hyperlink-helper.tmbundle"]
path = vendor/packages/hyperlink-helper.tmbundle
url = https://github.com/textmate/hyperlink-helper.tmbundle
[submodule "vendor/apm"]
path = vendor/apm
url = https://github.com/atom/apm.git
-4
Ver Arquivo
@@ -1,4 +0,0 @@
tags
node_modules
vendor/packages
.git
+5 -1
Ver Arquivo
@@ -6,7 +6,11 @@ pairs:
jc: Jerry Cheung; jerry
bl: Brian Lopez; brian
jp: Justin Palmer; justin
gt: Garen Torikian; garen
mc: Matt Colyer; mcolyer
bo: Ben Ogle; benogle
jr: Jason Rudolph; jasonrudolph
jl: Jessica Lord; jlord
email:
domain: github.com
#global: true
-8
Ver Arquivo
@@ -1,8 +0,0 @@
* Fixed: Invisible characters not being visible when enabled
* Added: Editor gutter now displays Git status for lines
* Improved: Startup time
* Added: SQL bundle now included
* Added: PEG.js bundle now included
* Added: Hyperlinks can now be opened with ctrl-O
* Fixed: PHP syntax highlighting
+55 -15
Ver Arquivo
@@ -1,23 +1,63 @@
# :rotating_light: Contributing to Atom :rotating_light:
# :tada: Contributing to Atom :tada:
These are just guidelines, not rules, use your best judgement and feel free
to propose changes to this document in a pull request.
## Issues
* Include screenshots and animated GIFs whenever possible, they are immensely
helpful
helpful.
* Include the behavior you expected to happen and other places you've seen
that behavior such as Emacs, vi, Xcode, etc.
* Check the Console app for stack traces to include if reporting a crash
* Check the Dev tools (`alt-cmd-i`) for errors and stack traces to include
* Check the Console app for stack traces to include if reporting a crash.
* Check the Dev tools (`alt-cmd-i`) for errors and stack traces to include.
### Package Repositories
## Code
* Follow the [JavaScript](https://github.com/styleguide/javascript),
[CSS](https://github.com/styleguide/css),
and [Objective-C](https://github.com/github/objective-c-conventions)
styleguides
This is the repository for the core Atom editor only. Atom comes bundled with
many packages and themes that are stored in other repos under the
[atom org](https://github.com/atom) such as [tabs](https://github.com/atom/tabs),
[find-and-replace](https://github.com/atom/find-and-replace),
[language-javascript](https://github.com/atom/language-javascript),
and [atom-light-ui](http://github.com/atom/atom-light-ui).
If you think you know which package is causing the issue you are reporting, feel
free to open up the issue in that specific repository instead. When in doubt
just open the issue here but be aware that it may get closed here and reopened
in the proper package's repository.
## Pull Requests
* Include screenshots and animated GIFs whenever possible.
* Follow the [CoffeeScript](#coffeescript-styleguide),
[JavaScript](https://github.com/styleguide/javascript),
and [CSS](https://github.com/styleguide/css) styleguides
* Include thoughtfully worded [Jasmine](http://pivotal.github.com/jasmine/)
specs
* Style new elements in both the light and dark default themes when
appropriate
* New packages go in `src/packages/`
* Add 3rd-party packages by submoduling in `vendor/packages/`
* Commit messages are in the present tense
* Files end with a newline
* Avoid placing files in `vendor`. 3rd-party packages should be added as a
`package.json` dependency.
* Files end with a newline.
* Requires should be in the following order:
* Built in Node Modules (such as `path`)
* Built in Atom and Atom Shell Modules (such as `atom`, `shell`)
* Local Modules (using relative paths)
* Class variables and methods should be in the following order:
* Class methods (methods starting with a `@`)
* Instance methods
* Beware of platform differences
* Use `require('atom').fs.getHomeDirectory()` to get the home directory.
* Use `path.join()` to concatenate filenames.
* Temporary directory is not `/tmp` on Windows, use `os.tmpdir()` when
possible
## Git Commit Messages
* Use the present tense
* Reference issues and pull requests liberally
* Consider starting the commit message with an applicable emoji:
* :lipstick: when improving the format/structure of the code
* :racehorse: when improving performance
* :non-potable_water: when plugging memory leaks
* :memo: when writing docs
## CoffeeScript Styleguide
* Set parameter defaults without spaces around the equal sign
* `clear = (count=1) ->` instead of `clear = (count = 1) ->`
+13
Ver Arquivo
@@ -0,0 +1,13 @@
Copyright 2013 GitHub Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+9 -11
Ver Arquivo
@@ -1,19 +1,17 @@
# Atom — Futuristic Text Editing
# Atom — The hackable, ~~collaborative~~ editor
![atom](https://f.cloud.github.com/assets/1300064/208230/4cefbca4-821a-11e2-8139-92c0328abf68.png)
![Atom](http://i.imgur.com/OrTvUAD.png)
Check out our [documentation on the docs tab](https://github.com/github/atom/docs).
Check out our [guides and API documentation](https://www.atom.io/docs/latest/).
## Building from source
## Installing
### Requirements
Download the latest [Atom release](https://github.com/atom/atom/releases/latest).
* Mountain Lion
* The Setup™ or Boxen
* Xcode (available in the App Store)
Atom will automatically update when a new release is available.
### Installation
## Building
1. `gh-setup atom`
Follow the instructions in the [build docs][building].
2. `cd ~/github/atom && rake install`
[building]: https://github.com/atom/atom/blob/master/docs/building-atom.md
-149
Ver Arquivo
@@ -1,149 +0,0 @@
ATOM_SRC_PATH = File.dirname(__FILE__)
BUILD_DIR = '/tmp/atom-build'
desc "Build Atom via `xcodebuild`"
task :build => "create-xcode-project" do
command = "xcodebuild -target Atom SYMROOT=#{BUILD_DIR}"
output = `#{command}`
if $?.exitstatus != 0
$stderr.puts "Error #{$?.exitstatus}:\n#{output}"
exit($?.exitstatus)
end
end
desc "Create xcode project from gyp file"
task "create-xcode-project" => ["update-cef", "update-node"] do
`rm -rf atom.xcodeproj`
`script/generate-sources-gypi`
version = %{-D version="#{ENV['VERSION']}"} if ENV['VERSION']
code_sign = %{-D code_sign="#{ENV['CODE_SIGN']}"} if ENV['CODE_SIGN']
`gyp --depth=. #{code_sign} #{version} atom.gyp`
end
desc "Update CEF to the latest version specified by the prebuilt-cef submodule"
task "update-cef" => "bootstrap" do
exit 1 unless system %{script/update-cefode}
Dir.glob('cef/*.gypi').each do |filename|
`sed -i '' -e "s/'include\\//'cef\\/include\\//" -e "s/'libcef_dll\\//'cef\\/libcef_dll\\//" #{filename}`
end
end
desc "Download node binary"
task "update-node" do
`script/update-node v0.10.3`
end
desc "Download debug symbols for CEF"
task "download-cef-symbols" => "update-cef" do
sh %{script/update-cefode -s}
end
task "bootstrap" do
`script/bootstrap`
end
desc "Copies Atom.app to /Applications and creates `atom` cli app"
task :install => [:build] do
path = application_path()
exit 1 if not path
# Install Atom.app
dest_path = "/Applications/#{File.basename(path)}"
`rm -rf #{dest_path}`
`cp -a #{path} #{File.expand_path(dest_path)}`
# Install atom cli
if File.directory?("/opt/boxen")
cli_path = "/opt/boxen/bin/atom"
elsif File.directory?("/opt/github")
cli_path = "/opt/github/bin/atom"
elsif File.directory?("/usr/local")
cli_path = "/usr/local/bin/atom"
else
raise "Missing directory for `atom` binary"
end
FileUtils.cp("#{ATOM_SRC_PATH}/atom.sh", cli_path)
FileUtils.chmod(0755, cli_path)
Rake::Task["clone-default-bundles"].invoke()
puts "\033[32mAtom is installed at `#{dest_path}`. Atom cli is installed at `#{cli_path}`\033[0m"
end
task "setup-codesigning" do
ENV['CODE_SIGN'] = "Developer ID Application: GitHub"
end
desc "Clone default bundles into vendor/bundles directory"
task "clone-default-bundles" do
`git submodule --quiet sync`
`git submodule --quiet update --recursive --init`
end
desc "Clean build Atom via `xcodebuild`"
task :clean do
output = `xcodebuild clean`
`rm -rf #{application_path()}`
`rm -rf #{BUILD_DIR}`
`rm -rf /tmp/atom-coffee-cache`
`rm -rf node_modules`
`rm -rf cef`
end
desc "Run the specs"
task :test => ["update-cef", "clone-default-bundles", "build"] do
`pkill Atom`
if path = application_path()
cmd = "#{path}/Contents/MacOS/Atom --test --resource-path=#{ATOM_SRC_PATH}"
system(cmd)
exit($?.exitstatus)
else
exit(1)
end
end
desc "Run the benchmarks"
task :benchmark do
Rake::Task["run"].invoke("--benchmark")
end
task :nof do
system %{find . -name *spec.coffee | grep --invert-match --regexp "#{BUILD_DIR}\\|__package-name__" | xargs sed -E -i "" "s/f+(it|describe) +(['\\"])/\\1 \\2/g"}
end
task :tags do
system %{find src native cef vendor -not -name "*spec.coffee" -type f -print0 | xargs -0 ctags}
end
namespace :docs do
namespace :app do
desc "Builds the API docs in src/app"
task :build do
system %{./node_modules/coffee-script/bin/coffee ./node_modules/biscotto/bin/biscotto -- -o docs/api src/app/}
end
desc "Lists the stats for API doc coverage in src/app"
task :stats do
system %{./node_modules/coffee-script/bin/coffee ./node_modules/biscotto/bin/biscotto -- --statsOnly src/app/}
end
desc "Show which docs are missing"
task :missing do
system %{./node_modules/coffee-script/bin/coffee ./node_modules/biscotto/bin/biscotto -- --listMissing src/app/}
end
end
end
def application_path
applications = FileList["#{BUILD_DIR}/**/Atom.app"]
if applications.size == 0
$stderr.puts "No Atom application found in directory `#{BUILD_DIR}`"
elsif applications.size > 1
$stderr.puts "Multiple Atom applications found \n\t" + applications.join("\n\t")
else
return applications.first
end
return nil
end
-426
Ver Arquivo
@@ -1,426 +0,0 @@
{
'variables': {
'pkg-config': 'pkg-config',
'chromium_code': 1,
'version%': "<!(git rev-parse --short HEAD)",
'code_sign%': 0,
'use_aura%': 0,
'conditions': [
['OS=="win"', {
'os_posix': 0,
}, {
'os_posix': 1,
}],
# Set toolkit_uses_gtk for the Chromium browser on Linux.
['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and use_aura==0', {
'toolkit_uses_gtk%': 1,
}, {
'toolkit_uses_gtk%': 0,
}],
],
'fix_framework_link_command': [
'install_name_tool',
'-change',
'@executable_path/libcef.dylib',
'@rpath/Chromium Embedded Framework.framework/Libraries/libcef.dylib',
'-change',
'@loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle',
'@rpath/Sparkle.framework/Versions/A/Sparkle',
'-change',
'@executable_path/../Frameworks/Quincy.framework/Versions/A/Quincy',
'@rpath/Quincy.framework/Versions/A/Quincy',
'${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
],
},
'includes': [
'cef/cef_paths2.gypi',
'sources.gypi',
],
'target_defaults': {
'default_configuration': 'Release',
'configurations': {
'Debug': {
'defines': ['DEBUG=1'],
'xcode_settings': { 'GCC_OPTIMIZATION_LEVEL' : '0' },
},
'Release': {
},
},
'xcode_settings': {
'VERSION': "<(version)",
'CLANG_CXX_LANGUAGE_STANDARD' : 'c++0x',
'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
'COMBINE_HIDPI_IMAGES': 'YES', # Removes 'Validate Project Settings' warning
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES' # Removes 'Reference to global weak symbol vtable' warning
},
},
'targets': [
{
'target_name': 'Atom',
'type': 'executable',
'mac_bundle': 1,
'msvs_guid': 'D22C6F51-AA2D-457C-B579-6C97A96C724D',
'dependencies': [
'atom_framework',
],
'mac_framework_dirs': [ 'native/frameworks' ],
'sources': [
'native/main.cpp',
],
'mac_bundle_resources': [
'native/mac/atom.icns',
'native/mac/file.icns',
'native/mac/speakeasy.pem',
],
'xcode_settings': {
'INFOPLIST_FILE': 'native/mac/Atom-Info.plist',
'LD_RUNPATH_SEARCH_PATHS': '@executable_path/../Frameworks',
},
'conditions': [
['code_sign' , {
'xcode_settings': {'CODE_SIGN_IDENTITY': "<(code_sign)"},
}],
['OS=="win" and win_use_allocator_shim==1', {
'dependencies': [
'<(DEPTH)/base/allocator/allocator.gyp:allocator',
],
}],
['OS=="win"', {
'configurations': {
'Debug_Base': {
'msvs_settings': {
'VCLinkerTool': {
'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
},
},
},
},
'msvs_settings': {
'VCLinkerTool': {
# Set /SUBSYSTEM:WINDOWS.
'SubSystem': '2',
'EntryPointSymbol' : 'wWinMainCRTStartup',
},
},
'link_settings': {
'libraries': [
'-lcomctl32.lib',
'-lshlwapi.lib',
'-lrpcrt4.lib',
],
},
'sources': [
'<@(includes_win)',
],
}],
['OS == "win" or (toolkit_uses_gtk == 1 and selinux == 0)', {
'dependencies': [
'<(DEPTH)/sandbox/sandbox.gyp:sandbox',
],
}],
['toolkit_uses_gtk == 1', {
'dependencies': [
'<(DEPTH)/build/linux/system.gyp:gtk',
],
}],
[ 'OS=="mac"', {
'product_name': 'Atom',
'dependencies': [
'AtomHelperApp',
],
'copies': [
{
'destination': '<(PRODUCT_DIR)/Atom.app/Contents/Frameworks/Chromium Embedded Framework.framework/Libraries/',
'files': [
'cef/Release/libcef.dylib',
'cef/Release/ffmpegsumo.so',
],
},
{
'destination': '<(PRODUCT_DIR)/Atom.app/Contents/Frameworks',
'files': [
'<(PRODUCT_DIR)/Atom Helper.app',
'<(PRODUCT_DIR)/Atom.framework',
'native/frameworks/Sparkle.framework',
'native/frameworks/Quincy.framework'
],
},
{
'destination': '<(PRODUCT_DIR)/Atom.app/Contents/Frameworks/Chromium Embedded Framework.framework',
'files': [
'cef/Resources',
],
},
{
# Copy node binary for worker process support.
'destination': '<(PRODUCT_DIR)/Atom.app/Contents/Resources',
'files': [
'node/node',
],
},
],
'postbuilds': [
{
'postbuild_name': 'Fix Framework Link',
'action': [
'<@(fix_framework_link_command)',
],
},
{
# This postbuid step is responsible for creating the following
# helpers:
#
# Atom Helper EH.app and Atom Helper NP.app are created
# from Atom Helper.app.
#
# The EH helper is marked for an executable heap. The NP helper
# is marked for no PIE (ASLR).
'postbuild_name': 'Make More Helpers',
'action': [
'script/make_more_helpers.sh',
'Frameworks',
'Atom',
],
},
{
'postbuild_name': 'Print env for Constructicon',
'action': [
'env',
],
},
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
],
},
'sources': [
'cef/include/cef_application_mac.h',
'cef/include/internal/cef_mac.h',
'cef/include/internal/cef_types_mac.h',
],
}],
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
'sources': [
'<@(includes_linux)',
],
'copies': [
{
'destination': '<(PRODUCT_DIR)/files',
'files': [
'<@(cefclient_bundle_resources_linux)',
],
},
],
}],
],
},
{
'target_name': 'atom_framework',
'product_name': 'Atom',
'type': 'shared_library',
'mac_bundle': 1,
'dependencies': [
'generated_sources',
'libcef_dll_wrapper',
],
'defines': [
'USING_CEF_SHARED',
],
'xcode_settings': {
'INFOPLIST_FILE': 'native/mac/framework-info.plist',
'LD_DYLIB_INSTALL_NAME': '@rpath/Atom.framework/Atom',
},
'include_dirs': [ '.', 'cef' ],
'mac_framework_dirs': [ 'native/frameworks' ],
'sources': [
'<@(includes_common)',
'<@(includes_wrapper)',
'native/atom_application.h',
'native/atom_application.mm',
'native/atom_cef_app.h',
'native/atom_cef_app.h',
'native/atom_cef_client.cpp',
'native/atom_cef_client.h',
'native/atom_cef_client_mac.mm',
'native/atom_cef_render_process_handler.h',
'native/atom_cef_render_process_handler.mm',
'native/atom_window_controller.h',
'native/atom_window_controller.mm',
'native/atom_main.h',
'native/atom_main_mac.mm',
'native/message_translation.cpp',
'native/message_translation.cpp',
'native/message_translation.h',
'native/message_translation.h',
'native/v8_extensions/atom.h',
'native/v8_extensions/atom.mm',
'native/v8_extensions/native.h',
'native/v8_extensions/native.mm',
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
'native/frameworks/Sparkle.framework',
'native/frameworks/Quincy.framework',
],
},
'mac_bundle_resources': [
'native/mac/English.lproj/AtomWindow.xib',
'native/mac/English.lproj/MainMenu.xib',
],
'conditions': [
['code_sign', {
'defines': [
'CODE_SIGNING_ENABLED=1',
],
}],
],
'postbuilds': [
{
'postbuild_name': 'Copy Static Files',
'action': [
'script/copy-files-to-bundle',
'<(compiled_sources_dir_xcode)',
],
},
{
'postbuild_name': 'Fix Framework Link',
'action': [
'<@(fix_framework_link_command)',
],
},
],
},
{
'target_name': 'libcef_dll_wrapper',
'type': 'static_library',
'msvs_guid': 'A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9',
'dependencies': [
],
'defines': [
'USING_CEF_SHARED',
],
'include_dirs': [ '.', 'cef' ],
'sources': [
'<@(includes_common)',
'<@(includes_capi)',
'<@(includes_wrapper)',
'<@(libcef_dll_wrapper_sources_common)',
],
'link_settings': {
'libraries': [
'cef/Release/libcef.dylib',
],
}
},
{
'target_name': 'generated_sources',
'type': 'none',
'sources': [
'<@(coffee_sources)',
'<@(cson_sources)',
'<@(less_sources)'
],
'rules': [
{
'rule_name': 'coffee',
'extension': 'coffee',
'inputs': [
'script/compile-coffee',
],
'outputs': [
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
],
'action': [
'sh',
'script/compile-coffee',
'<(RULE_INPUT_PATH)',
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
],
},
{
'rule_name': 'cson2json',
'extension': 'cson',
'inputs': [
'script/compile-cson',
],
'outputs': [
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).json',
],
'action': [
'sh',
'script/compile-cson',
'<(RULE_INPUT_PATH)',
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).json',
],
},
{
'rule_name': 'less',
'extension': 'less',
'inputs': [
'script/compile-less',
],
'outputs': [
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).css',
],
'action': [
'sh',
'script/compile-less',
'<(RULE_INPUT_PATH)',
'<(compiled_sources_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).css',
],
},
],
},
],
'conditions': [
['os_posix==1 and OS!="mac" and OS!="android" and gcc_version==46', {
'target_defaults': {
# Disable warnings about c++0x compatibility, as some names (such
# as nullptr) conflict with upcoming c++0x types.
'cflags_cc': ['-Wno-c++0x-compat'],
},
}],
['OS=="mac"', {
'targets': [
{
'target_name': 'AtomHelperApp',
'type': 'executable',
'variables': { 'enable_wexit_time_destructors': 1, },
'product_name': 'Atom Helper',
'mac_bundle': 1,
'dependencies': [
'atom_framework',
],
'defines': [
'USING_CEF_SHARED',
'PROCESS_HELPER_APP',
],
'mac_framework_dirs': [ 'native/frameworks' ],
'sources': [
'native/main.cpp',
],
# TODO(mark): For now, don't put any resources into this app. Its
# resources directory will be a symbolic link to the browser app's
# resources directory.
'mac_bundle_resources/': [
['exclude', '.*'],
],
'xcode_settings': {
'INFOPLIST_FILE': 'native/mac/helper-info.plist',
'LD_RUNPATH_SEARCH_PATHS': '@executable_path/../../..',
},
'postbuilds': [
{
'postbuild_name': 'Fix Framework Link',
'action': [
'<@(fix_framework_link_command)',
],
},
],
}, # target cefclient_helper_app
],
}], # OS=="mac"
],
}
Arquivo normal → Arquivo executável
+31 -14
Ver Arquivo
@@ -1,14 +1,41 @@
#!/bin/sh
ATOM_PATH=/Applications/Atom.app
ATOM_PATH=${ATOM_PATH-/Applications/Atom.app}
ATOM_BINARY=$ATOM_PATH/Contents/MacOS/Atom
if [ ! -d $ATOM_PATH ]; then sleep 5; fi # Wait for Atom to reappear, Sparkle may be replacing it.
if [ ! -d $ATOM_PATH ]; then
echo "Atom Application not found at '$ATOM_PATH'" >&2
if [ ! -d $ATOM_PATH ]; then
echo "Atom application not found at '$ATOM_PATH'" >&2
exit 1
fi
open -a $ATOM_PATH -n --args --executed-from="$(pwd)" --pid=$$ $@
while getopts ":wtfvhs-:" opt; do
case "$opt" in
-)
case "${OPTARG}" in
wait)
WAIT=1
;;
help|version|foreground|test)
EXPECT_OUTPUT=1
;;
esac
;;
w)
WAIT=1
;;
h|v|f|t)
EXPECT_OUTPUT=1
;;
esac
done
if [ $EXPECT_OUTPUT ]; then
$ATOM_BINARY --executed-from="$(pwd)" --pid=$$ $@
exit $?
else
open -a $ATOM_PATH -n --args --executed-from="$(pwd)" --pid=$$ $@
fi
# Used to exit process when atom is used as $EDITOR
on_die() {
@@ -16,16 +43,6 @@ on_die() {
}
trap 'on_die' SIGQUIT SIGTERM
# Don't exit process if we were told to wait.
while [ "$#" -gt "0" ]; do
case $1 in
-W|--wait)
WAIT=1
;;
esac
shift
done
if [ $WAIT ]; then
while true; do
sleep 1
+11 -3
Ver Arquivo
@@ -1,5 +1,13 @@
require 'atom'
{runSpecSuite} = require 'jasmine-helper'
require '../src/window'
Atom = require '../src/atom'
atom = new Atom()
atom.show() unless atom.getLoadSettings().exitWhenDone
window.atom = atom
{runSpecSuite} = require '../spec/jasmine-helper'
atom.openDevTools()
document.title = "Benchmark Suite"
runSpecSuite("benchmark-suite", true)
benchmarkSuite = require.resolve('./benchmark-suite')
runSpecSuite(benchmarkSuite, true)
+20 -37
Ver Arquivo
@@ -1,31 +1,9 @@
nakedLoad 'jasmine-jquery'
$ = require 'jquery'
_ = require 'underscore'
Keymap = require 'keymap'
Point = require 'point'
Config = require 'config'
Project = require 'project'
require '../spec/spec-helper'
require 'window'
requireStylesheet "jasmine.less"
# Load TextMate bundles, which specs rely on (but not other packages)
atom.loadTextMatePackages()
beforeEach ->
# reset config after each benchmark; don't load or save from/to `config.json`
window.config = new Config()
spyOn(config, 'load')
spyOn(config, 'save')
keymap = new Keymap
keymap.bindDefaultKeys()
$(window).on 'keydown', (e) -> keymap.handleKeyEvent(e)
keymap.bindKeys '*',
'meta-w': 'close'
'alt-meta-i': 'show-console'
$(document).on 'close', -> window.close()
$(document).on 'show-console', -> atom.toggleDevTools()
path = require 'path'
{$, _, Point, fs} = require 'atom'
Project = require '../src/project'
TokenizedBuffer = require '../src/tokenized-buffer'
defaultCount = 100
window.pbenchmark = (args...) -> window.benchmark(args..., profile: true)
@@ -33,7 +11,13 @@ window.fbenchmark = (args...) -> window.benchmark(args..., focused: true)
window.fpbenchmark = (args...) -> window.benchmark(args..., profile: true, focused: true)
window.pfbenchmark = window.fpbenchmark
window.benchmarkFixturesProject = new Project(require.resolve 'benchmark/fixtures')
window.benchmarkFixturesProject = new Project(path.join(__dirname, 'fixtures'))
beforeEach ->
window.project = window.benchmarkFixturesProject
jasmine.unspy(window, 'setTimeout')
jasmine.unspy(window, 'clearTimeout')
jasmine.unspy(TokenizedBuffer::, 'tokenizeInBackground')
window.benchmark = (args...) ->
description = args.shift()
@@ -44,7 +28,6 @@ window.benchmark = (args...) ->
[fn, options] = args
{ profile, focused } = (options ? {})
atom.showDevTools() if profile
method = if focused then fit else it
method description, ->
total = measure ->
@@ -57,7 +40,7 @@ window.benchmark = (args...) ->
report = "#{fullname}: #{total} / #{count} = #{avg}ms"
console.log(report)
if atom.exitWhenDone
if atom.getLoadSettings().exitWhenDone
url = "https://github.com/_stats"
data = [type: 'timing', metric: "atom.#{fullname}", ms: avg]
$.ajax url,
@@ -90,8 +73,8 @@ window.clickEvent = (properties={}) ->
window.mouseEvent = (type, properties) ->
if properties.point
{point, editor} = properties
{top, left} = @pagePixelPositionForPoint(editor, point)
{point, editorView} = properties
{top, left} = @pagePixelPositionForPoint(editorView, point)
properties.pageX = left + 1
properties.pageY = top + 1
properties.originalEvent ?= {detail: 1}
@@ -103,14 +86,14 @@ window.mousedownEvent = (properties={}) ->
window.mousemoveEvent = (properties={}) ->
window.mouseEvent('mousemove', properties)
window.pagePixelPositionForPoint = (editor, point) ->
window.pagePixelPositionForPoint = (editorView, point) ->
point = Point.fromObject point
top = editor.lines.offset().top + point.row * editor.lineHeight
left = editor.lines.offset().left + point.column * editor.charWidth - editor.lines.scrollLeft()
top = editorView.lines.offset().top + point.row * editorView.lineHeight
left = editorView.lines.offset().left + point.column * editorView.charWidth - editorView.lines.scrollLeft()
{ top, left }
window.setEditorWidthInChars = (editor, widthInChars, charWidth=editor.charWidth) ->
editor.width(charWidth * widthInChars + editor.lines.position().left)
window.seteditorViewWidthInChars = (editorView, widthInChars, charWidth=editorView.charWidth) ->
editorView.width(charWidth * widthInChars + editorView.lines.position().left)
$.fn.resultOfTrigger = (type) ->
event = $.Event(type)
+149 -45
Ver Arquivo
@@ -1,113 +1,217 @@
require 'benchmark-helper'
$ = require 'jquery'
_ = require 'underscore'
TokenizedBuffer = require 'tokenized-buffer'
require './benchmark-helper'
{$, _, WorkspaceView} = require 'atom'
TokenizedBuffer = require '../src/tokenized-buffer'
describe "editor.", ->
editor = null
describe "editorView.", ->
editorView = null
beforeEach ->
window.rootViewParentSelector = '#jasmine-content'
window.attachRootView(require.resolve('benchmark/fixtures'))
atom.workspaceViewParentSelector = '#jasmine-content'
atom.workspaceView = new WorkspaceView
atom.workspaceView.attachToDom()
rootView.width(1024)
rootView.height(768)
rootView.open() # open blank editor
editor = rootView.getActiveEditor()
atom.workspaceView.width(1024)
atom.workspaceView.height(768)
atom.workspaceView.openSync()
editorView = atom.workspaceView.getActiveView()
afterEach ->
if editor.pendingDisplayUpdate
if editorView.pendingDisplayUpdate
waitsFor "editor to finish rendering", (done) ->
editor.on 'editor:display-updated', done
runs ->
projectPath = project.getPath()
$(window).off 'beforeunload'
window.shutdown()
atom.setRootViewStateForPath(projectPath, null)
editorView.on 'editor:display-updated', done
describe "keymap.", ->
event = null
beforeEach ->
event = keydownEvent('x', target: editor.hiddenInput[0])
event = keydownEvent('x', target: editorView.hiddenInput[0])
benchmark "keydown-event-with-no-binding", 10, ->
keymap.handleKeyEvent(event)
describe "opening-buffers.", ->
benchmark "300-line-file.", ->
buffer = project.bufferForPath('medium.coffee')
buffer = project.bufferForPathSync('medium.coffee')
describe "empty-file.", ->
benchmark "insert-delete", ->
editor.insertText('x')
editor.backspace()
editorView.insertText('x')
editorView.backspace()
describe "300-line-file.", ->
beforeEach ->
rootView.open('medium.coffee')
atom.workspaceView.openSync('medium.coffee')
describe "at-begining.", ->
benchmark "insert-delete", ->
editor.insertText('x')
editor.backspace()
editorView.insertText('x')
editorView.backspace()
benchmark "insert-delete-rehighlight", ->
editor.insertText('"')
editor.backspace()
editorView.insertText('"')
editorView.backspace()
describe "at-end.", ->
beforeEach ->
editor.moveCursorToBottom()
editorView.moveCursorToBottom()
benchmark "insert-delete", ->
editor.insertText('"')
editor.backspace()
editorView.insertText('"')
editorView.backspace()
describe "empty-vs-set-innerHTML.", ->
[firstRow, lastRow] = []
beforeEach ->
firstRow = editorView.getFirstVisibleScreenRow()
lastRow = editorView.getLastVisibleScreenRow()
benchmark "build-gutter-html.", 1000, ->
editorView.gutter.renderLineNumbers(null, firstRow, lastRow)
benchmark "set-innerHTML.", 1000, ->
editorView.gutter.renderLineNumbers(null, firstRow, lastRow)
editorView.gutter.lineNumbers[0].innerHtml = ''
benchmark "empty.", 1000, ->
editorView.gutter.renderLineNumbers(null, firstRow, lastRow)
editorView.gutter.lineNumbers.empty()
describe "positionLeftForLineAndColumn.", ->
line = null
beforeEach ->
editorView.scrollTop(2000)
editorView.resetDisplay()
line = editorView.lineElementForScreenRow(106)[0]
describe "one-line.", ->
beforeEach ->
editorView.clearCharacterWidthCache()
benchmark "uncached", 5000, ->
editorView.positionLeftForLineAndColumn(line, 106, 82)
editorView.clearCharacterWidthCache()
benchmark "cached", 5000, ->
editorView.positionLeftForLineAndColumn(line, 106, 82)
describe "multiple-lines.", ->
[firstRow, lastRow] = []
beforeEach ->
firstRow = editorView.getFirstVisibleScreenRow()
lastRow = editorView.getLastVisibleScreenRow()
benchmark "cache-entire-visible-area", 100, ->
for i in [firstRow..lastRow]
line = editorView.lineElementForScreenRow(i)[0]
editorView.positionLeftForLineAndColumn(line, i, Math.max(0, editorView.lineLengthForBufferRow(i)))
describe "text-rendering.", ->
beforeEach ->
editorView.scrollTop(2000)
benchmark "resetDisplay", 50, ->
editorView.resetDisplay()
benchmark "htmlForScreenRows", 1000, ->
lastRow = editorView.getLastScreenRow()
editorView.htmlForScreenRows(0, lastRow)
benchmark "htmlForScreenRows.htmlParsing", 50, ->
lastRow = editorView.getLastScreenRow()
html = editorView.htmlForScreenRows(0, lastRow)
div = document.createElement('div')
div.innerHTML = html
describe "gutter-api.", ->
describe "getLineNumberElementsForClass.", ->
beforeEach ->
editorView.gutter.addClassToLine(20, 'omgwow')
editorView.gutter.addClassToLine(40, 'omgwow')
benchmark "DOM", 20000, ->
editorView.gutter.getLineNumberElementsForClass('omgwow')
benchmark "getLineNumberElement.DOM", 20000, ->
editorView.gutter.getLineNumberElement(12)
benchmark "toggle-class", 2000, ->
editorView.gutter.addClassToLine(40, 'omgwow')
editorView.gutter.removeClassFromLine(40, 'omgwow')
describe "find-then-unset.", ->
classes = ['one', 'two', 'three', 'four']
benchmark "single-class", 200, ->
editorView.gutter.addClassToLine(30, 'omgwow')
editorView.gutter.addClassToLine(40, 'omgwow')
editorView.gutter.removeClassFromAllLines('omgwow')
benchmark "multiple-class", 200, ->
editorView.gutter.addClassToLine(30, 'one')
editorView.gutter.addClassToLine(30, 'two')
editorView.gutter.addClassToLine(40, 'two')
editorView.gutter.addClassToLine(40, 'three')
editorView.gutter.addClassToLine(40, 'four')
for klass in classes
editorView.gutter.removeClassFromAllLines(klass)
describe "line-htmlification.", ->
div = null
html = null
beforeEach ->
lastRow = editorView.getLastScreenRow()
html = editorView.htmlForScreenRows(0, lastRow)
div = document.createElement('div')
benchmark "setInnerHTML", 1, ->
div.innerHTML = html
describe "9000-line-file.", ->
benchmark "opening.", 5, ->
rootView.open('huge.js')
atom.workspaceView.openSync('huge.js')
describe "after-opening.", ->
beforeEach ->
rootView.open('huge.js')
atom.workspaceView.openSync('huge.js')
benchmark "moving-to-eof.", 1, ->
editor.moveCursorToBottom()
editorView.moveCursorToBottom()
describe "on-first-line.", ->
benchmark "inserting-newline", 5, ->
editor.insertNewline()
editorView.insertNewline()
describe "on-last-visible-line.", ->
beforeEach ->
editor.setCursorScreenPosition([editor.getLastVisibleScreenRow(), 0])
editorView.setCursorScreenPosition([editorView.getLastVisibleScreenRow(), 0])
benchmark "move-down-and-scroll", 300, ->
editor.trigger 'move-down'
editorView.trigger 'move-down'
describe "at-eof.", ->
endPosition = null
beforeEach ->
editor.moveCursorToBottom()
endPosition = editor.getCursorScreenPosition()
editorView.moveCursorToBottom()
endPosition = editorView.getCursorScreenPosition()
benchmark "move-to-beginning-of-word", ->
editor.moveCursorToBeginningOfWord()
editor.setCursorScreenPosition(endPosition)
editorView.moveCursorToBeginningOfWord()
editorView.setCursorScreenPosition(endPosition)
benchmark "insert", ->
editor.insertText('x')
editorView.insertText('x')
describe "TokenizedBuffer.", ->
describe "coffee-script-grammar.", ->
[languageMode, buffer] = []
beforeEach ->
editSession = benchmarkFixturesProject.buildEditSession('medium.coffee')
{ languageMode, buffer } = editSession
editor = benchmarkFixturesProject.openSync('medium.coffee')
{ languageMode, buffer } = editor
benchmark "construction", 20, ->
new TokenizedBuffer(buffer, { languageMode, tabLength: 2})
+228
Ver Arquivo
@@ -0,0 +1,228 @@
fs = require 'fs'
path = require 'path'
os = require 'os'
fm = require 'json-front-matter'
_ = require 'underscore-plus'
packageJson = require '../package.json'
# OAuth token for atom-bot
# TODO Remove once all repositories are public
process.env.ATOM_ACCESS_TOKEN ?= '362295be4c5258d3f7b967bbabae662a455ca2a7'
# Shim harmony collections in case grunt was invoked without harmony
# collections enabled
_.extend(global, require('harmony-collections')) unless global.WeakMap?
module.exports = (grunt) ->
grunt.loadNpmTasks('grunt-coffeelint')
grunt.loadNpmTasks('grunt-lesslint')
grunt.loadNpmTasks('grunt-cson')
grunt.loadNpmTasks('grunt-contrib-csslint')
grunt.loadNpmTasks('grunt-contrib-coffee')
grunt.loadNpmTasks('grunt-contrib-less')
grunt.loadNpmTasks('grunt-markdown')
grunt.loadNpmTasks('grunt-shell')
grunt.loadNpmTasks('grunt-download-atom-shell')
grunt.loadNpmTasks('grunt-peg')
grunt.loadTasks('tasks')
# This allows all subsequent paths to the relative to the root of the repo
grunt.file.setBase(path.resolve('..'))
if not grunt.option('verbose')
grunt.log.writeln = (args...) -> grunt.log
grunt.log.write = (args...) -> grunt.log
[major, minor, patch] = packageJson.version.split('.')
if process.platform is 'win32'
appName = 'Atom'
tmpDir = os.tmpdir()
installRoot = process.env.ProgramFiles
buildDir = grunt.option('build-dir') ? path.join(tmpDir, 'atom-build')
shellAppDir = path.join(buildDir, appName)
contentsDir = shellAppDir
appDir = path.join(shellAppDir, 'resources', 'app')
atomShellDownloadDir = path.join(os.tmpdir(), 'atom-cached-atom-shells')
else
appName = 'Atom.app'
tmpDir = '/tmp'
installRoot = '/Applications'
buildDir = grunt.option('build-dir') ? path.join(tmpDir, 'atom-build')
shellAppDir = path.join(buildDir, appName)
contentsDir = path.join(shellAppDir, 'Contents')
appDir = path.join(contentsDir, 'Resources', 'app')
atomShellDownloadDir = '/tmp/atom-cached-atom-shells'
installDir = path.join(installRoot, appName)
coffeeConfig =
options:
sourceMap: true
glob_to_multiple:
expand: true
src: [
'src/**/*.coffee'
'exports/**/*.coffee'
'static/**/*.coffee'
]
dest: appDir
ext: '.js'
lessConfig =
options:
paths: [
'static/variables'
'static'
]
glob_to_multiple:
expand: true
src: [
'static/**/*.less'
]
dest: appDir
ext: '.css'
prebuildLessConfig =
src: [
'static/**/*.less'
'node_modules/bootstrap/less/bootstrap.less'
]
csonConfig =
options:
rootObject: true
glob_to_multiple:
expand: true
src: [
'menus/*.cson'
'keymaps/*.cson'
'static/**/*.cson'
]
dest: appDir
ext: '.json'
pegConfig =
glob_to_multiple:
expand: true
src: ['src/**/*.pegjs']
dest: appDir
ext: '.js'
for child in fs.readdirSync('node_modules') when child isnt '.bin'
directory = path.join('node_modules', child)
{engines, theme} = grunt.file.readJSON(path.join(directory, 'package.json'))
if engines?.atom?
coffeeConfig.glob_to_multiple.src.push("#{directory}/**/*.coffee")
lessConfig.glob_to_multiple.src.push("#{directory}/**/*.less")
prebuildLessConfig.src.push("#{directory}/**/*.less") unless theme
csonConfig.glob_to_multiple.src.push("#{directory}/**/*.cson")
pegConfig.glob_to_multiple.src.push("#{directory}/**/*.pegjs")
grunt.initConfig
pkg: grunt.file.readJSON('package.json')
atom: {appDir, appName, buildDir, contentsDir, installDir, shellAppDir}
coffee: coffeeConfig
less: lessConfig
'prebuild-less': prebuildLessConfig
cson: csonConfig
peg: pegConfig
coffeelint:
options:
no_empty_param_list:
level: 'error'
max_line_length:
level: 'ignore'
indentation:
level: 'ignore'
src: [
'dot-atom/**/*.coffee'
'exports/**/*.coffee'
'src/**/*.coffee'
]
build: [
'build/tasks/**/*.coffee'
'build/Gruntfile.coffee'
]
test: [
'spec/*.coffee'
]
csslint:
options:
'adjoining-classes': false
'duplicate-background-images': false
'box-model': false
'box-sizing': false
'bulletproof-font-face': false
'compatible-vendor-prefixes': false
'display-property-grouping': false
'fallback-colors': false
'font-sizes': false
'gradients': false
'ids': false
'important': false
'known-properties': false
'outline-none': false
'overqualified-elements': false
'qualified-headings': false
'unique-headings': false
'universal-selector': false
'vendor-prefix': false
src: [
'static/**/*.css'
]
lesslint:
src: [
'static/**/*.less'
]
markdown:
guides:
files: [
expand: true
cwd: 'docs'
src: '**/*.md'
dest: 'docs/output/'
ext: '.html'
]
options:
template: 'docs/template.jst'
templateContext:
tag: "v#{major}.#{minor}"
markdownOptions:
gfm: true
preCompile: (src, context) ->
parsed = fm.parse(src)
_.extend(context, parsed.attributes)
parsed.body
'download-atom-shell':
version: packageJson.atomShellVersion
outputDir: 'atom-shell'
downloadDir: atomShellDownloadDir
rebuild: true # rebuild native modules after atom-shell is updated
shell:
'kill-atom':
command: 'pkill -9 Atom'
options:
stdout: false
stderr: false
failOnError: false
grunt.registerTask('compile', ['coffee', 'prebuild-less', 'cson', 'peg'])
grunt.registerTask('lint', ['coffeelint', 'csslint', 'lesslint'])
grunt.registerTask('test', ['shell:kill-atom', 'run-specs'])
grunt.registerTask('ci', ['output-disk-space', 'download-atom-shell', 'build', 'set-version', 'lint', 'test', 'codesign', 'publish-build'])
grunt.registerTask('docs', ['markdown:guides', 'build-docs'])
grunt.registerTask('default', ['download-atom-shell', 'build', 'set-version', 'install'])
+10
Ver Arquivo
@@ -0,0 +1,10 @@
# Atom Build
This folder contains the grunt configuration and tasks to build Atom.
It was moved from the root of the repository so that any native modules used
would be compiled against node's v8 headers since anything stored in
`node_modules` at the root of the repo is compiled against atom's v8 headers.
New build dependencies should be added to the `package.json` file located in
this folder.
+34
Ver Arquivo
@@ -0,0 +1,34 @@
{
"name": "atom-build",
"description": "Atom build",
"repository": {
"type": "git",
"url": "https://github.com/atom/atom.git"
},
"dependencies": {
"biscotto": "0.0.17",
"first-mate": "~0.10.0",
"formidable": "~1.0.14",
"github-releases": "~0.2.0",
"grunt": "~0.4.1",
"grunt-cli": "~0.1.9",
"grunt-coffeelint": "git://github.com/atom/grunt-coffeelint.git",
"grunt-contrib-csslint": "~0.1.2",
"grunt-contrib-coffee": "~0.7.0",
"grunt-contrib-less": "~0.8.0",
"grunt-cson": "0.5.0",
"grunt-download-atom-shell": "git+https://atom-bot:362295be4c5258d3f7b967bbabae662a455ca2a7@github.com/atom/grunt-download-atom-shell#v0.5.0",
"grunt-lesslint": "0.13.0",
"grunt-markdown": "~0.4.0",
"grunt-shell": "~0.3.1",
"harmony-collections": "~0.3.8",
"js-yaml": "~2.1.0",
"json-front-matter": "~0.1.3",
"rcedit": "~0.1.2",
"request": "~2.27.0",
"rimraf": "~2.2.2",
"unzip": "~0.1.9",
"walkdir": "0.0.7",
"grunt-peg": "~1.1.0"
}
}
+76
Ver Arquivo
@@ -0,0 +1,76 @@
fs = require 'fs'
path = require 'path'
module.exports = (grunt) ->
{cp, isAtomPackage, mkdir, rm} = require('./task-helpers')(grunt)
grunt.registerTask 'build', 'Build the application', ->
shellAppDir = grunt.config.get('atom.shellAppDir')
buildDir = grunt.config.get('atom.buildDir')
appDir = grunt.config.get('atom.appDir')
rm shellAppDir
mkdir path.dirname(buildDir)
if process.platform is 'darwin'
cp 'atom-shell/Atom.app', shellAppDir
else if process.platform is 'win32'
cp 'atom-shell', shellAppDir
mkdir appDir
cp 'atom.sh', path.join(appDir, 'atom.sh')
cp 'package.json', path.join(appDir, 'package.json')
cp 'apm', path.join(appDir, 'apm')
packageDirectories = []
nonPackageDirectories = [
'benchmark'
'dot-atom'
'vendor'
'resources'
]
{devDependencies} = grunt.file.readJSON('package.json')
for child in fs.readdirSync('node_modules')
directory = path.join('node_modules', child)
if isAtomPackage(directory)
packageDirectories.push(directory)
else
nonPackageDirectories.push(directory)
# Put any paths here that shouldn't end up in the built Atom.app
# so that it doesn't becomes larger than it needs to be.
ignoredPaths = [
path.join('git-utils', 'deps')
path.join('oniguruma', 'deps')
path.join('less', 'dist')
path.join('less', 'test')
path.join('bootstrap', 'docs')
path.join('spellchecker', 'vendor')
path.join('xmldom', 'test')
path.join('vendor', 'apm')
path.join('resources', 'mac')
path.join('resources', 'win')
]
ignoredPaths = ignoredPaths.map (ignoredPath) -> "(#{ignoredPath})"
nodeModulesFilter = new RegExp(ignoredPaths.join('|'))
packageFilter = new RegExp("(#{ignoredPaths.join('|')})|(.+\\.(cson|coffee)$)")
for directory in nonPackageDirectories
cp directory, path.join(appDir, directory), filter: nodeModulesFilter
for directory in packageDirectories
cp directory, path.join(appDir, directory), filter: packageFilter
cp 'spec', path.join(appDir, 'spec')
cp 'src', path.join(appDir, 'src'), filter: /.+\.(cson|coffee)$/
cp 'static', path.join(appDir, 'static')
if process.platform is 'darwin'
grunt.file.recurse path.join('resources', 'mac'), (sourcePath, rootDirectory, subDirectory='', filename) ->
unless /.+\.plist/.test(sourcePath)
grunt.file.copy(sourcePath, path.resolve(appDir, '..', subDirectory, filename))
dependencies = ['compile']
dependencies.push('copy-info-plist') if process.platform is 'darwin'
dependencies.push('set-exe-icon') if process.platform is 'win32'
grunt.task.run(dependencies...)
+21
Ver Arquivo
@@ -0,0 +1,21 @@
path = require 'path'
os = require 'os'
module.exports = (grunt) ->
{rm} = require('./task-helpers')(grunt)
grunt.registerTask 'partial-clean', 'Delete some of the build files', ->
tmpdir = if process.platform is 'win32' then os.tmpdir() else '/tmp'
rm grunt.config.get('atom.buildDir')
rm require('../src/coffee-cache').cacheDir
rm require('../src/less-compile-cache').cacheDir
rm path.join(tmpdir, 'atom-cached-atom-shells')
rm 'atom-shell'
grunt.registerTask 'clean', 'Delete all the build files', ->
homeDir = process.env[if process.platform is 'win32' then 'USERPROFILE' else 'HOME']
rm 'node_modules'
rm path.join(homeDir, '.atom', '.node-gyp')
grunt.task.run('partial-clean')
+25
Ver Arquivo
@@ -0,0 +1,25 @@
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
grunt.registerTask 'codesign', 'Codesign the app', ->
done = @async()
if process.env.XCODE_KEYCHAIN
unlockKeychain (error) ->
if error?
done(error)
else
signApp(done)
else
signApp(done)
unlockKeychain = (callback) ->
cmd = 'security'
{XCODE_KEYCHAIN_PASSWORD, XCODE_KEYCHAIN} = process.env
args = ['unlock-keychain', '-p', XCODE_KEYCHAIN_PASSWORD, XCODE_KEYCHAIN]
spawn {cmd, args}, (error) -> callback(error)
signApp = (callback) ->
cmd = 'codesign'
args = ['-f', '-v', '-s', 'Developer ID Application: GitHub', grunt.config.get('atom.shellAppDir')]
spawn {cmd, args}, (error) -> callback(error)
@@ -1,28 +1,33 @@
_ = require 'underscore'
fsUtils = require 'fs-utils'
plist = require 'plist'
Theme = require 'theme'
path = require 'path'
###
# Internal #
###
_ = require 'underscore-plus'
fs = require 'fs-plus'
{ScopeSelector} = require 'first-mate'
module.exports =
class TextMateTheme extends Theme
@testPath: (path) ->
/\.(tmTheme|plist)$/.test(path)
module.exports = (grunt) ->
grunt.registerTask 'convert-theme', 'Convert a TextMate theme to an Atom theme', ->
if textMateThemePath = grunt.option('path')
textMateThemePath = path.resolve(textMateThemePath)
if grunt.file.isFile(textMateThemePath)
textMateTheme = new TextMateTheme(textMateThemePath)
themeName = path.basename(textMateThemePath, path.extname(textMateThemePath))
atomThemePath = path.join(path.dirname(textMateThemePath), "#{themeName.toLowerCase()}-syntax.css")
grunt.file.write(atomThemePath, textMateTheme.getStylesheet())
grunt.log.ok("Atom theme written to: #{atomThemePath}")
else
grunt.log.error("No theme file found at: #{textMateThemePath}")
false
else
grunt.log.error('Must specify --path=<path to TextMate theme>')
false
class TextMateTheme
constructor: (@path) ->
super
@rulesets = []
load: ->
@buildRulesets()
@stylesheets[@path] = @getStylesheet()
super
buildRulesets: ->
{settings} = plist.parseFileSync(@path)
{settings} = fs.readPlistSync(@path)
@buildGlobalSettingsRulesets(settings[0])
@buildScopeSelectorRulesets(settings[1..])
@@ -30,10 +35,9 @@ class TextMateTheme extends Theme
lines = []
for {selector, properties} in @getRulesets()
lines.push("#{selector} {")
for name, value of properties
lines.push " #{name}: #{value};"
lines.push " #{name}: #{value};" for name, value of properties
lines.push("}\n")
lines.join("\n")
lines.join('\n')
getRulesets: -> @rulesets
@@ -70,8 +74,7 @@ class TextMateTheme extends Theme
properties: @translateScopeSelectorSettings(settings)
translateScopeSelector: (textmateScopeSelector) ->
scopes = textmateScopeSelector.split(/\s+/).map (scope) -> '.' + scope
scopes.join(' ')
new ScopeSelector(textmateScopeSelector).toCssSelector()
translateScopeSelectorSettings: ({ foreground, background, fontStyle }) ->
properties = {}
+13
Ver Arquivo
@@ -0,0 +1,13 @@
path = require 'path'
module.exports = (grunt) ->
{cp} = require('./task-helpers')(grunt)
grunt.registerTask 'copy-info-plist', 'Copy plist', ->
contentsDir = grunt.config.get('atom.contentsDir')
plistPath = path.join(contentsDir, 'Info.plist')
helperPlistPath = path.join(contentsDir, 'Frameworks/Atom Helper.app/Contents/Info.plist')
# Copy custom plist files
cp 'resources/mac/atom-Info.plist', plistPath
cp 'resources/mac/helper-Info.plist', helperPlistPath
+96
Ver Arquivo
@@ -0,0 +1,96 @@
path = require 'path'
fs = require 'fs'
module.exports = (grunt) ->
cmd = path.join('node_modules', '.bin', 'coffee')
commonArgs = [path.join('build', 'node_modules', '.bin', 'biscotto'), '--']
opts =
stdio: 'inherit'
grunt.registerTask 'build-docs', 'Builds the API docs in src/app', ->
done = @async()
args = [commonArgs..., '--title', 'Atom API Documentation', '-o', 'docs/output/api', 'src/', '../text-buffer/src/range.coffee', '../text-buffer/src/point.coffee', '../text-buffer/src/marker.coffee']
grunt.util.spawn({cmd, args, opts}, done)
grunt.registerTask 'lint-docs', 'Generate stats about the doc coverage', ->
done = @async()
args = [commonArgs..., '--noOutput', 'src/']
grunt.util.spawn({cmd, args, opts}, done)
grunt.registerTask 'missing-docs', 'Generate stats about the doc coverage', ->
done = @async()
args = [commonArgs..., '--noOutput', '--missing', 'src/']
grunt.util.spawn({cmd, args, opts}, done)
grunt.registerTask 'copy-docs', 'Copies over latest API docs to atom-docs', ->
done = @async()
fetchTag = (args..., callback) ->
cmd = 'git'
args = ['describe', '--abbrev=0', '--tags']
grunt.util.spawn {cmd, args}, (error, result) ->
if error?
callback(error)
else
callback(null, String(result).trim())
copyDocs = (tag, callback) ->
cmd = 'cp'
args = ['-r', 'docs/output/', "../atom.io/public/docs/api/#{tag}/"]
fs.exists "../atom.io/public/docs/api/", (exists) ->
if exists
grunt.util.spawn {cmd, args}, (error, result) ->
if error?
callback(error)
else
callback(null, tag)
else
grunt.log.error "../atom.io/public/docs/api/ doesn't exist"
return false
grunt.util.async.waterfall [fetchTag, copyDocs], done
grunt.registerTask 'deploy-docs', 'Publishes latest API docs to atom-docs.githubapp.com', ->
done = @async()
docsRepoArgs = ['--work-tree=../atom-docs/', '--git-dir=../atom-docs/.git/']
fetchTag = (args..., callback) ->
cmd = 'git'
args = ['describe', '--abbrev=0', '--tags']
grunt.util.spawn {cmd, args}, (error, result) ->
if error?
callback(error)
else
callback(null, String(result).trim().split('.')[0..1].join('.'))
stageDocs = (tag, callback) ->
cmd = 'git'
args = [docsRepoArgs..., 'add', "public/#{tag}"]
grunt.util.spawn({cmd, args, opts}, callback)
fetchSha = (args..., callback) ->
cmd = 'git'
args = ['rev-parse', 'HEAD']
grunt.util.spawn {cmd, args}, (error, result) ->
if error?
callback(error)
else
callback(null, String(result).trim())
commitChanges = (sha, callback) ->
cmd = 'git'
args = [docsRepoArgs..., 'commit', "-m Update API docs to #{sha}"]
grunt.util.spawn({cmd, args, opts}, callback)
pushOrigin = (args..., callback) ->
cmd = 'git'
args = [docsRepoArgs..., 'push', 'origin', 'master']
grunt.util.spawn({cmd, args, opts}, callback)
pushHeroku = (args..., callback) ->
cmd = 'git'
args = [docsRepoArgs..., 'push', 'heroku', 'master']
grunt.util.spawn({cmd, args, opts}, callback)
grunt.util.async.waterfall [fetchTag, stageDocs, fetchSha, commitChanges, pushOrigin, pushHeroku], done
+11
Ver Arquivo
@@ -0,0 +1,11 @@
path = require 'path'
module.exports = (grunt) ->
{cp, mkdir, rm} = require('./task-helpers')(grunt)
grunt.registerTask 'install', 'Install the built application', ->
installDir = grunt.config.get('atom.installDir')
shellAppDir = grunt.config.get('atom.shellAppDir')
rm installDir
mkdir path.dirname(installDir)
cp shellAppDir, installDir
+6
Ver Arquivo
@@ -0,0 +1,6 @@
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
grunt.registerTask 'nof', 'Un-focus all specs', ->
nof = require.resolve('.bin/nof')
spawn({cmd: nof, args: ['spec']}, @async())
+25
Ver Arquivo
@@ -0,0 +1,25 @@
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
grunt.registerTask 'output-disk-space', 'Print diskspace available', ->
return unless process.platform is 'darwin'
done = @async()
cmd = 'df'
args = ['-Hl']
spawn {cmd, args}, (error, result, code) ->
return done(error) if error?
lines = result.stdout.split("\n")
for line in lines[1..]
[filesystem, size, used, avail, capacity, extra] = line.split(/\s+/)
capacity = parseInt(capacity)
if capacity > 90
grunt.log.error("#{filesystem} is at #{capacity}% capacity!")
else if capacity > 80
grunt.log.ok("#{filesystem} is at #{capacity}% capacity.")
done()
+45
Ver Arquivo
@@ -0,0 +1,45 @@
path = require 'path'
LessCache = require 'less-cache'
module.exports = (grunt) ->
grunt.registerMultiTask 'prebuild-less', 'Prebuild cached of compiled LESS files', ->
prebuiltConfigurations = [
['atom-dark-ui', 'atom-dark-syntax']
['atom-dark-ui', 'atom-light-syntax']
['atom-dark-ui', 'solarized-dark-syntax']
['atom-dark-ui', 'base16-tomorrow-dark-theme']
['atom-light-ui', 'atom-light-syntax']
['atom-light-ui', 'atom-dark-syntax']
['atom-light-ui', 'solarized-dark-syntax']
['atom-light-ui', 'base16-tomorrow-dark-theme']
]
directory = path.join(grunt.config.get('atom.appDir'), 'less-compile-cache')
for configuration in prebuiltConfigurations
importPaths = grunt.config.get('less.options.paths')
themeMains = []
for theme in configuration
# TODO Use AtomPackage class once it runs outside of an Atom context
themePath = path.resolve('node_modules', theme)
stylesheetsDir = path.join(themePath, 'stylesheets')
{main} = grunt.file.readJSON(path.join(themePath, 'package.json'))
main ?= 'index.less'
mainPath = path.join(themePath, main)
themeMains.push(mainPath) if grunt.file.isFile(mainPath)
importPaths.unshift(stylesheetsDir) if grunt.file.isDir(stylesheetsDir)
grunt.verbose.writeln("Building LESS cache for #{configuration.join(', ').yellow}")
lessCache = new LessCache
cacheDir: directory
resourcePath: path.resolve('.')
importPaths: importPaths
for file in @filesSrc
grunt.verbose.writeln("File #{file.cyan} created in cache.")
lessCache.readFileSync(file)
for file in themeMains
grunt.verbose.writeln("File #{file.cyan} created in cache.")
lessCache.readFileSync(file)
+172
Ver Arquivo
@@ -0,0 +1,172 @@
child_process = require 'child_process'
path = require 'path'
_ = require 'underscore-plus'
fs = require 'fs-plus'
GitHub = require 'github-releases'
request = require 'request'
grunt = null
maxReleases = 10
assetName = 'atom-mac.zip'
assetPath = "/tmp/atom-build/#{assetName}"
commitSha = process.env.JANKY_SHA1
token = process.env.ATOM_ACCESS_TOKEN
defaultHeaders =
Authorization: "token #{token}"
'User-Agent': 'Atom'
module.exports = (gruntObject) ->
grunt = gruntObject
grunt.registerTask 'publish-build', 'Publish the built app', ->
return unless process.platform is 'darwin'
return if process.env.JANKY_SHA1 and process.env.JANKY_BRANCH isnt 'master'
done = @async()
createBuildRelease (error, release) ->
return done(error) if error?
zipApp (error) ->
return done(error) if error?
uploadAsset release, (error) ->
return done(error) if error?
publishRelease release, (error) ->
return done(error) if error?
getAtomDraftRelease (error, release) ->
return done(error) if error?
deleteExistingAsset release, (error) ->
return done(error) if error?
uploadAsset(release, done)
logError = (message, error, details) ->
grunt.log.error(message)
grunt.log.error(error.message ? error) if error?
grunt.log.error(details) if details
zipApp = (callback) ->
fs.removeSync(assetPath)
options = {cwd: path.dirname(assetPath), maxBuffer: Infinity}
child_process.exec "zip -r --symlinks #{assetName} Atom.app", options, (error, stdout, stderr) ->
if error?
logError('Zipping Atom.app failed', error, stderr)
callback(error)
getRelease = (callback) ->
options =
uri: 'https://api.github.com/repos/atom/atom-master-builds/releases'
method: 'GET'
headers: defaultHeaders
json: true
request options, (error, response, releases=[]) ->
if error? or response.statusCode isnt 200
logError('Fetching releases failed', error, releases)
callback(error ? new Error(response.statusCode))
else
if releases.length > maxReleases
deleteRelease(release) for release in releases[maxReleases..]
for release in releases when release.name is commitSha
callback(null, release)
return
callback()
getAtomDraftRelease = (callback) ->
atomRepo = new GitHub({repo: 'atom/atom', token})
atomRepo.getReleases (error, releases=[]) ->
if error?
logError('Fetching atom/atom releases failed', error, releases)
callback(error)
else
for release in releases when release.draft
callback(null, release)
return
callback(new Error('No draft release in atom/atom repo'))
deleteRelease = (release) ->
options =
uri: release.url
method: 'DELETE'
headers: defaultHeaders
json: true
request options, (error, response, body='') ->
if error? or response.statusCode isnt 204
logError('Deleting release failed', error, body)
deleteExistingAsset = (release, callback) ->
for asset in release.assets when asset.name is assetName
options =
uri: asset.url
method: 'DELETE'
headers: defaultHeaders
request options, (error, response, body='') ->
if error? or response.statusCode isnt 204
logError('Deleting existing release asset failed', error, body)
callback(error ? new Error(response.statusCode))
else
callback()
return
callback()
createBuildRelease = (callback) ->
getRelease (error, release) ->
if error?
callback(error)
return
if release?
deleteExistingAsset release, (error) ->
callback(error, release)
return
options =
uri: 'https://api.github.com/repos/atom/atom-master-builds/releases'
method: 'POST'
headers: defaultHeaders
json:
tag_name: "v#{commitSha}"
target_commitish: 'master'
name: commitSha
body: "Build of [atom@#{commitSha.substring(0, 7)}](https://github.com/atom/atom/commits/#{commitSha})"
draft: true
prerelease: true
request options, (error, response, release={}) ->
if error? or response.statusCode isnt 201
logError('Creating release failed', error, release)
callback(error ? new Error(response.statusCode))
else
callback(null, release)
uploadAsset = (release, callback) ->
options =
uri: release.upload_url.replace(/\{.*$/, "?name=#{assetName}")
method: 'POST'
headers: _.extend({
'Content-Type': 'application/zip'
'Content-Length': fs.getSizeSync(assetPath)
}, defaultHeaders)
assetRequest = request options, (error, response, body='') ->
if error? or response.statusCode >= 400
logError('Upload release asset failed', error, body)
callback(error ? new Error(response.statusCode))
else
callback(null, release)
fs.createReadStream(assetPath).pipe(assetRequest)
publishRelease = (release, callback) ->
options =
uri: release.url
method: 'POST'
headers: defaultHeaders
json:
draft: false
request options, (error, response, body={}) ->
if error? or response.statusCode isnt 200
logError('Creating release failed', error, body)
callback(error ? new Error(response.statusCode))
else
callback()
+108
Ver Arquivo
@@ -0,0 +1,108 @@
async = require 'async'
request = require 'request'
# Configure and publish all packages in package.json to atom.io
#
# This task should be run whenever you want to be sure that atom.io contains
# all the packages and versions referenced in Atom's package.json file.
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
baseUrl = "https://www.atom.io/api/packages"
packageExists = (packageName, token, callback) ->
requestSettings =
url: "#{baseUrl}/#{packageName}"
json: true
headers:
authorization: token
request.get requestSettings, (error, response, body={}) ->
if error?
callback(error)
else
callback(null, response.statusCode is 404)
createPackage = (packageName, token, callback) ->
requestSettings =
url: baseUrl
json: true
headers:
authorization: token
method: 'POST'
body:
repository: "atom/#{packageName}"
request.get requestSettings, (error, response, body={}) ->
if error?
callback(error)
else if response.statusCode isnt 201
message = body.message ? body.error ? body
callback(new Error("Creating package failed: #{message}"))
else
callback()
createPackageVersion = (packageName, tag, token, callback) ->
requestSettings =
url: "#{baseUrl}/#{packageName}/versions"
json: true
method: 'POST'
headers:
authorization: token
body:
tag: tag
request.get requestSettings, (error, response, body={}) ->
if error?
callback(error)
else if response.statusCode isnt 201
message = body.message ? body.error ? body
if message is 'Version exists'
callback()
else
callback(new Error("Creating new version failed: #{message}"))
else
callback()
getToken = (callback) ->
if token = process.env.ATOM_ACCESS_TOKEN
callback(null, token)
else
spawn {cmd: 'security', args: ['-q', 'find-generic-password', '-ws', 'GitHub API Token']}, (error, result, code) ->
token = result.toString() unless error?
callback(error, token)
grunt.registerTask 'publish-packages', 'Publish all bundled packages', ->
done = @async()
getToken (error, token) ->
unless token
grunt.log.error('Token not found in keychain or ATOM_ACCESS_TOKEN environment variable')
done(false)
{packageDependencies} = grunt.file.readJSON('package.json') ? {}
tasks = []
for name, version of packageDependencies
do (name, version) ->
tasks.push (callback) ->
grunt.verbose.writeln("Publishing #{name}@#{version}")
tag = "v#{version}"
packageExists name, token, (error, exists) ->
if error?
callback(error)
return
if exists
createPackage name, token, (error) ->
if error?
callback(error)
else
createPackageVersion(name, tag, token, callback)
else
createPackageVersion(name, tag, token, callback)
async.waterfall tasks, (error) ->
if error?
grunt.log.error(error.message)
done(false)
else
done()
+12
Ver Arquivo
@@ -0,0 +1,12 @@
path = require 'path'
module.exports = (grunt) ->
grunt.registerTask 'set-exe-icon', 'Set icon of the exe', ->
done = @async()
shellAppDir = grunt.config.get('atom.shellAppDir')
shellExePath = path.join(shellAppDir, 'atom.exe')
iconPath = path.resolve('resources', 'win', 'atom.ico')
rcedit = require('rcedit')
rcedit(shellExePath, {'icon': iconPath}, done)
+50
Ver Arquivo
@@ -0,0 +1,50 @@
fs = require 'fs'
path = require 'path'
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
getVersion = (callback) ->
if process.env.JANKY_SHA1 and process.env.JANKY_BRANCH is 'master'
{version} = require(path.join(grunt.config.get('atom.appDir'), 'package.json'))
callback(null, version)
else
cmd = 'git'
args = ['rev-parse', '--short', 'HEAD']
spawn {cmd, args}, (error, {stdout}={}, code) ->
callback(error, stdout?.trim?())
grunt.registerTask 'set-version', 'Set the version in the plist and package.json', ->
done = @async()
getVersion (error, version) ->
if error?
done(error)
return
appDir = grunt.config.get('atom.appDir')
# Replace version field of package.json.
packageJsonPath = path.join(appDir, 'package.json')
packageJson = require(packageJsonPath)
packageJson.version = version
packageJsonString = JSON.stringify(packageJson, null, 2)
fs.writeFileSync(packageJsonPath, packageJsonString)
if process.platform is 'darwin'
cmd = 'script/set-version'
args = [grunt.config.get('atom.buildDir'), version]
spawn {cmd, args}, (error, result, code) -> done(error)
else if process.platform is 'win32'
shellAppDir = grunt.config.get('atom.shellAppDir')
shellExePath = path.join(shellAppDir, 'atom.exe')
strings =
CompanyName: 'GitHub, Inc.'
FileDescription: 'The hackable, collaborative editor'
LegalCopyright: 'Copyright (C) 2013 GitHub, Inc. All rights reserved'
ProductName: 'Atom'
ProductVersion: version
rcedit = require('rcedit')
rcedit(shellExePath, {'version-string': strings}, done)
+112
Ver Arquivo
@@ -0,0 +1,112 @@
fs = require 'fs'
path = require 'path'
_ = require 'underscore-plus'
async = require 'async'
module.exports = (grunt) ->
{isAtomPackage, spawn} = require('./task-helpers')(grunt)
packageSpecQueue = null
runPackageSpecs = (callback) ->
failedPackages = []
rootDir = grunt.config.get('atom.shellAppDir')
contentsDir = grunt.config.get('atom.contentsDir')
resourcePath = process.cwd()
if process.platform is 'darwin'
appPath = path.join(contentsDir, 'MacOS', 'Atom')
else if process.platform is 'win32'
appPath = path.join(contentsDir, 'atom.exe')
packageSpecQueue = async.queue (packagePath, callback) ->
if process.platform is 'darwin'
options =
cmd: appPath
args: ['--test', "--resource-path=#{resourcePath}", "--spec-directory=#{path.join(packagePath, 'spec')}"]
opts:
cwd: packagePath
env: _.extend({}, process.env, ATOM_PATH: rootDir)
else if process.platform is 'win32'
options =
cmd: process.env.comspec
args: ['/c', appPath, '--test', "--resource-path=#{resourcePath}", "--spec-directory=#{path.join(packagePath, 'spec')}", "--log-file=ci.log"]
opts:
cwd: packagePath
env: _.extend({}, process.env, ATOM_PATH: rootDir)
grunt.verbose.writeln "Launching #{path.basename(packagePath)} specs."
spawn options, (error, results, code) ->
if process.platform is 'win32'
process.stderr.write(fs.readFileSync(path.join(packagePath, 'ci.log')))
fs.unlinkSync(path.join(packagePath, 'ci.log'))
failedPackages.push path.basename(packagePath) if error
callback()
modulesDirectory = path.resolve('node_modules')
for packageDirectory in fs.readdirSync(modulesDirectory)
packagePath = path.join(modulesDirectory, packageDirectory)
continue unless grunt.file.isDir(path.join(packagePath, 'spec'))
continue unless isAtomPackage(packagePath)
packageSpecQueue.push(packagePath)
# TODO: Restore concurrency on Windows
packageSpecQueue.concurrency = 1 unless process.platform is 'win32'
packageSpecQueue.drain = -> callback(null, failedPackages)
runCoreSpecs = (callback) ->
contentsDir = grunt.config.get('atom.contentsDir')
if process.platform is 'darwin'
appPath = path.join(contentsDir, 'MacOS', 'Atom')
else if process.platform is 'win32'
appPath = path.join(contentsDir, 'atom.exe')
resourcePath = process.cwd()
coreSpecsPath = path.resolve('spec')
if process.platform is 'darwin'
options =
cmd: appPath
args: ['--test', "--resource-path=#{resourcePath}", "--spec-directory=#{coreSpecsPath}"]
else if process.platform is 'win32'
options =
cmd: process.env.comspec
args: ['/c', appPath, '--test', "--resource-path=#{resourcePath}", "--spec-directory=#{coreSpecsPath}", "--log-file=ci.log"]
spawn options, (error, results, code) ->
if process.platform is 'win32'
process.stderr.write(fs.readFileSync('ci.log'))
fs.unlinkSync('ci.log')
else
# TODO: Restore concurrency on Windows
packageSpecQueue.concurrency = 2
callback(null, error)
grunt.registerTask 'run-specs', 'Run the specs', ->
done = @async()
startTime = Date.now()
# TODO: This should really be parallel on both platforms, however our
# fixtures step on each others toes currently.
if process.platform is 'darwin'
method = async.parallel
else if process.platform is 'win32'
method = async.series
method [runCoreSpecs, runPackageSpecs], (error, results) ->
[coreSpecFailed, failedPackages] = results
elapsedTime = Math.round((Date.now() - startTime) / 100) / 10
grunt.verbose.writeln("Total spec time: #{elapsedTime}s")
failures = failedPackages
failures.push "atom core" if coreSpecFailed
grunt.log.error("[Error]".red + " #{failures.join(', ')} spec(s) failed") if failures.length > 0
# TODO: Mark the build as green on Windows until specs pass.
if process.platform is 'darwin'
done(!coreSpecFailed and failedPackages.length == 0)
else if process.platform is 'win32'
done(true)
+53
Ver Arquivo
@@ -0,0 +1,53 @@
fs = require 'fs'
path = require 'path'
walkdir = require 'walkdir'
module.exports = (grunt) ->
cp: (source, destination, {filter}={}) ->
unless grunt.file.exists(source)
grunt.fatal("Cannot copy non-existent #{source.cyan} to #{destination.cyan}")
try
walkdir.sync source, (sourcePath, stats) ->
return if filter?.test(sourcePath)
destinationPath = path.join(destination, path.relative(source, sourcePath))
if stats.isSymbolicLink()
grunt.file.mkdir(path.dirname(destinationPath))
fs.symlinkSync(fs.readlinkSync(sourcePath), destinationPath)
else if stats.isFile()
grunt.file.copy(sourcePath, destinationPath)
if grunt.file.exists(destinationPath)
fs.chmodSync(destinationPath, fs.statSync(sourcePath).mode)
catch error
grunt.fatal(error)
grunt.verbose.writeln("Copied #{source.cyan} to #{destination.cyan}.")
mkdir: (args...) ->
grunt.file.mkdir(args...)
rm: (args...) ->
grunt.file.delete(args..., force: true) if grunt.file.exists(args...)
spawn: (options, callback) ->
childProcess = require 'child_process'
stdout = []
stderr = []
error = null
proc = childProcess.spawn(options.cmd, options.args, options.opts)
proc.stdout.on 'data', (data) -> stdout.push(data.toString())
proc.stderr.on 'data', (data) -> stderr.push(data.toString())
proc.on 'close', (exitCode, signal) ->
error = new Error(signal) if exitCode != 0
results = {stderr: stderr.join(''), stdout: stdout.join(''), code: exitCode}
grunt.log.error results.stderr if exitCode != 0
callback(error, results, exitCode)
isAtomPackage: (packagePath) ->
try
{engines} = grunt.file.readJSON(path.join(packagePath, 'package.json'))
engines?.atom?
catch error
false
-133
Ver Arquivo
@@ -1,133 +0,0 @@
# Authoring Packages
A package can contain a variety of different resource types to change Atom's
behavior. The basic package layout is as follows (not every package will
have all of these directories):
```text
my-package/
lib/
config/
stylesheets/
keymaps/
snippets/
grammars/
package.json
index.coffee
```
**NOTE:** NPM behavior is partially implemented until we get a working Node.js
API built into Atom. The goal is to make Atom packages be a superset of NPM
packages
## package.json
Similar to npm packages, Atom packages can contain a `package.json` file in their
top-level directory. This file contains metadata about the package, such as the
path to its "main" module, library dependencies, and manifests specifying the
order in which its resources should be loaded.
## Source Code
If you want to extend Atom's behavior, your package should contain a single
top-level module, which you export from `index.coffee` or another file as
indicated by the `main` key in your `package.json` file. The remainder of your
code should be placed in the `lib` directory, and required from your top-level
file.
Your package's top-level module is a singleton object that manages the lifecycle
of your extensions to Atom. Even if your package creates ten different views and
appends them to different parts of the DOM, it's all managed from your top-level
object. Your package's top-level module should implement the following methods:
- `activate(rootView, state)` **Required**: This method is called when your
package is loaded. It is always passed the window's global `rootView`, and is
sometimes passed state data if the window has been reloaded and your module
implements the `serialize` method.
- `serialize()` **Optional**: This method is called when the window is shutting
down, allowing you to return JSON to represent the state of your component. When
the window is later restored, the data you returned will be passed to your
module's `activate` method so you can restore your view to where the user left
off.
- `deactivate()` **Optional**: This method is called when the window is shutting
down. If your package is watching any files or holding external resources in any
other way, release them here. If you're just subscribing to things on window
you don't need to worry because that's getting torn down anyway.
## A Simple Package Layout:
```text
my-package/
package.json # optional
index.coffee
lib/
my-package.coffee
```
`index.coffee`:
```coffeescript
module.exports = require "./lib/my-package"
```
`my-package/my-package.coffee`:
```coffeescript
module.exports =
activate: (rootView, state) -> # ...
deactivate: -> # ...
serialize: -> # ...
```
Beyond this simple contract, your package has full access to Atom's internal
API. Anything we call internally, you can call as well. Be aware that since we
are early in development, APIs are subject to change and we have not yet
established clear boundaries between what is public and what is private. Also,
Please collaborate with us if you need an API that doesn't exist. Our goal is
to build out Atom's API organically based on the needs of package authors like
you. See [Atom's built-in packages](https://github.com/github/atom/tree/master/src/packages)
for examples of Atom's API in action.
## Stylesheets
Stylesheets for your package should be placed in the `stylesheets` directory.
Any stylesheets in this directory will be loaded and attached to the DOM when
your package is activated. An optional `stylesheets` key in your `package.json`
can list the stylesheets by name in order to specify a load order; otherwise
stylesheets are loaded alphabetically.
## Keymaps
Keymaps are placed in the `keymaps` subdirectory. By default, all keymaps will be
loaded in alphabetical order unless there is a `keymaps` array in `package.json`
specifying which keymaps to load and in what order. It's a good idea to provide
default keymaps for your extension. They can be customized by users later. See
the (main keymaps documentation)[#keymaps] for more information on how keymaps
work.
## Snippets
An extension can supply snippets in a `snippets` directory as `.cson` or `.json`
files:
```coffeescript
".source.coffee .specs":
"Expect":
prefix: "ex"
body: "expect($1).to$2"
"Describe":
prefix: "de"
body: """
describe "${1:description}", ->
${2:body}
"""
```
A snippets file contains scope selectors at its top level. Each scope selector
contains a hash of snippets keyed by their name. Each snippet specifies a
`prefix` and a `body` key.
All files in the directory will be automatically loaded, unless the
`package.json` supplies a `snippets` key as a manifest. As with all scoped
items, snippets loaded later take precedence over earlier snippets when two
snippets match a scope with the same specificity.
-55
Ver Arquivo
@@ -1,55 +0,0 @@
# Authoring A Theme
If you understand CSS, you can write an Atom theme easily. Your theme can style
Atom's user interface, specify the appearance of syntax-highlighted code, or
both. For making a syntax highlighting theme, refer to
[section 12.4 of the TextMate Manual](http://manual.macromates.com/en/language_grammars.html)
for a list of the common scopes used by TextMate grammars. You'll just need to
translate scope names to CSS classes. To theme Atom's user interface, take a
look at the existing light and dark themes for an example. Pressing `alt-meta-i`
and inspecting the Atom's markup directly can also be helpful.
The most basic theme is just a `.css` file. More complex themes occupy their own
folder, which can contain multiple stylesheets along with an optional
`package.cson` file containing a manifest to control their load-order:
```text
~/.atom/themes/
rockstar.css
rainbow/
package.json
core.css
editor.css
tree-view.css
```
package.cson:
```coffee-script
stylesheets: ["core.css", "editor.less", "tree-view.css"]
```
The `package.cson` file specifies which stylesheets to load and in what order
with the `stylesheets` key. If no manifest is specified, all stylesheets are
loaded in alphabetical order when the user selects the theme.
## Theme Extensions (Not Yet Implemented)
A theme may need to be extended to cover DOM elements that are introduced by a
third-party Atom package. When a package is loaded, stylesheets with the same
name as the package will automatically be loaded from the `packages` directory
of active themes:
```text
~/.atom/themes/
midnight/midnight.less
midnight/packages/terminal.less
midnight/packages/tree-view.less
```
In the example above, if the `midnight` theme is active, its `terminal` and
`tree-view` stylesheets will be loaded automatically if and when those packages
are activated. If you author an extension to a theme consider sending its author
a pull request to have it included in the theme by default. Package-specific
theme stylesheets need not be listed in the theme's `package.json` because they
will be loaded automatically when the package is loaded.
+34
Ver Arquivo
@@ -0,0 +1,34 @@
## Building Atom
These guide is meant only for users who wish to help develop atom core,
if you're just interested in using atom you should just [download
atom][download].
## OSX
* Use OS X 10.8 or later
* Install the latest node 0.10.x release (32bit preferable)
* Clone [atom][atom-git] to `~/github/atom`
* Run `~/github/atom/script/build`
## Windows
* Install [Visual C++ 2010 Express][win-vs2010]
* Install the [latest 32bit Node 0.10.x][win-node]
* Install the [latest Python 2.7.x][win-python]
* Install [GitHub for Windows][win-github]
* Clone [atom/atom][atom-git] to `C:\Users\<user>\github\atom\`
* Add `C:\Python27;C:\Program Files\nodejs;C:\Users\<user>\github\atom\node_modules\`
to your PATH
* Set ATOM_ACCESS_TOKEN to your oauth2 credentials (run `security -q
find-generic-password -ws 'GitHub API Token'` on OSX to get your
credentials).
* Use the Windows GitHub shell and cd into `C:\Users\<user>\github\atom`
* Run `script\bootstrap`
[download]: https://github.com/atom/atom/releases/latest
[win-node]: http://nodejs.org/download/
[win-python]: http://www.python.org/download/
[win-github]: http://windows.github.com/
[win-vs2010]: http://www.microsoft.com/visualstudio/eng/products/visual-studio-2010-express
[atom-git]: https://github.com/atom/atom/
-25
Ver Arquivo
@@ -1,25 +0,0 @@
## Command Panel
A partial implementation of the [Sam command language](http://man.cat-v.org/plan_9/1/sam)
*Examples*
`,` selects entire file
`1,4` selects lines 1-4
`/pattern` selects the first match after the cursor/selection
`s/pattern/replacement` replace first text matching pattern in current selection
`s/pattern/replacement/g` replace all text matching pattern in current selection
`,s/pattern/replacement/g` replace all text matching pattern in file
`1,4s/pattern/replacement` replace all text matching pattern in lines 1-4
`x/pattern` selects all matches in the current selections
`,x/pattern` selects all matches in the file
`,x/pattern1/ x/pattern2` "structural regex" - selects all matches of pattern2 inside matches of pattern1
-3
Ver Arquivo
@@ -1,3 +0,0 @@
# Built-In Packages
Atom ships with several optional built-in packages.
-7
Ver Arquivo
@@ -1,7 +0,0 @@
## Markdown Preview
The `markdown-preview` extension displays the rendered HTML for the markdown
in the current editor.
It can be activated from the editor using the `ctrl-m` key-binding and is
currently enabled for `.markdown`, `.md`, `.mkd`, `.mkdown`, and `.ron` files.
-34
Ver Arquivo
@@ -1,34 +0,0 @@
## Wrap Guide
The `wrap-guide` extension places a vertical line in each editor at a certain
column to guide your formatting so lines do not exceed a certain width.
By default the wrap-guide is placed at the 80th column.
### Configuration
You can customize where the column is placed using the `wrapGuide.columns`
config option.
config.cson:
```coffee-cript
"wrap-guide":
columns: [
{ pattern: "\.mm$", column: 200 },
{ pattern: "\.cc$", column: 120 }
]
```
The above config example would place the guide at the 200th column for paths
that end with `.mm` and place the guide at the 120th column for paths that end
with `.cc`.
You can configure the color and/or width of the line by adding the following
CSS to a custom stylesheet:
```css
.wrap-guide {
width: 10px;
background-color: red;
}
```
+395
Ver Arquivo
@@ -0,0 +1,395 @@
# Creating Packages
Packages are at the core of Atom. Nearly everything outside of the main editor
is handled by a package. That includes "core" pieces like the [file tree][file-tree],
[status bar][status-bar], [syntax highlighting][cs-syntax], and more.
A package can contain a variety of different resource types to change Atom's
behavior. The basic package layout is as follows:
```text
my-package/
grammars/
keymaps/
lib/
menus/
spec/
snippets/
stylesheets/
index.coffee
package.json
```
Not every package will have (or need) all of these directories.
We have [a tutorial on creating your first package][first-package].
## package.json
Similar to [npm packages][npm], Atom packages contain a _package.json_ file
in their top-level directory. This file contains metadata about the package,
such as the path to its "main" module, library dependencies, and manifests
specifying the order in which its resources should be loaded.
In addition to the regular [npm package.json keys][npm-keys] available, Atom
package.json files have their own additions.
- `main` (**Required**): the path to the CoffeeScript file that's the entry point
to your package
- `stylesheets` (**Optional**): an Array of Strings identifying the order of the
stylesheets your package needs to load. If not specified, stylesheets in the
_stylesheets_ directory are added alphabetically.
- `keymaps`(**Optional**): an Array of Strings identifying the order of the
key mappings your package needs to load. If not specified, mappings in the
_keymaps_ directory are added alphabetically.
- `menus`(**Optional**): an Array of Strings identifying the order of
the menu mappings your package needs to load. If not specified, mappings
in the _keymap_ directory are added alphabetically.
- `snippets` (**Optional**): an Array of Strings identifying the order of the
snippets your package needs to load. If not specified, snippets in the
_snippets_ directory are added alphabetically.
- `activationEvents` (**Optional**): an Array of Strings identifying events that
trigger your package's activation. You can delay the loading of your package
until one of these events is trigged.
## Source Code
If you want to extend Atom's behavior, your package should contain a single
top-level module, which you export from _index.coffee_ (or whichever file is
indicated by the `main` key in your _package.json_ file). The remainder of your
code should be placed in the `lib` directory, and required from your top-level
file.
Your package's top-level module is a singleton object that manages the lifecycle
of your extensions to Atom. Even if your package creates ten different views and
appends them to different parts of the DOM, it's all managed from your top-level
object.
Your package's top-level module should implement the following methods:
- `activate(state)`: This **required** method is called when your
package is activated. It is passed the state data from the last time the window
was serialized if your module implements the `serialize()` method. Use this to
do initialization work when your package is started (like setting up DOM
elements or binding events).
- `serialize()`: This **optional** method is called when the window is shutting
down, allowing you to return JSON to represent the state of your component. When
the window is later restored, the data you returned is passed to your
module's `activate` method so you can restore your view to where the user left
off.
- `deactivate()`: This **optional** method is called when the window is shutting
down. If your package is watching any files or holding external resources in any
other way, release them here. If you're just subscribing to things on window,
you don't need to worry because that's getting torn down anyway.
### Simple Package Code
Your directory would look like this:
```text
my-package/
package.json
index.coffee
lib/
my-package.coffee
```
`index.coffee` might be:
```coffeescript
module.exports = require "./lib/my-package"
```
`my-package/my-package.coffee` might start:
```coffeescript
module.exports =
activate: (state) -> # ...
deactivate: -> # ...
serialize: -> # ...
```
Beyond this simple contract, your package has access to Atom's API. Be aware
that since we are early in development, APIs are subject to change and we have
not yet established clear boundaries between what is public and what is private.
Also, please collaborate with us if you need an API that doesn't exist. Our goal
is to build out Atom's API organically based on the needs of package authors
like you.
## Stylesheets
Stylesheets for your package should be placed in the _stylesheets_ directory.
Any stylesheets in this directory will be loaded and attached to the DOM when
your package is activated. Stylesheets 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
that fits into Atom seamlessly. You can view all of Atom's UI components by opening
the styleguide: open the command palette (`cmd-shift-P`) and search for _styleguide_,
or just type `cmd-ctrl-G`.
If you _do_ need special styling, try to keep only structural styles in the package
stylesheets. If you _must_ specify colors and sizing, these should be taken from
the active theme's [ui-variables.less][ui-variables]. For more information, see the
[theme variables docs][theme-variables]. If you follow this guideline, your package
will look good out of the box with any theme!
An optional `stylesheets` array in your _package.json_ can list the stylesheets
by name to specify a loading order; otherwise, stylesheets are loaded
alphabetically.
## Keymaps
It's recommended that you provide key bindings for commonly used actions for
your extension, especially if you're also adding a new command:
```coffeescript
'.tree-view-scroller':
'ctrl-V': 'changer:magic'
```
Keymaps are placed in the _keymaps_ subdirectory. By default, all keymaps are
loaded in alphabetical order. An optional `keymaps` array in your _package.json_
can specify which keymaps to load and in what order.
Keybindings are executed by determining which element the keypress occured on. In
the example above, `changer:magic` command is executed when pressing `ctrl-V` on
the `.tree-view-scroller` element.
See the [main keymaps documentation][keymaps] for more detailed information on
how keymaps work.
## Menus
Menus are placed in the _menus_ subdirectory. By default, all menus are loaded
in alphabetical order. An optional `menus` array in your _package.json_ can
specify which menus to load and in what order.
### Application Menu
It's recommended that you create an application menu item for common actions
with your package that aren't tied to a specific element:
```coffee-script
'menu': [
{
'label': 'Packages'
'submenu': [
{
'label': 'My Package'
'submenu': [
{
'label': 'Toggle'
'command': 'my-package:toggle'
}
]
}
]
}
]
```
To add your own item to the application menu, simply create a top level `menu`
key in any menu configuration file in _menus_. This can be a JSON or [CSON] file.
The menu templates you specify are merged with all other templates provided
by other packages in the order which they were loaded.
### Context Menu
It's recommended to specify a context menu item for commands that are linked to
specific parts of the interface, like adding a file in the tree-view:
```coffee-script
'context-menu':
'.tree-view':
'Add file': 'tree-view:add-file'
'.workspace':
'Inspect Element': 'core:inspect'
```
To add your own item to the application menu simply create a top level
`context-menu` key in any menu configuration file in _menus_. This can be a
JSON or [CSON] file.
Context menus are created by determining which element was selected and
then adding all of the menu items whose selectors match that element (in
the order which they were loaded). The process is then repeated for the
elements until reaching the top of the DOM tree.
In the example above, the `Add file` item will only appear when the focused item
or one of its parents has the `tree-view` class applied to it.
## Snippets
An extension can supply language snippets in the _snippets_ directory which
allows the user to enter repetitive text quickly:
```coffeescript
".source.coffee .specs":
"Expect":
prefix: "ex"
body: "expect($1).to$2"
"Describe":
prefix: "de"
body: """
describe "${1:description}", ->
${2:body}
"""
```
A snippets file contains scope selectors at its top level (`.source.coffee
.spec`). Each scope selector contains a hash of snippets keyed by their name
(`Expect`, `Describe`). Each snippet also specifies a `prefix` and a `body` key.
The `prefix` represents the first few letters to type before hitting the `tab`
key to autocomplete. The `body` defines the autofilled text. You can use
placeholders like `$1`, `$2`, to indicate regions in the body the user can
navigate to every time they hit `tab`.
All files in the directory are automatically loaded, unless the _package.json_
supplies a `snippets` key. As with all scoped items, snippets loaded later take
precedence over earlier snippets when two snippets match a scope with the same
specificity.
## Language Grammars
If you're developing a new language grammar, you'll want to place your file in
the _grammars_ directory. Each grammar is a pairing of two keys, `match` and
`captures`. `match` is a regular expression identifying the pattern to
highlight, while `captures` is an object representing what to do with each
matching group.
For example:
```coffeescript
{
'match': '(?:^|\\s)(__[^_]+__)'
'captures':
'1': 'name': 'markup.bold.gfm'
}
```
This indicates that the first matching capture (`(__[^_]+__)`) should have the
`markup.bold.gfm` token applied to it.
To capture a single group, simply use the `name` key instead:
```coffeescript
{
'match': '^#{1,6}\\s+.+$'
'name': 'markup.heading.gfm'
}
```
This indicates that Markdown header lines (`#`, `##`, `###`) should be applied
with the `markup.heading.gfm` token.
More information about the significance of these tokens can be found in
[section 12.4 of the TextMate Manual][tm-tokens].
Your grammar should also include a `filetypes` array, which is a list of file
extensions your grammar supports:
```coffeescript
'fileTypes': [
'markdown'
'md'
'mkd'
'mkdown'
'ron'
]
```
## Bundle External Resources
It's common to ship external resources like images and fonts in the package, to
make it easy to reference the resources in HTML or CSS, you can use the `atom`
protocol URLs to load resources in the package.
The URLs should be in the format of
`atom://package-name/relative-path-to-package-of-resource`, for example, the
`atom://image-view/images/transparent-background.gif` would be equivalent to
`~/.atom/packages/image-view/images/transparent-background.gif`.
You can also use the `atom` protocol URLs in themes.
## Writing Tests
Your package **should** have tests, and if they're placed in the _spec_
directory, they can be run by Atom.
Under the hood, [Jasmine] executes your tests, so you can assume that any DSL
available there is available to your package as well.
**FIXME: Explain the following**
* jasmine
* jasmine-focused
* `spec/fixtures` and global.project
* setTimeout
* whatever else is different in spec-helper
## Running Tests
TODO: Probably use the menu option now.
Once you've got your test suite written, the recommended way to run it is `apm
test`. `apm test` prints its output to the console and returns the proper status
code depending on whether tests passed or failed.
## Publishing
Atom bundles a command line utility called [apm] which can be used to publish
Atom packages to the public registry.
Once your package is written and ready for distribution you can run the
following to publish your package:
```sh
cd my-package
apm publish minor
```
This will update your `package.json` to have a new minor `version`, commit the
change, create a new [Git tag][git-tag], and then upload the package to the
registry.
Run `apm help publish` to see all the available options and `apm help` to see
all the other available commands.
## Included Libraries
FIXME: Describe `require 'atom'
In addition to core node.js modules, all packages can `require` the following
popular libraries into their packages:
* [SpacePen] (as `require 'space-pen'`)
* [jQuery] (as `require 'jquery'`)
* [Underscore] (as `require 'underscore'`)
Additional libraries can be found by browsing Atom's *node_modules* folder.
[file-tree]: https://github.com/atom/tree-view
[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
[apm]: https://github.com/atom/apm
[git-tag]: http://git-scm.com/book/en/Git-Basics-Tagging
[wrap-guide]: https://github.com/atom/wrap-guide/
[keymaps]: internals/keymaps.md
[theme-variables]: theme-variables.md
[tm-tokens]: http://manual.macromates.com/en/language_grammars.html
[spacepen]: https://github.com/nathansobo/space-pen
[path]: http://nodejs.org/docs/latest/api/path.html
[jquery]: http://jquery.com/
[underscore]: http://underscorejs.org/
[jasmine]: https://github.com/pivotal/jasmine
[cson]: https://github.com/atom/season
[less]: http://lesscss.org
[ui-variables]: https://github.com/atom/atom-dark-ui/blob/master/stylesheets/ui-variables.less
[first-package]: your-first-package.html
+135
Ver Arquivo
@@ -0,0 +1,135 @@
# Creating a Theme
Atom's interface is rendered using HTML, and it's styled via [LESS] (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.
Since CSS is the basis of the theming system, we can load multiple themes within
Atom, and the themes behave just as they would on a website. Themes loaded first
are overridden by themes which are loaded later. The order of theme loading is
controlled within the Settings/Themes pane.
This flexibility is helpful for users that prefer a light interface with a dark
syntax theme. Atom currently has only interface and syntax themes, but it is
possible to create a theme to style something specific &mdash; say, changing
the colors in the tree view or creating a language specific syntax theme.
## Getting Started
Themes are pretty straight forward 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
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
is used to help distribute your theme to Atom users.
There are two types of themes you can create: syntax themes and interface themes.
The differences between them are simply a matter of what they target and what
they provide. Syntax themes focus on the entire editor pane, while interface themes
target elements which are outside of the editor.
## Creating a Syntax Theme
Let's create your first theme.
To get started, hit `cmd-shift-P`, and start typing "Generate Theme" to generate
a package. Select "Generate Theme," and you'll be asked for a theme name. Let's
call ours _motif_.
Atom will pop open a new window, showing the _motif_ theme, with a default set of
folders and files created for us. If you hit `cmd-,` and navigate to the Themes
menu option, you'll see the `motif` theme already available. Drag it over from
"Enabled Themes" to "Available Themes."
Open up _stylesheets/colors.less_ to change the various colors variables which
have been already been defined. For example, turn `@red` into `#f4c2c1`.
Then, open _stylesheets/base.less_, and modify the various syntax CSS selectors
that have been already been defined. Each of these selectors represents a different
part of the Atom window. Themes that don't need to modify a particular region
can simply remove the selectors they don't need.
As an example, let's make the `.gutter` `background-color` into `@red`.
Reload Atom by hitting `cmd-r` to see the changes you made reflected in your Atom
window. Pretty neat!
## Creating an Interface Theme
Interface themes **must** provide a `ui-variables.less` file which contains all
of the variables provided by the [core themes][ui-variables].
To create an interface UI theme, do the following:
1. Fork one of the following repos
1. [atom-dark-ui]
1. [atom-light-ui]
1. Open a terminal in the forked theme's directory
1. Open your new theme in a Dev Mode Atom window (run `atom -d .` in the terminal or use the __View > Developer > Open in Dev Mode__ menu)
1. Change the name of the theme in the theme's `package.json` file
1. Run `apm link` to tell Atom about your new theme
1. Reload Atom (`cmd-r`)
1. Enable the theme via the themes panel in settings
1. Make changes! Since you opened the theme in a Dev Mode window, changes will
be instantly reflected in the editor without having to reload.
## Development workflow
There are a few of tools to help make theme development faster.
### Live Reload
Reloading by hitting `cmd-r` after you make changes to your theme is less than ideal.
Atom supports [live updating][livereload] of styles on Dev Mode Atom windows.
To enable a Dev Mode window:
1. Open your theme directory in a dev window by either going to the
__View > Developer > Open in Dev Mode__ menu or by hitting the `cmd-shift-o`
shortcut
1. Make a change to your theme file and save it. Your change should be
immediately applied!
If you'd like to reload all the styles at any time, you can use the shortcut
`cmd-ctrl-R`.
### Developer Tools
Atom is based on the Chrome browser, and supports Chrome's Developer Tools. You
can open them by selecting the __View > Toggle Developer Tools__ menu, or by using
the `cmd-option-i` shortcut.
The dev tools allow you to inspect elements and take a look at their CSS
properties.
![devtools-img]
Check out Google's [extensive tutorial][devtools-tutorial] for a short introduction.
### Atom Styleguide
If you are creating an interface theme, you'll want a way to see how your theme
changes affect all the components in the system. The [styleguide] is a page with
every component Atom supports rendered.
To open the styleguide, open the command palette (`cmd-shift-P`) and search for
_styleguide_, or use the shortcut `cmd-ctrl-shift-g`.
![styleguide-img]
[less]: http://lesscss.org/
[git]: http://git-scm.com/
[atom]: https://atom.io/
[package.json]: ./creating-a-package.html#package-json
[less-tutorial]: https://speakerdeck.com/danmatthews/less-css
[devtools-tutorial]: https://developers.google.com/chrome-developer-tools/docs/elements
[ui-variables]: ./theme-variables.html
[livereload]: https://github.com/atom/dev-live-reload
[styleguide]: https://github.com/atom/styleguide
[atom-dark-ui]: https://github.com/atom/atom-dark-ui
[atom-light-ui]: https://github.com/atom/atom-light-ui
[styleguide-img]: https://f.cloud.github.com/assets/69169/1347390/2d431d98-36af-11e3-8f8e-3f4ce1e67adb.png
[devtools-img]: https://f.cloud.github.com/assets/69169/1347391/2d51f91c-36af-11e3-806f-f7b334af43e9.png
[themesettings-img]: https://f.cloud.github.com/assets/69169/1347569/3150bd0c-36b2-11e3-9d69-423503acfe3f.png
+141
Ver Arquivo
@@ -0,0 +1,141 @@
# Customizing Atom
To change a setting, configure a theme, or install a package just open the
Settings pane in the current window by pressing `cmd+,`.
## Changing The Theme
Because Atom themes are based on CSS, it's possible (and encouraged) to have
multiple themes active at the same time. Atom comes with both light and dark
interface themes as well as several syntax themes (you can also [create your
own][create-theme]).
To change the active themes just open the Settings pane (`cmd-,`) and select the
`Themes` tab. You can install non-bundled themes by going to the `Available
Themes` section on the `Packages` tab within the Settings panel.
## Installing Packages
You can install non-bundled packages by going to the `Available Packages`
section on the `Packages` tab within the Settings panel (`cmd-,`).
You can also install packages from the command line using the
[apm](https://github.com/atom/apm) command:
`apm install <package_name>` to install the latest version.
`apm install <package_name>@<package_version>` to install a specific version.
For example `apm install emmet@0.1.5` installs the `0.1.5` release of the
[Emmet](https://github.com/atom/emmet) package into `~/.atom/packages`.
## Customizing Key Bindings
Atom keymaps work similarly to stylesheets. Just as stylesheets use selectors
to apply styles to elements, Atom keymaps use selectors to associate keystrokes
with events in specific contexts. Here's a small example, excerpted from Atom's
built-in keymaps:
```coffee-script
'.editor':
'enter': 'editor:newline'
'body':
'ctrl-P': 'core:move-up'
'ctrl-p': 'core:move-down'
```
This keymap defines the meaning of `enter` in two different contexts. In a
normal editor, pressing `enter` emits the `editor:newline` event, which causes
the editor to insert a newline. But if the same keystroke occurs inside of a
select list's mini-editor, it instead emits the `core:confirm` event based on
the binding in the more-specific selector.
By default, `~/.atom/keymap.cson` is loaded when Atom is started. It will always
be loaded last, giving you the chance to override bindings that are defined by
Atom's core keymaps or third-party packages.
You'll want to know all the commands available to you. Open the Settings panel
(`cmd-,`) and select the _Keybindings_ tab. It will show you all the keybindings
currently in use.
## Advanced Configuration
Atom loads configuration settings from the `config.cson` file in your _~/.atom_
directory, which contains CoffeeScript-style JSON:
```coffeescript
core:
excludeVcsIgnoredPaths: true
editor:
fontSize: 18
```
The configuration itself is grouped by the package name or one of the two core
namespaces: `core` and `editor`.
### Configuration Key Reference
- `core`
- `disabledPackages`: An array of package names to disable
- `excludeVcsIgnoredPaths`: Don't search within files specified by _.gitignore_
- `ignoredNames`: File names to ignore across all of Atom
- `projectHome`: The directory where projects are assumed to be located
- `themes`: An array of theme names to load, in cascading order
- `editor`
- `autoIndent`: Enable/disable basic auto-indent (defaults to `true`)
- `autoIndentOnPaste`: Enable/disable auto-indented pasted text (defaults to `false`)
- `nonWordCharacters`: A string of non-word characters to define word boundaries
- `fontSize`: The editor font size
- `fontFamily`: The editor font family
- `invisibles`: Specify characters that Atom renders for invisibles in this hash
- `tab`: Hard tab characters
- `cr`: Carriage return (for Microsoft-style line endings)
- `eol`: `\n` characters
- `space`: Leading and trailing space characters
- `normalizeIndentOnPaste`: Enable/disable conversion of pasted tabs to spaces
- `preferredLineLength`: Identifies the length of a line (defaults to `80`)
- `showInvisibles`: Whether to render placeholders for invisible characters (defaults to `false`)
- `showIndentGuide`: Show/hide indent indicators within the editor
- `showLineNumbers`: Show/hide line numbers within the gutter
- `softWrap`: Enable/disable soft wrapping of text within the editor
- `softWrapAtPreferredLineLength`: Enable/disable soft line wrapping at `preferredLineLength`
- `tabLength`: Number of spaces within a tab (defaults to `2`)
- `fuzzyFinder`
- `ignoredNames`: Files to ignore *only* in the fuzzy-finder
- `whitespace`
- `ensureSingleTrailingNewline`: Whether to reduce multiple newlines to one at the end of files
- `removeTrailingWhitespace`: Enable/disable striping of whitespace at the end of lines (defaults to `true`)
- `wrap-guide`
- `columns`: Array of hashes with a `pattern` and `column` key to match the
the path of the current editor to a column position.
### Quick Personal Hacks
### user.coffee
When Atom finishes loading, it will evaluate _user.coffee_ in your _~/.atom_
directory, giving you a chance to run arbitrary personal CoffeeScript code to
make customizations. You have full access to Atom's API from code in this file.
If customizations become extensive, consider [creating a
package][create-a-package].
### user.less
If you want to apply quick-and-dirty personal styling changes without creating
an entire theme that you intend to distribute, you can add styles to
_user.less_ in your _~/.atom_ directory.
For example, to change the color of the highlighted line number for the line
that contains the cursor, you could add the following style to _user.less_:
```less
@highlight-color: pink;
.editor .line-number.cursor-line {
color: @highlight-color;
}
```
[create-a-package]: creating-packages.md
[create-theme]: creating-a-theme.md
+56 -224
Ver Arquivo
@@ -1,63 +1,42 @@
# Getting Started
Welcome to Atom. This documentation is intended to offer a basic introduction
of how to get productive with this editor. Then we'll delve into more details
about configuring, theming, and extending Atom.
Welcome to Atom! This guide provides a quick introduction so you can be
productive as quickly as possible. There are also guides which cover
[configuring], [theming], and [extending] Atom.
## The Command Palette
If there's one key-command you learn in Atom, it should be `meta-p` (`meta` is
synonymous with the ⌘ key). You can always hit `meta-p` to bring up a list of
commands that are relevant to the currently focused UI element. If there is a
key binding for a given command, it is also displayed. This is a great way to
explore the system and get to know the key commands interactively. If you'd like
to add or change a binding for a command, refer to the [key
bindings](#customizing-key-bindings) section to learn how.
If there's one key-command you remember in Atom, it should be `cmd-shift-P`. You
can always press `cmd-shift-P` to bring up a list of commands (and key bindings)
that are relevant to the currently focused interface element. This is a great
way to explore the system and learn key bindings interactively. For information
about adding or changing a key binding refer to the [customizing key
bindings][key-bindings] section.
![Command Palette](http://f.cl.ly/items/32041o3w471F3C0F0V2O/Screen%20Shot%202013-02-13%20at%207.27.41%20PM.png)
![Command Palette]
## Basic Key Bindings
Remember you can always use `meta-p` to explore available commands and their
bindings, but here's a list of a few useful commands.
- `meta-o` : open file/directory
- `meta-n` : new window
- `meta-r` : reload the current window
- `meta-alt-ctrl-s` : run specs
- `meta-t` : open fuzzy file finder
- `meta-;` : open command prompt
- `meta-f` : open command prompt with `/`
- `meta-g` : repeat the last local search
- `meta-shift-f` : open command prompt with `Xx/` for a project-wide search
- `meta-\` : focus/open tree view, or close it when it is focused
- `meta-shift-\` : open tree view with the current file selected
- `ctrl-w v`, `ctrl-|` : split screen vertically
- `ctrl-w s`, `ctrl--` : split screen horizontally
- `meta-l` : go to line
## Usage Basics
### If You See A Rendering Bug
Things are pretty stable, but we think we have a couple rendering bugs lurking
that are hard to reproduce. If you see one, please hit `meta-p` and type
"save debug snapshot". Run that command to save a snapshot of the misbehaving
editor and send it to us, along with a screenshot and your best description of
how you produced the bug. Refreshing with `meta-r` should usually resolve the
issue so you can keep working.
## The Basics
### Working With Files
Atom windows are scoped to the directory they're opened from. If you launch Atom
from the command line everything will be relative to the current directory. This
means that the tree view on the left will only show files contained within that
directory.
This can be a useful way to organize multiple projects, as each project will be
contained within its own window.
#### Finding Files
The fastest way to find a file in your project is to use the fuzzy finder. Just
hit `meta-t` and start typing the name of the file you're looking for. If you
already have the file open and want to jump to it, hit `meta-b` to bring up a
searchable list of open buffers.
The fastest way to find a file is to use the fuzzy finder. Press `cmd-t` and
begin typing the name of the file you're looking for. If you are looking for a
file that is already open press `cmd-b` to bring up a searchable list of open
files.
You can also use the tree view to navigate to a file. To open or move focus to
the tree view, hit `meta-\`. You can then navigate to a file and select it with
`return`.
the tree view, press `cmd-\`. You can then navigate to a file using the arrow
keys and select it with `return`.
#### Adding, Moving, Deleting Files
@@ -66,204 +45,57 @@ select a directory in the tree view and press `a`. Then type the name of the
file. Any intermediate directories you type will be created automatically if
needed.
To move or rename a file or directory, select it in the tree view and hit `m`.
To delete a file, select it in the tree view and hit `delete`.
To move or rename a file or directory, select it in the tree view and press `m`.
### Searching For Stuff
To delete a file, select it in the tree view and press `delete`.
#### Using the Command Line
### Searching
Atom has a command line similar to editors Emacs and Vim, which is currently the
only interface for performing searches. Hitting `meta-f` will open the command
line prepopulated with the `/` command, which finds forward in the current
buffer from the location of the cursor. Pressing `meta-g` will repeat the
search. Hitting `meta-shift-f` will open the command line prepopulated with
`Xx/`, which is a composite command that performs a global search. The results
of the search will appear in the operation preview list, which you can focus
with `meta-:`.
#### Find and Replace
Atom's command language is still under construction and is loosely based on
the [Sam editor](http://doc.cat-v.org/bell_labs/sam_lang_tutorial/) from the
Plan 9 operating system. It's similar to Ex mode in Vim, but is selection-based
rather than line-based. It allows you to compose commands together in
interesting ways.
To search within a buffer use `cmd-f`. To search the entire project use
`cmd-shift-f`.
#### Navigating By Symbols
If you want to jump to a method, you can use the ctags-based symbols package.
The `meta-j` binding will open a list of all symbols in the current file. The
`meta-shift-j` binding will open a list of all symbols for the current project
based on a tags file. And `meta-.` will jump to the tag for the word currently
under the cursor. Make sure you have a tags file generated for the project for
the latter of these two bindings to work. Also, if you're editing CoffeeScript,
it's a good idea to update your `~/.ctags` file to understand the language. Here
is [a good example](https://github.com/kevinsawicki/dotfiles/blob/master/.ctags).
If you want to jump to a method press `cmd-r`. It opens a list of all symbols
in the current file.
### Replacing Stuff
To perform a replacement, open up the command line with `meta-;` and use the `s`
command, as follows: `s/foo/bar/g`. Note that if you have a selection, the
replacement will only occur inside the selected text. An empty selection will
cause the replacement to occur across the whole buffer. If you want to run the
command on the whole buffer even if you have a selection, precede your
substitution with the `,` address, which specifies that the command following it
operate on the whole buffer.
To search for symbols across your project use `cmd-shift-r`, but you'll need to
make sure you have a ctags installed and a tags file generated for your project.
Also, if you're editing CoffeeScript, it's a good idea to update your `~/.ctags`
file to understand the language. Here is [a good example][ctags].
### Split Panes
You can split any editor pane horizontally or vertically by using `ctrl-shift-|` or
`ctrl-w v`. Once you have a split pane, you can move focus between them with
`ctrl-tab` or `ctrl-w w`. To close a pane, close all tabs inside it.
You can split any editor pane horizontally or vertically by using `cmd-k right` or
`cmd-k down`. Once you have a split pane, you can move focus between them with
`cmd-k cmd-right` or `cmd-k cmd-down`. To close a pane, close all tabs inside it.
### Folding
You can fold everything with `ctrl-shift-[` and unfold everything with
`ctrl-shift-]`. Or, you can fold / unfold by a single level with `ctrl-[` and
`ctrl-]`. The user interaction around folds is still a bit rough, but we're
planning to improve it soon.
You can fold everything with `alt-cmd-{` and unfold everything with
`alt-cmd-}`. Or, you can fold / unfold by a single level with `alt-cmd-[` and
`alt-cmd-]`.
### Soft-Wrap
If you want to toggle soft wrap, trigger the command from the command palette.
Press `meta-p` to open the palette, then type "wrap" to find the correct
Press `cmd-shift-P` to open the palette, then type "wrap" to find the correct
command.
## Your .atom Directory
## Configuration
When you install Atom, a `.atom` directory is created in your home directory.
If you press `meta-,`, that directory will be opened in a new window. For the
time being, this will serve as the primary interface for adjusting configuration
settings, adding and changing key bindings, tweaking styles, etc.
Press `cmd-,` to display the a settings pane. This serves as the primary
interface for adjusting config settings, installing packages and changing
themes.
## Configuration Settings
For more advanced configuration see the [customization guide][customization].
Atom loads configuration settings from the `config.cson` file in your `~/.atom`
directory, which contains CoffeeScript-style JSON:
```coffeescript
core:
hideGitIgnoredFiles: true
editor:
fontSize: 18
```
Configuration is broken into namespaces, which are defined by the config hash's
top-level keys. In addition to Atom's core components, each package may define
its own namespace.
### Glossary of Config Keys
- core
- disablePackages: An array of package names to disable
- hideGitIgnoredFiles: Whether files in the .gitignore should be hidden
- ignoredNames: File names to ignore across all of atom (not fully implemented)
- themes: An array of theme names to load, in cascading order
- autosave: Save a resource when its view loses focus
- editor
- autoIndent: Enable/disable basic auto-indent (defaults to true)
- autoIndentOnPaste: Enable/disable auto-indented pasted text (defaults to false)
- nonWordCharacters: A string of non-word characters to define word boundaries
- fontSize
- fontFamily
- invisibles: Specify characters that Atom renders for invisibles in this hash
- tab: Hard tab characters
- cr: Carriage return (For Microsoft-style line endings)
- eol: `\n` characters
- space: Leading and trailing space characters
- preferredLineLength: Packages such as autoflow use this (defaults to 80)
- showInvisibles: Whether to render placeholders for invisible characters (defaults to false)
- fuzzyFinder
- ignoredNames: Files to ignore *only* in the fuzzy-finder
- whitespace
- ensureSingleTrailingNewline: Whether to reduce multiple newlines to one at the end of files
- wrapGuide
- columns: Array of hashes with a `pattern` and `column` key to match the
the path of the current editor to a column position.
## Customizing Key Bindings
Atom keymaps work similarly to stylesheets. Just as stylesheets use selectors
to apply styles to elements, Atom keymaps use selectors to associate keystrokes
with events in specific contexts. Here's a small example, excerpted from Atom's
built-in keymaps:
```coffee-script
'.editor':
'enter': 'editor:newline'
".select-list .editor.mini":
'enter': 'core:confirm',
```
This keymap defines the meaning of `enter` in two different contexts. In a
normal editor, pressing `enter` emits the `editor:newline` event, which causes
the editor to insert a newline. But if the same keystroke occurs inside of a
select list's mini-editor, it instead emits the `core:confirm` event based on
the binding in the more-specific selector.
By default, any keymap files in your `~/.atom/keymaps` directory will be loaded
in alphabetical order when Atom is started. They will always be loaded last,
giving you the chance to override bindings that are defined by Atom's core
keymaps or third-party packages.
## Changing The Theme
Atom comes bundles with two themes `atom-dark-*` and `atom-light-*`.
Because Atom themes are based on CSS, it's possible to have multiple themes
active at the same time. For example, you'll usually select a theme for the UI
and another theme for syntax highlighting. You can select themes by specifying
them in the `core.themes` array in your `config.cson`:
```coffee-script
core:
themes: ["atom-light-ui", "atom-light-syntax"]
# or, if the sun is going down:
# themes: ["atom-dark-ui", "atom-dark-syntax"]
```
You install new themes by placing them in the `~/.atom/themes` directory. A
theme can be a CSS file, a directory containing multiple CSS files, or a
TextMate theme (either `.tmTheme` or `.plist`).
## Installing Packages (Partially Implemented)
To install a package, clone it into the `~/.atom/packages` directory. Atom will
also load grammars and snippets from TextMate bundles. If you want to disable a
package without removing it from the packages directory, insert its name into
`config.core.disabledPackages`:
config.cson:
```coffeescript
core:
disabledPackages: [
"fuzzy-finder",
"tree-view"
]
```
## Quick Personal Hacks
### user.coffee
When Atom finishes loading, it will evaluate `user.coffee` in your `~/.atom`
directory, giving you a chance to run arbitrary personal CoffeeScript code to
make customizations. You have full access to Atom's API from code in this file.
Please refer to the Atom Internals Guide for more information. If your
customizations become extensive, consider creating a package.
### user.css
If you want to apply quick-and-dirty personal styling changes without creating
an entire theme that you intend to distribute, you can add styles to
`user.css` in your `~/.atom` directory.
For example to change the color of the highlighted line number for the line that
contains the cursor, you could add the following style to `user.css`:
```css
.editor .line-number.cursor-line {
color: pink;
}
```
[configuring]: customizing-atom.md
[theming]: creating-a-theme.md
[extending]: creating-a-package.md
[customization]: customizing-atom.md
[key-bindings]: customizing-atom.md#customizing-key-bindings
[command palette]: https://f.cloud.github.com/assets/1424/1091618/ee7c3554-166a-11e3-9955-aaa61bb5509c.png
[ctags]: https://github.com/kevinsawicki/dotfiles/blob/master/.ctags
+13
Ver Arquivo
@@ -0,0 +1,13 @@
## Guides
* [Getting Started](getting-started.md)
* [Customizing Atom](customizing-atom.md)
* [Creating a Package](creating-a-package.md)
* [Creating a Theme](creating-a-theme.md)
### Advanced Topics
* [Configuration](internals/configuration.md)
* [Keymaps](internals/keymaps.md)
* [Serialization](internals/serialization.md)
* [View System](internals/view-system.md)
+4 -7
Ver Arquivo
@@ -7,7 +7,7 @@ read config settings. You can read a value from `config` with `config.get`:
```coffeescript
# read a value with `config.get`
@autosave() if config.get "core.autosave"
@showInvisibles() if config.get "edtior.showInvisibles"
```
Or you can use `observeConfig` to track changes from a view object.
@@ -23,7 +23,7 @@ The `observeConfig` method will call the given callback immediately with the
current value for the specified key path, and it will also call it in the future
whenever the value of that key path changes.
Subscriptions made with `observeConfig` are automatically cancelled when the
Subscriptions made with `observeConfig` are automatically canceled when the
view is removed. You can cancel config subscriptions manually via the
`unobserveConfig` method.
@@ -47,12 +47,9 @@ the following way:
```coffeescript
# basic key update
config.set("core.autosave", true)
config.set("core.showInvisibles", true)
# if you mutate a config key, you'll need to call `config.update` to inform
# observers of the change
config.get("fuzzyFinder.ignoredPaths").push "vendor"
config.update()
config.pushAtKeyPath("core.disabledPackages", "wrap-guide")
```
You can also use `setDefaults`, which will assign default values for keys that
-6
Ver Arquivo
@@ -1,6 +0,0 @@
# Atom Internals
To extend Atom effectively, you'll need to understand how it works internally.
This system is evolving fast and it's unlikely that these docs will cover all
of it any time soon, so view this as a jumping-off point. To really understand
how things work, use the web inspector or dive into the code.
+3 -3
Ver Arquivo
@@ -15,7 +15,7 @@ Note that the last example describes multiple keystrokes in succession:
- `p`
- `2`
- `ctrl-p`
- `ctrl-alt-meta-p`
- `ctrl-alt-cmd-p`
- `tab`
- `escape`
- `enter`
@@ -23,12 +23,12 @@ Note that the last example describes multiple keystrokes in succession:
A semantic event is the name of the custom event that will be triggered on the
target of the keydown event when a key binding matches. You can use the command
palette (bound to `meta-p`), to get a list of relevant events and their bindings
palette (bound to `cmd-shift-P`), to get a list of relevant events and their bindings
in any focused context in Atom.
### Rules for Mapping A Keydown Event to A Semantic Event
A keymap's job is to translate a physical keystroke event (like `meta-D`) into a
A keymap's job is to translate a physical keystroke event (like `cmd-D`) into a
semantic event (like `editor:duplicate-line`). Whenever a keydown event occurs
on a focused element, it bubbles up the DOM as usual. As soon as an element on
the bubble path matches a key binding for the keystroke, the binding's semantic
+24 -30
Ver Arquivo
@@ -2,18 +2,17 @@
### SpacePen Basics
Atom's view system is built around the [SpacePen](http://github.com/nathansobo/space-pen)
view framework. SpacePen view objects inherit from the jQuery prototype, and
wrap DOM nodes
Atom's view system is built around the [SpacePen] view framework. SpacePen
view objects inherit from the jQuery prototype, and wrap DOM nodes
View objects are actually jQuery wrappers around DOM fragments, supporting all
the typical jQuery traversal and manipulation methods. In addition, view objects
have methods that are view-specific. For example, you could call both general
and view-specific on the global `rootView` instance:
and view-specific on the global `atom.workspaceView` instance:
```coffeescript
rootView.find('.editor.active') # standard jQuery method
rootView.getActiveEditor() # view-specific method
atom.workspaceView.find('.editor.active') # standard jQuery method
atom.workspaceView.getActiveEditor() # view-specific method
```
If you retrieve a jQuery wrapper for an element associated with a view, use the
@@ -21,44 +20,39 @@ If you retrieve a jQuery wrapper for an element associated with a view, use the
```coffeescript
# this is a plain jQuery object; you can't call view-specific methods
editorElement = rootView.find('.editor.active')
editorElement = atom.workspaceView.find('.editor.active')
# get the view object by calling `.view()` to call view-specific methods
editorView = editorElement.view()
editorView.setCursorBufferPosition([1, 2])
```
Refer to the [SpacePen](http://github.com/nathansobo/space-pen) documentation
for more details.
Refer to the [SpacePen] documentation for more details.
### RootView
### WorkspaceView
The root of Atom's view hiererchy is a global called `rootView`, which is a
singleton instance of the `RootView` view class. The root view fills the entire
The root of Atom's view hierarchy is a global called `atom.workspaceView`, which is a
singleton instance of the `WorkspaceView` view class. The root view fills the entire
window, and contains every other view. If you open Atom's inspector with
`alt-meta-i`, you can see the internal structure of `RootView`:
`alt-cmd-i`, you can see the internal structure of `WorkspaceView`:
![RootView in the inspector](http://f.cl.ly/items/2n0s3m0I2d223p3s3W01/root-view-inspector.png)
![WorkspaceView in the inspector][workspaceview-inspector]
#### Panes
The `RootView` contains a `#horizontal` and a `#vertical` axis surrounding
`#panes`. Elements in the horizontal axis will tile across the window
horizontally, appearing to have a vertical orientation. Items in the vertical
axis will tile across the window vertically, appearing to have a horizontal
orientation. You would typically attach tool panels to the root view's primary
axes. Tool panels are elements which take up some screen real estate that isn't
devoted to direct editing. In the example above, the `TreeView` is present in
the `#horizontal` axis to the left of the `#panes`, and the `CommandPanel` is
present in the `#vertical` axis below the `#panes`.
You can attach a tool panel to an axis using the `horizontal` or `vertical`
outlets as follows:
The `WorkspaceView` contains `prependToBottom/Top/Left/Right` and
`appendToBottom/Top/Left/Right` methods, which are used to add Tool Panels. Tool
panels are elements that take up screen real estate not devoted to text editing.
In the example above, the `TreeView` is appended to the left, and the
`CommandPanel` is appended to the top.
```coffeescript
# place a view to the left of the panes (or use .append() to place it to the right)
rootView.horizontal.prepend(new MyView)
# place a view to the left of the panes
atom.workspaceView.appendToLeft(new MyView)
# place a view below the panes (or use .prepend() to place it above)
rootView.vertical.append(new MyOtherView)
# place a view below the panes
atom.workspaceView.appendToBottom(new MyOtherView)
```
[spacepen]: http://github.com/nathansobo/space-pen
[workspaceView-inspector]: https://f.cloud.github.com/assets/1424/1091631/1932c2d6-166b-11e3-8adf-9690fe82d3b8.png
-11
Ver Arquivo
@@ -1,11 +0,0 @@
getting-started.md
built-in-packages/intro.md
built-in-packages/command-panel.md
built-in-packages/markdown-preview.md
built-in-packages/wrap-guide.md
authoring-themes.md
authoring-packages..md
internals/intro.md
internals/configuration.md
internals/keymaps.md
internals/view-system.md
+63
Ver Arquivo
@@ -0,0 +1,63 @@
## Atom Documentation Format
This document describes our documentation format, which is markdown with
a few rules.
### Philosophy
1. Method and argument names **should** clearly communicate its use.
1. Use documentation to enhance and not correct method/argument names.
#### Basic
In some cases all that's required is a single line. **Do not** feel
obligated to write more because we have a format.
```markdown
# Private: Returns the number of pixels from the top of the screen.
```
* **Each method should declare whether it's public or private by using `Public:`
or `Private:`** prefix.
* Following the colon, there should be a short description (that isn't redundant with the
method name).
* Documentation should be hard wrapped to 80 columns.
### Public vs Private
If a method is public it can be used by other classes (and possibly by
the public API). The appropriate steps should be taken to minimize the impact
when changing public methods. In some cases that might mean adding an
appropriate release note. In other cases it might mean doing the legwork to
ensure all affected packages are updated.
#### Complex
For complex methods it's necessary to explain exactly what arguments
are required and how different inputs effect the operation of the
function.
The idea is to communicate things that the API user might not know about,
so repeating information that can be gleaned from the method or argument names
is not useful.
```markdown
# Private: Determine the accelerator for a given command.
#
# * command:
# The name of the command.
# * keystrokesByCommand:
# An {Object} whose keys are commands and the values are Arrays containing
# the keystrokes.
# * options:
# + accelerators:
# Boolean to determine whether accelerators should be shown.
#
# Returns a String containing the keystroke in a format that can be interpreted
# by atom shell to provide nice icons where available.
#
# Raises an Exception if no window is available.
```
* Use curly brackets `{}` to provide links to other classes.
* Use `+` for the options list.
+70
Ver Arquivo
@@ -0,0 +1,70 @@
**Polish the user experience**
First and foremost, Atom is a **product**. Atom needs to feel familiar and
inviting. This includes a solid introductory experience and parity with the most
important features of Sublime Text.
* First launch UI and flow (actions below should be easily discoverable)
* Create a new file
* Open a project and edit an existing file
* Install a package
* Change settings (adjust theme, change key bindings, set config options)
* How to use command P
* Use collaboration internally
* How and where to edit keyBinding should be obvious to new users
* Finish find and replace in buffer/project
* Atom should start < 300ms
* Match Sublime's multiple selection functionality (#523)
* Fix softwrap bugs
* Menus & Context menus
* Track usage/engagement of our users (make this opted in?)
* Windows support
* Reliably and securely auto-update and list what's new
* Secure access to the keychain (don't give every package access to the keychain)
* Secure access to GitHub (each package can ask to have it's own oauth token)
* Don't crash when opening/editing large (> 10Mb) files
* Send js and native crash reports to a remote server
**Lay solid groundwork for a package and theme ecosystem**
Extensibility is one of Atom's key value propositions, so a smooth experience
for creating and maintaining packages is just as important as the user
experience. The package development, dependency and publishing workflow needs to
be solid. We also want to have a mechanism for clearly communicating with
package authors about breaking API changes.
* Finish APM backend (integrate with GitHub Releases)
* Streamline Dev workflow
* `apm create` - create package scaffolding
* `apm test` - so users can run focused package tests
* `apm publish` - should integrate release best practices (ie npm version)
* Determine which classes and methods should be included in the public API
* Users can find/install/update/fork existing packages and themes
**Tighten up the view layer**
Our current approach to the view layer need some improvement. We want to
actively promote the use of the M-V-VM design pattern, provide some declarative
event binding mechanisms in the view layer, and improve the performance of the
typical package specs. We don't want the current approach to be used as an
example in a bunch of new packages, so it's important to improve it now.
* Add marker view API
**Get atom.io online with some exciting articles and documentation**
We'd love to send our private alpha candidates to a nice site with information
about what Atom is, the philosophies and technologies behind it, and guidance
for how to get started.
* Design and create www.atom.io
* Guides
* Theme & Package creation guide
* Full API per release tag
* Changelog per release
* Explanation of features
* Explain Semver and general plans for the future (reassure developers we care about them)
* General Values/Goals
* Make docs accessible from Atom
* Community/contribution guidelines
* Is all communication to be done through issues?
* When should you publish a plugin?
* Do we need to vet plugins from a security perspective?
+16
Ver Arquivo
@@ -0,0 +1,16 @@
## Proposed Timeline
1. **October 30st** - Internal launch - persuade as many githubbers to switch as
possible.
1. Triage bugs and identify what needs to be fixed before private alpha. Maybe
talk to @chrissiebrodigan about doing a UX study.
1. **November 22st** - Private alpha launch
1. Trickle out invites as people ask/we need more testers.
1. If our usage metrics/engagement metrics decrease, stop, identify the issue
and fix it before continuing.
1. Launch
+39
Ver Arquivo
@@ -0,0 +1,39 @@
# Setting up Travis CI
Packages under the [atom org][atom-org] should use [Travis CI][travis-ci] for
builds.
Currently we have a [Travis Pro][travis-pro] account since the repositories
are private. This process will be simpler and have fewer steps once the
package repos are made public.
Each package builds using the [build-package][build-package] script, any
changes to the build should be made in that script and will affect all
package builds immediately.
Each package builds against the latest successful build of atom@master. The
master builds are stored in the [atom-master-builds][atom-master-builds] repo
as releases named by the SHA-1 built.
## Configuring a package
* Run `cd ~/github/my-package` to navigate to the package repo locally
* Run `apm test` to verify that the package currently builds via [apm][apm]
* Add the package repo to the [Travis CI team][travis-ci-team]
* Run `gem install travis` to install the [travis gem][travis-gem]
* Run `travis login --pro` and log in using the [atom-build][atom-build] user
and the password from the *Shared-Developers* folder in LastPass
* Run `apm ci` to add a `.travis.yml` file to the repo and to configure Travis
* Log into [Travis][travis-ci] as the `atom-build` user and you should now see
the package listed and building
[apm]: https://github.com/atom/apm
[build-package]: https://github.com/atom/apm/blob/master/script/build-package
[atom-build]: https://github.com/atom-build
[atom-master-builds]: https://github.com/atom/atom-master-builds/releases
[atom-org]: https://github.com/atom
[travis-ci]: https://magnum.travis-ci.com
[travis-ci-team]: https://github.com/organizations/atom/teams/596636
[travis-gem]: https://rubygems.org/gems/travis
[travis-pro]: http://about.travis-ci.org/docs/user/travis-pro
+150
Ver Arquivo
@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="../../assets/js/html5shiv.js"></script>
<script src="../../assets/js/respond.min.js"></script>
<![endif]-->
<title>Atom - <%= title %></title>
<style>
/*github.com style (c) Vasily Polovnyov <vast@whiteants.net>*/
pre code {
display: block; padding: 0.5em;
color: #333;
background: #f8f8ff
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .javadoc {
color: #998;
font-style: italic
}
pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .nginx .title,
pre .subst,
pre .request,
pre .status {
color: #333;
font-weight: bold
}
pre .number,
pre .hexcolor,
pre .ruby .constant {
color: #099;
}
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula {
color: #d14
}
pre .title,
pre .id {
color: #900;
font-weight: bold
}
pre .javascript .title,
pre .lisp .title,
pre .clojure .title,
pre .subst {
font-weight: normal
}
pre .class .title,
pre .haskell .type,
pre .vhdl .literal,
pre .tex .command {
color: #458;
font-weight: bold
}
pre .tag,
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
color: #000080;
font-weight: normal
}
pre .attribute,
pre .variable,
pre .lisp .body {
color: #008080
}
pre .regexp {
color: #009926
}
pre .class {
color: #458;
font-weight: bold
}
pre .symbol,
pre .ruby .symbol .string,
pre .lisp .keyword,
pre .tex .special,
pre .prompt {
color: #990073
}
pre .built_in,
pre .lisp .title,
pre .clojure .built_in {
color: #0086b3
}
pre .preprocessor,
pre .pi,
pre .doctype,
pre .shebang,
pre .cdata {
color: #999;
font-weight: bold
}
pre .deletion {
background: #fdd
}
pre .addition {
background: #dfd
}
pre .diff .change {
background: #0086b3
}
pre .chunk {
color: #aaa
}
body {
padding-top: 50px;
}
</style>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/<%= tag %>/index.html">Atom Documentation</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="/docs/api/<%= tag %>/api/index.html">API</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<%= content %>
</div>
</body>
</html>
+116
Ver Arquivo
@@ -0,0 +1,116 @@
# Style variables
Atom's UI provides a set of variables you can use in your own themes and packages.
## Use in Themes
Each custom theme must specify a `ui-variables.less` file with all of the
following variables defined. The top-most theme specified in the theme settings
will be loaded and available for import.
## Use in Packages
In any of your package's `.less` files, you can access the theme variables
by importing the `ui-variables` file from Atom.
Your package should generally only specify structural styling, and these should
come from [the style guide][styleguide]. Your package shouldn't specify colors,
padding sizes, or anything in absolute pixels. You should instead use the theme
variables. If you follow this guideline, your package will look good out of the
box with any theme!
Here's an example `.less` file that a package can define using theme variables:
```css
@import "ui-variables";
.my-selector{
background-color: @base-background-color;
padding: @component-padding;
}
```
## Variables
### Text colors
* `@text-color`
* `@text-color-subtle`
* `@text-color-highlight`
* `@text-color-selected`
* `@text-color-info` - A blue
* `@text-color-success`- A green
* `@text-color-warning`- An orange or yellow
* `@text-color-error` - A red
### Background colors
* `@background-color-info` - A blue
* `@background-color-success` - A green
* `@background-color-warning` - An orange or yellow
* `@background-color-error` - A red
* `@background-color-highlight`
* `@background-color-selected`
* `@app-background-color` - The app's background under all the editor components
### Component colors
* `@base-background-color` -
* `@base-border-color` -
* `@pane-item-background-color` -
* `@pane-item-border-color` -
* `@input-background-color` -
* `@input-border-color` -
* `@tool-panel-background-color` -
* `@tool-panel-border-color` -
* `@inset-panel-background-color` -
* `@inset-panel-border-color` -
* `@panel-heading-background-color` -
* `@panel-heading-border-color` -
* `@overlay-background-color` -
* `@overlay-border-color` -
* `@button-background-color` -
* `@button-background-color-hover` -
* `@button-background-color-selected` -
* `@button-border-color` -
* `@tab-bar-background-color` -
* `@tab-bar-border-color` -
* `@tab-background-color` -
* `@tab-background-color-active` -
* `@tab-border-color` -
* `@tree-view-background-color` -
* `@tree-view-border-color` -
* `@ui-site-color-1` -
* `@ui-site-color-2` -
* `@ui-site-color-3` -
* `@ui-site-color-4` -
* `@ui-site-color-5` -
### Component sizes
* `@disclosure-arrow-size` -
* `@component-padding` -
* `@component-icon-padding` -
* `@component-icon-size` -
* `@component-line-height` -
* `@component-border-radius` -
* `@tab-height` -
### Fonts
* `@font-size` -
* `@font-family` -
[styleguide]: https://github.com/atom/styleguide
+335
Ver Arquivo
@@ -0,0 +1,335 @@
# Creating Your First Package
Let's take a look at creating your first package.
To get started, hit `cmd-shift-P`, and start typing "Generate Package" to generate
a package. Once you select the "Generate Package" command, it'll ask you for a
name for your new package. Let's call ours _changer_.
Atom will pop open a new window, showing the _changer_ package with a default set of
folders and files created for us. Hit `cmd-shift-P` and start typing "Changer." You'll
see a new `Changer:Toggle` command which, if selected, pops up a greeting. So far,
so good!
In order to demonstrate the capabilities of Atom and its API, our Changer plugin
is going to do two things:
1. It'll show only modified files in the file tree
2. It'll append a new pane to the editor with some information about the modified
files
Let's get started!
## Changing Keybindings and Commands
Since Changer is primarily concerned with the file tree, let's write a
key binding that works only when the tree is focused. Instead of using the
default `toggle`, our keybinding executes a new command called `magic`.
_keymaps/changer.cson_ should change to look like this:
```coffeescript
'.tree-view':
'ctrl-V': 'changer:magic'
```
Notice that the keybinding is called `ctrl-V` &mdash; that's actually `ctrl-shift-v`.
You can use capital letters to denote using `shift` for your binding.
`.tree-view` represents the parent container for the tree view.
Keybindings only work within the context of where they're entered. In this case,
hitting `ctrl-V` anywhere other than tree won't do anything. Obviously, you can
bind to any part of the editor using element, id, or class names. For example,
you can map to `body` if you want to scope to anywhere in Atom, or just `.editor`
for the editor portion.
To bind keybindings to a command, we'll need to do a bit of association in our
CoffeeScript code using the `atom.workspaceView.command` method. This method takes a command
name and executes a callback function. Open up _lib/changer-view.coffee_, and
change `atom.workspaceView.command "changer:toggle"` to look like this:
```coffeescript
atom.workspaceView.command "changer:magic", => @magic()
```
It's common practice to namespace your commands with your package name, separated
with a colon (`:`). Make sure to rename your `toggle` method to `magic` as well.
Every time you reload the Atom editor, changes to your package code will be reevaluated,
just as if you were writing a script for the browser. Reload the editor, click on
the tree, hit your keybinding, and...nothing happens! What the heck?!
Open up the _package.json_ file, and find the property called `activationEvents`.
Basically, this key tells Atom to not load a package until it hears a certain event.
Change the event to `changer:magic` and reload the editor:
```json
"activationEvents": ["changer:magic"]
```
Hitting the key binding on the tree now works!
## Working with Styles
The next step is to hide elements in the tree that aren't modified. To do that,
we'll first try and get a list of files that have not changed.
All packages are able to use jQuery in their code. In fact, there's [a list of
the bundled libraries Atom provides by default][bundled-libs].
We bring in jQuery by requiring the `atom` package and binding it to the `$` variable:
```coffeescript
{$, View} = require 'atom'
```
Now, we can define the `magic` method to query the tree to get us a list of every
file that _wasn't_ modified:
```coffeescript
magic: ->
$('ol.entries li').each (i, el) ->
if !$(el).hasClass("status-modified")
console.log el
```
You can access the dev console by hitting `alt-cmd-i`. Here, you'll see all the
statements from `console` calls. When we execute the `changer:magic` command, the
browser console lists items that are not being modified (_i.e._, those without the
`status-modified` class). Let's add a class to each of these elements called `hide-me`:
```coffeescript
magic: ->
$('ol.entries li').each (i, el) ->
if !$(el).hasClass("status-modified")
$(el).addClass("hide-me")
```
With our newly added class, we can manipulate the visibility of the elements
with a simple stylesheet. Open up _changer.css_ in the _stylesheets_ directory,
and add a single entry:
```css
ol.entries .hide-me {
display: none;
}
```
Refresh Atom, and run the `changer` command. You'll see all the non-changed
files disappear from the tree. Success!
![Changer_File_View]
There are a number of ways you can get the list back; let's just naively iterate
over the same elements and remove the class:
```coffeescript
magic: ->
$('ol.entries li').each (i, el) ->
if !$(el).hasClass("status-modified")
if !$(el).hasClass("hide-me")
$(el).addClass("hide-me")
else
$(el).removeClass("hide-me")
```
## Creating a New Panel
The next goal of this package is to append a panel to the Atom editor that lists
some information about the modified files.
To do that, we're going to first open up [the style guide][styleguide]. The Style
Guide lists every type of UI element that can be created by an Atom package. Aside
from helping you avoid writing fresh code from scratch, it ensures that packages
have the same look and feel no matter how they're built.
Every package that extends from the `View` class can provide an optional class
method called `content`. The `content` method constructs the DOM that your
package uses as its UI. The principals of `content` are built entirely on
[SpacePen][space-pen], which we'll touch upon only briefly here.
Our display will simply be an unordered list of the file names, and their
modified times. We'll append this list to a panel on the bottom of the editor. A
basic `panel` element inside a `tool-panel` will work well for us. Let's start by carving out a
`div` to hold the filenames:
```coffeescript
@content: ->
@div class: "changer tool-panel panel-bottom", =>
@div class: "panel", =>
@div class: "panel-heading", "Modified Files"
@div class: "panel-body padded", outlet: 'modifiedFilesContainer', =>
@ul class: 'modified-files-list', outlet: 'modifiedFilesList', =>
@li 'Modified File Test'
@li 'Modified File Test'
```
You can add any HTML attribute you like. `outlet` names the variable your
package can use to manipulate the element directly. The fat arrow (`=>`)
indicates that the next DOM set are nested children.
Once again, you can style `li` elements using your stylesheets. Let's test that
out by adding these lines to the _changer.css_ file:
```css
ul.modified-files-list {
color: white;
}
```
We'll add one more line to the end of the `magic` method to make this pane
appear:
```coffeescript
atom.workspaceView.prependToBottom(this)
```
If you refresh Atom and hit the key command, you'll see a box appear right
underneath the editor:
![Changer_Panel_Append]
As you might have guessed, `atom.workspaceView.prependToBottom` tells Atom to
prepend `this` item (_i.e._, whatever is defined by`@content`). If we had called
`atom.workspaceView.appendToBottom`, the pane would be attached below the status
bar.
Before we populate this panel for real, let's apply some logic to toggle the
pane off and on, just like we did with the tree view. Replace the
`atom.workspaceView.prependToBottom` call with this code:
```coffeescript
# toggles the pane
if @hasParent()
@remove()
else
atom.workspaceView.prependToBottom(this)
```
There are about a hundred different ways to toggle a pane on and off, and this
might not be the most efficient one. If you know your package needs to be
toggled on and off more freely, it might be better to draw the interface during the
initialization, then immediately call `hide()` on the element to remove it from
the view. You can then swap between `show()` and `hide()`, and instead of
forcing Atom to add and remove the element as we're doing here, it'll just set a
CSS property to control your package's visibility.
Refresh Atom, hit the key combo, and watch your test list appear and disappear.
## Calling Node.js Code
Since Atom is built on top of [Node.js][node], you can call any of its libraries,
including other modules that your package requires.
We'll iterate through our resulting tree, and construct the path to our modified
file based on its depth in the tree. We'll use Node to handle path joining for
directories.
Add the following Node module to the top of your file:
```coffeescript
path = require 'path'
```
Then, add these lines to your `magic` method, _before_ your pane drawing code:
```coffeescript
modifiedFiles = []
# for each single entry...
$('ol.entries li.file.status-modified span.name').each (i, el) ->
filePath = []
# ...grab its name...
filePath.unshift($(el).text())
# ... then find its parent directories, and grab their names
parents = $(el).parents('.directory.status-modified')
parents.each (i, el) ->
filePath.unshift($(el).find('div.header span.name').eq(0).text())
modifiedFilePath = path.join(atom.project.rootDirectory.path, filePath.join(path.sep))
modifiedFiles.push modifiedFilePath
```
`modifiedFiles` is an array containing a list of our modified files. We're also
using the node.js [`path` library][path] to get the proper directory separator
for our system.
Remove the two `@li` elements we added in `@content`, so that we can
populate our `modifiedFilesList` with real information. We'll do that by
iterating over `modifiedFiles`, accessing a file's last modified time, and
appending it to `modifiedFilesList`:
```coffeescript
# toggles the pane
if @hasParent()
@remove()
else
for file in modifiedFiles
stat = fs.lstatSync(file)
mtime = stat.mtime
@modifiedFilesList.append("<li>#{file} - Modified at #{mtime}")
atom.workspaceView.prependToBottom(this)
```
When you toggle the modified files list, your pane is now populated with the
filenames and modified times of files in your project:
![Changer_Panel_Timestamps]
You might notice that subsequent calls to this command reduplicate information.
We could provide an elegant way of rechecking files already in the list, but for
this demonstration, we'll just clear the `modifiedFilesList` each time it's closed:
```coffeescript
# toggles the pane
if @hasParent()
@modifiedFilesList.empty() # added this to clear the list on close
@remove()
else
for file in modifiedFiles
stat = fs.lstatSync(file)
mtime = stat.mtime
@modifiedFilesList.append("<li>#{file} - Modified at #{mtime}")
atom.workspaceView.prependToBottom(this)
```
## Coloring UI Elements
For packages that create new UI elements, adhering to the style guide is just one
part to keeping visual consistency. Packages dealing with color, fonts, padding,
margins, and other visual cues should rely on [Theme Variables][theme-vars], instead
of developing individual styles. Theme variables are variables defined by Atom
for use in packages and themes. They're only available in [`LESS`](http://lesscss.org/)
stylesheets.
For our package, let's remove the style defined by `ul.modified-files-list` in
_changer.css_. Create a new file under the _stylesheets_ directory called _text-colors.less_.
Here, we'll import the _ui-variables.less_ file, and define some Atom-specific
styles:
```less
@import "ui-variables";
ul.modified-files-list {
color: @text-color;
background-color: @background-color-info;
}
```
Using theme variables ensures that packages look great alongside any theme.
## Further reading
For more information on the mechanics of packages, check out
[Creating a Package][creating-a-package].
[bundled-libs]: creating-a-package.html#included-libraries
[styleguide]: https://github.com/atom/styleguide
[space-pen]: https://github.com/atom/space-pen
[node]: http://nodejs.org/
[path]: http://nodejs.org/docs/latest/api/path.html
[changer_file_view]: https://f.cloud.github.com/assets/69169/1441187/d7a7cb46-41a7-11e3-8128-d93f70a5d5c1.png
[changer_panel_append]: https://f.cloud.github.com/assets/69169/1441189/db0c74da-41a7-11e3-8286-b82dd9190c34.png
[changer_panel_timestamps]: https://f.cloud.github.com/assets/69169/1441190/dcc8eeb6-41a7-11e3-830f-1f1b33072fcd.png
[theme-vars]: theme-variables.html
[creating-a-package]: creating-a-package.html
+13
Ver Arquivo
@@ -0,0 +1,13 @@
# User keymap
#
# Atom keymaps work similarly to stylesheets. Just as stylesheets use selectors
# to apply styles to elements, Atom keymaps use selectors to associate
# keystrokes with events in specific contexts. Here's a small example, excerpted
# from Atom's built-in keymaps:
#
# '.editor':
# 'enter': 'editor:newline'
#
# 'body':
# 'ctrl-P': 'core:move-up'
# 'ctrl-p': 'core:move-down'
-1
Ver Arquivo
@@ -1 +0,0 @@
All themes in this directory will be automatically loaded
+27
Ver Arquivo
@@ -0,0 +1,27 @@
{Point, Range} = require 'text-buffer'
module.exports =
_: require 'underscore-plus'
BufferedNodeProcess: require '../src/buffered-node-process'
BufferedProcess: require '../src/buffered-process'
Directory: require '../src/directory'
File: require '../src/file'
fs: require 'fs-plus'
Git: require '../src/git'
Point: Point
Range: Range
# The following classes can't be used from a Task handler and should therefore
# only be exported when not running as a child node process
unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE
{$, $$, $$$, View} = require '../src/space-pen-extensions'
module.exports.$ = $
module.exports.$$ = $$
module.exports.$$$ = $$$
module.exports.EditorView = require '../src/editor-view'
module.exports.WorkspaceView = require '../src/workspace-view'
module.exports.SelectList = require '../src/select-list'
module.exports.ScrollView = require '../src/scroll-view'
module.exports.Task = require '../src/task'
module.exports.View = View
+81
Ver Arquivo
@@ -0,0 +1,81 @@
'.editor':
# Platform Bindings
'alt-left': 'editor:move-to-beginning-of-word'
'alt-right': 'editor:move-to-end-of-word'
'alt-shift-left': 'editor:select-to-beginning-of-word'
'alt-shift-right': 'editor:select-to-end-of-word'
'home': 'editor:move-to-first-character-of-line'
'end': 'editor:move-to-end-of-screen-line'
'shift-home': 'editor:select-to-first-character-of-line'
'shift-end': 'editor:select-to-end-of-line'
# Sublime Parity
'ctrl-t': 'editor:transpose'
'.editor:not(.mini)':
# Atom Specific
'ctrl-C': 'editor:copy-path'
# Sublime Parity
'tab': 'editor:indent'
'enter': 'editor:newline'
'shift-tab': 'editor:outdent-selected-rows'
'ctrl-K': 'editor:delete-line'
'ctrl-shift-up': 'editor:add-selection-above'
'ctrl-shift-down': 'editor:add-selection-below'
'.tool-panel':
'escape': 'core:close'
'.tool-panel.panel-left, .tool-panel.panel-right':
'escape': 'tool-panel:unfocus'
'.editor !important, .editor.mini !important':
'escape': 'editor:consolidate-selections'
# allow standard input fields to work correctly
'body .native-key-bindings':
'tab': 'core:focus-next'
'shift-tab': 'core:focus-previous'
'enter': 'native!'
'backspace': 'native!'
'shift-backspace': 'native!'
'delete': 'native!'
'up': 'native!'
'down': 'native!'
'shift-up': 'native!'
'shift-down': 'native!'
'alt-up': 'native!'
'alt-down': 'native!'
'alt-shift-up': 'native!'
'alt-shift-down': 'native!'
'cmd-up': 'native!'
'cmd-down': 'native!'
'cmd-shift-up': 'native!'
'cmd-shift-down': 'native!'
'ctrl-up': 'native!'
'ctrl-down': 'native!'
'ctrl-shift-up': 'native!'
'ctrl-shift-down': 'native!'
'left': 'native!'
'right': 'native!'
'shift-left': 'native!'
'shift-right': 'native!'
'alt-left': 'native!'
'alt-right': 'native!'
'alt-shift-left': 'native!'
'alt-shift-right': 'native!'
'cmd-left': 'native!'
'cmd-right': 'native!'
'cmd-shift-left': 'native!'
'cmd-shift-right': 'native!'
'ctrl-left': 'native!'
'ctrl-right': 'native!'
'ctrl-shift-left': 'native!'
'ctrl-shift-right': 'native!'
'ctrl-b': 'native!'
'ctrl-f': 'native!'
'ctrl-F': 'native!'
'ctrl-B': 'native!'
'ctrl-h': 'native!'
'ctrl-d': 'native!'
+156
Ver Arquivo
@@ -0,0 +1,156 @@
'.platform-darwin':
# Apple specific
'cmd-q': 'application:quit'
'cmd-h': 'application:hide'
'cmd-alt-h': 'application:hide-other-applications'
'cmd-m': 'application:minimize'
'alt-cmd-ctrl-m': 'application:zoom'
'ctrl-p': 'core:move-up'
'ctrl-n': 'core:move-down'
'ctrl-b': 'core:move-left'
'ctrl-f': 'core:move-right'
'ctrl-P': 'core:select-up'
'ctrl-N': 'core:select-down'
'ctrl-F': 'core:select-right'
'ctrl-B': 'core:select-left'
'ctrl-h': 'core:backspace'
'ctrl-d': 'core:delete'
# Atom Specific
'cmd-O': 'application:open-dev'
'cmd-alt-ctrl-s': 'application:run-all-specs'
'enter': 'core:confirm'
'escape': 'core:cancel'
'up': 'core:move-up'
'down': 'core:move-down'
'left': 'core:move-left'
'right': 'core:move-right'
'ctrl-alt-cmd-l': 'window:reload'
'alt-cmd-i': 'window:toggle-dev-tools'
'cmd-alt-ctrl-p': 'window:run-package-specs'
# Sublime Parity
'cmd-,': 'application:show-settings'
'cmd-N': 'application:new-window'
'cmd-W': 'window:close'
'cmd-o': 'application:open'
'cmd-T': 'pane:reopen-closed-item'
'cmd-n': 'application:new-file'
'cmd-s': 'core:save'
'cmd-S': 'core:save-as'
'cmd-alt-s': 'window:save-all'
'cmd-w': 'core:close'
'cmd-ctrl-f': 'window:toggle-full-screen'
'cmd-z': 'core:undo'
'cmd-Z': 'core:redo'
'cmd-y': 'core:redo'
'cmd-x': 'core:cut'
'cmd-c': 'core:copy'
'cmd-v': 'core:paste'
'shift-up': 'core:select-up'
'shift-down': 'core:select-down'
'shift-left': 'core:select-left'
'shift-right': 'core:select-right'
'delete': 'core:delete'
'pageup': 'core:page-up'
'pagedown': 'core:page-down'
'backspace': 'core:backspace'
'shift-backspace': 'core:backspace'
'cmd-up': 'core:move-to-top'
'cmd-down': 'core:move-to-bottom'
'cmd-shift-up': 'core:select-to-top'
'cmd-shift-down': 'core:select-to-bottom'
'cmd-{': 'pane:show-previous-item'
'cmd-}': 'pane:show-next-item'
'cmd-alt-left': 'pane:show-previous-item'
'cmd-alt-right': 'pane:show-next-item'
'cmd-=': 'window:increase-font-size'
'cmd-+': 'window:increase-font-size'
'cmd--': 'window:decrease-font-size'
'cmd-k up': 'pane:split-up' # Atom Specific
'cmd-k down': 'pane:split-down' # Atom Specific
'cmd-k left': 'pane:split-left' # Atom Specific
'cmd-k right': 'pane:split-right' # Atom Specific
'cmd-k cmd-w': 'pane:close' # Atom Specific
'cmd-k alt-cmd-w': 'pane:close-other-items' # Atom Specific
'cmd-k cmd-left': 'window:focus-previous-pane'
'cmd-k cmd-right': 'window:focus-next-pane'
'cmd-1': 'pane:show-item-1'
'cmd-2': 'pane:show-item-2'
'cmd-3': 'pane:show-item-3'
'cmd-4': 'pane:show-item-4'
'cmd-5': 'pane:show-item-5'
'cmd-6': 'pane:show-item-6'
'cmd-7': 'pane:show-item-7'
'cmd-8': 'pane:show-item-8'
'cmd-9': 'pane:show-item-9'
'.platform-darwin .editor':
# Apple Specific
'cmd-backspace': 'editor:backspace-to-beginning-of-line'
'cmd-delete': 'editor:backspace-to-beginning-of-line'
'ctrl-A': 'editor:select-to-first-character-of-line'
'ctrl-E': 'editor:select-to-end-of-line'
'cmd-left': 'editor:move-to-first-character-of-line'
'cmd-right': 'editor:move-to-end-of-screen-line'
'cmd-shift-left': 'editor:select-to-first-character-of-line'
'cmd-shift-right': 'editor:select-to-end-of-line'
'alt-backspace': 'editor:backspace-to-beginning-of-word'
'alt-delete': 'editor:delete-to-end-of-word'
'ctrl-a': 'editor:move-to-beginning-of-line'
'ctrl-e': 'editor:move-to-end-of-line'
'ctrl-k': 'editor:cut-to-end-of-line'
# Atom Specific
'ctrl-W': 'editor:select-word'
# Sublime Parity
'cmd-a': 'core:select-all'
'cmd-alt-p': 'editor:log-cursor-scope'
'cmd-k cmd-u': 'editor:upper-case'
'cmd-k cmd-l': 'editor:lower-case'
'cmd-l': 'editor:select-line'
'body.platform-darwin .editor:not(.mini)':
# Atom specific
'alt-cmd-z': 'editor:checkout-head-revision'
'cmd-<': 'editor:scroll-to-cursor'
'alt-cmd-ctrl-f': 'editor:fold-selection'
'cmd-=': 'editor:auto-indent'
# Sublime Parity
'cmd-enter': 'editor:newline-below'
'cmd-shift-enter': 'editor:newline-above'
'cmd-]': 'editor:indent-selected-rows'
'cmd-[': 'editor:outdent-selected-rows'
'ctrl-cmd-up': 'editor:move-line-up'
'ctrl-cmd-down': 'editor:move-line-down'
'cmd-/': 'editor:toggle-line-comments'
'cmd-j': 'editor:join-line'
'cmd-D': 'editor:duplicate-line'
'cmd-L': 'editor:split-selections-into-lines'
'cmd-alt-[': 'editor:fold-current-row'
'cmd-alt-]': 'editor:unfold-current-row'
'cmd-alt-{': 'editor:fold-all' # Atom Specific
'cmd-alt-}': 'editor:unfold-all' # Atom Specific
'cmd-k cmd-0': 'editor:unfold-all'
'cmd-k cmd-1': 'editor:fold-at-indent-level-1'
'cmd-k cmd-2': 'editor:fold-at-indent-level-2'
'cmd-k cmd-3': 'editor:fold-at-indent-level-3'
'cmd-k cmd-4': 'editor:fold-at-indent-level-4'
'cmd-k cmd-5': 'editor:fold-at-indent-level-5'
'cmd-k cmd-6': 'editor:fold-at-indent-level-6'
'cmd-k cmd-7': 'editor:fold-at-indent-level-7'
'cmd-k cmd-8': 'editor:fold-at-indent-level-8'
'cmd-k cmd-9': 'editor:fold-at-indent-level-9'
# allow standard input fields to work correctly
'body.platform-darwin .native-key-bindings':
'cmd-z': 'native!'
'cmd-Z': 'native!'
'cmd-x': 'native!'
'cmd-c': 'native!'
'cmd-v': 'native!'
+7
Ver Arquivo
@@ -0,0 +1,7 @@
'.editor':
'alt-f': 'editor:move-to-end-of-word'
'alt-F': 'editor:select-to-end-of-word'
'alt-b': 'editor:move-to-beginning-of-word'
'alt-B': 'editor:select-to-beginning-of-word'
'alt-h': 'editor:backspace-to-beginning-of-word'
'alt-d': 'editor:delete-to-end-of-word'
+102
Ver Arquivo
@@ -0,0 +1,102 @@
'.platform-win32':
# Atom Specific
'enter': 'core:confirm'
'escape': 'core:cancel'
'up': 'core:move-up'
'down': 'core:move-down'
'left': 'core:move-left'
'right': 'core:move-right'
'ctrl-alt-r': 'window:reload'
'ctrl-alt-i': 'window:toggle-dev-tools'
'ctrl-alt-p': 'window:run-package-specs'
'ctrl-alt-s': 'application:run-all-specs'
# Sublime Parity
'ctrl-N': 'application:new-window'
'ctrl-W': 'window:close'
'ctrl-o': 'application:open'
'ctrl-T': 'pane:reopen-closed-item'
'ctrl-n': 'application:new-file'
'ctrl-s': 'core:save'
'ctrl-S': 'core:save-as'
'ctrl-w': 'core:close'
'ctrl-z': 'core:undo'
'ctrl-y': 'core:redo'
'ctrl-x': 'core:cut'
'ctrl-c': 'core:copy'
'ctrl-v': 'core:paste'
'shift-up': 'core:select-up'
'shift-down': 'core:select-down'
'shift-left': 'core:select-left'
'shift-right': 'core:select-right'
'delete': 'core:delete'
'pageup': 'core:page-up'
'pagedown': 'core:page-down'
'backspace': 'core:backspace'
'ctrl-tab': 'pane:show-next-item'
'ctrl-shift-tab': 'pane:show-previous-item'
'ctrl-shift-up': 'core:move-up'
'ctrl-shift-down': 'core:move-down'
'ctrl-=': 'window:increase-font-size'
'ctrl-+': 'window:increase-font-size'
'ctrl--': 'window:decrease-font-size'
'ctrl-k up': 'pane:split-up' # Atom Specific
'ctrl-k down': 'pane:split-down' # Atom Specific
'ctrl-k left': 'pane:split-left' # Atom Specific
'ctrl-k right': 'pane:split-right' # Atom Specific
'ctrl-k ctrl-w': 'pane:close' # Atom Specific
'ctrl-k alt-ctrl-w': 'pane:close-other-items' # Atom Specific
'ctrl-k ctrl-left': 'window:focus-previous-pane'
'ctrl-k ctrl-right': 'window:focus-next-pane'
'.platform-win32 .editor':
# Windows specific
'ctrl-delete': 'editor:backspace-to-beginning-of-word'
# Sublime Parity
'ctrl-a': 'core:select-all'
'ctrl-alt-p': 'editor:log-cursor-scope'
'ctrl-k ctrl-u': 'editor:upper-case'
'ctrl-k ctrl-l': 'editor:lower-case'
'.platform-win32 .editor:not(.mini)':
# Atom specific
'alt-ctrl-z': 'editor:checkout-head-revision'
'ctrl-<': 'editor:scroll-to-cursor'
'alt-ctrl-f': 'editor:fold-selection'
'ctrl-=': 'editor:auto-indent'
# Sublime Parity
'ctrl-enter': 'editor:newline-below'
'ctrl-shift-enter': 'editor:newline-above'
'ctrl-]': 'editor:indent-selected-rows'
'ctrl-[': 'editor:outdent-selected-rows'
'ctrl-up': 'editor:move-line-up'
'ctrl-down': 'editor:move-line-down'
'ctrl-/': 'editor:toggle-line-comments'
'ctrl-j': 'editor:join-line'
'ctrl-D': 'editor:duplicate-line'
'ctrl-alt-[': 'editor:fold-current-row'
'ctrl-alt-]': 'editor:unfold-current-row'
'ctrl-alt-{': 'editor:fold-all' # Atom Specific
'ctrl-alt-}': 'editor:unfold-all' # Atom Specific
'ctrl-k ctrl-0': 'editor:unfold-all'
'ctrl-k ctrl-1': 'editor:fold-at-indent-level-1'
'ctrl-k ctrl-2': 'editor:fold-at-indent-level-2'
'ctrl-k ctrl-3': 'editor:fold-at-indent-level-3'
'ctrl-k ctrl-4': 'editor:fold-at-indent-level-4'
'ctrl-k ctrl-5': 'editor:fold-at-indent-level-5'
'ctrl-k ctrl-6': 'editor:fold-at-indent-level-6'
'ctrl-k ctrl-7': 'editor:fold-at-indent-level-7'
'ctrl-k ctrl-8': 'editor:fold-at-indent-level-8'
'ctrl-k ctrl-9': 'editor:fold-at-indent-level-9'
# allow standard input fields to work correctly
'.platform-win32 input:not(.hidden-input), .platform-win32 .native-key-bindings':
'ctrl-z': 'native!'
'ctrl-Z': 'native!'
'ctrl-x': 'native!'
'ctrl-c': 'native!'
'ctrl-v': 'native!'
+164
Ver Arquivo
@@ -0,0 +1,164 @@
'menu': [
{
label: 'Atom'
submenu: [
{ label: 'About Atom', command: 'application:about' }
{ label: "VERSION", enabled: false }
{ label: "Install update", command: 'application:install-update', visible: false }
{ type: 'separator' }
{ label: 'Preferences...', command: 'application:show-settings' }
{ type: 'separator' }
{ label: 'Hide Atom', command: 'application:hide' }
{ label: 'Hide Others', command: 'application:hide-other-applications' }
{ label: 'Show All', command: 'application:unhide-all-applications' }
{ type: 'separator' }
{ label: 'Quit', command: 'application:quit' }
]
}
{
label: 'File'
submenu: [
{ label: 'New Window', command: 'application:new-window' }
{ label: 'New File', command: 'application:new-file' }
{ label: 'Open...', command: 'application:open' }
{ label: 'Reopen Last Item', command: 'pane:reopen-closed-item' }
{ type: 'separator' }
{ label: 'Save', command: 'core:save' }
{ label: 'Save As...', command: 'core:save-as' }
{ label: 'Save All', command: 'window:save-all' }
{ type: 'separator' }
{ label: 'Close Buffer', command: 'core:close' }
{ label: 'Close All Buffers', command: 'pane:close' }
{ label: 'Close Window', command: 'window:close' }
]
}
{
label: 'Edit'
submenu: [
{ label: 'Undo', command: 'core:undo' }
{ label: 'Redo', command: 'core:redo' }
{ type: 'separator' }
{ label: 'Cut', command: 'core:cut' }
{ label: 'Copy', command: 'core:copy' }
{ label: 'Copy Path', command: 'editor:copy-path' }
{ label: 'Paste', command: 'core:paste' }
{ label: 'Select All', command: 'core:select-all' }
{ type: 'separator' }
{ label: 'Toggle Comments', command: 'editor:toggle-line-comments' }
{
label: 'Lines',
submenu: [
{ label: 'Indent', command: 'editor:indent-selected-rows' }
{ label: 'Outdent', command: 'editor:outdent-selected-rows' }
{ label: 'Auto Indent', command: 'editor:auto-indent' }
{ type: 'separator' }
{ label: 'Move Line Up', command: 'editor:move-line-up' }
{ label: 'Move Line Down', command: 'editor:move-line-down' }
{ label: 'Duplicate Line', command: 'editor:duplicate-line' }
{ label: 'Delete Line', command: 'editor:delete-line' }
{ label: 'Join Lines', command: 'editor:join-line' }
]
}
{
label: 'Text',
submenu: [
{ label: 'Upper Case', command: 'editor:upper-case' }
{ label: 'Lower Case', command: 'editor:lower-case' }
{ type: 'separator' }
{ label: 'Delete to End of Word', command: 'editor:delete-to-end-of-word' }
{ label: 'Delete Line', command: 'editor:delete-line' }
{ type: 'separator' }
{ label: 'Transpose', command: 'editor:transpose' }
]
}
{
label: 'Folding',
submenu: [
{ label: 'Fold', command: 'editor:fold-current-row' }
{ label: 'Unfold', command: 'editor:unfold-current-row' }
{ label: 'Unfold All', command: 'editor:unfold-all' }
{ type: 'separator' }
{ label: 'Fold All', command: 'editor:fold-all' }
{ label: 'Fold Level 1', command: 'editor:fold-at-indent-level-1' }
{ label: 'Fold Level 2', command: 'editor:fold-at-indent-level-2' }
{ label: 'Fold Level 3', command: 'editor:fold-at-indent-level-3' }
{ label: 'Fold Level 4', command: 'editor:fold-at-indent-level-4' }
{ label: 'Fold Level 5', command: 'editor:fold-at-indent-level-5' }
{ label: 'Fold Level 6', command: 'editor:fold-at-indent-level-6' }
{ label: 'Fold Level 7', command: 'editor:fold-at-indent-level-7' }
{ label: 'Fold Level 8', command: 'editor:fold-at-indent-level-8' }
{ label: 'Fold Level 9', command: 'editor:fold-at-indent-level-9' }
]
}
]
}
{
label: 'Selection'
submenu: [
{ label: 'Add Selection Above', command: 'editor:add-selection-above' }
{ label: 'Add Selection Below', command: 'editor:add-selection-below' }
{ label: 'Split into Lines', command: 'editor:split-selections-into-lines'}
{ type: 'separator' }
{ label: 'Select to Top', command: 'core:select-to-top' }
{ label: 'Select to Bottom', command: 'core:select-to-bottom' }
{ type: 'separator' }
{ label: 'Select Line', command: 'editor:select-line' }
{ label: 'Select Word', command: 'editor:select-word' }
{ label: 'Select to Beginning of Word', command: 'editor:select-to-beginning-of-word' }
{ label: 'Select to Beginning of Line', command: 'editor:select-to-beginning-of-line' }
{ label: 'Select to First Character of Line', command: 'editor:select-to-first-character-of-line' }
{ label: 'Select to End of Word', command: 'editor:select-to-end-of-word' }
{ label: 'Select to End of Line', command: 'editor:select-to-end-of-line' }
]
}
{
label: 'Find'
submenu: []
}
{
label: 'View'
submenu: [
{ label: 'Reload', command: 'window:reload' }
{ label: 'Toggle Full Screen', command: 'window:toggle-full-screen' }
{
label: 'Developer'
submenu: [
{ label: 'Open In Dev Mode...', command: 'application:open-dev' }
{ label: 'Run Atom Specs', command: 'application:run-all-specs' }
{ label: 'Run Package Specs', command: 'window:run-package-specs' }
{ label: 'Toggle Developer Tools', command: 'window:toggle-dev-tools' }
]
}
{ type: 'separator' }
{ label: 'Toggle Soft Wrap', command: 'editor:toggle-soft-wrap' }
]
}
{
label: 'Packages'
submenu: []
}
{
label: 'Window'
submenu: [
{ label: 'Minimize', command: 'application:minimize' }
{ label: 'Zoom', command: 'application:zoom' }
{ type: 'separator' }
{ label: 'Bring All to Front', command: 'application:bring-all-windows-to-front' }
]
}
{
label: 'Help'
submenu: [
{ label: 'Documentation', command: 'application:open-documentation' }
{ label: 'Report an Issue', command: 'application:report-issue' }
{ type: 'separator' }
]
}
]
+155
Ver Arquivo
@@ -0,0 +1,155 @@
'menu': [
{
label: '&File'
submenu: [
{ label: 'New &Window', command: 'application:new-window' }
{ label: '&New File', command: 'application:new-file' }
{ label: '&Open...', command: 'application:open' }
{ label: 'Reopen Last &Item', command: 'pane:reopen-closed-item' }
{ type: 'separator' }
{ label: '&Preferences...', command: 'application:show-settings' }
{ type: 'separator' }
{ label: '&Save', command: 'core:save' }
{ label: 'Save &As...', command: 'core:save-as' }
{ label: 'Save A&ll', command: 'window:save-all' }
{ type: 'separator' }
{ label: '&Close Buffer', command: 'core:close' }
{ label: 'Close All &Buffers', command: 'pane:close' }
{ label: 'Clos&e Window', command: 'window:close' }
{ type: 'separator' }
{ label: 'E&xit', command: 'application:quit' }
]
}
{
label: '&Edit'
submenu: [
{ label: '&Undo', command: 'core:undo' }
{ label: '&Redo', command: 'core:redo' }
{ type: 'separator' }
{ label: '&Cut', command: 'core:cut' }
{ label: 'C&opy', command: 'core:copy' }
{ label: 'Copy Pat&h', command: 'editor:copy-path' }
{ label: '&Paste', command: 'core:paste' }
{ label: 'Select &All', command: 'core:select-all' }
{ type: 'separator' }
{ label: '&Toggle Comments', command: 'editor:toggle-line-comments' }
{
label: 'Lines',
submenu: [
{ label: '&Indent', command: 'editor:indent-selected-rows' }
{ label: '&Outdent', command: 'editor:outdent-selected-rows' }
{ label: '&Auto Indent', command: 'editor:auto-indent' }
{ type: 'separator' }
{ label: 'Move Line &Up', command: 'editor:move-line-up' }
{ label: 'Move Line &Down', command: 'editor:move-line-down' }
{ label: 'Du&plicate Line', command: 'editor:duplicate-line' }
{ label: 'D&elete Line', command: 'editor:delete-line' }
{ label: '&Join Lines', command: 'editor:join-line' }
]
}
{
label: 'Text',
submenu: [
{ label: '&Upper Case', command: 'editor:upper-case' }
{ label: '&Lower Case', command: 'editor:lower-case' }
{ type: 'separator' }
{ label: 'Delete to End of &Word', command: 'editor:delete-to-end-of-word' }
{ label: '&Delete Line', command: 'editor:delete-line' }
{ type: 'separator' }
{ label: '&Transpose', command: 'editor:transpose' }
]
}
{
label: 'Folding',
submenu: [
{ label: '&Fold', command: 'editor:fold-current-row' }
{ label: '&Unfold', command: 'editor:unfold-current-row' }
{ label: 'Unfold &All', command: 'editor:unfold-all' }
{ type: 'separator' }
{ label: 'Fol&d All', command: 'editor:fold-all' }
{ label: 'Fold Level 1', command: 'editor:fold-at-indent-level-1' }
{ label: 'Fold Level 2', command: 'editor:fold-at-indent-level-2' }
{ label: 'Fold Level 3', command: 'editor:fold-at-indent-level-3' }
{ label: 'Fold Level 4', command: 'editor:fold-at-indent-level-4' }
{ label: 'Fold Level 5', command: 'editor:fold-at-indent-level-5' }
{ label: 'Fold Level 6', command: 'editor:fold-at-indent-level-6' }
{ label: 'Fold Level 7', command: 'editor:fold-at-indent-level-7' }
{ label: 'Fold Level 8', command: 'editor:fold-at-indent-level-8' }
{ label: 'Fold Level 9', command: 'editor:fold-at-indent-level-9' }
]
}
]
}
{
label: '&View'
submenu: [
{ label: '&Reload', command: 'window:reload' }
{ label: 'Toggle &Full Screen', command: 'window:toggle-full-screen' }
{
label: 'Developer'
submenu: [
{ label: 'Open In &Dev Mode...', command: 'application:open-dev' }
{ label: 'Run &Atom Specs', command: 'application:run-all-specs' }
{ label: 'Run Package &Specs', command: 'window:run-package-specs' }
{ label: 'Toggle Developer &Tools', command: 'window:toggle-dev-tools' }
]
}
{ type: 'separator' }
{ label: 'Toggle Soft &Wrap', command: 'editor:toggle-soft-wrap' }
]
}
{
label: '&Selection'
submenu: [
{ label: 'Add Selection &Above', command: 'editor:add-selection-above' }
{ label: 'Add Selection &Below', command: 'editor:add-selection-below' }
{ label: 'S&plit into Lines', command: 'editor:split-selections-into-lines'}
{ type: 'separator' }
{ label: 'Select to &Top', command: 'core:select-to-top' }
{ label: 'Select to Botto&m', command: 'core:select-to-bottom' }
{ type: 'separator' }
{ label: 'Select &Line', command: 'editor:select-line' }
{ label: 'Select &Word', command: 'editor:select-word' }
{ label: 'Select to Beginning of W&ord', command: 'editor:select-to-beginning-of-word' }
{ label: 'Select to Beginning of L&ine', command: 'editor:select-to-beginning-of-line' }
{ label: 'Select to First &Character of Line', command: 'editor:select-to-first-character-of-line' }
{ label: 'Select to End of Wor&d', command: 'editor:select-to-end-of-word' }
{ label: 'Select to End of Lin&e', command: 'editor:select-to-end-of-line' }
]
}
{
label: 'F&ind'
submenu: []
}
{
label: '&Packages'
submenu: []
}
{
label: '&Window'
submenu: [
{ label: 'Mi&nimize', command: 'application:minimize' }
{ label: 'Ma&ximize', command: 'application:zoom' }
{ type: 'separator' }
{ label: 'Bring &All to Front', command: 'application:bring-all-windows-to-front' }
]
}
{
label: '&Help'
submenu: [
{ label: '&About Atom...', command: 'application:about' }
{ label: "VERSION", enabled: false }
{ label: "Install &update", command: 'application:install-update', visible: false }
{ type: 'separator' }
{ label: '&Documentation', command: 'application:open-documentation' }
{ type: 'separator' }
]
}
]
-31
Ver Arquivo
@@ -1,31 +0,0 @@
#include "include/cef_app.h"
#include "include/cef_application_mac.h"
class AtomCefClient;
@interface AtomApplication : NSApplication <CefAppProtocol, NSApplicationDelegate> {
IBOutlet NSMenuItem *_versionMenuItem;
NSWindowController *_backgroundWindowController;
NSDictionary *_arguments;
NSInvocation *_updateInvocation;
NSString *_updateStatus;
BOOL _filesOpened;
BOOL _handlingSendEvent;
}
+ (AtomApplication *)sharedApplication;
+ (id)applicationWithArguments:(char **)argv count:(int)argc;
+ (CefSettings)createCefSettings;
+ (NSDictionary *)parseArguments:(char **)argv count:(int)argc;
- (void)open:(NSString *)path;
- (void)openDev:(NSString *)path;
- (void)open:(NSString *)path pidToKillWhenWindowCloses:(NSNumber *)pid;
- (IBAction)runSpecs:(id)sender;
- (IBAction)runBenchmarks:(id)sender;
- (void)runSpecsThenExit:(BOOL)exitWhenDone;
- (NSDictionary *)arguments;
- (void)runBenchmarksThenExit:(BOOL)exitWhenDone;
@property (nonatomic, retain) NSDictionary *arguments;
@end
-324
Ver Arquivo
@@ -1,324 +0,0 @@
#import "include/cef_application_mac.h"
#import "native/atom_cef_client.h"
#import "native/atom_application.h"
#import "native/atom_window_controller.h"
#import "native/atom_cef_app.h"
#import <getopt.h>
#import <Sparkle/Sparkle.h>
#import <Quincy/BWQuincyManager.h>
@implementation AtomApplication
@synthesize arguments=_arguments;
+ (AtomApplication *)sharedApplication {
return (AtomApplication *)[super sharedApplication];
}
+ (id)applicationWithArguments:(char **)argv count:(int)argc {
AtomApplication *application = [self sharedApplication];
CefInitialize(CefMainArgs(argc, argv), [self createCefSettings], new AtomCefApp);
application.arguments = [self parseArguments:argv count:argc];
return application;
}
+ (NSDictionary *)parseArguments:(char **)argv count:(int)argc {
NSMutableDictionary *arguments = [[NSMutableDictionary alloc] init];
// Remove non-posix (i.e. -long_argument_with_one_leading_hyphen) added by OS X from the command line
int cleanArgc = argc;
size_t argvSize = argc * sizeof(char *);
char **cleanArgv = (char **)alloca(argvSize);
for (int i=0; i < argc; i++) {
if (strcmp(argv[i], "-NSDocumentRevisionsDebugMode") == 0) { // Xcode inserts useless command-line args by default: http://trac.wxwidgets.org/ticket/13732
cleanArgc -= 2;
i++;
}
else if (strncmp(argv[i], "-psn_", 5) == 0) { // OS X inserts a -psn_[PID] argument.
cleanArgc -= 1;
}
else {
cleanArgv[i] = argv[i];
}
}
int opt;
int longindex;
static struct option longopts[] = {
{ "executed-from", required_argument, NULL, 'K' },
{ "resource-path", required_argument, NULL, 'R' },
{ "benchmark", no_argument, NULL, 'B' },
{ "test", no_argument, NULL, 'T' },
{ "dev", no_argument, NULL, 'D' },
{ "pid", required_argument, NULL, 'P' },
{ "wait", no_argument, NULL, 'W' },
{ NULL, 0, NULL, 0 }
};
while ((opt = getopt_long(cleanArgc, cleanArgv, "K:R:BYDP:Wh?", longopts, &longindex)) != -1) {
NSString *key, *value;
switch (opt) {
case 'K':
case 'R':
case 'B':
case 'T':
case 'D':
case 'W':
case 'P':
key = [NSString stringWithUTF8String:longopts[longindex].name];
value = optarg ? [NSString stringWithUTF8String:optarg] : @"YES";
[arguments setObject:value forKey:key];
break;
case 0:
break;
default:
NSLog(@"usage: atom [--resource-path=<path>] [<path>]");
}
}
cleanArgc -= optind;
cleanArgv += optind;
if (cleanArgc > 0) {
NSString *path = [NSString stringWithUTF8String:cleanArgv[0]];
path = [self standardizePathToOpen:path withArguments:arguments];
[arguments setObject:path forKey:@"path"];
} else {
NSString *executedFromPath = [arguments objectForKey:@"executed-from"];
if (executedFromPath) {
[arguments setObject:executedFromPath forKey:@"path"];
}
}
return arguments;
}
+ (NSString *)standardizePathToOpen:(NSString *)path withArguments:(NSDictionary *)arguments {
NSString *standardizedPath = path;
NSString *executedFromPath = [arguments objectForKey:@"executed-from"];
if (![standardizedPath isAbsolutePath] && executedFromPath) {
standardizedPath = [executedFromPath stringByAppendingPathComponent:standardizedPath];
}
standardizedPath = [standardizedPath stringByStandardizingPath];
return standardizedPath;
}
+ (NSString *)supportDirectory {
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *executableName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleExecutable"];
NSString *supportDirectory = [cachePath stringByAppendingPathComponent:executableName];
NSFileManager *fs = [NSFileManager defaultManager];
NSError *error;
BOOL success = [fs createDirectoryAtPath:supportDirectory withIntermediateDirectories:YES attributes:nil error:&error];
if (!success) {
NSLog(@"Warning: Can't create support directory '%@' because %@", supportDirectory, [error localizedDescription]);
supportDirectory = @"";
}
return supportDirectory;
}
+ (CefSettings)createCefSettings {
CefSettings settings;
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSString *userAgent = [NSString stringWithFormat:@"GitHubAtom/%@", version];
CefString(&settings.cache_path) = [[self supportDirectory] UTF8String];
CefString(&settings.user_agent) = [userAgent UTF8String];
CefString(&settings.log_file) = "";
CefString(&settings.javascript_flags) = "--harmony_collections";
settings.remote_debugging_port = 9090;
settings.log_severity = LOGSEVERITY_ERROR;
return settings;
}
- (void)dealloc {
[_backgroundWindowController release];
[_arguments release];
[_updateInvocation release];
[super dealloc];
}
- (void)open:(NSString *)path pidToKillWhenWindowCloses:(NSNumber *)pid {
BOOL openingDirectory = false;
[[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&openingDirectory];
if (!pid) {
for (NSWindow *window in [self windows]) {
if (![window isExcludedFromWindowsMenu]) {
AtomWindowController *controller = [window windowController];
if (!controller.pathToOpen) {
continue;
}
if (!openingDirectory) {
BOOL openedPathIsDirectory = false;
[[NSFileManager defaultManager] fileExistsAtPath:controller.pathToOpen isDirectory:&openedPathIsDirectory];
NSString *projectPath = NULL;
if (openedPathIsDirectory) {
projectPath = [NSString stringWithFormat:@"%@/", controller.pathToOpen];
}
else {
projectPath = [controller.pathToOpen stringByDeletingLastPathComponent];
}
if ([path hasPrefix:projectPath]) {
[window makeKeyAndOrderFront:nil];
[controller openPath:path];
return;
}
}
if ([path isEqualToString:controller.pathToOpen]) {
[window makeKeyAndOrderFront:nil];
return;
}
}
}
}
AtomWindowController *windowController = [[AtomWindowController alloc] initWithPath:path];
[windowController setPidToKillOnClose:pid];
return windowController;
}
- (void)open:(NSString *)path {
[self open:path pidToKillWhenWindowCloses:nil];
}
- (void)openDev:(NSString *)path {
[[AtomWindowController alloc] initDevWithPath:path];
}
- (IBAction)runSpecs:(id)sender {
[self runSpecsThenExit:NO];
}
- (void)runSpecsThenExit:(BOOL)exitWhenDone {
[[AtomWindowController alloc] initSpecsThenExit:exitWhenDone];
}
- (IBAction)runBenchmarks:(id)sender {
[self runBenchmarksThenExit:NO];
}
- (void)runBenchmarksThenExit:(BOOL)exitWhenDone {
[[AtomWindowController alloc] initBenchmarksThenExit:exitWhenDone];
}
# pragma mark NSApplicationDelegate
- (BOOL)shouldOpenFiles {
if ([self.arguments objectForKey:@"benchmark"]) {
return NO;
}
if ([self.arguments objectForKey:@"test"]) {
return NO;
}
return YES;
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames {
if ([self shouldOpenFiles]) {
for (NSString *path in filenames) {
path = [[self class] standardizePathToOpen:path withArguments:self.arguments];
NSNumber *pid = [self.arguments objectForKey:@"wait"] ? [self.arguments objectForKey:@"pid"] : nil;
[self open:path pidToKillWhenWindowCloses:pid];
}
if ([filenames count] > 0) {
_filesOpened = YES;
}
}
}
- (void)applicationDidFinishLaunching:(NSNotification *)notification {
BWQuincyManager *manager = [BWQuincyManager sharedQuincyManager];
[manager setCompanyName:@"GitHub"];
[manager setSubmissionURL:@"https://speakeasy.githubapp.com/submit_crash_log"];
[manager setAutoSubmitCrashReport:YES];
if (!_filesOpened && [self shouldOpenFiles]) {
NSString *path = [self.arguments objectForKey:@"path"];
NSNumber *pid = [self.arguments objectForKey:@"wait"] ? [self.arguments objectForKey:@"pid"] : nil;
[self open:path pidToKillWhenWindowCloses:pid];
}
}
- (void)applicationWillFinishLaunching:(NSNotification *)notification {
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
_versionMenuItem.title = [NSString stringWithFormat:@"Version %@", version];
if ([self.arguments objectForKey:@"benchmark"]) {
[self runBenchmarksThenExit:true];
}
else if ([self.arguments objectForKey:@"test"]) {
[self runSpecsThenExit:true];
}
else {
_backgroundWindowController = [[AtomWindowController alloc] initInBackground];
#if defined(CODE_SIGNING_ENABLED)
SUUpdater.sharedUpdater.delegate = self;
SUUpdater.sharedUpdater.automaticallyChecksForUpdates = YES;
SUUpdater.sharedUpdater.automaticallyDownloadsUpdates = YES;
[SUUpdater.sharedUpdater checkForUpdatesInBackground];
#endif
}
}
- (NSApplicationTerminateReply)applicationShouldTerminate:
(NSApplication *)sender {
for (NSWindow *window in [self windows]) {
[window performClose:self];
}
return NSTerminateCancel;
}
# pragma mark CefAppProtocol
- (BOOL)isHandlingSendEvent {
return _handlingSendEvent;
}
- (void)setHandlingSendEvent:(BOOL)handlingSendEvent {
_handlingSendEvent = handlingSendEvent;
}
- (void)sendEvent:(NSEvent*)event {
CefScopedSendingEvent sendingEventScoper;
if ([[self mainMenu] performKeyEquivalent:event]) return;
if (_backgroundWindowController && ![self keyWindow] && [event type] == NSKeyDown) {
[_backgroundWindowController.window makeKeyWindow];
[_backgroundWindowController.window sendEvent:event];
}
else {
[super sendEvent:event];
}
}
#pragma mark SUUpdaterDelegate
- (void)updaterDidNotFindUpdate:(SUUpdater *)update {
}
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update {
}
- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)update {
}
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)update immediateInstallationInvocation:(NSInvocation *)invocation {
_updateInvocation = [invocation retain];
_versionMenuItem.title = [NSString stringWithFormat:@"Update to %@", update.versionString];
_versionMenuItem.target = _updateInvocation;
_versionMenuItem.action = @selector(invoke);
}
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)update {
}
@end
-18
Ver Arquivo
@@ -1,18 +0,0 @@
#ifndef ATOM_CEF_APP_H_
#define ATOM_CEF_APP_H_
#pragma once
#include "include/cef_app.h"
#include "atom_cef_render_process_handler.h"
class AtomCefApp : public CefApp {
virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler() OVERRIDE {
return CefRefPtr<CefRenderProcessHandler>(new AtomCefRenderProcessHandler);
}
IMPLEMENT_REFCOUNTING(AtomCefApp);
};
#endif
-273
Ver Arquivo
@@ -1,273 +0,0 @@
#include <sstream>
#include <iostream>
#include <assert.h>
#include "include/cef_app.h"
#include "include/cef_path_util.h"
#include "include/cef_process_util.h"
#include "include/cef_task.h"
#include "include/cef_runnable.h"
#include "include/cef_trace.h"
#include "cef_types.h"
#include "native/atom_cef_client.h"
#include "cef_v8.h"
#define REQUIRE_UI_THREAD() assert(CefCurrentlyOn(TID_UI));
#define REQUIRE_IO_THREAD() assert(CefCurrentlyOn(TID_IO));
#define REQUIRE_FILE_THREAD() assert(CefCurrentlyOn(TID_FILE));
static int numberOfOpenBrowsers = 0;
AtomCefClient::AtomCefClient() {
}
AtomCefClient::AtomCefClient(bool handlePasteboardCommands, bool ignoreTitleChanges) {
m_HandlePasteboardCommands = handlePasteboardCommands;
m_IgnoreTitleChanges = ignoreTitleChanges;
}
AtomCefClient::~AtomCefClient() {
}
bool AtomCefClient::OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) {
std::string name = message->GetName().ToString();
CefRefPtr<CefListValue> argumentList = message->GetArgumentList();
int messageId = argumentList->GetInt(0);
if (name == "open") {
bool hasArguments = argumentList->GetSize() > 1;
hasArguments ? Open(argumentList->GetString(1)) : Open();
}
if (name == "openDev") {
bool hasArguments = argumentList->GetSize() > 1;
hasArguments ? OpenDev(argumentList->GetString(1)) : OpenDev();
}
else if (name == "newWindow") {
NewWindow();
}
else if (name == "toggleDevTools") {
ToggleDevTools(browser);
}
else if (name == "showDevTools") {
ShowDevTools(browser);
}
else if (name == "confirm") {
std::string message = argumentList->GetString(1).ToString();
std::string detailedMessage = argumentList->GetString(2).ToString();
std::vector<std::string> buttonLabels(argumentList->GetSize() - 3);
for (int i = 3; i < argumentList->GetSize(); i++) {
buttonLabels[i - 3] = argumentList->GetString(i).ToString();
}
Confirm(messageId, message, detailedMessage, buttonLabels, browser);
}
else if (name == "showSaveDialog") {
ShowSaveDialog(messageId, browser);
}
else if (name == "focus") {
GetBrowser()->GetHost()->SetFocus(true);
}
else if (name == "exit") {
Exit(argumentList->GetInt(1));
}
else if (name == "log") {
std::string message = argumentList->GetString(1).ToString();
Log(message.c_str());
}
else if (name == "beginTracing") {
BeginTracing();
}
else if (name == "endTracing") {
EndTracing();
}
else if (name == "show") {
Show(browser);
}
else if (name == "toggleFullScreen") {
ToggleFullScreen(browser);
}
else if (name == "getVersion") {
GetVersion(messageId, browser);
}
else if (name == "crash") {
__builtin_trap();
}
else if (name == "restartRendererProcess") {
RestartRendererProcess(browser);
}
else {
return false;
}
return true;
}
void AtomCefClient::OnBeforeContextMenu(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model) {
model->Clear();
model->AddItem(MENU_ID_USER_FIRST, "&Toggle DevTools");
}
bool AtomCefClient::OnContextMenuCommand(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
int command_id,
EventFlags event_flags) {
if (command_id == MENU_ID_USER_FIRST) {
ToggleDevTools(browser);
return true;
}
else {
return false;
}
}
bool AtomCefClient::OnConsoleMessage(CefRefPtr<CefBrowser> browser,
const CefString& message,
const CefString& source,
int line) {
REQUIRE_UI_THREAD();
Log(message.ToString().c_str());
return true;
}
bool AtomCefClient::OnKeyEvent(CefRefPtr<CefBrowser> browser,
const CefKeyEvent& event,
CefEventHandle os_event) {
if (event.modifiers == EVENTFLAG_COMMAND_DOWN && event.unmodified_character == 'r') {
browser->SendProcessMessage(PID_RENDERER, CefProcessMessage::Create("reload"));
}
if (m_HandlePasteboardCommands && event.modifiers == EVENTFLAG_COMMAND_DOWN && event.unmodified_character == 'x') {
browser->GetFocusedFrame()->Cut();
}
if (m_HandlePasteboardCommands && event.modifiers == EVENTFLAG_COMMAND_DOWN && event.unmodified_character == 'c') {
browser->GetFocusedFrame()->Copy();
}
if (m_HandlePasteboardCommands && event.modifiers == EVENTFLAG_COMMAND_DOWN && event.unmodified_character == 'v') {
browser->GetFocusedFrame()->Paste();
}
else if (event.modifiers == (EVENTFLAG_COMMAND_DOWN | EVENTFLAG_ALT_DOWN) && event.unmodified_character == 'i') {
ToggleDevTools(browser);
} else if (event.modifiers == EVENTFLAG_COMMAND_DOWN && event.unmodified_character == '`') {
FocusNextWindow();
} else if (event.modifiers == (EVENTFLAG_COMMAND_DOWN | EVENTFLAG_SHIFT_DOWN) && event.unmodified_character == '~') {
FocusPreviousWindow();
}
else {
return false;
}
return true;
}
void AtomCefClient::OnBeforeClose(CefRefPtr<CefBrowser> browser) {
// REQUIRE_UI_THREAD(); // When uncommented this fails when app is terminated
m_Browser = NULL;
numberOfOpenBrowsers--;
if (numberOfOpenBrowsers == 0) {
CefQuitMessageLoop();
}
}
void AtomCefClient::OnAfterCreated(CefRefPtr<CefBrowser> browser) {
REQUIRE_UI_THREAD();
AutoLock lock_scope(this);
if (!m_Browser.get()) {
m_Browser = browser;
}
GetBrowser()->GetHost()->SetFocus(true);
numberOfOpenBrowsers++;
}
void AtomCefClient::OnLoadError(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
ErrorCode errorCode,
const CefString& errorText,
const CefString& failedUrl) {
REQUIRE_UI_THREAD();
frame->LoadString(std::string(errorText) + "<br />" + std::string(failedUrl), failedUrl);
}
void AtomCefClient::BeginTracing() {
if (CefCurrentlyOn(TID_UI)) {
class Client : public CefTraceClient,
public CefRunFileDialogCallback {
public:
explicit Client(CefRefPtr<AtomCefClient> handler)
: handler_(handler),
trace_data_("{\"traceEvents\":["),
first_(true) {
}
virtual void OnTraceDataCollected(const char* fragment,
size_t fragment_size) OVERRIDE {
if (first_)
first_ = false;
else
trace_data_.append(",");
trace_data_.append(fragment, fragment_size);
}
virtual void OnEndTracingComplete() OVERRIDE {
REQUIRE_UI_THREAD();
trace_data_.append("]}");
handler_->GetBrowser()->GetHost()->RunFileDialog(
FILE_DIALOG_SAVE, CefString(), "/tmp/atom-trace.txt", std::vector<CefString>(),
this);
}
virtual void OnFileDialogDismissed(
CefRefPtr<CefBrowserHost> browser_host,
const std::vector<CefString>& file_paths) OVERRIDE {
if (!file_paths.empty())
handler_->Save(file_paths.front(), trace_data_);
}
private:
CefRefPtr<AtomCefClient> handler_;
std::string trace_data_;
bool first_;
IMPLEMENT_REFCOUNTING(Callback);
};
CefBeginTracing(new Client(this), CefString());
} else {
CefPostTask(TID_UI, NewCefRunnableMethod(this, &AtomCefClient::BeginTracing));
}
}
void AtomCefClient::EndTracing() {
if (CefCurrentlyOn(TID_UI)) {
CefEndTracingAsync();
} else {
CefPostTask(TID_UI, NewCefRunnableMethod(this, &AtomCefClient::BeginTracing));
}
}
bool AtomCefClient::Save(const std::string& path, const std::string& data) {
FILE* f = fopen(path.c_str(), "w");
if (!f)
return false;
fwrite(data.c_str(), data.size(), 1, f);
fclose(f);
return true;
}
void AtomCefClient::RestartRendererProcess(CefRefPtr<CefBrowser> browser) {
// Navigating to the same URL has the effect of restarting the renderer
// process, because cefode has overridden ContentBrowserClient's
// ShouldSwapProcessesForNavigation method.
CefRefPtr<CefFrame> frame = browser->GetFocusedFrame();
frame->LoadURL(frame->GetURL());
}
-138
Ver Arquivo
@@ -1,138 +0,0 @@
#ifndef ATOM_CEF_CLIENT_H_
#define ATOM_CEF_CLIENT_H_
#pragma once
#include <set>
#include <string>
#include "include/cef_client.h"
class AtomCefClient : public CefClient,
public CefContextMenuHandler,
public CefDisplayHandler,
public CefJSDialogHandler,
public CefKeyboardHandler,
public CefLifeSpanHandler,
public CefLoadHandler,
public CefRequestHandler {
public:
AtomCefClient();
AtomCefClient(bool handlePasteboardCommands, bool ignoreTitleChanges);
virtual ~AtomCefClient();
CefRefPtr<CefBrowser> GetBrowser() { return m_Browser; }
virtual CefRefPtr<CefContextMenuHandler> GetContextMenuHandler() OVERRIDE {
return this;
}
virtual CefRefPtr<CefDisplayHandler> GetDisplayHandler() OVERRIDE {
return this;
}
virtual CefRefPtr<CefJSDialogHandler> GetJSDialogHandler() {
return this;
}
virtual CefRefPtr<CefKeyboardHandler> GetKeyboardHandler() OVERRIDE {
return this;
}
virtual CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() OVERRIDE {
return this;
}
virtual CefRefPtr<CefLoadHandler> GetLoadHandler() OVERRIDE {
return this;
}
virtual CefRefPtr<CefRequestHandler> GetRequestHandler() OVERRIDE {
return this;
}
virtual bool OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) OVERRIDE;
// CefContextMenuHandler methods
virtual void OnBeforeContextMenu(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model) OVERRIDE;
virtual bool OnContextMenuCommand(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
int command_id,
EventFlags event_flags) OVERRIDE;
// CefDisplayHandler methods
virtual bool OnConsoleMessage(CefRefPtr<CefBrowser> browser,
const CefString& message,
const CefString& source,
int line) OVERRIDE;
virtual void OnTitleChange(CefRefPtr<CefBrowser> browser,
const CefString& title) OVERRIDE;
// CefJsDialogHandlerMethods
virtual bool OnBeforeUnloadDialog(CefRefPtr<CefBrowser> browser,
const CefString& message_text,
bool is_reload,
CefRefPtr<CefJSDialogCallback> callback) {
callback->Continue(true, "");
return true;
}
// CefKeyboardHandler methods
virtual bool OnKeyEvent(CefRefPtr<CefBrowser> browser,
const CefKeyEvent& event,
CefEventHandle os_event) OVERRIDE;
// CefLifeSpanHandler methods
virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) OVERRIDE;
virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
virtual bool DoClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
// CefLoadHandler methods
virtual void OnLoadError(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
ErrorCode errorCode,
const CefString& errorText,
const CefString& failedUrl) OVERRIDE;
void BeginTracing();
void EndTracing();
bool Save(const std::string& path, const std::string& data);
void RestartRendererProcess(CefRefPtr<CefBrowser> browser);
bool IsClosed() { return m_IsClosed; };
protected:
CefRefPtr<CefBrowser> m_Browser;
bool m_HandlePasteboardCommands = false;
bool m_IgnoreTitleChanges = false;
bool m_IsClosed = false;
void FocusNextWindow();
void FocusPreviousWindow();
void Open(std::string path);
void Open();
void OpenDev(std::string path);
void OpenDev();
void NewWindow();
void ToggleDevTools(CefRefPtr<CefBrowser> browser);
void ShowDevTools(CefRefPtr<CefBrowser> browser);
void Confirm(int replyId,
std::string message,
std::string detailedMessage,
std::vector<std::string> buttonLabels,
CefRefPtr<CefBrowser> browser);
void ShowSaveDialog(int replyId, CefRefPtr<CefBrowser> browser);
CefRefPtr<CefListValue> CreateReplyDescriptor(int replyId, int callbackIndex);
void Exit(int status);
void Log(const char *message);
void Show(CefRefPtr<CefBrowser> browser);
void ToggleFullScreen(CefRefPtr<CefBrowser> browser);
void GetVersion(int replyId, CefRefPtr<CefBrowser> browser);
IMPLEMENT_REFCOUNTING(AtomCefClient);
IMPLEMENT_LOCKING(AtomCefClient);
};
#endif
-63
Ver Arquivo
@@ -1,63 +0,0 @@
// Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include <gtk/gtk.h>
#include <string>
#include "cefclient/client_handler.h"
#include "include/cef_browser.h"
#include "include/cef_frame.h"
void ClientHandler::OnAddressChange(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
const CefString& url) {
REQUIRE_UI_THREAD();
if (m_BrowserId == browser->GetIdentifier() && frame->IsMain()) {
// Set the edit window text
std::string urlStr(url);
gtk_entry_set_text(GTK_ENTRY(m_EditHwnd), urlStr.c_str());
}
}
void ClientHandler::OnTitleChange(CefRefPtr<CefBrowser> browser,
const CefString& title) {
REQUIRE_UI_THREAD();
GtkWidget* window = gtk_widget_get_ancestor(
GTK_WIDGET(browser->GetHost()->GetWindowHandle()),
GTK_TYPE_WINDOW);
std::string titleStr(title);
gtk_window_set_title(GTK_WINDOW(window), titleStr.c_str());
}
void ClientHandler::SendNotification(NotificationType type) {
// TODO(port): Implement this method.
}
void ClientHandler::SetLoading(bool isLoading) {
if (isLoading)
gtk_widget_set_sensitive(GTK_WIDGET(m_StopHwnd), true);
else
gtk_widget_set_sensitive(GTK_WIDGET(m_StopHwnd), false);
}
void ClientHandler::SetNavState(bool canGoBack, bool canGoForward) {
if (canGoBack)
gtk_widget_set_sensitive(GTK_WIDGET(m_BackHwnd), true);
else
gtk_widget_set_sensitive(GTK_WIDGET(m_BackHwnd), false);
if (canGoForward)
gtk_widget_set_sensitive(GTK_WIDGET(m_ForwardHwnd), true);
else
gtk_widget_set_sensitive(GTK_WIDGET(m_ForwardHwnd), false);
}
void ClientHandler::CloseMainWindow() {
// TODO(port): Close main window.
}
std::string ClientHandler::GetDownloadPath(const std::string& file_name) {
return std::string();
}
-178
Ver Arquivo
@@ -1,178 +0,0 @@
#import <AppKit/AppKit.h>
#import <iostream>
#import "include/cef_browser.h"
#import "include/cef_frame.h"
#import "native/atom_cef_client.h"
#import "atom_application.h"
#import "atom_window_controller.h"
#import "atom_application.h"
void AtomCefClient::FocusNextWindow() {
NSArray *windows = [NSApp windows];
int count = [windows count];
int start = [windows indexOfObject:[NSApp keyWindow]];
int i = start;
while (true) {
i = (i + 1) % count;
if (i == start) break;
NSWindow *window = [windows objectAtIndex:i];
if ([window isVisible] && ![window isExcludedFromWindowsMenu]) {
[window makeKeyAndOrderFront:nil];
break;
}
}
}
void AtomCefClient::FocusPreviousWindow() {
NSArray *windows = [NSApp windows];
int count = [windows count];
int start = [windows indexOfObject:[NSApp keyWindow]];
int i = start;
while (true) {
i = i - 1;
if (i == 0) i = count -1;
if (i == start) break;
NSWindow *window = [windows objectAtIndex:i];
if ([window isVisible] && ![window isExcludedFromWindowsMenu]) {
[window makeKeyAndOrderFront:nil];
break;
}
}
}
void AtomCefClient::Open(std::string path) {
NSString *pathString = [NSString stringWithCString:path.c_str() encoding:NSUTF8StringEncoding];
[(AtomApplication *)[AtomApplication sharedApplication] open:pathString];
}
void AtomCefClient::Open() {
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setCanChooseDirectories:YES];
if ([panel runModal] == NSFileHandlingPanelOKButton) {
NSURL *url = [[panel URLs] lastObject];
Open([[url path] UTF8String]);
}
}
void AtomCefClient::OpenDev(std::string path) {
NSString *pathString = [NSString stringWithCString:path.c_str() encoding:NSUTF8StringEncoding];
[(AtomApplication *)[AtomApplication sharedApplication] openDev:pathString];
}
void AtomCefClient::OpenDev() {
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setCanChooseDirectories:YES];
if ([panel runModal] == NSFileHandlingPanelOKButton) {
NSURL *url = [[panel URLs] lastObject];
OpenDev([[url path] UTF8String]);
}
}
void AtomCefClient::NewWindow() {
[(AtomApplication *)[AtomApplication sharedApplication] open:nil];
}
void AtomCefClient::Confirm(int replyId,
std::string message,
std::string detailedMessage,
std::vector<std::string> buttonLabels,
CefRefPtr<CefBrowser> browser) {
NSAlert *alert = [[[NSAlert alloc] init] autorelease];
[alert setMessageText:[NSString stringWithCString:message.c_str() encoding:NSUTF8StringEncoding]];
[alert setInformativeText:[NSString stringWithCString:detailedMessage.c_str() encoding:NSUTF8StringEncoding]];
for (int i = 0; i < buttonLabels.size(); i++) {
NSString *title = [NSString stringWithCString:buttonLabels[i].c_str() encoding:NSUTF8StringEncoding];
NSButton *button = [alert addButtonWithTitle:title];
[button setTag:i];
}
NSUInteger clickedButtonTag = [alert runModal];
CefRefPtr<CefProcessMessage> replyMessage = CefProcessMessage::Create("reply");
CefRefPtr<CefListValue> replyArguments = replyMessage->GetArgumentList();
replyArguments->SetSize(1);
replyArguments->SetList(0, CreateReplyDescriptor(replyId, clickedButtonTag));
browser->SendProcessMessage(PID_RENDERER, replyMessage);
}
void AtomCefClient::OnTitleChange(CefRefPtr<CefBrowser> browser, const CefString& title) {
if (m_IgnoreTitleChanges) return;
NSWindow *window = [browser->GetHost()->GetWindowHandle() window];
[window setTitle:[NSString stringWithUTF8String:title.ToString().c_str()]];
}
void AtomCefClient::ToggleDevTools(CefRefPtr<CefBrowser> browser) {
AtomWindowController *windowController = [[browser->GetHost()->GetWindowHandle() window] windowController];
[windowController toggleDevTools];
}
void AtomCefClient::ShowDevTools(CefRefPtr<CefBrowser> browser) {
AtomWindowController *windowController = [[browser->GetHost()->GetWindowHandle() window] windowController];
[windowController showDevTools];
}
void AtomCefClient::Show(CefRefPtr<CefBrowser> browser) {
AtomWindowController *windowController = [[browser->GetHost()->GetWindowHandle() window] windowController];
[windowController.webView setHidden:NO];
}
void AtomCefClient::ToggleFullScreen(CefRefPtr<CefBrowser> browser) {
[[browser->GetHost()->GetWindowHandle() window] toggleFullScreen:nil];
}
void AtomCefClient::ShowSaveDialog(int replyId, CefRefPtr<CefBrowser> browser) {
CefRefPtr<CefProcessMessage> replyMessage = CefProcessMessage::Create("reply");
CefRefPtr<CefListValue> replyArguments = replyMessage->GetArgumentList();
NSSavePanel *panel = [NSSavePanel savePanel];
if ([panel runModal] == NSFileHandlingPanelOKButton) {
CefString path = CefString([[[panel URL] path] UTF8String]);
replyArguments->SetSize(2);
replyArguments->SetString(1, path);
}
else {
replyArguments->SetSize(1);
}
replyArguments->SetList(0, CreateReplyDescriptor(replyId, 0));
browser->SendProcessMessage(PID_RENDERER, replyMessage);
}
CefRefPtr<CefListValue> AtomCefClient::CreateReplyDescriptor(int replyId, int callbackIndex) {
CefRefPtr<CefListValue> descriptor = CefListValue::Create();
descriptor->SetSize(2);
descriptor->SetInt(0, replyId);
descriptor->SetInt(1, callbackIndex);
return descriptor;
}
void AtomCefClient::Exit(int status) {
exit(status);
}
void AtomCefClient::Log(const char *message) {
NSLog(@"%s", message);
}
void AtomCefClient::GetVersion(int replyId, CefRefPtr<CefBrowser> browser) {
CefRefPtr<CefProcessMessage> replyMessage = CefProcessMessage::Create("reply");
CefRefPtr<CefListValue> replyArguments = replyMessage->GetArgumentList();
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
replyArguments->SetSize(2);
replyArguments->SetString(1, [version UTF8String]);
replyArguments->SetList(0, CreateReplyDescriptor(replyId, 0));
browser->SendProcessMessage(PID_RENDERER, replyMessage);
}
bool AtomCefClient::DoClose(CefRefPtr<CefBrowser> browser) {
m_IsClosed = true;
NSWindow *window = [browser->GetHost()->GetWindowHandle() window];
[window performClose:window];
return false;
}
-86
Ver Arquivo
@@ -1,86 +0,0 @@
// Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "cefclient/client_handler.h"
#include <string>
#include <windows.h>
#include <shlobj.h>
#include "include/cef_browser.h"
#include "include/cef_frame.h"
#include "cefclient/resource.h"
void ClientHandler::OnAddressChange(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
const CefString& url) {
REQUIRE_UI_THREAD();
if (m_BrowserId == browser->GetIdentifier() && frame->IsMain()) {
// Set the edit window text
SetWindowText(m_EditHwnd, std::wstring(url).c_str());
}
}
void ClientHandler::OnTitleChange(CefRefPtr<CefBrowser> browser,
const CefString& title) {
REQUIRE_UI_THREAD();
// Set the frame window title bar
CefWindowHandle hwnd = browser->GetHost()->GetWindowHandle();
if (m_BrowserId == browser->GetIdentifier()) {
// The frame window will be the parent of the browser window
hwnd = GetParent(hwnd);
}
SetWindowText(hwnd, std::wstring(title).c_str());
}
void ClientHandler::SendNotification(NotificationType type) {
UINT id;
switch (type) {
case NOTIFY_CONSOLE_MESSAGE:
id = ID_WARN_CONSOLEMESSAGE;
break;
case NOTIFY_DOWNLOAD_COMPLETE:
id = ID_WARN_DOWNLOADCOMPLETE;
break;
case NOTIFY_DOWNLOAD_ERROR:
id = ID_WARN_DOWNLOADERROR;
break;
default:
return;
}
PostMessage(m_MainHwnd, WM_COMMAND, id, 0);
}
void ClientHandler::SetLoading(bool isLoading) {
ASSERT(m_EditHwnd != NULL && m_ReloadHwnd != NULL && m_StopHwnd != NULL);
EnableWindow(m_EditHwnd, TRUE);
EnableWindow(m_ReloadHwnd, !isLoading);
EnableWindow(m_StopHwnd, isLoading);
}
void ClientHandler::SetNavState(bool canGoBack, bool canGoForward) {
ASSERT(m_BackHwnd != NULL && m_ForwardHwnd != NULL);
EnableWindow(m_BackHwnd, canGoBack);
EnableWindow(m_ForwardHwnd, canGoForward);
}
void ClientHandler::CloseMainWindow() {
::PostMessage(m_MainHwnd, WM_CLOSE, 0, 0);
}
std::string ClientHandler::GetDownloadPath(const std::string& file_name) {
TCHAR szFolderPath[MAX_PATH];
std::string path;
// Save the file in the user's "My Documents" folder.
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL | CSIDL_FLAG_CREATE,
NULL, 0, szFolderPath))) {
path = CefString(szFolderPath);
path += "\\" + file_name;
}
return path;
}
-27
Ver Arquivo
@@ -1,27 +0,0 @@
#ifndef ATOM_CEF_RENDER_PROCESS_HANDLER_H_
#define ATOM_CEF_RENDER_PROCESS_HANDLER_H_
#pragma once
#include "include/cef_app.h"
class AtomCefRenderProcessHandler : public CefRenderProcessHandler {
virtual void OnWebKitInitialized() OVERRIDE;
virtual void OnContextCreated(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) OVERRIDE;
virtual void OnContextReleased(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) OVERRIDE;
virtual bool OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) OVERRIDE;
void Reload(CefRefPtr<CefBrowser> browser);
bool CallMessageReceivedHandler(CefRefPtr<CefV8Context> context, CefRefPtr<CefProcessMessage> message);
void InjectExtensionsIntoV8Context(CefRefPtr<CefV8Context> context);
IMPLEMENT_REFCOUNTING(AtomCefRenderProcessHandler);
};
#endif // ATOM_CEF_RENDER_PROCESS_HANDLER_H_
-83
Ver Arquivo
@@ -1,83 +0,0 @@
#import <iostream>
#import "native/v8_extensions/atom.h"
#import "native/v8_extensions/native.h"
#import "native/message_translation.h"
#import "atom_cef_render_process_handler.h"
void AtomCefRenderProcessHandler::OnWebKitInitialized() {
}
void AtomCefRenderProcessHandler::OnContextCreated(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) {
InjectExtensionsIntoV8Context(context);
}
void AtomCefRenderProcessHandler::OnContextReleased(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefV8Context> context) {
}
bool AtomCefRenderProcessHandler::OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
CefProcessId source_process,
CefRefPtr<CefProcessMessage> message) {
std::string name = message->GetName().ToString();
if (name == "reload") {
Reload(browser);
return true;
}
else {
return CallMessageReceivedHandler(browser->GetMainFrame()->GetV8Context(), message);
}
}
void AtomCefRenderProcessHandler::Reload(CefRefPtr<CefBrowser> browser) {
CefRefPtr<CefV8Context> context = browser->GetMainFrame()->GetV8Context();
CefRefPtr<CefV8Value> global = context->GetGlobal();
context->Enter();
CefV8ValueList arguments;
CefRefPtr<CefV8Value> reloadFunction = global->GetValue("reload");
reloadFunction->ExecuteFunction(global, arguments);
if (!reloadFunction->IsFunction() || reloadFunction->HasException()) {
browser->ReloadIgnoreCache();
}
context->Exit();
}
bool AtomCefRenderProcessHandler::CallMessageReceivedHandler(CefRefPtr<CefV8Context> context, CefRefPtr<CefProcessMessage> message) {
context->Enter();
CefRefPtr<CefV8Value> atom = context->GetGlobal()->GetValue("atom");
CefRefPtr<CefV8Value> receiveFn = atom->GetValue("receiveMessageFromBrowserProcess");
CefV8ValueList arguments;
arguments.push_back(CefV8Value::CreateString(message->GetName().ToString()));
CefRefPtr<CefListValue> messageArguments = message->GetArgumentList();
if (messageArguments->GetSize() > 0) {
CefRefPtr<CefV8Value> data = CefV8Value::CreateArray(messageArguments->GetSize());
TranslateList(messageArguments, data);
arguments.push_back(data);
}
receiveFn->ExecuteFunction(atom, arguments);
context->Exit();
if (receiveFn->HasException()) {
std::cout << "ERROR: Exception in JS receiving message " << message->GetName().ToString() << "\n";
return false;
}
else {
return true;
}
}
void AtomCefRenderProcessHandler::InjectExtensionsIntoV8Context(CefRefPtr<CefV8Context> context) {
// these objects are deleted when the context removes all references to them
(new v8_extensions::Atom())->CreateContextBinding(context);
(new v8_extensions::Native())->CreateContextBinding(context);
}
-408
Ver Arquivo
@@ -1,408 +0,0 @@
// Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include <gtk/gtk.h>
#include <stdlib.h>
#include <unistd.h>
#include <string>
#include "cefclient/cefclient.h"
#include "include/cef_app.h"
#include "include/cef_browser.h"
#include "include/cef_frame.h"
#include "include/cef_runnable.h"
#include "cefclient/binding_test.h"
#include "cefclient/client_handler.h"
#include "cefclient/dom_test.h"
#include "cefclient/scheme_test.h"
#include "cefclient/string_util.h"
char szWorkingDir[512]; // The current working directory
// The global ClientHandler reference.
extern CefRefPtr<ClientHandler> g_handler;
void destroy(void) {
CefQuitMessageLoop();
}
void TerminationSignalHandler(int signatl) {
destroy();
}
// Callback for Debug > Get Source... menu item.
gboolean GetSourceActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunGetSourceTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Get Source... menu item.
gboolean GetTextActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunGetTextTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Request... menu item.
gboolean RequestActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunRequestTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Local Storage... menu item.
gboolean LocalStorageActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunLocalStorageTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > XMLHttpRequest... menu item.
gboolean XMLHttpRequestActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunXMLHTTPRequestTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Scheme Handler... menu item.
gboolean SchemeHandlerActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
scheme_test::RunTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > JavaScript Binding... menu item.
gboolean BindingActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
binding_test::RunTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Plugin Info... menu item.
gboolean PluginInfoActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunPluginInfoTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > DOM Access... menu item.
gboolean DOMAccessActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
dom_test::RunTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Popup Window... menu item.
gboolean PopupWindowActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunPopupTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Accelerated 2D Canvas... menu item.
gboolean Accelerated2DCanvasActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunAccelerated2DCanvasTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Accelerated Layers... menu item.
gboolean AcceleratedLayersActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunAcceleratedLayersTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > WebGL... menu item.
gboolean WebGLActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunWebGLTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > HTML5 Video... menu item.
gboolean HTML5VideoActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunHTML5VideoTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > HTML5 Drag & Drop... menu item.
gboolean HTML5DragDropActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId())
RunDragDropTest(g_handler->GetBrowser());
return FALSE; // Don't stop this message.
}
// Callback for Debug > Zoom In... menu item.
gboolean ZoomInActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId()) {
CefRefPtr<CefBrowser> browser = g_handler->GetBrowser();
browser->GetHost()->SetZoomLevel(browser->GetHost()->GetZoomLevel() + 0.5);
}
return FALSE; // Don't stop this message.
}
// Callback for Debug > Zoom Out... menu item.
gboolean ZoomOutActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId()) {
CefRefPtr<CefBrowser> browser = g_handler->GetBrowser();
browser->GetHost()->SetZoomLevel(browser->GetHost()->GetZoomLevel() - 0.5);
}
return FALSE; // Don't stop this message.
}
// Callback for Debug > Zoom Reset... menu item.
gboolean ZoomResetActivated(GtkWidget* widget) {
if (g_handler.get() && g_handler->GetBrowserId()) {
CefRefPtr<CefBrowser> browser = g_handler->GetBrowser();
browser->GetHost()->SetZoomLevel(0.0);
}
return FALSE; // Don't stop this message.
}
// Callback for when you click the back button.
void BackButtonClicked(GtkButton* button) {
if (g_handler.get() && g_handler->GetBrowserId())
g_handler->GetBrowser()->GoBack();
}
// Callback for when you click the forward button.
void ForwardButtonClicked(GtkButton* button) {
if (g_handler.get() && g_handler->GetBrowserId())
g_handler->GetBrowser()->GoForward();
}
// Callback for when you click the stop button.
void StopButtonClicked(GtkButton* button) {
if (g_handler.get() && g_handler->GetBrowserId())
g_handler->GetBrowser()->StopLoad();
}
// Callback for when you click the reload button.
void ReloadButtonClicked(GtkButton* button) {
if (g_handler.get() && g_handler->GetBrowserId())
g_handler->GetBrowser()->Reload();
}
// Callback for when you press enter in the URL box.
void URLEntryActivate(GtkEntry* entry) {
if (!g_handler.get() || !g_handler->GetBrowserId())
return;
const gchar* url = gtk_entry_get_text(entry);
g_handler->GetBrowser()->GetMainFrame()->LoadURL(std::string(url).c_str());
}
// GTK utility functions ----------------------------------------------
GtkWidget* AddMenuEntry(GtkWidget* menu_widget, const char* text,
GCallback callback) {
GtkWidget* entry = gtk_menu_item_new_with_label(text);
g_signal_connect(entry, "activate", callback, NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_widget), entry);
return entry;
}
GtkWidget* CreateMenu(GtkWidget* menu_bar, const char* text) {
GtkWidget* menu_widget = gtk_menu_new();
GtkWidget* menu_header = gtk_menu_item_new_with_label(text);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_header), menu_widget);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_header);
return menu_widget;
}
GtkWidget* CreateMenuBar() {
GtkWidget* menu_bar = gtk_menu_bar_new();
GtkWidget* debug_menu = CreateMenu(menu_bar, "Tests");
AddMenuEntry(debug_menu, "Get Source",
G_CALLBACK(GetSourceActivated));
AddMenuEntry(debug_menu, "Get Text",
G_CALLBACK(GetTextActivated));
AddMenuEntry(debug_menu, "Request",
G_CALLBACK(RequestActivated));
AddMenuEntry(debug_menu, "Local Storage",
G_CALLBACK(LocalStorageActivated));
AddMenuEntry(debug_menu, "XMLHttpRequest",
G_CALLBACK(XMLHttpRequestActivated));
AddMenuEntry(debug_menu, "Scheme Handler",
G_CALLBACK(SchemeHandlerActivated));
AddMenuEntry(debug_menu, "JavaScript Binding",
G_CALLBACK(BindingActivated));
AddMenuEntry(debug_menu, "Plugin Info",
G_CALLBACK(PluginInfoActivated));
AddMenuEntry(debug_menu, "DOM Access",
G_CALLBACK(DOMAccessActivated));
AddMenuEntry(debug_menu, "Popup Window",
G_CALLBACK(PopupWindowActivated));
AddMenuEntry(debug_menu, "Accelerated 2D Canvas",
G_CALLBACK(Accelerated2DCanvasActivated));
AddMenuEntry(debug_menu, "Accelerated Layers",
G_CALLBACK(AcceleratedLayersActivated));
AddMenuEntry(debug_menu, "WebGL",
G_CALLBACK(WebGLActivated));
AddMenuEntry(debug_menu, "HTML5 Video",
G_CALLBACK(HTML5VideoActivated));
AddMenuEntry(debug_menu, "HTML5 Drag & Drop",
G_CALLBACK(HTML5DragDropActivated));
AddMenuEntry(debug_menu, "Zoom In",
G_CALLBACK(ZoomInActivated));
AddMenuEntry(debug_menu, "Zoom Out",
G_CALLBACK(ZoomOutActivated));
AddMenuEntry(debug_menu, "Zoom Reset",
G_CALLBACK(ZoomResetActivated));
return menu_bar;
}
// WebViewDelegate::TakeFocus in the test webview delegate.
static gboolean HandleFocus(GtkWidget* widget,
GdkEventFocus* focus) {
if (g_handler.get() && g_handler->GetBrowserId()) {
// Give focus to the browser window.
g_handler->GetBrowser()->GetHost()->SetFocus(true);
}
return TRUE;
}
int main(int argc, char* argv[]) {
CefMainArgs main_args(argc, argv);
CefRefPtr<ClientApp> app(new ClientApp);
// Execute the secondary process, if any.
int exit_code = CefExecuteProcess(main_args, app.get());
if (exit_code >= 0)
return exit_code;
if (!getcwd(szWorkingDir, sizeof (szWorkingDir)))
return -1;
GtkWidget* window;
gtk_init(&argc, &argv);
// Parse command line arguments.
AppInitCommandLine(argc, argv);
CefSettings settings;
// Populate the settings based on command line arguments.
AppGetSettings(settings, app);
// Initialize CEF.
CefInitialize(main_args, settings, app.get());
// Register the scheme handler.
scheme_test::InitTest();
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
g_signal_connect(window, "focus", G_CALLBACK(&HandleFocus), NULL);
GtkWidget* vbox = gtk_vbox_new(FALSE, 0);
GtkWidget* menu_bar = CreateMenuBar();
gtk_box_pack_start(GTK_BOX(vbox), menu_bar, FALSE, FALSE, 0);
GtkWidget* toolbar = gtk_toolbar_new();
// Turn off the labels on the toolbar buttons.
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
GtkToolItem* back = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
g_signal_connect(back, "clicked",
G_CALLBACK(BackButtonClicked), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), back, -1 /* append */);
GtkToolItem* forward = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
g_signal_connect(forward, "clicked",
G_CALLBACK(ForwardButtonClicked), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), forward, -1 /* append */);
GtkToolItem* reload = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
g_signal_connect(reload, "clicked",
G_CALLBACK(ReloadButtonClicked), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), reload, -1 /* append */);
GtkToolItem* stop = gtk_tool_button_new_from_stock(GTK_STOCK_STOP);
g_signal_connect(stop, "clicked",
G_CALLBACK(StopButtonClicked), NULL);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), stop, -1 /* append */);
GtkWidget* m_editWnd = gtk_entry_new();
g_signal_connect(G_OBJECT(m_editWnd), "activate",
G_CALLBACK(URLEntryActivate), NULL);
GtkToolItem* tool_item = gtk_tool_item_new();
gtk_container_add(GTK_CONTAINER(tool_item), m_editWnd);
gtk_tool_item_set_expand(tool_item, TRUE);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), tool_item, -1); // append
gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT(window), "destroy",
G_CALLBACK(gtk_widget_destroyed), &window);
g_signal_connect(G_OBJECT(window), "destroy",
G_CALLBACK(destroy), NULL);
// Create the handler.
g_handler = new ClientHandler();
g_handler->SetMainHwnd(vbox);
g_handler->SetEditHwnd(m_editWnd);
g_handler->SetButtonHwnds(GTK_WIDGET(back), GTK_WIDGET(forward),
GTK_WIDGET(reload), GTK_WIDGET(stop));
// Create the browser view.
CefWindowInfo window_info;
CefBrowserSettings browserSettings;
// Populate the settings based on command line arguments.
AppGetBrowserSettings(browserSettings);
window_info.SetAsChild(vbox);
CefBrowserHost::CreateBrowserSync(
window_info, g_handler.get(),
g_handler->GetStartupURL(), browserSettings);
gtk_container_add(GTK_CONTAINER(window), vbox);
gtk_widget_show_all(GTK_WIDGET(window));
// Install an signal handler so we clean up after ourselves.
signal(SIGINT, TerminationSignalHandler);
signal(SIGTERM, TerminationSignalHandler);
CefRunMessageLoop();
CefShutdown();
return 0;
}
// Global functions
std::string AppGetWorkingDirectory() {
return szWorkingDir;
}
-1
Ver Arquivo
@@ -1 +0,0 @@
__attribute__((visibility("default"))) int AtomMain(int argc, char* argv[]);
-139
Ver Arquivo
@@ -1,139 +0,0 @@
#import "atom_main.h"
#import "atom_cef_app.h"
#import "include/cef_application_mac.h"
#import "native/atom_application.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
void sendPathToMainProcessAndExit(int fd, NSString *socketPath, NSDictionary *arguments);
void handleBeingOpenedAgain(int argc, char* argv[]);
void listenForPathToOpen(int fd, NSString *socketPath);
void activateOpenApp();
BOOL isAppAlreadyOpen();
int AtomMain(int argc, char* argv[]) {
// Check if we're being run as a secondary process.
CefMainArgs main_args(argc, argv);
CefRefPtr<CefApp> app(new AtomCefApp);
int exitCode = CefExecuteProcess(main_args, app);
if (exitCode >= 0)
return exitCode;
// We're the main process.
@autoreleasepool {
handleBeingOpenedAgain(argc, argv);
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
AtomApplication *application = [AtomApplication applicationWithArguments:argv count:argc];
NSString *mainNibName = [infoDictionary objectForKey:@"NSMainNibFile"];
NSNib *mainNib = [[NSNib alloc] initWithNibNamed:mainNibName bundle:[NSBundle bundleWithIdentifier:@"com.github.atom.framework"]];
[mainNib instantiateWithOwner:application topLevelObjects:nil];
CefRunMessageLoop();
CefShutdown();
}
return 0;
}
void handleBeingOpenedAgain(int argc, char* argv[]) {
NSString *socketPath = [NSString stringWithFormat:@"/tmp/atom-%d.sock", getuid()];
int fd = socket(AF_UNIX, SOCK_DGRAM, 0);
fcntl(fd, F_SETFD, FD_CLOEXEC);
if (isAppAlreadyOpen()) {
NSDictionary *arguments = [AtomApplication parseArguments:argv count:argc];
sendPathToMainProcessAndExit(fd, socketPath, arguments);
}
else {
listenForPathToOpen(fd, socketPath);
}
}
void sendPathToMainProcessAndExit(int fd, NSString *socketPath, NSDictionary *arguments) {
struct sockaddr_un send_addr;
send_addr.sun_family = AF_UNIX;
strcpy(send_addr.sun_path, [socketPath UTF8String]);
NSString *path = [arguments objectForKey:@"path"];
if (path) {
NSMutableString *packedString = [NSMutableString stringWithString:path];
if ([arguments objectForKey:@"wait"]) {
[packedString appendFormat:@"\n%@", [arguments objectForKey:@"pid"]];
}
const char *buf = [packedString UTF8String];
if (sendto(fd, buf, [packedString lengthOfBytesUsingEncoding:NSUTF8StringEncoding], 0, (sockaddr *)&send_addr, sizeof(send_addr)) < 0) {
perror("Error: Failed to sending path to main Atom process");
exit(1);
}
} else {
activateOpenApp();
}
exit(0);
}
void listenForPathToOpen(int fd, NSString *socketPath) {
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, [socketPath UTF8String]);
unlink([socketPath UTF8String]);
if (bind(fd, (sockaddr*)&addr, sizeof(addr)) < 0) {
perror("ERROR: Binding to socket");
}
else {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
char buf[MAXPATHLEN + 16]; // Add 16 to hold the pid string
struct sockaddr_un listen_addr;
listen_addr.sun_family = AF_UNIX;
strcpy(listen_addr.sun_path, [socketPath UTF8String]);
socklen_t listen_addr_length;
while(true) {
memset(buf, 0, sizeof(buf));
if (recvfrom(fd, &buf, sizeof(buf), 0, (sockaddr *)&listen_addr, &listen_addr_length) < 0) {
perror("ERROR: Receiving from socket");
}
else {
NSArray *components = [[NSString stringWithUTF8String:buf] componentsSeparatedByString:@"\n"];
NSString *path = [components objectAtIndex:0];
NSNumber *pid = nil;
if (components.count > 1) pid = [NSNumber numberWithInt:[[components objectAtIndex:1] intValue]];
dispatch_queue_t mainQueue = dispatch_get_main_queue();
dispatch_async(mainQueue, ^{
[[AtomApplication sharedApplication] open:path pidToKillWhenWindowCloses:pid];
[NSApp activateIgnoringOtherApps:YES];
});
}
}
});
}
}
void activateOpenApp() {
for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]) {
BOOL hasSameBundleId = [app.bundleIdentifier isEqualToString:[[NSBundle mainBundle] bundleIdentifier]];
BOOL hasSameProcessesId = app.processIdentifier == [[NSProcessInfo processInfo] processIdentifier];
if (hasSameBundleId && !hasSameProcessesId) {
[app activateWithOptions:NSApplicationActivateIgnoringOtherApps];
return;
}
}
}
BOOL isAppAlreadyOpen() {
for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]) {
BOOL hasSameBundleId = [app.bundleIdentifier isEqualToString:[[NSBundle mainBundle] bundleIdentifier]];
BOOL hasSameProcessesId = app.processIdentifier == [[NSProcessInfo processInfo] processIdentifier];
if (hasSameBundleId && !hasSameProcessesId) {
return true;
}
}
return false;
}
-546
Ver Arquivo
@@ -1,546 +0,0 @@
// Copyright (c) 2010 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#include "cefclient/cefclient.h"
#include <windows.h>
#include <commdlg.h>
#include <shellapi.h>
#include <direct.h>
#include <sstream>
#include <string>
#include "include/cef_app.h"
#include "include/cef_browser.h"
#include "include/cef_frame.h"
#include "include/cef_runnable.h"
#include "cefclient/binding_test.h"
#include "cefclient/client_handler.h"
#include "cefclient/dom_test.h"
#include "cefclient/resource.h"
#include "cefclient/scheme_test.h"
#include "cefclient/string_util.h"
#define MAX_LOADSTRING 100
#define MAX_URL_LENGTH 255
#define BUTTON_WIDTH 72
#define URLBAR_HEIGHT 24
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name
char szWorkingDir[MAX_PATH]; // The current working directory
// Forward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
// The global ClientHandler reference.
extern CefRefPtr<ClientHandler> g_handler;
#if defined(OS_WIN)
// Add Common Controls to the application manifest because it's required to
// support the default tooltip implementation.
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") // NOLINT(whitespace/line_length)
#endif
// Program entry point function.
int APIENTRY wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow) {
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
CefMainArgs main_args(hInstance);
CefRefPtr<ClientApp> app(new ClientApp);
// Execute the secondary process, if any.
int exit_code = CefExecuteProcess(main_args, app.get());
if (exit_code >= 0)
return exit_code;
// Retrieve the current working directory.
if (_getcwd(szWorkingDir, MAX_PATH) == NULL)
szWorkingDir[0] = 0;
// Parse command line arguments. The passed in values are ignored on Windows.
AppInitCommandLine(0, NULL);
CefSettings settings;
// Populate the settings based on command line arguments.
AppGetSettings(settings, app);
// Initialize CEF.
CefInitialize(main_args, settings, app.get());
// Register the scheme handler.
scheme_test::InitTest();
HACCEL hAccelTable;
// Initialize global strings
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_CEFCLIENT, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
// Perform application initialization
if (!InitInstance (hInstance, nCmdShow))
return FALSE;
hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_CEFCLIENT));
int result = 0;
if (!settings.multi_threaded_message_loop) {
// Run the CEF message loop. This function will block until the application
// recieves a WM_QUIT message.
CefRunMessageLoop();
} else {
MSG msg;
// Run the application message loop.
while (GetMessage(&msg, NULL, 0, 0)) {
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
result = static_cast<int>(msg.wParam);
}
// Shut down CEF.
CefShutdown();
return result;
}
//
// FUNCTION: MyRegisterClass()
//
// PURPOSE: Registers the window class.
//
// COMMENTS:
//
// This function and its usage are only necessary if you want this code
// to be compatible with Win32 systems prior to the 'RegisterClassEx'
// function that was added to Windows 95. It is important to call this
// function so that the application will get 'well formed' small icons
// associated with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance) {
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_CEFCLIENT));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_CEFCLIENT);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassEx(&wcex);
}
//
// FUNCTION: InitInstance(HINSTANCE, int)
//
// PURPOSE: Saves instance handle and creates main window
//
// COMMENTS:
//
// In this function, we save the instance handle in a global variable and
// create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle,
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, CW_USEDEFAULT, 0,
CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd)
return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
// Change the zoom factor on the UI thread.
static void ModifyZoom(CefRefPtr<CefBrowser> browser, double delta) {
if (CefCurrentlyOn(TID_UI)) {
browser->GetHost()->SetZoomLevel(
browser->GetHost()->GetZoomLevel() + delta);
} else {
CefPostTask(TID_UI, NewCefRunnableFunction(ModifyZoom, browser, delta));
}
}
//
// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM)
//
// PURPOSE: Processes messages for the main window.
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
LPARAM lParam) {
static HWND backWnd = NULL, forwardWnd = NULL, reloadWnd = NULL,
stopWnd = NULL, editWnd = NULL;
static WNDPROC editWndOldProc = NULL;
// Static members used for the find dialog.
static FINDREPLACE fr;
static WCHAR szFindWhat[80] = {0};
static WCHAR szLastFindWhat[80] = {0};
static bool findNext = false;
static bool lastMatchCase = false;
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
if (hWnd == editWnd) {
// Callback for the edit window
switch (message) {
case WM_CHAR:
if (wParam == VK_RETURN && g_handler.get()) {
// When the user hits the enter key load the URL
CefRefPtr<CefBrowser> browser = g_handler->GetBrowser();
wchar_t strPtr[MAX_URL_LENGTH+1] = {0};
*((LPWORD)strPtr) = MAX_URL_LENGTH;
LRESULT strLen = SendMessage(hWnd, EM_GETLINE, 0, (LPARAM)strPtr);
if (strLen > 0) {
strPtr[strLen] = 0;
browser->GetMainFrame()->LoadURL(strPtr);
}
return 0;
}
}
return (LRESULT)CallWindowProc(editWndOldProc, hWnd, message, wParam,
lParam);
} else {
// Callback for the main window
switch (message) {
case WM_CREATE: {
// Create the single static handler class instance
g_handler = new ClientHandler();
g_handler->SetMainHwnd(hWnd);
// Create the child windows used for navigation
RECT rect;
int x = 0;
GetClientRect(hWnd, &rect);
backWnd = CreateWindow(L"BUTTON", L"Back",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON
| WS_DISABLED, x, 0, BUTTON_WIDTH, URLBAR_HEIGHT,
hWnd, (HMENU) IDC_NAV_BACK, hInst, 0);
x += BUTTON_WIDTH;
forwardWnd = CreateWindow(L"BUTTON", L"Forward",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON
| WS_DISABLED, x, 0, BUTTON_WIDTH,
URLBAR_HEIGHT, hWnd, (HMENU) IDC_NAV_FORWARD,
hInst, 0);
x += BUTTON_WIDTH;
reloadWnd = CreateWindow(L"BUTTON", L"Reload",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON
| WS_DISABLED, x, 0, BUTTON_WIDTH,
URLBAR_HEIGHT, hWnd, (HMENU) IDC_NAV_RELOAD,
hInst, 0);
x += BUTTON_WIDTH;
stopWnd = CreateWindow(L"BUTTON", L"Stop",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON
| WS_DISABLED, x, 0, BUTTON_WIDTH, URLBAR_HEIGHT,
hWnd, (HMENU) IDC_NAV_STOP, hInst, 0);
x += BUTTON_WIDTH;
editWnd = CreateWindow(L"EDIT", 0,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT |
ES_AUTOVSCROLL | ES_AUTOHSCROLL| WS_DISABLED,
x, 0, rect.right - BUTTON_WIDTH * 4,
URLBAR_HEIGHT, hWnd, 0, hInst, 0);
// Assign the edit window's WNDPROC to this function so that we can
// capture the enter key
editWndOldProc =
reinterpret_cast<WNDPROC>(GetWindowLongPtr(editWnd, GWLP_WNDPROC));
SetWindowLongPtr(editWnd, GWLP_WNDPROC,
reinterpret_cast<LONG_PTR>(WndProc));
g_handler->SetEditHwnd(editWnd);
g_handler->SetButtonHwnds(backWnd, forwardWnd, reloadWnd, stopWnd);
rect.top += URLBAR_HEIGHT;
CefWindowInfo info;
CefBrowserSettings settings;
// Populate the settings based on command line arguments.
AppGetBrowserSettings(settings);
// Initialize window info to the defaults for a child window
info.SetAsChild(hWnd, rect);
// Creat the new child browser window
CefBrowserHost::CreateBrowser(info, g_handler.get(),
g_handler->GetStartupURL(), settings);
return 0;
}
case WM_COMMAND: {
CefRefPtr<CefBrowser> browser;
if (g_handler.get())
browser = g_handler->GetBrowser();
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId) {
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
return 0;
case IDM_EXIT:
DestroyWindow(hWnd);
return 0;
case ID_WARN_CONSOLEMESSAGE:
if (g_handler.get()) {
std::wstringstream ss;
ss << L"Console messages will be written to "
<< std::wstring(CefString(g_handler->GetLogFile()));
MessageBox(hWnd, ss.str().c_str(), L"Console Messages",
MB_OK | MB_ICONINFORMATION);
}
return 0;
case ID_WARN_DOWNLOADCOMPLETE:
case ID_WARN_DOWNLOADERROR:
if (g_handler.get()) {
std::wstringstream ss;
ss << L"File \"" <<
std::wstring(CefString(g_handler->GetLastDownloadFile())) <<
L"\" ";
if (wmId == ID_WARN_DOWNLOADCOMPLETE)
ss << L"downloaded successfully.";
else
ss << L"failed to download.";
MessageBox(hWnd, ss.str().c_str(), L"File Download",
MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDC_NAV_BACK: // Back button
if (browser.get())
browser->GoBack();
return 0;
case IDC_NAV_FORWARD: // Forward button
if (browser.get())
browser->GoForward();
return 0;
case IDC_NAV_RELOAD: // Reload button
if (browser.get())
browser->Reload();
return 0;
case IDC_NAV_STOP: // Stop button
if (browser.get())
browser->StopLoad();
return 0;
case ID_TESTS_GETSOURCE: // Test the GetSource function
if (browser.get())
RunGetSourceTest(browser);
return 0;
case ID_TESTS_GETTEXT: // Test the GetText function
if (browser.get())
RunGetTextTest(browser);
return 0;
case ID_TESTS_POPUP: // Test a popup window
if (browser.get())
RunPopupTest(browser);
return 0;
case ID_TESTS_REQUEST: // Test a request
if (browser.get())
RunRequestTest(browser);
return 0;
case ID_TESTS_SCHEME_HANDLER: // Test the scheme handler
if (browser.get())
scheme_test::RunTest(browser);
return 0;
case ID_TESTS_BINDING: // Test JavaScript binding
if (browser.get())
binding_test::RunTest(browser);
return 0;
case ID_TESTS_DIALOGS: // Test JavaScript dialogs
if (browser.get())
RunDialogTest(browser);
return 0;
case ID_TESTS_PLUGIN_INFO: // Test plugin info
if (browser.get())
RunPluginInfoTest(browser);
return 0;
case ID_TESTS_DOM_ACCESS: // Test DOM access
if (browser.get())
dom_test::RunTest(browser);
return 0;
case ID_TESTS_LOCALSTORAGE: // Test localStorage
if (browser.get())
RunLocalStorageTest(browser);
return 0;
case ID_TESTS_ACCELERATED2DCANVAS: // Test accelerated 2d canvas
if (browser.get())
RunAccelerated2DCanvasTest(browser);
return 0;
case ID_TESTS_ACCELERATEDLAYERS: // Test accelerated layers
if (browser.get())
RunAcceleratedLayersTest(browser);
return 0;
case ID_TESTS_WEBGL: // Test WebGL
if (browser.get())
RunWebGLTest(browser);
return 0;
case ID_TESTS_HTML5VIDEO: // Test HTML5 video
if (browser.get())
RunHTML5VideoTest(browser);
return 0;
case ID_TESTS_XMLHTTPREQUEST: // Test XMLHttpRequest
if (browser.get())
RunXMLHTTPRequestTest(browser);
return 0;
case ID_TESTS_DRAGDROP: // Test drag & drop
if (browser.get())
RunDragDropTest(browser);
return 0;
case ID_TESTS_GEOLOCATION: // Test geolocation
if (browser.get())
RunGeolocationTest(browser);
return 0;
case ID_TESTS_ZOOM_IN:
if (browser.get())
ModifyZoom(browser, 0.5);
return 0;
case ID_TESTS_ZOOM_OUT:
if (browser.get())
ModifyZoom(browser, -0.5);
return 0;
case ID_TESTS_ZOOM_RESET:
if (browser.get())
browser->GetHost()->SetZoomLevel(0.0);
return 0;
}
break;
}
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
return 0;
case WM_SETFOCUS:
if (g_handler.get() && g_handler->GetBrowser()) {
// Pass focus to the browser window
CefWindowHandle hwnd =
g_handler->GetBrowser()->GetHost()->GetWindowHandle();
if (hwnd)
PostMessage(hwnd, WM_SETFOCUS, wParam, NULL);
}
return 0;
case WM_SIZE:
// Minimizing resizes the window to 0x0 which causes our layout to go all
// screwy, so we just ignore it.
if (wParam != SIZE_MINIMIZED && g_handler.get() &&
g_handler->GetBrowser()) {
CefWindowHandle hwnd =
g_handler->GetBrowser()->GetHost()->GetWindowHandle();
if (hwnd) {
// Resize the browser window and address bar to match the new frame
// window size
RECT rect;
GetClientRect(hWnd, &rect);
rect.top += URLBAR_HEIGHT;
int urloffset = rect.left + BUTTON_WIDTH * 4;
HDWP hdwp = BeginDeferWindowPos(1);
hdwp = DeferWindowPos(hdwp, editWnd, NULL, urloffset,
0, rect.right - urloffset, URLBAR_HEIGHT, SWP_NOZORDER);
hdwp = DeferWindowPos(hdwp, hwnd, NULL,
rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,
SWP_NOZORDER);
EndDeferWindowPos(hdwp);
}
}
break;
case WM_ERASEBKGND:
if (g_handler.get() && g_handler->GetBrowser()) {
CefWindowHandle hwnd =
g_handler->GetBrowser()->GetHost()->GetWindowHandle();
if (hwnd) {
// Dont erase the background if the browser window has been loaded
// (this avoids flashing)
return 0;
}
}
break;
case WM_CLOSE:
if (g_handler.get()) {
CefRefPtr<CefBrowser> browser = g_handler->GetBrowser();
if (browser.get()) {
// Let the browser window know we are about to destroy it.
browser->GetHost()->ParentWindowWillClose();
}
}
break;
case WM_DESTROY:
// The frame window has exited
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
// Message handler for about box.
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
UNREFERENCED_PARAMETER(lParam);
switch (message) {
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}
// Global functions
std::string AppGetWorkingDirectory() {
return szWorkingDir;
}
-39
Ver Arquivo
@@ -1,39 +0,0 @@
#include "include/cef_app.h"
class AtomCefClient;
@interface AtomWindowController : NSWindowController <NSWindowDelegate> {
NSSplitView *_splitView;
NSView *_devToolsView;
NSView *_webView;
NSButton *_devButton;
NSString *_bootstrapScript;
NSString *_resourcePath;
NSString *_pathToOpen;
NSNumber *_pidToKillOnClose;
CefRefPtr<AtomCefClient> _cefClient;
CefRefPtr<AtomCefClient> _cefDevToolsClient;
CefRefPtr<CefV8Context> _atomContext;
BOOL _runningSpecs;
BOOL _exitWhenDone;
}
@property (nonatomic, retain) IBOutlet NSSplitView *splitView;
@property (nonatomic, retain) IBOutlet NSView *webView;
@property (nonatomic, retain) IBOutlet NSView *devToolsView;
@property (nonatomic, retain) NSString *pathToOpen;
- (id)initWithPath:(NSString *)path;
- (id)initDevWithPath:(NSString *)path;
- (id)initInBackground;
- (id)initSpecsThenExit:(BOOL)exitWhenDone;
- (id)initBenchmarksThenExit:(BOOL)exitWhenDone;
- (void)setPidToKillOnClose:(NSNumber *)pid;
- (void)toggleDevTools;
- (void)showDevTools;
- (void)openPath:(NSString*)path;
@end
-339
Ver Arquivo
@@ -1,339 +0,0 @@
#import "include/cef_application_mac.h"
#import "include/cef_client.h"
#import "native/atom_cef_client.h"
#import "native/atom_window_controller.h"
#import "native/atom_application.h"
#import <signal.h>
@implementation AtomWindowController
@synthesize splitView=_splitView;
@synthesize webView=_webView;
@synthesize devToolsView=_devToolsView;
@synthesize pathToOpen=_pathToOpen;
- (void)dealloc {
[_splitView release];
[_devToolsView release];
[_webView release];
[_devButton release];
[_bootstrapScript release];
[_resourcePath release];
[_pathToOpen release];
_cefClient = NULL;
_cefDevToolsClient = NULL;
[super dealloc];
}
- (id)initWithBootstrapScript:(NSString *)bootstrapScript background:(BOOL)background useBundleResourcePath:(BOOL)useBundleResourcePath {
self = [super initWithWindowNibName:@"AtomWindow"];
_bootstrapScript = [bootstrapScript retain];
AtomApplication *atomApplication = (AtomApplication *)[AtomApplication sharedApplication];
if (useBundleResourcePath) {
_resourcePath = [[NSBundle bundleForClass:self.class] resourcePath];
}
else {
_resourcePath = [[atomApplication.arguments objectForKey:@"resource-path"] stringByStandardizingPath];
if (!_resourcePath) {
NSString *defaultRepositoryPath = [@"~/github/atom" stringByStandardizingPath];
if ([defaultRepositoryPath characterAtIndex:0] == '/') {
BOOL isDir = false;
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:defaultRepositoryPath isDirectory:&isDir];
if (isDir && exists) {
_resourcePath = defaultRepositoryPath;
}
else {
NSLog(@"Warning: No resource path specified and no directory exists at ~/github/atom");
}
}
}
}
if ([self isDevMode]) {
[self displayDevIcon];
}
_resourcePath = [_resourcePath stringByStandardizingPath];
[_resourcePath retain];
NSMutableArray *paths = [NSMutableArray arrayWithObjects:
@"src/stdlib",
@"src/app",
@"src/packages",
@"src",
@"vendor",
@"static",
@"node_modules",
nil];
NSMutableArray *resourcePaths = [[NSMutableArray alloc] init];
if (_runningSpecs) {
[paths insertObject:@"benchmark" atIndex:0];
[paths insertObject:@"spec" atIndex:0];
NSString *fixturePackagesDirectory = [NSString stringWithFormat:@"%@/spec/fixtures/packages", _resourcePath];
[resourcePaths addObject:fixturePackagesDirectory];
}
NSString *userPackagesDirectory = [@"~/.atom/packages" stringByStandardizingPath];
[resourcePaths addObject:userPackagesDirectory];
for (int i = 0; i < paths.count; i++) {
NSString *fullPath = [NSString stringWithFormat:@"%@/%@", _resourcePath, [paths objectAtIndex:i]];
[resourcePaths addObject:fullPath];
}
[resourcePaths addObject:_resourcePath];
NSString *nodePath = [resourcePaths componentsJoinedByString:@":"];
setenv("NODE_PATH", [nodePath UTF8String], TRUE);
if (!background) {
[self setShouldCascadeWindows:NO];
[self setWindowFrameAutosaveName:@"AtomWindow"];
NSColor *background = [NSColor colorWithDeviceRed:(51.0/255.0) green:(51.0/255.0f) blue:(51.0/255.0f) alpha:1.0];
[self.window setBackgroundColor:background];
[self showWindow:self];
}
return self;
}
- (id)initWithPath:(NSString *)path {
_pathToOpen = [path retain];
AtomApplication *atomApplication = (AtomApplication *)[AtomApplication sharedApplication];
BOOL useBundleResourcePath = [atomApplication.arguments objectForKey:@"dev"] == nil;
return [self initWithBootstrapScript:@"window-bootstrap" background:NO useBundleResourcePath:useBundleResourcePath];
}
- (id)initDevWithPath:(NSString *)path {
_pathToOpen = [path retain];
return [self initWithBootstrapScript:@"window-bootstrap" background:NO useBundleResourcePath:false];
}
- (id)initInBackground {
AtomApplication *atomApplication = (AtomApplication *)[AtomApplication sharedApplication];
BOOL useBundleResourcePath = [atomApplication.arguments objectForKey:@"dev"] == nil;
[self initWithBootstrapScript:@"window-bootstrap" background:YES useBundleResourcePath:useBundleResourcePath];
[self.window setFrame:NSMakeRect(0, 0, 0, 0) display:NO];
[self.window setExcludedFromWindowsMenu:YES];
[self.window setCollectionBehavior:NSWindowCollectionBehaviorStationary];
return self;
}
- (id)initSpecsThenExit:(BOOL)exitWhenDone {
_runningSpecs = true;
_exitWhenDone = exitWhenDone;
return [self initWithBootstrapScript:@"spec-bootstrap" background:NO useBundleResourcePath:NO];
}
- (id)initBenchmarksThenExit:(BOOL)exitWhenDone {
_runningSpecs = true;
_exitWhenDone = exitWhenDone;
return [self initWithBootstrapScript:@"benchmark-bootstrap" background:NO useBundleResourcePath:NO];
}
- (void)addBrowserToView:(NSView *)view url:(const char *)url cefHandler:(CefRefPtr<AtomCefClient>)cefClient {
CefBrowserSettings settings;
[self populateBrowserSettings:settings];
CefWindowInfo window_info;
window_info.SetAsChild(view, 0, 0, view.bounds.size.width, view.bounds.size.height);
CefBrowserHost::CreateBrowser(window_info, cefClient.get(), url, settings);
}
- (NSString *)encodeUrlParam:(NSString *)param {
param = [param stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
param = [param stringByReplacingOccurrencesOfString:@"&" withString:@"%26"];
return param;
}
- (void)windowDidLoad {
[self.window setDelegate:self];
[self performSelector:@selector(attachWebView) withObject:nil afterDelay:0];
}
// If this is run directly in windowDidLoad, the web view doesn't
// have the correct initial size based on the frame's last stored size.
// HACK: I hate this and want to place this code directly in windowDidLoad
- (void)attachWebView {
NSMutableString *urlString = [NSMutableString string];
NSURL *indexUrl = [[NSURL alloc] initFileURLWithPath:[_resourcePath stringByAppendingPathComponent:@"static/index.html"]];
[urlString appendString:[indexUrl absoluteString]];
[urlString appendFormat:@"?bootstrapScript=%@", [self encodeUrlParam:_bootstrapScript]];
[urlString appendFormat:@"&resourcePath=%@", [self encodeUrlParam:_resourcePath]];
if ([self isDevMode])
[urlString appendFormat:@"&devMode=1"];
if (_exitWhenDone)
[urlString appendString:@"&exitWhenDone=1"];
if (_pathToOpen)
[urlString appendFormat:@"&pathToOpen=%@", [self encodeUrlParam:_pathToOpen]];
_cefClient = new AtomCefClient();
[self.webView setHidden:YES];
[self addBrowserToView:self.webView url:[urlString UTF8String] cefHandler:_cefClient];
}
- (BOOL)isBrowserUsable {
return _cefClient && !_cefClient->IsClosed() && _cefClient->GetBrowser();
}
- (void)toggleDevTools {
if (_devToolsView) {
[self hideDevTools];
}
else {
[self showDevTools];
}
}
- (void)showDevTools {
if (_devToolsView) return;
if (![self isBrowserUsable]) return;
NSRect webViewFrame = _webView.frame;
NSRect devToolsViewFrame = _webView.frame;
devToolsViewFrame.size.height = NSHeight(webViewFrame) / 3;
webViewFrame.size.height = NSHeight(webViewFrame) - NSHeight(devToolsViewFrame);
[_webView setFrame:webViewFrame];
_devToolsView = [[NSView alloc] initWithFrame:devToolsViewFrame];
[_splitView addSubview:_devToolsView];
[_splitView adjustSubviews];
_cefDevToolsClient = new AtomCefClient(true, true);
std::string devtools_url = _cefClient->GetBrowser()->GetHost()->GetDevToolsURL(true);
[self addBrowserToView:_devToolsView url:devtools_url.c_str() cefHandler:_cefDevToolsClient];
}
- (void)hideDevTools {
[_devToolsView removeFromSuperview];
[_splitView adjustSubviews];
[_devToolsView release];
_devToolsView = nil;
_cefDevToolsClient = NULL;
if ([self isBrowserUsable]) {
_cefClient->GetBrowser()->GetHost()->SetFocus(true);
}
}
- (void)openPath:(NSString*)path {
if (![self isBrowserUsable]) return;
CefRefPtr<CefProcessMessage> openMessage = CefProcessMessage::Create("openPath");
CefRefPtr<CefListValue> openArguments = openMessage->GetArgumentList();
openArguments->SetSize(1);
openArguments->SetString(0, [path UTF8String]);
_cefClient->GetBrowser()->SendProcessMessage(PID_RENDERER, openMessage);
}
- (void)setPidToKillOnClose:(NSNumber *)pid {
_pidToKillOnClose = [pid retain];
}
# pragma mark NSWindowDelegate
- (void)windowDidResignMain:(NSNotification *)notification {
if (!_runningSpecs) {
[self.window makeFirstResponder:nil];
}
}
- (void)windowDidBecomeMain:(NSNotification *)notification {
if ([self isBrowserUsable]) {
_cefClient->GetBrowser()->GetHost()->SetFocus(true);
}
}
- (BOOL)windowShouldClose:(NSNotification *)notification {
if ([self isBrowserUsable]) {
_cefClient->GetBrowser()->GetHost()->CloseBrowser(false);
return NO;
}
if (_pidToKillOnClose) kill([_pidToKillOnClose intValue], SIGQUIT);
[self autorelease];
return YES;
}
- (void)windowWillEnterFullScreen:(NSNotification *)notification {
if (_devButton)
[_devButton setHidden:YES];
}
- (void)windowDidExitFullScreen:(NSNotification *)notification {
if (_devButton)
[_devButton setHidden:NO];
}
- (bool)isDevMode {
NSString *bundleResourcePath = [[NSBundle bundleForClass:self.class] resourcePath];
return ![_resourcePath isEqualToString:bundleResourcePath];
}
- (void)displayDevIcon {
NSView *themeFrame = [self.window.contentView superview];
NSButton *fullScreenButton = nil;
for (NSView *view in themeFrame.subviews) {
if (![view isKindOfClass:NSButton.class]) continue;
NSButton *button = (NSButton *)view;
if (button.action != @selector(toggleFullScreen:)) continue;
fullScreenButton = button;
break;
}
_devButton = [[NSButton alloc] init];
[_devButton setTitle:@"\xF0\x9F\x92\x80"];
_devButton.autoresizingMask = NSViewMinXMargin | NSViewMinYMargin;
_devButton.buttonType = NSMomentaryChangeButton;
_devButton.bordered = NO;
[_devButton sizeToFit];
_devButton.frame = NSMakeRect(fullScreenButton.frame.origin.x - _devButton.frame.size.width - 5, fullScreenButton.frame.origin.y, _devButton.frame.size.width, _devButton.frame.size.height);
[[self.window.contentView superview] addSubview:_devButton];
}
- (void)populateBrowserSettings:(CefBrowserSettings &)settings {
CefString(&settings.default_encoding) = "UTF-8";
settings.remote_fonts = STATE_ENABLED;
settings.javascript = STATE_ENABLED;
settings.javascript_open_windows = STATE_ENABLED;
settings.javascript_close_windows = STATE_ENABLED;
settings.javascript_access_clipboard = STATE_ENABLED;
settings.javascript_dom_paste = STATE_DISABLED;
settings.caret_browsing = STATE_DISABLED;
settings.java = STATE_DISABLED;
settings.plugins = STATE_DISABLED;
settings.universal_access_from_file_urls = STATE_DISABLED;
settings.file_access_from_file_urls = STATE_DISABLED;
settings.web_security = STATE_DISABLED;
settings.image_loading = STATE_ENABLED;
settings.image_shrink_standalone_to_fit = STATE_DISABLED;
settings.text_area_resize = STATE_ENABLED;
settings.page_cache = STATE_DISABLED;
settings.tab_to_links = STATE_DISABLED;
settings.author_and_user_styles = STATE_ENABLED;
settings.local_storage = STATE_ENABLED;
settings.databases = STATE_ENABLED;
settings.application_cache = STATE_ENABLED;
settings.webgl = STATE_ENABLED;
settings.accelerated_compositing = STATE_ENABLED;
settings.developer_tools = STATE_ENABLED;
}
@end
@interface GraySplitView : NSSplitView
- (NSColor*)dividerColor;
@end
@implementation GraySplitView
- (NSColor*)dividerColor {
return [NSColor darkGrayColor];
}
@end
-1
Ver Arquivo
@@ -1 +0,0 @@
Versions/Current/Headers
-1
Ver Arquivo
@@ -1 +0,0 @@
Versions/Current/Quincy
@@ -1 +0,0 @@
Versions/Current/Resources
@@ -1,169 +0,0 @@
/*
* Author: Andreas Linde <mail@andreaslinde.de>
* Kent Sutherland
*
* Copyright (c) 2011 Andreas Linde & Kent Sutherland.
* All rights reserved.
*
* 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.
*/
#import <Cocoa/Cocoa.h>
typedef enum CrashAlertType {
CrashAlertTypeSend = 0,
CrashAlertTypeFeedback = 1,
} CrashAlertType;
typedef enum CrashReportStatus {
// This app version is set to discontinued, no new crash reports accepted by the server
CrashReportStatusFailureVersionDiscontinued = -30,
// XML: Sender ersion string contains not allowed characters, only alphanumberical including space and . are allowed
CrashReportStatusFailureXMLSenderVersionNotAllowed = -21,
// XML: Version string contains not allowed characters, only alphanumberical including space and . are allowed
CrashReportStatusFailureXMLVersionNotAllowed = -20,
// SQL for adding a symoblicate todo entry in the database failed
CrashReportStatusFailureSQLAddSymbolicateTodo = -18,
// SQL for adding crash log in the database failed
CrashReportStatusFailureSQLAddCrashlog = -17,
// SQL for adding a new version in the database failed
CrashReportStatusFailureSQLAddVersion = -16,
// SQL for checking if the version is already added in the database failed
CrashReportStatusFailureSQLCheckVersionExists = -15,
// SQL for creating a new pattern for this bug and set amount of occurrances to 1 in the database failed
CrashReportStatusFailureSQLAddPattern = -14,
// SQL for checking the status of the bugfix version in the database failed
CrashReportStatusFailureSQLCheckBugfixStatus = -13,
// SQL for updating the occurances of this pattern in the database failed
CrashReportStatusFailureSQLUpdatePatternOccurances = -12,
// SQL for getting all the known bug patterns for the current app version in the database failed
CrashReportStatusFailureSQLFindKnownPatterns = -11,
// SQL for finding the bundle identifier in the database failed
CrashReportStatusFailureSQLSearchAppName = -10,
// the post request didn't contain valid data
CrashReportStatusFailureInvalidPostData = -3,
// incoming data may not be added, because e.g. bundle identifier wasn't found
CrashReportStatusFailureInvalidIncomingData = -2,
// database cannot be accessed, check hostname, username, password and database name settings in config.php
CrashReportStatusFailureDatabaseNotAvailable = -1,
CrashReportStatusUnknown = 0,
CrashReportStatusAssigned = 1,
CrashReportStatusSubmitted = 2,
CrashReportStatusAvailable = 3,
} CrashReportStatus;
@class BWQuincyUI;
@protocol BWQuincyManagerDelegate <NSObject>
@required
// Invoked once the modal sheets are gone
- (void) showMainApplicationWindow;
@optional
// Return the description the crashreport should contain, empty by default. The string will automatically be wrapped into <[DATA[ ]]>, so make sure you don't do that in your string.
-(NSString *) crashReportDescription;
// Return the userid the crashreport should contain, empty by default
-(NSString *) crashReportUserID;
// Return the contact value (e.g. email) the crashreport should contain, empty by default
-(NSString *) crashReportContact;
@end
@interface BWQuincyManager : NSObject
#if defined(MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
<NSXMLParserDelegate>
#endif
{
CrashReportStatus _serverResult;
NSInteger _statusCode;
NSMutableString *_contentOfProperty;
id<BWQuincyManagerDelegate> _delegate;
NSString *_submissionURL;
NSString *_companyName;
NSString *_appIdentifier;
BOOL _autoSubmitCrashReport;
NSString *_crashFile;
BWQuincyUI *_quincyUI;
}
- (NSString*) modelVersion;
+ (BWQuincyManager *)sharedQuincyManager;
// submission URL defines where to send the crash reports to (required)
@property (nonatomic, retain) NSString *submissionURL;
// defines the company name to be shown in the crash reporting dialog
@property (nonatomic, retain) NSString *companyName;
// delegate is required
@property (nonatomic, assign) id <BWQuincyManagerDelegate> delegate;
// if YES, the crash report will be submitted without asking the user
// if NO, the user will be asked if the crash report can be submitted (default)
@property (nonatomic, assign, getter=isAutoSubmitCrashReport) BOOL autoSubmitCrashReport;
///////////////////////////////////////////////////////////////////////////////////////////////////
// settings
// If you want to use HockeyApp instead of your own server, this is required
@property (nonatomic, retain) NSString *appIdentifier;
- (void) cancelReport;
- (void) sendReportCrash:(NSString*)crashContent
description:(NSString*)description;
- (NSString *) applicationName;
- (NSString *) applicationVersionString;
- (NSString *) applicationVersion;
@end
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>12D78</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Quincy</string>
<key>CFBundleIdentifier</key>
<string>de.buzzworks.Quincy</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>DTCompiler</key>
<string></string>
<key>DTPlatformBuild</key>
<string>4H512</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>12D75</string>
<key>DTSDKName</key>
<string>macosx10.8</string>
<key>DTXcode</key>
<string>0461</string>
<key>DTXcodeBuild</key>
<string>4H512</string>
</dict>
</plist>
@@ -1 +0,0 @@
A
@@ -1 +0,0 @@
Versions/Current/Headers
@@ -1 +0,0 @@
Versions/Current/Resources
@@ -1 +0,0 @@
Versions/Current/Sparkle
@@ -1,36 +0,0 @@
//
// SUAppcast.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCAST_H
#define SUAPPCAST_H
@class SUAppcastItem;
@interface SUAppcast : NSObject
{
@private
NSArray *items;
NSString *userAgentString;
id delegate;
NSString *downloadFilename;
NSURLDownload *download;
}
- (void)fetchAppcastFromURL:(NSURL *)url;
- (void)setDelegate:delegate;
- (void)setUserAgentString:(NSString *)userAgentString;
- (NSArray *)items;
@end
@interface NSObject (SUAppcastDelegate)
- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
@end
#endif
@@ -1,61 +0,0 @@
//
// SUAppcastItem.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H
@interface SUAppcastItem : NSObject
{
@private
NSString *title;
NSDate *date;
NSString *itemDescription;
NSURL *releaseNotesURL;
NSString *DSASignature;
NSString *minimumSystemVersion;
NSString *maximumSystemVersion;
NSURL *fileURL;
NSString *versionString;
NSString *displayVersionString;
NSDictionary *deltaUpdates;
NSDictionary *propertiesDictionary;
NSURL *infoURL; // UK 2007-08-31
}
// Initializes with data from a dictionary provided by the RSS class.
- initWithDictionary:(NSDictionary *)dict;
- initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error;
- (NSString *)title;
- (NSString *)versionString;
- (NSString *)displayVersionString;
- (NSDate *)date;
- (NSString *)itemDescription;
- (NSURL *)releaseNotesURL;
- (NSURL *)fileURL;
- (NSString *)DSASignature;
- (NSString *)minimumSystemVersion;
- (NSString *)maximumSystemVersion;
- (NSDictionary *)deltaUpdates;
- (BOOL)isDeltaUpdate;
- (BOOL)isCriticalUpdate;
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
- (NSDictionary *)propertiesDictionary;
- (NSURL *)infoURL; // UK 2007-08-31
@end
#endif
@@ -1,169 +0,0 @@
//
// SUUpdater.h
// Sparkle
//
// Created by Andy Matuschak on 1/4/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUUPDATER_H
#define SUUPDATER_H
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"
@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
@interface SUUpdater : NSObject
{
@private
NSTimer *checkTimer;
SUUpdateDriver *driver;
NSString *customUserAgentString;
SUHost *host;
IBOutlet id delegate;
}
+ (SUUpdater *)sharedUpdater;
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
- initForBundle:(NSBundle *)bundle;
- (NSBundle *)hostBundle;
- (void)setDelegate:(id)delegate;
- delegate;
- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
- (BOOL)automaticallyChecksForUpdates;
- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
- (NSTimeInterval)updateCheckInterval;
- (void)setFeedURL:(NSURL *)feedURL;
- (NSURL *)feedURL; // *** MUST BE CALLED ON MAIN THREAD ***
- (void)setUserAgentString:(NSString *)userAgent;
- (NSString *)userAgentString;
- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
- (BOOL)sendsSystemProfile;
- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
- (BOOL)automaticallyDownloadsUpdates;
// This IBAction is meant for a main menu item. Hook up any menu item to this action,
// and Sparkle will check for updates and report back its findings verbosely.
- (IBAction)checkForUpdates:(id)sender;
// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
// update is found, it will be downloaded and prepped for installation.
- (void)checkForUpdatesInBackground;
// Date of last update check. Returns nil if no check has been performed.
- (NSDate*)lastUpdateCheckDate;
// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
- (void)checkForUpdateInformation;
// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
- (void)resetUpdateCycle;
- (BOOL)updateInProgress;
@end
// -----------------------------------------------------------------------------
// SUUpdater Delegate:
// -----------------------------------------------------------------------------
@interface NSObject (SUUpdaterDelegateInformalProtocol)
// Use this to keep Sparkle from popping up e.g. while your setup assistant is showing:
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)bundle;
// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
// Override this to dynamically specify the entire URL.
- (NSString*)feedURLStringForUpdater:(SUUpdater*)updater;
// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
// Implement this if you want to do some special handling with the appcast once it finishes loading.
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
// a valid update, if any, in the given appcast.
- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
// Sent when a valid update is found by the update driver.
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
// Sent when a valid update is not found.
- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
// Sent immediately before extracting the specified update.
- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)update;
// Sent immediately before installing the specified update.
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
// This is not called if the user didn't relaunch on the previous update, in that case it will immediately
// restart.
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
// Some apps *can not* be relaunched in certain circumstances. They can use this method
// to prevent a relaunch "hard":
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
// Called immediately before relaunching.
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
// This method allows you to provide a custom version comparator.
// If you don't implement this method or return nil, the standard version comparator will be used.
- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
// This method allows you to provide a custom version comparator.
// If you don't implement this method or return nil, the standard version displayer will be used.
- (id <SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
// Called before and after, respectively, an updater shows a modal alert window, to give the host
// the opportunity to hide attached windows etc. that may get in the way:
-(void) updaterWillShowModalAlert:(SUUpdater *)updater;
-(void) updaterDidShowModalAlert:(SUUpdater *)updater;
// Called when an update is scheduled to be silently installed on quit.
// The invocation can be used to trigger an immediate silent install and relaunch.
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)update immediateInstallationInvocation:(NSInvocation *)invocation;
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)update;
@end
// -----------------------------------------------------------------------------
// Constants:
// -----------------------------------------------------------------------------
// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
#if defined(DEBUG) && DEBUG && 0
#define SU_MIN_CHECK_INTERVAL 60
#else
#define SU_MIN_CHECK_INTERVAL 60*60
#endif
#if defined(DEBUG) && DEBUG && 0
#define SU_DEFAULT_CHECK_INTERVAL 60
#else
#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
#endif
#endif
@@ -1,29 +0,0 @@
//
// SUVersionComparisonProtocol.h
// Sparkle
//
// Created by Andy Matuschak on 12/21/07.
// Copyright 2007 Andy Matuschak. All rights reserved.
//
#ifndef SUVERSIONCOMPARISONPROTOCOL_H
#define SUVERSIONCOMPARISONPROTOCOL_H
#import <Cocoa/Cocoa.h>
/*!
@protocol
@abstract Implement this protocol to provide version comparison facilities for Sparkle.
*/
@protocol SUVersionComparison
/*!
@method
@abstract An abstract method to compare two version strings.
@discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
*/
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD!
@end
#endif
@@ -1,27 +0,0 @@
//
// SUVersionDisplayProtocol.h
// EyeTV
//
// Created by Uli Kusterer on 08.12.09.
// Copyright 2009 Elgato Systems GmbH. All rights reserved.
//
#import <Cocoa/Cocoa.h>
/*!
@protocol
@abstract Implement this protocol to apply special formatting to the two
version numbers.
*/
@protocol SUVersionDisplay
/*!
@method
@abstract An abstract method to format two version strings.
@discussion You get both so you can display important distinguishing
information, but leave out unnecessary/confusing parts.
*/
-(void) formatVersion: (NSString**)inOutVersionA andVersion: (NSString**)inOutVersionB;
@end

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais