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
651bbaa3ce
Create an empty ~/.atom/config.cson when missing
...
Closes #614
2013-07-05 09:17:44 -07: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
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
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
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
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
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
5b00cf1701
Rename Buffer -> TextBuffer to match file and deserializer name
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
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
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
Cheng Zhao
e434f7c0a9
💄
2013-06-27 22:39:41 +08:00
Cheng Zhao
e7aac2ef6e
Show confirm close dialog as sheet.
2013-06-27 21:30:47 +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
6c0f4c09d9
Make Pane.promptToSaveItem synchronous.
2013-06-27 12:40:36 +08: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
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
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