Commit Graph

36 Commits

Author SHA1 Message Date
Nathan Sobo
d37a0dd916 Cache repeated regexp matches against the same string for another 5-10% boost
This is tricky… basically when the scanner is matching across the same string repeatedly, it can recycle previous results if the following conditions are true:

- The string is the same
- We're matching at a position >= the last position
- The result for the regex is a failure or starts >= the current start position
2012-09-27 15:53:02 -06:00
Nathan Sobo
840790645b Release OnigScanner's regexes in the destructor 2012-09-27 15:53:01 -06:00
Nathan Sobo
32e36700ae Add native OnigScanner, which handles matching multiple regexes on a line
This cuts the tokenization time from 250ms to 70ms by avoiding js <-> native overhead
2012-09-27 13:04:14 -06:00
Corey Johnson
871a230b03 Make $native.exists a tiny bit faster 2012-09-26 16:30:22 -07:00
Corey Johnson
cccebda665 Stop when position equals the start position (not always 0) 2012-09-24 15:47:03 -07:00
Corey Johnson
ea18840798 Remove unused methods from onig_reg_exp.js 2012-09-24 11:53:52 -07:00
Kevin Sawicki
5c78ebff42 Use platform independent extension header files 2012-09-20 16:24:20 -07:00
Kevin Sawicki
8da096b7cd Use include instead of import 2012-09-20 16:24:20 -07:00
Kevin Sawicki
d4fc3f41fc Remove unneeded import 2012-09-20 16:24:20 -07:00
Kevin Sawicki
9901901c72 Remove unneeded includes 2012-09-20 16:24:10 -07:00
Kevin Sawicki
97756ee90b Move linux extensions to v8_extensions folder 2012-09-20 16:24:08 -07:00
Corey Johnson & Nathan Sobo
10c36191ec Zero-length start patterns work.
Add zero-length captures back into OnigRegEx.BuildCaptureIndices to see zero length captures. Handle zero-length captures by continuing to scan line. Does not handle infinite loop possibility yet.
2012-09-07 10:07:54 -07:00
Corey Johnson
4f2cc1f856 Add OnigRegExp.captureIndices(string, index, regexes)
Allows us to know if a zero-length regex matched.
2012-09-06 15:26:42 -07:00
Corey Johnson
48fdf8a708 Added OnigRegExp.catpureIndices 2012-09-06 10:22:13 -07:00
Corey Johnson & Nathan Sobo
c9c138491e Add atom.exit, which exits from the browser process instead of the renderer 2012-08-31 10:15:12 -06:00
Corey Johnson & Nathan Sobo
bd1982ede1 Nix fs.async.* methods. They aren't needed now. 2012-08-30 16:12:15 -06:00
Nathan Sobo
d5ffdb153a Remove $native.saveDialog. It's replaced with atom.showSaveDialog 2012-08-30 11:08:55 -06:00
Corey Johnson
b4f617c657 Remove util.h 2012-08-30 09:07:39 -07:00
Nathan Sobo
c24c9e2003 Merge branch 'master' of github.com:github/atom-cef3
Conflicts:
	native/atom_cef_client.h
	native/atom_cef_client_mac.mm
	src/app/atom.coffee
2012-08-29 23:08:31 -06:00
Nathan Sobo
63a0746cc5 Remove $native.alert 2012-08-29 20:53:04 -05:00
Corey Johnson
d9dc526425 DevTools are working 2012-08-29 15:31:06 -07:00
Nathan Sobo
9d203b9425 Merge branch 'master' of github.com:github/atom-cef3
Conflicts:
	src/app/atom.coffee
2012-08-29 15:19:06 -05:00
Nathan Sobo
fcc012eb11 Messages from the browser process call atom.messageReceivedFromBrowserProcess
This is how we will handle replies from dialogs presented in the browser process.
2012-08-29 15:07:10 -05:00
Corey Johnson
073164c584 Remove newWindow from native extension 2012-08-29 08:56:57 -07:00
Nathan Sobo
9029e2f591 Nuke native open code in v8_extensions/atom.mm 2012-08-28 16:54:25 -07:00
Corey Johnson & Nathan Sobo
f6a55ee468 Throw exception if fs.list's path argument is null or empty 2012-08-28 16:47:36 -07:00
Nathan Sobo
7bfc97c4c4 Nuke native open code in v8_extensions/atom.mm 2012-08-28 17:04:54 -05:00
Nathan Sobo
502e52f37d Implement atom.open using atom.sendMessageToBrowserProcess 2012-08-28 16:47:19 -05:00
Nathan Sobo
87a0f93149 Add atom.sendMessageToBrowserProcess to atom v8 extension 2012-08-28 16:42:11 -05:00
Nathan Sobo
16c7c523cf Native open code now presents the open panel from the browser process
This avoids retina resolution issues and ink framework errors that occur when opening dialogs from the chromium renderer process.
2012-08-28 13:54:44 -05:00
Corey Johnson & Nathan Sobo
4781d477cd Remove tabs and handle key events when there are no windows open. 2012-08-28 10:37:25 -07:00
Nathan Sobo
a4a87917ba Put the other v8 extensions in the v8_extensions namespace 2012-08-28 11:16:27 -05:00
Nathan Sobo
76b8f42bb7 Add atom extension, which implements atom.open
We send a message from the render process to the browser process indicating which path to open. Also start introducing a `v8_extensions::` namespace to contain the extensions.
2012-08-28 11:08:50 -05:00
Corey Johnson & Nathan Sobo
da35ca4c44 Add OnigRegExp 2012-08-27 15:00:38 -07:00
Corey Johnson & Nathan Sobo
5141aba658 Move all extension C and JavaScript code into native/v8_extensions 2012-08-27 14:02:05 -07:00
Corey Johnson & Nathan Sobo
c4639b894e path 💄 2012-08-27 13:30:04 -07:00