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