Kevin Sawicki
40d76d2db9
Replace git global with project.getRepo()
2013-07-23 19:31:32 -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
Kevin Sawicki & Nathan Sobo
9c67aa105b
Replace createSite
with new Site
2013-07-23 11:58:41 -07: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
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
Kevin Sawicki & Nathan Sobo
642df0924d
Merge branch 'master' into shared-buffers
...
Conflicts:
vendor/apm
2013-07-22 11:54:51 -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
fe4c4e9751
Add selectToFirstCharacterOfLine to editSession
2013-07-22 09:02:05 -07: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
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
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
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
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
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
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
c52cf836cd
remove the f on the describe
2013-07-17 17:42:33 -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
Ben Ogle & Nathan Sobo
bb695ec53f
Replicate the destruction of selections
2013-07-17 11:53:39 -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
f32e1fc643
Replicate initial EditSession selection state
2013-07-17 10:25:28 -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
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
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
12580bce83
Guard against missing file path in getScore()
2013-07-10 08:54:15 -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
010fa219aa
Move Point and Range specs to telepath
2013-07-05 12:53:51 -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
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 & 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