Commit Graph

1664 Commits

Author SHA1 Message Date
Kevin Sawicki
9e39a382e8 DRY up checking if path is .cson or .json 2013-02-12 11:02:07 -08:00
Kevin Sawicki
5944c351ec Suppport .json grammars 2013-02-12 09:48:25 -08:00
Kevin Sawicki
1ee1fa02ba Merge pull request #255 from github/rearrange-tabs
Drag and drop tabs
2013-02-12 08:38:52 -08:00
Kevin Sawicki
c9fae85375 Rename moveEditSessionAtIndex to moveEditSessionToIndex 2013-02-11 20:29:48 -08:00
Kevin Sawicki
472b436b24 Add spec for dragging/dropping tabs across editors 2013-02-11 20:24:01 -08:00
Kevin Sawicki
8b61c0d8f7 Rearrange tabs when the edit session order changes 2013-02-11 19:40:33 -08:00
Kevin Sawicki
a104e67acd Support moving an edit session's editor index 2013-02-11 18:36:50 -08:00
Justin Palmer
0acd532428 Add transferEditSessionAtIndex to Editor 2013-02-11 17:02:34 -08:00
Justin Palmer
ae841c2bf7 pass event to shouldAllow* methods 2013-02-11 08:17:32 -08:00
Kevin Sawicki
12b185af79 Use fs.extension instead of regex 2013-02-10 15:13:00 -08:00
Kevin Sawicki
de6e930bad Support package.cson in Atom themes
Migrate light and dark themes to use package.cson
instead of package.json
2013-02-10 15:11:06 -08:00
Justin Palmer
9c99369c10 add methods to determine if we should allow dragging and dropping 2013-02-10 10:46:02 -08:00
Justin Palmer
b2ce4ca6d5 merge dev, fix conflicts from package rewrite 2013-02-09 20:17:29 -08:00
Justin Palmer
a1a663cd30 implement indexOfPane in RootView to get array index
We need something like this because jquery's el.index() doesn't work
when multiple panes are spread out among different rows and columns.
2013-02-09 19:38:55 -08:00
Justin Palmer
c7c9656c46 remove drop dom manipulation from sortable-list
Not sure how we should handle generic drag and drop.  Tabs are more
complex because of multiple panels
2013-02-09 19:38:55 -08:00
Justin Palmer
be49f047e1 index -> sortable-index 2013-02-09 19:38:55 -08:00
Justin Palmer
b00df1aae0 sortableElement -> getSortableElement 2013-02-09 19:38:55 -08:00
Justin Palmer
8a50581430 rename sortable view to sortable list 2013-02-09 19:38:54 -08:00
Justin Palmer
9100367c12 very basic tab sorting 2013-02-09 19:38:54 -08:00
Nathan Sobo
d8111797ba RootView can no longer be focused.
Allowing root view to be focused was stealing focus away from the
editor whenever a click event made it to the root view. This unnecessary
switching of focus was interfering with the ability to drag tabs.

But if RootView can't be focused, focus ends up being returned to the
document body when there are no focusable elements. This would be fine,
except for the fact that we frequently bind global events on root view,
and so they aren't triggered when events are triggered on the body. We
could just bind all global events on the body, but this would require
us to always attach elements to the DOM during specs, which is a serious
performance killer in specs.

The workaround is in the keymap. When the keymap handles a key event
that was triggered on the body, it triggers the corresponding semantic
event on the root view anyway, so from the event perspective, it's as
if the root view actually had focus. The only place this might fall
down is if someone wants to capture raw key events. But that's the
keymap's job anyway, and we maybe add a hook on the keymap if such a
need ever arises.
2013-02-09 19:38:54 -08:00
Kevin Sawicki
75a9bce848 Support packages with CSON grammars 2013-02-09 12:41:51 -08:00
Corey Johnson & Kevin Sawicki
4619e1847f Manage package lifecycle in Atom instead of in RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
bb5778b659 Move package related data to Atom from RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
c27489f608 Remove name parameter from RootView.activatePackage 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
ed0ced205b Store packages in array instead of a hash by name 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
8434bdfe91 Load package's configDefaults in AtomPackage
This was previously loaded in RootView.
2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
b93f404fa1 Store packages instead of package modules in RootView 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
0fddc08fe3 💄 2013-02-08 17:28:07 -08:00
Corey Johnson
6726303cb5 💄 2013-02-08 17:28:07 -08:00
Corey Johnson
14cfa22d22 Only require packages that have a main module 2013-02-08 17:28:07 -08:00
Kevin Sawicki
e04ecf836f Remove autoloadStylesheets ivar
This is no longer used now that the deferred package
has been deleted.
2013-02-08 17:28:07 -08:00
Kevin Sawicki
823db4cb22 💄 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
ac6ec1c2a7 Remove rootView as parameter to activate 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
659c6bbd56 Remove old style package support
All packages have been migrated to the new style.
2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
db257e1811 Delete unused DeferredAtomPackage 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
2d80d27ca7 Modernize command-panel package with package.cson 2013-02-08 17:28:07 -08:00
Corey Johnson & Kevin Sawicki
833321fa23 Modernize fuzzy-finder package to use package.cson 2013-02-08 17:28:05 -08:00
Kevin Sawicki
cdf29691d7 Use same noop function for all disabled handlers 2013-02-08 17:28:04 -08:00
Kevin Sawicki & Nathan Sobo
641a0d43cc Retrigger event after package module is activated
The event that triggers the package module to be activated is
now retriggered after the package module is initialized but without
any previously registered handlers. Instead only the handlers registered
by the package module will be triggered.  The prior event handlers are then
restored after the event is retriggered.

This allows package modules to bind event handlers during initialization
that will be triggered by the same event that caused the package module
intialization to occur.  This simplifies the common case of having the same
event cause a package module to initialize and attach.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
ed0de80af3 💄 2013-02-08 17:28:04 -08:00
Kevin Sawicki
7c41b15e00 Support activation events in package manifest
These events will load the package's main module
when first triggered.  The go-to-line package has been
migrated to use this new option.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
d884bf58e8 Support specifying main module in package.cson
Migrated strip-trailing-whitespace package to include
a package.cson with a main being a file in the lib directory
instead of the index.coffee at the root of the package.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
856b378f54 Set metadata to empty hash when missing 2013-02-08 17:28:04 -08:00
Kevin Sawicki
cd56d0a1d2 Remove unneeded pack check 2013-02-08 17:28:04 -08:00
Kevin Sawicki
16ff07d319 Use paths when loading grammars from workers 2013-02-08 17:28:04 -08:00
Corey Johnson & Kevin Sawicki
3b4f07701b Build packages using paths instead of filenames 2013-02-08 17:28:04 -08:00
Corey Johnson & Kevin Sawicki
bdac42b188 Don't directly require packages with manifests 2013-02-08 17:28:03 -08:00
Corey Johnson
3078d74e5d Refactor atom.coffee's package methods 2013-02-08 17:28:03 -08:00
Corey Johnson
74ae4a6413 Remove getTextMatePackages 2013-02-08 17:28:03 -08:00
Nathan Sobo
1cab51cefa RootView can no longer be focused.
Allowing root view to be focused was stealing focus away from the
editor whenever a click event made it to the root view. This unnecessary
switching of focus was interfering with the ability to drag tabs.

But if RootView can't be focused, focus ends up being returned to the
document body when there are no focusable elements. This would be fine,
except for the fact that we frequently bind global events on root view,
and so they aren't triggered when events are triggered on the body. We
could just bind all global events on the body, but this would require
us to always attach elements to the DOM during specs, which is a serious
performance killer in specs.

The workaround is in the keymap. When the keymap handles a key event
that was triggered on the body, it triggers the corresponding semantic
event on the root view anyway, so from the event perspective, it's as
if the root view actually had focus. The only place this might fall
down is if someone wants to capture raw key events. But that's the
keymap's job anyway, and we maybe add a hook on the keymap if such a
need ever arises.
2013-02-08 17:33:37 -07:00