Commit Graph

6537 Commits

Author SHA1 Message Date
Ben Ogle
5a772d7078 Move back to the node walker and Range()
This is slower than the span compute, but rendering lines without 
tons of spans is much faster than with
2013-10-07 10:28:11 -07:00
Ben Ogle
6eb72ac2a1 Use getElementsByClassName rather than jQuery 2013-10-07 10:28:10 -07:00
Ben Ogle
8a3f137519 Speed up token html generation. 20ms -> 6ms
Character replace was most of it. Removing regex creation, array 
creation and joins seems to reduce the GC pressure. Calling 500 times, 
GC spent 100ms less time.
2013-10-07 10:28:10 -07:00
Ben Ogle
a57c86f4ea Shortcut out of isHidden when we can.
Checking computed style is an order of magnitude more expensive than 
checking the style property.
2013-10-07 10:28:10 -07:00
Ben Ogle
8cd04b5178 Override isHidden for the Editor
We know it's visible if it is on the dom and doesn't have
display == none set. This is an order of magnitude faster than the
default implementation which calls getComputedStyle()
2013-10-07 10:28:10 -07:00
Ben Ogle
d351938702 Speed up setting the hidden input at the same place as the cursor.
Order of magnitude speedup
2013-10-07 10:28:10 -07:00
Ben Ogle
c2bb5a998b Override isHidden for the CursorView
We know it's visible if it is on the dom and doesn't have 
display == none set. This is an order of magnitude faster than the 
default implementation which calls getComputedStyle()
2013-10-07 10:28:10 -07:00
Ben Ogle
6a494f65a5 💄 2013-10-07 10:28:09 -07:00
Ben Ogle
aa404a316d Don't allow NaNs 2013-10-07 10:28:09 -07:00
Ben Ogle
45d3fea3d0 Update only the changed line numbers 2013-10-07 10:28:09 -07:00
Ben Ogle
0ab382133b Back to display == none for $.fn.isHidden() 2013-10-07 10:28:09 -07:00
Ben Ogle
98a3bb475b Fix for non-extant lines 2013-10-07 10:28:09 -07:00
Ben Ogle
2394f25b92 Add the leftPixel cache back in 2013-10-07 10:28:09 -07:00
Ben Ogle
914288ab86 Wrap each char in a span; compute left position by measuring each span.
This is is faster and simpler than the old method. Running each function
20,000 times yielded these results:

Old: 3750ms
This method: 1523ms
By looking up each char's width in a dict: 29ms
2013-10-07 10:28:08 -07:00
Ben Ogle
aba5eb5b41 Add a cache to positionLeftForLineAndColumn()
This is the slowest function of all.
2013-10-07 10:28:08 -07:00
Ben Ogle
5c46bff4c1 Use isVisible() 2013-10-07 10:28:08 -07:00
Ben Ogle
8f68d62420 Only re render the cursors/selections when in rendered range 2013-10-07 10:28:08 -07:00
probablycorey
a8c008767f Add TextBuffer::updateCachedDiskContentsAsync 2013-10-07 09:53:53 -07:00
probablycorey
64e4cd3db1 💄 2013-10-07 09:53:13 -07:00
Matt Colyer
bde0a3dff0 Use atom rather than global 2013-10-04 14:39:11 -07:00
Matt Colyer
66635a19d1 Allow updates to the application menu 2013-10-04 14:38:50 -07:00
Matt Colyer
1deba49722 Move Keymap init above MenuManager init 2013-10-04 14:38:43 -07:00
Matt Colyer
0b3a00056f Handles nested submenus 2013-10-04 14:26:09 -07:00
Matt Colyer
7b7c9abdeb Load menus from packages 2013-10-04 13:39:35 -07:00
Kevin Sawicki
80a9cebbef Don't parse empty strings as JSON
windowState can be an empty string which should not be attempted to be
parsed.
2013-10-04 13:01:44 -07:00
Matt Colyer
73796a27e5 📝 Access config via atom.config not global.config 2013-10-04 12:28:42 -07:00
Matt Colyer
32101c57bf Load core menus from a file 2013-10-04 12:28:19 -07:00
Matt Colyer
b63a33c7bb Fix lint errors in MenuManager 2013-10-04 11:40:59 -07:00
Matt Colyer
d8e857efc9 Create MenuManager class
A minimal implementation that takes over the responsiblities of managing
the application menu within the render process.
2013-10-04 11:33:28 -07:00
Matt Colyer
c0b8b0a443 Remove unused devMenu 2013-10-04 10:51:08 -07:00
Kevin Sawicki
8f2770d084 Prevent overriding coffee cache once registered
Previously this was done afterwards in index.html and task.coffee
but should really be handled by the cache itself so any module
require a different version of coffee-script are not reregistering
a different require extension handler.
2013-10-04 09:25:31 -07:00
Kevin Sawicki
8be254c878 Export a register method from coffee-cache
This allows it to be required without having any side effects which
is needed for the clean task that just wanted to remove the cache
directory.
2013-10-04 09:20:46 -07:00
Kevin Sawicki
a47b3273dd Send events to browser window even when not focused
The window:open-path event regressed and was not being sent to Atom
which prevented windows from being opened with specific file(s) in
the editor.

Also this allows context menus to work even when the dev tools are open.
2013-10-03 18:14:01 -07:00
probablycorey
6cf41eea0a Add TextBuffer::updateCachedDiskContentsAsync 2013-10-03 17:12:00 -07:00
probablycorey
b468a6f375 Get text buffer loading to work with multi-stage load 2013-10-03 16:58:11 -07:00
probablycorey
6e17755c1a Remove unused method 2013-10-03 13:38:24 -07:00
probablycorey
cc68925ab7 Make Project::resolve handle null file names 2013-10-03 13:23:27 -07:00
Matt Colyer
f74ad104d7 Rename openBasedOnOptions to openWithOptions 2013-10-03 11:39:20 -07:00
Matt Colyer
0f4b36b54a Run test processes separately 2013-10-03 11:30:43 -07:00
Matt Colyer
c04ba75cc1 Remove initialization repetition from a second atom process 2013-10-03 11:29:34 -07:00
Matt Colyer
d8b173b86e Merge pull request #919 from atom/test-without-window
Test without window
2013-10-03 10:57:40 -07:00
probablycorey
ed09e4e33f Remove unused method 2013-10-03 10:28:12 -07:00
probablycorey
e9fd6f0c32 Reorder text buffer's requires 2013-10-03 10:28:12 -07:00
probablycorey
b315e62a43 Add Project::openAsync and Project::bufferForPathAsync 2013-10-03 10:28:12 -07:00
probablycorey
c825b1d9bb Simplify RootView::openAsync 2013-10-03 10:28:12 -07:00
probablycorey
a1c39c9f38 Add RootView::openAsync 2013-10-03 10:28:11 -07:00
Kevin Sawicki
e2fb2fdae5 Set font size and family directly on editor element
Previously this was set via a style tag which ate up a lot of spec
time and seemed to be functionally equivalent to just setting the
style directly on the element instead of finding and adding/removing
style tags.
2013-10-03 09:38:42 -07:00
Kevin Sawicki
6a5151ccbb Update stylesheetsActivated when resources are deactivated 2013-10-03 09:38:25 -07:00
Cheng Zhao
a6b71f07e0 Focus on webview in specs window on startup.
When specs window is hidden it would not get a chance to focus on the webview.
2013-10-03 10:28:00 +08:00
Kevin Sawicki
ea2779b029 Activate stylesheets from deferred deserializer 2013-10-02 19:10:53 -07:00