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
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
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
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
Nathan Sobo
804df73e8d
Get edit session specs passing with selection based markers
2013-07-17 19:16:42 -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
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