Commit Graph

15225 Commits

Author SHA1 Message Date
Dirk Thomas
865294f3c8 pass through line count options 2017-03-10 10:37:50 -08:00
Max Brunsfeld
bb557d83a5 Merge pull request #13970 from atom/fb-mdt-refactor-open
Refactor open; separate creation and placement of items
2017-03-10 09:19:14 -08:00
Antonio Scandurra
69ea645b85 Fix lint errors 2017-03-10 16:31:20 +01:00
Antonio Scandurra
1e040c62d9 Add AtomEnvironment.prototype.resolveProxy(url)
This new private API will allow settings-view to communicate
asynchronously with the main process to resolve proxies, instead of
using `remote` and blocking the renderer process during startup.
2017-03-10 16:08:02 +01:00
Antonio Scandurra
11961b09ac Merge pull request #13949 from atom/as-minimize-startup-sync-io
Minimize synchronous I/O during startup
2017-03-10 15:00:30 +01:00
Antonio Scandurra
79e6a6ff3c 🔥 HistoryImporter 2017-03-10 14:45:34 +01:00
Antonio Scandurra
337ad58434 🔥 HistoryManager.prototype.importProjectHistory 2017-03-10 14:37:49 +01:00
Antonio Scandurra
7e761d39af Fall back to local storage when no history can be found 2017-03-10 14:37:37 +01:00
Matthew Dapena-Tretter
e85ed1dc7f Refactor open; separate creation and placement of items
This is a refactoring that sets up the work for #13878 (docks).

Because items will be able to dictate their preferred locations, we
need to detangle the item creation from their placement.
2017-03-09 23:29:51 -08:00
Matthew Dapena-Tretter
4b3e2ccca4 Remove the buildTextEditor binding
The comment was actually no longer accurate since arrow functions
aren't newable. After doing an audit, @maxbrunsfeld determined that it
could just be removed.
2017-03-09 15:14:06 -08:00
Max Brunsfeld
4a1f98cb6c Create autoUpdateManager in AtomApplication constructor 2017-03-08 15:50:08 -08:00
Nathan Sobo
206bcac1bc Merge pull request #13955 from atom/fb-mdt-workspace-element-to-js
Convert workspace element and spec to JavaScript
2017-03-07 19:49:32 -07:00
Matthew Dapena-Tretter
3017b28ef7 Convert workspace element to JS: Cleanup 2017-03-07 16:31:00 -08:00
Matthew Dapena-Tretter
ca4d55954b Convert workspace element to JS: Lint 2017-03-07 15:56:57 -08:00
Matthew Dapena-Tretter
ede4a2972a Convert workspace element to JS: Decaffeinate 2017-03-07 15:49:22 -08:00
Matthew Dapena-Tretter
d6a354d6ba Convert panel container to JS: Cleanup 2017-03-07 14:52:32 -08:00
Matthew Dapena-Tretter
f56865b6f8 Convert panel container to JS: Lint 2017-03-07 14:30:33 -08:00
Matthew Dapena-Tretter
228b24b68b Convert panel container to JS: Decaffeinate 2017-03-07 14:20:27 -08:00
Antonio Scandurra
cf9a5b13e3 Replace localStorage with StateStore in HistoryManager
Instead of using `localStorage` to store and retrieve the project
history, with this commit we will use `StateStore` so that we can
retrieve state asynchronously without blocking Atom during startup.
2017-03-07 11:02:40 +01:00
Antonio Scandurra
45d41ca69f Register enter/leave fullscreen events in the main process
This will still notify render processes when such events are triggered
without, however, incurring the additional cost of synchronously
retrieving a `BrowserWindow` (and its properties) via `remote` during
startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
727472af58 Disable zoom in the main process
This commit will register the `display-added` and `display-removed`
events only once in the main process in order to disable zoom (see
https://github.com/atom/atom/pull/11345) directly instead of
unnecessarily paying for I/O in the renderer process during startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
051e27dbcb Expose load settings to BrowserWindows as JSON
When accessing objects in the main process via the `remote` module,
Electron returns proxy objects that are references to the original ones.
This means that trying to access a remote object's property or function
results in a synchronous message exchange with the main process.

In Atom core we frequently access the load settings coming from the main
process, especially during startup. This caused a lot of synchronous I/O
which was blocking the renderer process for several milliseconds.

With this commit, instead of exposing load settings as a JavaScript
object, we serialize them to JSON in the main process and parse them
back to a JavaScript object in the renderer processes. This allows us to
get a full copy of the object locally and pay for I/O just once when
retrieving load settings from the main process for the first time.
2017-03-07 10:54:42 +01:00
Damien Guard
59c20484aa Always restore Reopen Project menu, fixes #13758 2017-03-06 09:41:14 -08:00
Damien Guard
ef0619048e Revert "Ensure recent project list populated when no project loaded, fixes #13758"
This reverts commit 52492c1386.
2017-03-05 17:49:01 -08:00
Damien Guard
52492c1386 Ensure recent project list populated when no project loaded, fixes #13758 2017-03-05 17:21:05 -08:00
Antonio Scandurra
ed9a101de2 Fix destroying a PanelContainer containing multiple panels
Previously, when calling `destroy` on a `PanelContainer` containing
multiple panels, Atom would throw a `Cannot read property 'destroy' of
undefined` exception. This was due to iterating over the panels while at
the same time destroying them, which caused the iterated array to be
modified during the loop.

With this commit we slice the array before iterating over it so that
destroying a `PanelContainer` doesn't throw exceptions anymore.
2017-03-04 15:39:38 +01:00
Antonio Scandurra
6cde324290 Fix core renderer tests 2017-03-04 14:33:57 +01:00
Max Brunsfeld
4f261731ae Merge pull request #13922 from atom/fb-mdt-workspace-to-js
Convert workspace to JavaScript
2017-03-03 13:03:36 -08:00
Max Brunsfeld
3c06381018 Fix usage of dynamic arguments variable in an arrow function 2017-03-03 12:00:45 -08:00
Wliu
5f2dc226b5 Merge pull request #13912 from atom/wl-remove-workaround
Remove macOS emoji workaround
2017-03-03 10:51:46 -05:00
Matthew Dapena-Tretter
53ec839ae5 Convert workspace to JavaScript: cleanup 2017-03-02 18:11:22 -08:00
Matthew Dapena-Tretter
7a0d7f8b4c Convert workspace to JavaScript: lint 2017-03-02 18:01:40 -08:00
Matthew Dapena-Tretter
cb71ce64ae Convert workspace to JavaScript: decaffeinate 2017-03-02 18:01:40 -08:00
Max Brunsfeld
c1d1bbcb18 Provide a fresh environment when deserializing in specs 2017-03-02 11:54:00 -08:00
Max Brunsfeld
c26509cfab Throw an error when assertions fail if built from source
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-03-02 10:14:59 -08:00
Nathan Sobo
9e3999cab9 Cause an assertion failure if defaultMarkerLayer is destroyed early
This is to investigate a case where the default marker layer of the
editor is destroyed without the editor itself or its buffer being
destroyed, which is causing `Cannot decorate a destroyed marker`
exceptions.
2017-03-02 10:04:07 -07:00
Wliu
fabc38162b Remove macOS emoji workaround
No longer needed now that we are on Chrome 53
2017-03-01 17:32:31 -05:00
Max Brunsfeld
5582766563 Use new maxLineLength parameter to GrammarRegistry 2017-02-28 10:48:35 -08:00
Antonio Scandurra
acbe228901 Ignore ref and key properties in TextEditor.prototype.update 2017-02-27 11:15:53 +01:00
simurai
65ecab401d Add "Experimental" to the description 2017-02-22 09:49:42 +09:00
simurai
ec9aec6686 Merge branch 'master' into sm-custom-title-bar 2017-02-21 21:56:53 +09:00
Damien Guard
e04c31445d Merge pull request #13754 from hron/normalize-disk-drive-letter
Normalize disk drive letter in path on Windows
2017-02-20 09:54:19 -08:00
Aleksei Gusev
fd9dbb6e87 Normalize disk drive letter in path on Windows
Currently atom creates two buffers for the same file if passed
paths use difference case for disk drive letter,
e.g. d:\file.txt and D:\file.txt
2017-02-18 11:32:44 +03:00
Max Brunsfeld
060b027e2a Respect the --resource-path flag 2017-02-17 14:16:53 -08:00
Antonio Scandurra
4acd477559 Merge pull request #13818 from atom/ns-as-return-all-decorations
Return decorations for markers from *all* marker layers from decorationsForScreenRowRange
2017-02-17 11:15:15 +01:00
Antonio Scandurra
85dde00e82 Merge branch 'master' into as-use-babel6 2017-02-16 12:59:05 +01:00
Antonio Scandurra
af8773aa3f Add more transforms 2017-02-16 11:24:03 +01:00
Nathan Sobo
70c122ae23 Add metadata to track unexplained decorations of destroyed cursor marker 2017-02-15 18:12:21 -07:00
Max Brunsfeld
97340ee4c5 Merge pull request #13810 from atom/mb-fix-state-key-when-opening-new-files
Restore correct directory's project state when opening a new file from the CLI
2017-02-15 14:13:28 -08:00
Antonio Scandurra
5a0433b006 Upgrade to babel 6 and apply fewer transformations to babel files 2017-02-15 17:02:00 +01:00