Commit Graph

15960 Commits

Author SHA1 Message Date
Ash Wilson
7ec79a00fc Set running = false before the asynchronous stop operation 2017-08-01 15:08:05 -04:00
Ash Wilson
80a9126fdb Start NativeWatchers lazily and stop them opportunistically 2017-08-01 15:08:05 -04:00
Ash Wilson
9c8ed35b26 Provide native watcher creation function to the NativeWatcherRegistry constructor 2017-08-01 15:08:05 -04:00
Ash Wilson
c8882ca92b Start and stop NativeWatchers automatically using onDidChange subs 2017-08-01 15:08:04 -04:00
Ash Wilson
4194e7f3b5 Remove stopped watcher nodes with the power of RECURSION 2017-08-01 15:08:04 -04:00
Ash Wilson
be681d1324 Use a private utility function to wait for all native watchers to stop 2017-08-01 15:08:04 -04:00
Ash Wilson
12c961c8b9 Maintain a Set of living NativeWatcher instances 2017-08-01 15:08:04 -04:00
Ash Wilson
9f518736e1 Track the current NativeWatcher assigned to a Watcher 2017-08-01 15:08:04 -04:00
Ash Wilson
8d86acf19c Don't report errors after stop 2017-08-01 15:08:03 -04:00
Ash Wilson
baf71492a2 .dispose() all subscribers on a NativeWatcher 2017-08-01 15:08:03 -04:00
Ash Wilson
21e381033c Start native watchers when attached 2017-08-01 15:08:03 -04:00
Ash Wilson
e4c48a5c8c 👕 for FileSystemManager 2017-08-01 15:08:03 -04:00
Ash Wilson
bd76773412 👕 lint lint lint 2017-08-01 15:08:03 -04:00
Ash Wilson
908e5ad1e9 FileSystemManager that hands out Watchers to subscribe to filesystem events 2017-08-01 15:08:03 -04:00
Ash Wilson
a1ccd49b8e Use a tree-backed registry to deduplicate and consolidate native watchers 2017-08-01 15:08:03 -04:00
t9md
d9828cc85e should not use bind for map's callback.
map pass item index as 2nd arg, so bind is not appropriate for the
function which take 2nd arg.
2017-07-25 03:49:18 +09:00
Wliu
372cef218c 📝
[ci skip]
2017-07-19 21:06:49 -04:00
Lee Dohm
f35ca01202 Merge pull request #14795 from atom/wl-please-test-where-i-tell-you-to
Always run tests where directed
2017-07-19 15:17:52 -07:00
Wliu
b6fb15fce3 📝
[ci skip]
2017-07-19 16:21:56 -04:00
Max Brunsfeld
48abb16edb Fix exception in screenPositionForPixelPosition when content updates are pending
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-07-18 14:31:47 -07:00
Damien Guard
715576fc8b Normalize access keys (shortcuts) on buttons in dialogs 2017-07-17 10:56:49 -07:00
Bryant Ung
c50f73e9f5 Merge pull request #15011 from mehcode/gutter-marker-layer-bug
Check if incoming element is non-null before attempting to append to it
2017-07-13 22:29:44 -07:00
Damien Guard
cf43c03e69 Merge pull request #14997 from atom/dg-fix-reload-window-with-new-paths
Ensure window:reload doesn't forget added project folders
2017-07-13 12:33:33 -07:00
Antonio Scandurra
c3f7edc104 Swap underlying editor correctly when calling setModel on editor element
Previously, when `setModel` was called, we forgot to update the pointer
to the component in the newly supplied editor. This was causing the
element to not update in response to model updates but only as a result
of focus or visibility changes. We suspect this regressed during the
rewrite of the editor rendering layer.

With this commit we will now correctly swap the element's underlying
editor by updating the component pointer on the newly supplied editor.
Also, if the element was already attached to another editor, we will
null out the component reference on it, because one instance of
`TextEditorElement` can only represent one instance of `TextEditor`.
2017-07-13 18:13:48 +02:00
Ryan Leckey
d0588cd812 Check if incoming element is non-null before attempting to append to it 2017-07-13 02:32:43 -07:00
Damien Guard
5e04edfc43 Merge pull request #14690 from atom/dg-add-keyboard-accelerators
Add keyboard accelerators to file change & window state dialogs
2017-07-12 15:04:12 -07:00
Damien Guard
269623c9ba Update loadSettingsJSON when paths change, fixed #13933 2017-07-11 20:46:09 -07:00
Damien Guard
68b7bf46dd Make loadSettings a property so we can change it 2017-07-11 17:04:54 -07:00
ungb
07c7e53b1e fix lint errors 2017-07-10 16:26:47 -07:00
Nathan Sobo
f6d2f966bf Fix middle-mouse-button paste on Linux
Chrome now synthesizes a textInput event on mouseup for middle mouse
button clicks, which rendered our custom JS for handling that case
redundant.
2017-07-10 15:53:23 -06:00
Nathan Sobo
cd27b49dc4 Don't handle ctrl-click events on macOS
It brings up the context menu, so we shouldn't change the cursor
position
2017-07-10 14:28:21 -06:00
Nathan Sobo
82619a989b 🎨 2017-07-10 14:27:55 -06:00
Nathan Sobo
960e515e77 Merge pull request #14948 from atom/ns-add-gutter-decoration-class
Always render 'decoration' class on custom decorations
2017-07-05 15:24:43 -06:00
Antonio Scandurra
bcaf655325 Update buffer-row and screen-row data fields on each line number node 2017-07-05 11:12:48 +02:00
Antonio Scandurra
942dd03bd0 Assign screen-row to each line number as a data field 2017-07-05 11:11:44 +02:00
Nathan Sobo
e7b4ad48f0 Always render 'decoration' class on custom decorations 2017-07-03 16:10:41 -06:00
Antonio Scandurra
b30f55bb57 Invalidate block decorations height automatically if their size changes 2017-06-30 14:08:49 +02:00
Matthew Dapena-Tretter
863faffd23 Only expect a single 'did-destroy' event
These events will only be fired a single time at most, so we should clean up the listeners after that.

This should help minimize accidental memory leaks.
2017-06-27 16:20:33 -07:00
Antonio Scandurra
e0c2509bf7 Merge pull request #14897 from atom/as-jr-fix-not-updating-custom-title-bar
Ensure custom title bar is always updated when document.title changes
2017-06-27 11:35:43 +02:00
Antonio Scandurra
57570accbf Merge pull request #14893 from atom/as-fix-resetting-node-pool-styles
Fix resetting styles in NodePool
2017-06-27 11:35:19 +02:00
Antonio Scandurra
9e8f07b926 Convert src/title-bar.coffee to js
Signed-off-by: Jason Rudolph <jasonrudolph@github.com>
2017-06-26 16:34:33 +02:00
Antonio Scandurra
62ee913567 Ensure custom title bar is always updated when document.title changes
This commit uses a new private API on Workspace that emits an event
every time the window title gets updated (e.g. as a result of an active
pane item changing, the project paths changing, etc.).

This fixes a bug that left the custom title bar with a stale
document.title under some circumstances.

Signed-off-by: Jason Rudolph <jasonrudolph@github.com>
2017-06-26 16:29:31 +02:00
Antonio Scandurra
52ba6c7342 Fix measuring block dec. if adding them before updating element's width 2017-06-26 12:52:18 +02:00
Antonio Scandurra
a171380544 Fix resetting styles in NodePool
Previously, we were mistakenly not clearing out some styling properties
like `marginTop`, thus causing e.g. line numbers to be misaligned. This
was caused by manual updates to an element's style object, without a
consequent update to the NodePool.

With this commit we will now rely on `element.styleMap` (a DOM
primitive) to detect which styles have been set on a element that is
about to be recycled and, if the object being created doesn't use them,
simply clear them out.
2017-06-26 11:37:11 +02:00
Max Brunsfeld
c1c0e7e921 Merge pull request #14736 from atom/fb-mdt-observe-dock-visibility
Add methods for observing dock visibility
2017-06-22 14:11:52 -07:00
Wliu
5ca738b84c Always run tests where directed 2017-06-15 21:59:12 -04:00
Nathan Sobo
41d5715ef6 Merge pull request #14790 from atom/ns-document-text-decorations
Document text decorations
2017-06-15 22:57:34 +02:00
Nathan Sobo
147e9dff42 Document text decorations 2017-06-15 22:15:31 +02:00
Paul Betts
2c29d99f33 Directly tell Squirrel what kinds of shortcuts to create 2017-06-14 15:08:35 -07:00
Antonio Scandurra
0a46c9ad7b Prevent block decorations from mistakenly wrapping during measurements
Before rendering block decorations, we read their heights by putting
them into a special div called `blockDecorationMeasurementsArea`.

Previously, this div was not explicitly sized, which was causing
decorations to wrap while being measured but not when actually rendering
them.

This commit fixes this inconsistency by explicitly styling the
measurement area so that it has the same width as the component scroll
width.
2017-06-13 12:31:27 +02:00