Commit Graph

16842 Commits

Author SHA1 Message Date
Linus Eriksson
b7138a0410 Add these changes to the non scheduled code path 2018-01-19 19:11:16 +01:00
Linus Eriksson
e07a9a6387 Merge branch 'master' of https://github.com/atom/atom into b3-failing-seed 2018-01-19 19:08:21 +01:00
Antonio Scandurra
3fbfadde5a Don't break subpixel AA when cursor is at the end of longest line
With the Electron upgrade, something changed in the way characters are
rendered/measured, and that was causing subpixel anti-aliasing to stop
working when cursors were at the end of the longest line.

Every cursor has a width that is calculated in the following way:

* If there's a character after the cursor, the width corresponds to
width of such character.
* Otherwise, the width equals to the "base character width" measured on
a dummy line.

In the latter case, even if we were setting the width of the content
container to account for the width of such cursor, some rounding problem
was causing the cursor to be able to escape the container and thus break
subpixel anti-aliasing.

With this commit, instead of rounding the value we assign to the
container width, we will always ceil it. This ensures that cursors are
always strictly contained within the parent element and resolves the
subpixel anti-aliasing issue.
2018-01-19 11:20:53 +01:00
Antonio Scandurra
e68a2b1eb9 Replace import and export keywords with require and module.exports 2018-01-19 09:43:55 +01:00
Philip Weiss
cb77a4801c add default param to options 2018-01-18 16:51:40 -08:00
Philip Weiss
952052d2e5 update comment spacing issues and add default param 2018-01-18 16:46:00 -08:00
Max Brunsfeld
7c8f73b2d8 Make StorageFolder.clear async 2018-01-18 15:14:35 -08:00
Philip Weiss
1a99a4848c replace function(...) with arrow funcs 2018-01-18 14:52:47 -08:00
Philip Weiss
98dace3372 remove some unnecessary returns 2018-01-18 14:37:51 -08:00
Philip Weiss
e9a4d3ca2a remove guard func and comment 2018-01-18 14:33:48 -08:00
Philip Weiss
acaf8a0316 remove first guards 2018-01-18 14:32:01 -08:00
Philip Weiss
b638562e0c remove call() and var 2018-01-18 13:46:38 -08:00
Philip Weiss
5589b11e92 fix linting rules except for .call() 2018-01-18 13:31:28 -08:00
Max Brunsfeld
400abcba34 Decaffeinate StorageFolder 2018-01-18 12:02:43 -08:00
Max Brunsfeld
9694448f9d Handle concurrent calls to the same channel in ipc helpers 2018-01-18 11:27:27 -08:00
Max Brunsfeld
0390548e2c Make FileRecoveryService async 2018-01-18 11:27:27 -08:00
Philip Weiss
9ebd21658f fix basic linting rules 2018-01-18 11:12:57 -08:00
Max Brunsfeld
a4e011d3b8 Fix foldBufferRow regression 2018-01-18 09:38:30 -08:00
Philip Weiss
dc26cac5ce basic decaffeination of config.js 2018-01-17 16:30:30 -08:00
Wliu
abe5af2168 📝
[ci skip]
2018-01-17 18:26:35 -05:00
Wliu
a9aaf597bc 📝
[ci skip]
2018-01-17 18:06:28 -05:00
Wliu
1e1884ef27 📝
[ci skip]
2018-01-17 18:03:48 -05:00
Ian Olsen
2de6f05d8f Merge pull request #16161 from atom/wl-color-to-string
Add .toString() method for Color objects
2018-01-17 14:51:03 -08:00
Nathan Sobo
9807e56154 Merge pull request #16575 from atom/ns-null-guard-scope-prefix
Null guard auto-prefixing of `.` to scopes for backward compatibility
2018-01-16 12:10:26 -07:00
Nathan Sobo
d93565423a Null guard auto-prefixing of '.' to scopes for backward compatibility
In some cases, packages such as atom-beautify manually construct scope
descriptors with an empty scopes array.
2018-01-16 11:30:27 -06:00
Tony Brix
174672d00b Update all {Repository} to {GitRepository} 2018-01-15 23:34:43 -06:00
Antonio Scandurra
5a3e1d28ca Merge pull request #16546 from atom/as-allow-clicking-scrollbar-with-dock-indicators
Programmatically detect when mouse approaches the edge of a dock
2018-01-15 10:08:26 +01:00
David Wilson
dbd4a0a4c0 Preserve TextEditor settings when language mode changes
This change fixes #13829 which reports that the `softWrapped` setting of
an untitled TextEditor is lost when the buffer is saved to a file.  This
is caused by logic that updates TextEditor settings when the buffer's
language mode changes.

The fix is to preserve any TextEditor settings that would not change when
switching between the previous and current language mode of the buffer.
2018-01-12 13:51:35 -08:00
Antonio Scandurra
8077f46fdf Programmatically detect when mouse approaches the edge of a dock
Previously, we would assign dock elements a minimum width/height of 2
pixels so that we could detect when the mouse approached the edge of a
hidden dock in order to show the chevron buttons. This, however, was
causing confusion for users, who expected that extra space to be
clickable in order to scroll editors located in the center dock.

With this commit we will instead register a global `mousemove` event on
the window right when attaching the workspace element to the DOM (the
event handler is debounced, so this shouldn't have any performance
consequence). Then, when mouse moves, we will programmatically detect
when it is approaching to the edge of a dock and show the chevron button
accordingly. This allows us to remove the `min-width` property from the
dock container element, which eliminates the confusing behavior
described above.
2018-01-12 17:12:55 +01:00
Antonio Scandurra
a7e642e473 Destroy underlying element when resetting or destroying Workspace 2018-01-12 16:06:35 +01:00
rosston
5d6507b872 Fix non-word char usage of current word cursor methods
Fixes a regression in 43aa3c788f
2018-01-11 21:40:21 -05:00
Antonio Scandurra
a5c0223592 Fix race condition between opening new files and restoring window state
This commit fixes a race condition in the
`attemptRestoreProjectStateForPaths` function that could cause a file to
be opened more than once within the same workspace pane.

In particular, when opening some file into an empty window, Atom tries
to recover the state for the project containing the file (if there is
one). However, we were previously not waiting until the
`AtomEnvironment`'s state had been fully deserialized before trying to
load the requested file into the workspace. If the same file also
existed in the serialized representation of the workspace, it could end
up being opened twice.

With this commit we will now wait until the environment has been fully
deserialized before honoring the user's request of loading new files
into an empty window. Also, tests have been restructured to test more
thoroughly this interaction.
2018-01-10 13:22:09 +01:00
Antonio Scandurra
e85b8738d1 Allow destroying AtomEnvironment instances that haven't been initialized 2018-01-10 13:11:25 +01:00
Max Brunsfeld
59f2b21d6c Merge pull request #16524 from atom/mb-fix-tree-sitter-slowness
Fix two tree-sitter performance problems
2018-01-09 21:29:55 -08:00
Wliu
f922727644 Use async dialog.showMessageBox 2018-01-09 21:17:17 -05:00
Max Brunsfeld
4084922cb4 Optimize TreeSitterHighlightIterator.seek 2018-01-09 17:38:10 -08:00
Wliu
c84eeb3ae0 Merge branch 'master' into wl-async-save-dialog 2018-01-09 17:20:57 -05:00
Wliu
cd123456ca Merge pull request #16229 from atom/wl-async-confirm
Make atom.confirm async
2018-01-09 17:19:51 -05:00
Michelle Tilley
fd50e02162 👕 2018-01-09 12:19:33 -08:00
Wliu
18ee2e6f11 Oops 2018-01-09 14:56:09 -05:00
Damien Guard
7afa03345a If protocol handler set top never, unregister it on Windows 2018-01-09 11:38:05 -08:00
Antonio Scandurra
450d6b12fa Don't add fully-contained selections above/below
This is slower than it needs to be and creates behavioral problems when
selections get merged in some cases.

Signed-off-by: Nathan Sobo <nathan@github.com>
2018-01-09 16:47:26 +01:00
Antonio Scandurra
aea7041c4c Merge pull request #16515 from atom/move-highlights-behind-text
Render highlights behind lines
2018-01-09 16:28:02 +01:00
Antonio Scandurra
c48ba79f3c Prevent selection of non-text content in editor
Signed-off-by: Nathan Sobo <nathan@github.com>
2018-01-09 15:16:17 +01:00
Antonio Scandurra
3d21ac0742 Render highlights behind lines
This fixes a bug most likely introduced with #16511 by ensuring that UI
elements (such as selections) never cover up the text.

Signed-off-by: Nathan Sobo <nathan@github.com>
2018-01-09 15:15:54 +01:00
Nathan Sobo
dced608f47 Merge pull request #14931 from UziTech/atom-commands-onDidFinish
atom.commands.onDidFinish
2018-01-09 06:12:45 -07:00
Michelle Tilley
bf4635ca75 Merge pull request #16513 from atom/mkt-update-protocol-handler
Update protocol client installation
2018-01-08 17:37:45 -08:00
Max Brunsfeld
3f710a1398 Merge pull request #12783 from vedharish/editor_delete_line 2018-01-08 15:58:22 -08:00
Michelle Tilley
8bc7e8a28f Update protocol client installation 2018-01-08 15:18:43 -08:00
Nathan Sobo
4926fe466c Move highlights container into lines for theme compatibility 2018-01-08 13:16:46 -07:00