Commit Graph

15945 Commits

Author SHA1 Message Date
Wliu
7c48291333 🔥 getPaneContainers from the API 2017-06-07 10:55:26 -04:00
Wliu
02258a9994 📝 Fix get{Left|Right|Bottom}Dock links 2017-06-06 23:34:47 -04:00
Wliu
55a0fcb3f2 📝 Document pane location methods in Workspace 2017-06-06 23:33:46 -04:00
Wliu
c34061a52e 📝 Document the WorkspaceCenter class 2017-06-06 23:33:29 -04:00
Max Brunsfeld
3b56ef8cbf Merge remote-tracking branch 'origin/master' into mb-use-native-text-buffer 2017-06-06 17:12:34 -07:00
Jason Rudolph
4fecbaf4f5 Merge master into jr-fix-observe-text-editor-methods 2017-06-06 13:59:35 -04:00
Jason Rudolph
268f94b89d Merge pull request #14695 from atom/jr-editors-live-in-workspace-center
Provide API for observing the active text editor
2017-06-06 10:09:52 -04:00
Jason Rudolph
0cadf7e888 Merge branch 'jr-editors-live-in-workspace-center' into jr-fix-observe-text-editor-methods 2017-06-05 17:07:31 -04:00
Antonio Scandurra
baca845e64 Fix not resetting unused styles in NodePool 2017-06-03 14:56:21 +02:00
Antonio Scandurra
f07e1eb009 Merge pull request #14698 from atom/as-ns-recycle-nodes
Recycle line and line number DOM nodes
2017-06-03 10:53:47 +02:00
Antonio Scandurra
ec774e143a Fix lint errors 2017-06-03 10:52:32 +02:00
Jason Rudolph
e1719a8923 Teach Workspace::reset() to properly reset hasActiveTextEditor 2017-06-02 15:56:13 -04:00
Jason Rudolph
2347c9bdaa Always invoke callback with current active text editor
This makes observeActiveTextEditor consistent with observers like
observeActivePaneItem, which always invoke the callback with the current
value, regardless of whether that value is undefined or not.
2017-06-02 15:55:00 -04:00
Jason Rudolph
9629caefb7 Remove unnecessary serialization 2017-06-02 15:09:20 -04:00
Max Brunsfeld
d289ca4471 Fix unintended unload prevention for spec windows 2017-06-02 10:30:10 -07:00
Max Brunsfeld
a7736b81e3 Remove code for preserving cursor position on buffer reload
Updating the markers correctly is handled by TextBuffer. This
was actually breaking it.
2017-06-02 09:58:57 -07:00
Jason Rudolph
5b61c0a949 🐛 Initialize active editor state correctly after reload
Fixes the following bug:

1. Open Atom
2. Open a file
3. Observe the file's encoding in the status bar
4. Reload Atom
5. Close the file
6. Observe that the closed file's encoding is still present in the
status bar

This bug occured because the reload did not deserialize/serialze the
workspace's active text editor state. As a result, when closing the
text editor in step 5, we failed to notify observers that there is no
longer an active text editor.
2017-06-02 08:01:42 -04:00
Max Brunsfeld
307d63e1ed Fix handling of aborted save in Pane.saveItem 2017-06-01 15:10:09 -07:00
Max Brunsfeld
7535a9419f Use async/await in Pane spec 2017-06-01 14:42:45 -07:00
Jason Rudolph
5dfbb65b0e 🎨 Reduce ternaries 2017-06-01 17:09:38 -04:00
Jason Rudolph
6a694f80f4 🎨 Replace instanceof check with nullness check
xref: https://github.com/atom/atom/pull/14695#discussion_r119721719
2017-06-01 17:04:43 -04:00
Jason Rudolph
fe550a1b03 🎨 Refactor: Introduce explaining variable
xref: https://github.com/atom/atom/pull/14695#discussion_r119721719
2017-06-01 17:04:17 -04:00
Jason Rudolph
14d8eccc6e 📝 Add API docs for observeActiveTextEditor(callback) 2017-06-01 15:47:31 -04:00
Jason Rudolph
5b52d8c77a 📝 Add API docs for onDidChangeActiveTextEditor(callback) 2017-06-01 15:44:37 -04:00
Jason Rudolph
09495dfc35 🔥 Remove broken Dock::getTextEditors() function
We're updating Atom to disallow editors in docks. As a result, we need
to remove Dock::getTextEditors(). Normally, we would deprecate a method
before removing it, but this method is broken and has never worked:

  atom.workspace.getLeftDock().getTextEditors()
  (unknown) Uncaught TypeError: this.paneContainer.getTextEditors is not a function
      at Dock.getTextEditors (/Applications/Atom.app/Contents/Resources/app/src/dock.js:590:37)
      at <anonymous>:1:30

Since the method is broken, we know that nobody is relying on it.
Instead of deprecating the method, we can just remove it.
2017-06-01 15:31:21 -04:00
Jason Rudolph
0b314ac1a9 🔥 Remove broken Dock::observeTextEditors(callback) fn
We're updating Atom to disallow editors in docks. As a result, we need
to remove Dock::observeTextEditors(callback). Normally, we would
deprecate a method before removing it, but this method is broken and has
never worked:

  atom.workspace.getLeftDock().observeTextEditors(console.log)
  (unknown) Uncaught TypeError: this.paneContainer.getTextEditors is not a function
      at Dock.getTextEditors (/Applications/Atom.app/Contents/Resources/app/src/dock.js:590:37)
      at Dock.observeTextEditors (/Applications/Atom.app/Contents/Resources/app/src/dock.js:396:41)
      at <anonymous>:1:30
  getTextEditors @ <embedded>:29933
  observeTextEditors @ <embedded>:29739
  (anonymous) @ VM1941:1

Since the method is broken, we know that nobody is relying on it.
Instead of deprecating the method, we can just remove it.
2017-06-01 15:26:12 -04:00
Jason Rudolph
f8ebd71200 Deprecate Dock::getActiveTextEditor() 2017-06-01 15:24:50 -04:00
Max Brunsfeld
12d0de0e03 Merge branch 'master' into mb-use-native-text-buffer 2017-06-01 11:09:09 -07:00
Jason Rudolph
e569f8fc4d 📝 Fix odd grammar in API docs 2017-06-01 12:08:09 -04:00
Lee Dohm
50603ef19c Merge pull request #14697 from atom/ld-activate-item-docs
📝 Add missing parameter documentation
2017-06-01 08:26:20 -07:00
Antonio Scandurra
a25134e97f Recycle line number nodes
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-06-01 17:24:18 +02:00
Lee Dohm
fdd4d52fcc 📝 Add missing parameter documentation 2017-06-01 08:24:14 -07:00
Antonio Scandurra
b8d0d83b9a Recycle line nodes
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-06-01 17:24:13 +02:00
Antonio Scandurra
6d1f8ea88c Render line number gutter without numbers when showLineNumbers is false
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-06-01 16:29:04 +02:00
Antonio Scandurra
23e26da2fb Skip overlay resize events when we already measured at the current size
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-06-01 14:44:06 +02:00
Damien Guard
7c681905bd Add keyb accelerators to file change & window state dialogs. Fixes #2928 2017-05-31 20:04:11 -07:00
Max Brunsfeld
dc320181fc Fix handling of .save and .saveAs rejections
* Make Pane.close, Pane.saveActiveItem, and Pane.saveActiveItemAs async.
* Refactor the logic for prompting to save on window unload
2017-05-31 17:46:04 -07:00
Jason Rudolph
05efc143ed Add Workspace::observeActiveTextEditor() 2017-05-31 16:17:54 -04:00
Jason Rudolph
cf50625cc6 Teach Workspace::getActiveTextEditor() to get item from center 2017-05-31 14:32:20 -04:00
Jason Rudolph
61a52d49aa Allow text editors in the workspace center, but not in docks 2017-05-31 14:06:46 -04:00
Jason Rudolph
cd24e820f5 💚 Fix linter failure 2017-05-31 13:13:09 -04:00
Jason Rudolph
8cae9a1365 🎨 Refactor: Extract getVisiblePanes() function 2017-05-31 12:01:10 -04:00
Jason Rudolph
0e3dfc3ba1 🎨 Refactor: Extract getVisiblePaneContainers() function 2017-05-31 11:57:57 -04:00
Jason Rudolph
fc007edddd 🎨 Refactor initialization of visiblePaneContainers
xref: https://github.com/atom/atom/pull/14640#discussion_r119169281
2017-05-31 11:53:05 -04:00
Jason Rudolph
4c9acf00b3 🎨 Nobody's getting paid by lines of code
xref: https://github.com/atom/atom/pull/14640#pullrequestreview-41023656
2017-05-31 11:51:17 -04:00
Antonio Scandurra
028b4c9082 Try a different approach for preventing autoscroll to off-screen input
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-05-31 16:43:08 +02:00
Max Brunsfeld
d4c05e5956 Merge branch 'master' into mb-use-native-text-buffer 2017-05-30 10:25:54 -07:00
Jason Rudolph
a49203504c 🐛 Add missing onDidAddTextEditor method to WorkspaceCenter
WorkspaceCenter's observeTextEditors method calls
this.onDidAddTextEditor, but WorkspaceCenter didn't have an
onDidAddTextEditor method. This commit adds a test for
observeTextEditors and it adds the missing onDidAddTextEditor method to
make the test pass.
2017-05-25 17:24:07 -04:00
Jason Rudolph
92d0f60e6c 🐛 Add missing onDidAddTextEditor method to Dock
Dock's observeTextEditors() method calls this.onDidAddTextEditor(), but
Dock didn't have an onDidAddTextEditor method. 🙀

Dock's observeTextEditors() method also calls this.getTextEditors(), and
Dock's getTextEditors() method calls
this.paneContainer.getTextEditors(), but there is no getTextEditors()
method on this.paneContainer. 🙈

This commit adds a test for observeTextEditors, and it adds the missing
onDidAddTextEditor method, and it fixes the getTextEditors method to
make the new test pass.
2017-05-25 17:24:06 -04:00
Jason Rudolph
81b05023db Refactor: Move directional pane fns to WorkspaceElement 2017-05-25 08:51:22 -04:00