Commit Graph

3774 Commits

Author SHA1 Message Date
probablycorey
5b6e0b769d Fix specs for Tokenized Buffer 2014-02-10 15:52:34 -08:00
probablycorey
c189dc22d7 Remove focused specs 2014-02-10 15:52:34 -08:00
probablycorey
d2abbb3681 Fix specs for Syntax 2014-02-10 15:52:34 -08:00
probablycorey
8df791c949 Fix specs for Language Mode 2014-02-10 15:52:34 -08:00
probablycorey
1d4cab404d Fix specs for Editor View 2014-02-10 15:52:34 -08:00
probablycorey
1f3ea76379 Update Editor spec 2014-02-10 15:52:33 -08:00
probablycorey
e01be5d41a Update display buffer spec 2014-02-10 15:52:33 -08:00
probablycorey
13e435a4f9 Update Atom Spec 2014-02-10 15:52:33 -08:00
probablycorey
3592ec19df Don't use activation events on fixture package with serialization error 2014-02-10 15:52:33 -08:00
Corey Johnson
723ebff69a Merge pull request #1518 from atom/cj-make-package-activation-consistent
Make package loading options consistent and asynchronous
2014-02-10 14:18:27 -08:00
probablycorey
ffb7093cf3 Merge branch 'cj-make-package-activation-consistent' into cj-update-markdown-preview
Conflicts:
	src/deserializer-manager.coffee
	src/workspace.coffee
2014-02-10 14:17:46 -08:00
Kevin Sawicki
6685464229 Treat spec description as text instead of html 2014-02-10 10:56:56 -08:00
probablycorey
8d40e4df10 Merge remote-tracking branch 'origin/master' into cj-make-package-activation-consistent
Conflicts:
	package.json
	src/package-manager.coffee
	src/text-mate-package.coffee
2014-02-07 16:53:24 -08:00
Kevin Sawicki
713d7332b3 Update jasmine.js filter pattern 2014-02-07 16:09:43 -08:00
Kevin Sawicki
f01a2a91f9 Remove spec/suite time logging
This isn't really helpful anymore now that the specs run in parallel
2014-02-07 15:44:11 -08:00
Kevin Sawicki
fe5640df4b Return promise if it already exists
This prevents successive calls to atom.packages.activatePackage from
activating an AtomPackage multiple times.
2014-02-07 15:23:53 -08:00
probablycorey
d9a47f256c Update specs 2014-02-07 11:21:52 -08:00
Kevin Sawicki
422c0e36cb Assert init.coffee and styles.css are copied 2014-02-07 09:54:58 -08:00
Kevin Sawicki
ec4cf8b497 Remove ConfigObserver
This class offers little utility now that emissary exists with beefed
up Subscriber and Emitter classes.
2014-02-06 13:07:25 -08:00
probablycorey
f10e55b4d5 Remove deferred package deserializers 2014-02-05 14:46:49 -08:00
Corey Johnson
e769a8e4d5 Merge pull request #1484 from atom/directional-pane-navigation
Add commands to move directionally between panes
2014-02-05 13:29:45 -08:00
probablycorey
36427dae9f Add toHaveFocus jasmine expectation 2014-02-04 13:06:47 -08:00
probablycorey
3c90007199 Cleanup split specs 2014-02-04 10:07:17 -08:00
probablycorey
dcbd2a2102 Add split and searchAllPanes option to Workspace::open 2014-02-03 19:00:50 -08:00
Kevin Sawicki
02f0c49d0e Unfocus spec 2014-02-03 13:36:12 -08:00
Kevin Sawicki
66530eb69a Rename remaining pasteboard occurences 2014-02-03 13:28:09 -08:00
Kevin Sawicki
70a7514f9e Add Clipboard::readWithMetadata
This includes the associated metadata and Clipboard::read now returns
a String.
2014-02-03 13:20:28 -08:00
Kevin Sawicki
55ca32f7b3 Rename pasteboard-spec to clipboard-spec 2014-02-03 13:12:56 -08:00
Kevin Sawicki
569ab416b8 Replace pasteboard references with clipboard 2014-02-03 13:12:33 -08:00
Kevin Sawicki
b1e99d9927 Use atom.clipboard instead of atom.pasteboard 2014-02-03 13:10:10 -08:00
Kevin Sawicki
e6565f6561 Return object from Pasteboard::read
Closes #1465
2014-02-03 12:19:14 -08:00
Kevin Sawicki
c225d180ba Set fixture theme types to "ui" 2014-02-03 11:15:31 -08:00
Nathan Sobo
12ec3f69d6 Merge branch 'master' into ns-fix-softwrap 2014-02-02 19:32:21 +06:00
Nathan Sobo
7061ea5d23 Kill stray console.log 2014-02-02 19:29:54 +06:00
Kevin Sawicki
563065aeb1 Rename SelectList to SelectListView 2014-01-31 14:49:36 -08:00
Kevin Sawicki
caa16f2718 Update user stylesheet path in spec 2014-01-30 16:58:35 -08:00
Nathan Sobo
c3f995b165 Fix lurking soft-wrap bugs
This commit adds two important things:

1. An editor spec that randomly mutates a buffer and toggles soft wrap
on and off, then compares the screen lines to a simple reference
implementation to ensure everything stays in a correct state.

2. A new and radically simpler implementation of RowMap that eliminates
failures in the randomized test.
2014-01-30 00:52:17 -07:00
Nathan Sobo
29f480661c Merge branch 'master' into ns-workspace-specs-cleanup 2014-01-28 18:25:13 -07:00
Kevin Sawicki
a67d6362c2 Assert snippet.cson is copied over 2014-01-27 12:50:57 -08:00
Jason Rudolph
f322143272 Place pane navigation specs in proximity to each other 2014-01-26 17:29:45 -05:00
Jason Rudolph
dd5c65b5f9 Add commands to move directionally between panes 2014-01-26 17:25:59 -05:00
Corey Johnson
6d4f532a32 Merge pull request #1464 from atom/cj-cli-install
Make CLI installation easier.
2014-01-23 12:40:57 -08:00
Kevin Sawicki
d18a45f37c Bump remove timeout to 30 seconds 2014-01-22 16:38:47 -08:00
probablycorey
399c4f9f95 Fix spelling error 2014-01-22 15:54:49 -08:00
probablycorey
eb28c15f69 Simplify installation callbacks 2014-01-22 13:35:07 -08:00
probablycorey
5a70276201 Fix specs 2014-01-21 18:09:53 -08:00
probablycorey
e53ed10169 Only allow one platform specific keybinding file. 2014-01-21 16:34:52 -08:00
probablycorey
2e4e178091 Don't load keymap files with other platforms in the suffix
Example: On osx `keymap.cson` and `keymap-darwin.cson` would load. But
`keymap-win32.cson` would not load.
2014-01-21 16:03:34 -08:00
Nathan Sobo
69df046cb0 Move font size increase/decrease to the Workspace model 2014-01-21 16:44:06 -07:00
Nathan Sobo
d491007da8 Remove tests for simple delegators 2014-01-21 16:44:06 -07:00
Nathan Sobo
71c65e65eb Move specs for Workspace::reopenItemSync to model layer 2014-01-21 16:44:06 -07:00
Nathan Sobo
3fad9c616f Move specs for Workspace::open to model layer 2014-01-21 16:44:06 -07:00
Nathan Sobo
933787f1a4 Remove 'split' option from Workspace::openSync 2014-01-21 16:44:06 -07:00
Nathan Sobo
5e83dee493 Move specs for Workspace::openSingletonSync to model layer 2014-01-21 16:44:06 -07:00
Nathan Sobo
11ab6fd2ef 💄 2014-01-21 16:44:06 -07:00
Nathan Sobo
0758bd0231 Move specs for Workspace::openSync to model layer 2014-01-21 16:44:05 -07:00
Kevin Sawicki
627e43dccf Hide tooltips when window is resized
Refs atom/feedback#12
2014-01-21 12:33:23 -08:00
Brandon Tilley
8bba4d8add Intelligently activate new items when the active item is closed
If the active item was the pane's first item, the second item (which is
the new first item) is activated. Otherwise, the item to the left of the
closed item is activated.
2014-01-20 14:34:02 -08:00
Nathan Sobo
4190f2f1ca Merge remote-tracking branch 'origin/master' into ns-fold-indicators 2014-01-20 14:40:14 -07:00
Nathan Sobo
525b5c9978 Don't make commented lines foldable based on the next line's indentation
Only the first line of a set of commented lines should be foldable, even
if some of the lines in the block are indented.
2014-01-20 14:29:08 -07:00
Nathan Sobo
86106cbf4d Remove redundant specs 2014-01-20 14:27:45 -07:00
Kevin Sawicki
8436e8f62e Reload user keymap when it is moved/removed 2014-01-20 10:37:13 -08:00
Nathan Sobo
2831b43042 Update foldability indicators on changes that don't insert/remove lines
On changes that insert/remove lines, we redraw the entire gutter, which
ensures the foldability markers are up to date. But other kinds of
changes could change the foldability of lines… if a line becomes
commented or its indentation changes, the foldability of that line and
the lines above and below could be affected. For now, the gutter
understands this fact and updates the foldability for the region
extending from one line before to one line after each change. Someday
I'd like the view logic to not bake in knowledge of the folding rules,
but this works for now.
2014-01-20 11:17:58 -07:00
Nathan Sobo
ed93695d64 Add a foldable indicator for multi-line comments 2014-01-18 12:08:37 -07:00
Nathan Sobo
4db2ad53fd Rename .fold class to .folded on line numbers in gutter
Using an adjective blends in better with '.foldable'
2014-01-18 11:35:22 -07:00
Nathan Sobo
99f025d5d6 Rename .fold-icon to .icon-right in gutter to make it multi-purpose 2014-01-17 16:59:50 -07:00
Kevin Sawicki
e0cf20cda9 Don't throw error when saving empty pane
Closes #1440
2014-01-17 15:24:55 -08:00
Nathan Sobo
d879923cdb Fix gutter view rendering specs 2014-01-17 16:03:02 -07:00
Nathan Sobo
d16526a1f7 Fix references to renamed method in specs 2014-01-17 15:57:49 -07:00
Nathan Sobo
b2dff15e51 Toggle folding upon 'mousedown' on a foldable line's fold-icon 2014-01-17 15:17:13 -07:00
Nathan Sobo
8757e1f145 Add downward pointing chevrons next to foldable row numbers in gutter 2014-01-17 14:34:53 -07:00
Nathan Sobo
8e75831318 Rename LanguageMode::doesBufferRowStartFold to ::isBufferRowFoldable 2014-01-17 14:30:40 -07:00
Kevin Sawicki
64ebc37204 Reload user stylesheet when changed 2014-01-17 11:33:25 -08:00
Nathan Sobo
926493f05c Emit 'item-added' before setting the ::activeItem when adding first item
Fixes atom/tabs#11
2014-01-17 11:10:17 -07:00
Nathan Sobo
fe2def8321 Merge remote-tracking branch 'origin/master' into ns-empty-panes 2014-01-16 11:16:00 -07:00
probablycorey
23d9f6e41f Use actual indentation length when setting indentation for row.
Closes #1293
2014-01-16 09:27:26 -08:00
Nathan Sobo
649f0ac246 Merge branch 'master' into ns-empty-panes
Conflicts:
	package.json
2014-01-16 10:21:59 -07:00
Cheng Zhao
b7ae12f86f Merge branch 'master' into chrome31
Conflicts:
	package.json
2014-01-16 23:42:22 +08:00
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
Cheng Zhao
fcffcc83f9 Merge branch 'master' into chrome31
Conflicts:
	package.json
	vendor/apm
2014-01-16 09:11:34 +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
Nathan Sobo
9af4b14716 Never allow PaneContainer::root to be null 2014-01-15 16:07:47 -07:00
Nathan Sobo
aed9f18457 Accivate the first added pane item 2014-01-15 16:07:47 -07:00
Nathan Sobo
012363a785 Null guard item in ::destroyActiveItem 2014-01-15 16:07:47 -07:00
Nathan Sobo
1a48903f96 Only destroy empty panes on deserialization if config option is enabled 2014-01-15 16:07:47 -07:00
Nathan Sobo
44331d0ba6 Fix issues splitting panes with DOM events
* ::copyActiveItem guards against not having an active item
* The Pane constructor removes undefined items from params.items
2014-01-15 16:07:47 -07:00
Nathan Sobo
fe7c5b4bc1 Only destroy an empty panes if 'core.destroyEmptyPanes' is true 2014-01-15 16:07:47 -07: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
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
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
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
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
6ef6fb77f9 Rename pane-*-model specs 2014-01-13 17:22:02 -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
63df8dfcdb Merge remote-tracking branch 'origin/master' into chrome31
Conflicts:
	package.json
2014-01-13 15:01:52 -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
4f604ced3c Rename Pane to PaneView 2014-01-13 13:46:22 -07:00
Cheng Zhao
efbd508163 Fix git specs when running under symbolic path. 2014-01-13 17:31:03 +08: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
28b085be1c Rename ::makeActive to ::activate and focus panes when they're activated 2014-01-11 20:48:01 -07:00
Nathan Sobo
72fe586101 Remove the concept of focus from the model 2014-01-10 17:27:28 -07: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
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
Nathan Sobo
47870a1214 Remove views (rather than detaching) if Pane::destroyItem is called 2014-01-10 13:35:18 -07: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
d34327a667 Remove the EditorView when Editor is destroyed 2014-01-10 11:56:27 -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
1c7eef89c3 Merge branch 'master' into ns-pane-splits-with-models 2014-01-10 10:40:52 -07:00
Nathan Sobo
e87b8dc463 Remove focusNext/PreviousPane methods from PaneContainer view 2014-01-09 18:35:01 -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
Nathan Sobo
5e1b2e2696 Manage the active pane at the model level 2014-01-09 18:00:19 -07:00
Nathan Sobo
4026e6ca5c Properly serialize pane focus state 2014-01-09 16:09:22 -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
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
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
probablycorey
99a67ca1ab Remove focused spec 2014-01-08 16:37:57 -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
c8f3e056e9 Pluralize selections in method name 2014-01-08 15:17:06 -08:00
Kevin Sawicki
0ef6757e65 Add Editor::splitSelectionIntoLines 2014-01-08 15:17:06 -08: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
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
Matt Colyer
e8ce559034 Merge branch 'master' into fix-windows-specs
Conflicts:
	package.json
2014-01-06 16:02:45 -08:00
Matt Colyer
0e6bc275b7 Merge branch 'master' into fix-windows-specs
Conflicts:
	package.json
2014-01-06 11:19:37 -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
probablycorey
9f32a24e7e Add all Tool Panel append and prepend methods 2014-01-03 15:43:00 -08:00
Nathan Sobo
bc65137911 Remove telepath from Project, WorkspaceView, and Pane* 2014-01-03 16:23:23 -07:00
Matt Colyer
2b4c2f1758 Merge branch 'master' into fix-windows-specs 2014-01-03 14:34:02 -08:00
Nathan Sobo
77dba8d19b Merge branch 'master' into ns-fix-mini-editor-leak 2014-01-03 10:03:25 -07:00
probablycorey
512f373ca6 Merge remote-tracking branch 'origin/master' into cj-update-user-keymap 2014-01-02 11:54:06 -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
probablycorey
88ee021b4d Watch user's keycap for changes and apply them 2013-12-31 15:21:42 -08:00
Kevin Sawicki
fa9aa3691b Extend GrammarRegistry in Syntax 2013-12-31 15:15:40 -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
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
probablycorey
b0077986b4 Use temp user directory for keymap config specs 2013-12-31 14:31:06 -08: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
c37b884007 Add moveCursorToEnd/BeginningOfBufferLine
Fixes #1123
2013-12-31 08:21:35 -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
Matt Colyer
180912db61 Merge branch 'master' into fix-windows-specs 2013-12-20 12:14:31 -06: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
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
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
Matt Colyer
171c3e018b Attempt to fix truncated log messages 2013-12-18 14:57:13 -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
72523de046 Remove fixture that got checked in 2013-12-17 17:58:01 -08:00
Matt Colyer
8b112cfd65 Get core specs running 2013-12-17 17:55:46 -08:00
Matt Colyer
20df9f4666 Add --log-file option for redirecting output 2013-12-17 16:31:13 -08:00
Nathan Sobo
611559ecd6 Fix pane spec. Fully test serialization lifecycle via ::testPersistence. 2013-12-17 17:05:54 -07:00
Nathan Sobo
bd3cfda2bb Merge branch 'master' into ns-telepathic-atom-global
Conflicts:
	src/atom.coffee
2013-12-16 18:18:06 -07:00
Ben Ogle
75153388cc Use tab char 2013-12-16 15:50:26 -08:00
Ben Ogle
77b5fd47ca Dont re-atomicize atomic tokens.
Fixes #1318
2013-12-16 15:34:27 -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
Ben Ogle
e8c5027026 💄 Update specs to use ::function() format 2013-12-13 10:28:38 -08:00
Nathan Sobo
beb2fb08ea Merge branch 'master' into ns-telepathic-atom-global
Conflicts:
	package.json
2013-12-13 09:32:13 -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
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
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
ebe77065cc Destroy orphans after each spec 2013-12-12 15:45:16 -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
132194337e Merge remote-tracking branch 'origin/master' into cj-deleted-files-not-modified 2013-12-12 11:00:17 -08:00
probablycorey
f414c0955b Specs don't prompt to save editors by default. 2013-12-12 10:35:11 -08:00
Ben Ogle
4dbca94d32 spec 💄 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
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
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
8a8df8d6cb Add Atom::isReleasedVersion, which determines if the version is a SHA 2013-12-11 12:28:20 -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
Nathan Sobo
425c076221 Make Editor a telepath.Model subclass 2013-12-10 17:32:34 -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
probablycorey
4bfcdf4d5b Remove unmodified editors from pane when the buffer is deleted 2013-12-10 17:08:07 -08:00
probablycorey
24c84fe09c Merge remote-tracking branch 'origin/master' into cj-deleted-files-not-modified 2013-12-10 14:46:26 -08:00
Ben Ogle
43bf47fa26 Upgrade to underscore-plus@0.4.0 2013-12-10 11:47:53 -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
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
5ff47f3aa1 Call atom.create with TokenizedBuffer before testing it 2013-12-09 12:28:13 -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
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
34f71a2623 Observe editor.tabLength config in TokenizedBuffer
Closes #1224
2013-12-07 11:43:48 -08:00
Nathan Sobo
1ccc93c50b Make DisplayBuffer a telepath model subclass 2013-12-07 03:07:15 -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
Kevin Sawicki
e45aeecb0a Update specs now that syntax themes have stylesheets folders 2013-12-06 13:24:34 -08:00
Kevin Sawicki
433b64d581 Update spec for new hard tab span text length 2013-12-06 08:27:00 -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
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
ee7ef0f893 Add spec that previously failed 2013-12-03 10:54:27 -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
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
Kevin Sawicki
3cfe50585a Move eachBuffer spec to project-spec 2013-11-26 19:35:43 -08:00
Kevin Sawicki
2901a04843 Rename WorkspaceView::getEditors to getEditorViews 2013-11-26 19:35:42 -08:00