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
Kevin Sawicki
d8011fe853
Add initial markdown preview extension
...
Uses the GitHub Markdown API to render the current
editor contents for .md and .markdown files.
2012-09-27 13:07:22 -07: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
a6352497b9
Merge branch 'master' of https://github.com/github/atom
2012-09-25 13:22:24 -07:00
Nathan Sobo
df98c3e9d7
Add "Window" menu
2012-09-25 12:03:26 -06:00
Corey Johnson
cf48665a03
Open Atom src when run via Xcode
2012-09-25 09:57:48 -07:00
Nathan Sobo
bea3c88ea1
In FocusNextWindow
, require that window is visible before trying to focus it
2012-09-24 21:18:44 -06:00
Corey Johnson
23917ab675
Merge branch 'master' of https://github.com/github/atom
2012-09-24 15:55:53 -07:00
Corey Johnson
cccebda665
Stop when position equals the start position (not always 0)
2012-09-24 15:47:03 -07:00
Nathan Sobo
df0c19482c
Hack in a workaround to cycle windows with meta-`
...
There's something wrong with CEF 3 right now where meta-` events aren't being forwarded to cocoa correctly. I just added some code to intercept meta-` and manually cycle the windows. I ignore any windows for which `excludeFromWindowsMenu` is true. That means we don't ever cycle to the hidden menu.
2012-09-24 16:32:05 -06:00
Corey Johnson
ea18840798
Remove unused methods from onig_reg_exp.js
2012-09-24 11:53:52 -07:00
Corey Johnson
831e6ba231
Window starts with no name by default
2012-09-21 16:48:36 -07:00
Corey Johnson
2665a64a78
I remove useless comments
2012-09-21 16:47:44 -07:00
Corey Johnson
efab25a1d1
Merge remote-tracking branch 'origin/master' into making-things-easy
2012-09-21 16:37:29 -07:00
Kevin Sawicki
5c78ebff42
Use platform independent extension header files
2012-09-20 16:24:20 -07:00
Kevin Sawicki
7ef3bab130
Make install script 32-bit only
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
8a570ab1b5
Add 64-bit cef libraries
2012-09-20 16:24:20 -07:00
Kevin Sawicki
13a3592af7
Remove cache miss error text
2012-09-20 16:24:10 -07:00
Kevin Sawicki
3c24fb1a34
Remove commented out code
2012-09-20 16:24:10 -07:00
Kevin Sawicki
ed77dc0916
Remove unused fields
2012-09-20 16:24:10 -07:00
Kevin Sawicki
0f42668718
Use std namespac
2012-09-20 16:24:10 -07:00
Kevin Sawicki
9901901c72
Remove unneeded includes
2012-09-20 16:24:10 -07:00
Kevin Sawicki
8f3438710f
Remove old onig extension
2012-09-20 16:24:10 -07:00
Kevin Sawicki
981ef3e0b6
Remove unneded curlies
2012-09-20 16:24:10 -07:00
Kevin Sawicki
405ec2fe8d
Remove logging
2012-09-20 16:24:09 -07:00
Kevin Sawicki
d006262c23
Remove old native handler
2012-09-20 16:24:09 -07:00
Kevin Sawicki
4d07f406ca
Use message_translation from parent folder
2012-09-20 16:24:09 -07:00
Kevin Sawicki
54acfd507f
Reload when message says so
2012-09-20 16:24:09 -07:00
Kevin Sawicki
28bd2f7d06
Move pak files and images to static folder
2012-09-20 16:24:09 -07:00
Kevin Sawicki
7a27a43e53
Set window icon before showing
2012-09-20 16:24:08 -07:00
Kevin Sawicki
97756ee90b
Move linux extensions to v8_extensions folder
2012-09-20 16:24:08 -07:00
Kevin Sawicki
f90f827429
Remove /atom ignore line
...
Executable is now created in out folder
2012-09-20 16:24:08 -07:00
Kevin Sawicki
048f114987
Use includes from parent folder
2012-09-20 16:24:08 -07:00
Kevin Sawicki
859f058e2d
Update build and install for new location
2012-09-20 16:24:08 -07:00
Kevin Sawicki
09f0a162bc
Remove commented code
2012-09-20 16:24:08 -07:00
Kevin Sawicki
75c383ab98
Move linux folder under native
2012-09-20 16:24:08 -07:00
Corey Johnson
5b9a305bba
Log console messages to NSLog (so we can see them in Console.app)
2012-09-20 15:26:26 -07:00
Corey Johnson
d3443ad2f1
Remove non-posix (i.e. -long_argument_with_one_leading_hyphen) added by OS X from the command line
2012-09-20 15:13:45 -07:00
Corey Johnson
4b8b4ef91c
A hack to get DevTools showing properly
2012-09-18 17:15:13 -07:00
Corey Johnson
a1939da395
Command line arguments with no variable don't crash the app.
2012-09-18 16:49:27 -07:00
Corey Johnson & Nathan Sobo
ff07710556
Atom cli can be called multiple times. Successive calls will open the given path in the existing Atom process.
2012-09-12 17:06:28 -07:00
Corey Johnson & Nathan Sobo
e2700395cf
💄
2012-09-12 16:50:24 -07:00
Corey Johnson & Nathan Sobo
c0f479b3a3
If multiple instances of Atom are open, abort the new Atom process and send it's path arguments to the existing Atom process via IPC.
2012-09-12 16:13:36 -07:00
Corey Johnson & Nathan Sobo
ab18eaa211
Make parseArguments a class method
2012-09-12 16:12:17 -07:00
Corey Johnson & Nathan Sobo
5ae185c4f5
Remove unused code
2012-09-12 15:29:01 -07:00
Corey Johnson & Nathan Sobo
bda3bcac4e
Merge branch 'making-things-easy' of github.com:github/atom into making-things-easy
2012-09-12 10:25:11 -07:00
Corey Johnson
28bd8ea459
wip
2012-09-11 17:38:27 -07:00
Corey Johnson
528f6ce967
Remove NSLog
2012-09-11 09:08:50 -07:00
Corey Johnson
dc1d6e529f
Remove debug.xcconfig
...
No longer using $RESOURCE_PATH in rake file.
2012-09-11 08:14:50 -07:00
Corey Johnson & Nathan Sobo
0ade1cd185
Remove debug.xcconfig
...
No longer using $RESOURCE_PATH in rake file.
2012-09-10 20:20:30 -07:00
Corey Johnson & Nathan Sobo
bebe95504a
wip
2012-09-10 17:29:07 -07:00
Corey Johnson & Nathan Sobo
d5831710c9
Move AtomApplication argument methods from the class to the instance
2012-09-10 17:24:10 -07:00
Corey Johnson & Nathan Sobo
6570aedbb0
Making rake install
almost work
2012-09-10 17:23:05 -07:00
Corey Johnson
9d830f9ef4
Remove rogue log
2012-09-10 17:22:21 -07:00
Corey Johnson & Nathan Sobo
85c37fd652
Move atom.resourcePath to window.resourcePath
...
The resourcePath is now set using a url param. Because resourcePath is needed by require.js, it needs to be on `window` rather than `atom`.
2012-09-10 17:22:21 -07:00
Corey Johnson & Nathan Sobo
949abdcd19
Pass argc and argv to CefInitialize
2012-09-10 17:22:21 -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
27335661dc
WIP: Getting specs and benchmarks running from the command line
2012-08-30 18:10:05 -06:00
Corey Johnson & Nathan Sobo
20dd59194b
Handle title change. But there's a bug in CEF that makes this only work once.
2012-08-30 17:42:53 -06:00
Corey Johnson & Nathan Sobo
bd1982ede1
Nix fs.async.* methods. They aren't needed now.
2012-08-30 16:12:15 -06:00
Corey Johnson & Nathan Sobo
08b9d69f59
Focus specs window before each test to ensure focus assertions pass
2012-08-30 16:11:42 -06:00
Corey Johnson
b31589d6df
If there is a RESOURCE_PATH defined, open that by default
2012-08-30 10:39:54 -07:00
Corey Johnson
6cb10a0855
Commented code deserves to die
2012-08-30 10:39:54 -07:00
Corey Johnson
35f603793d
Make default window size big enough to show the dev tools console icon
2012-08-30 10:39:54 -07:00
Corey Johnson
b0096ee0e6
Only non-mac versions of the app need to run CefExecuteProcess in their main function.
2012-08-30 10:39:54 -07:00
Nathan Sobo
3cc2faf7c2
Add atom.showDevTools
and replace calls to $native.showDevTools
2012-08-30 11:24:01 -06:00
Nathan Sobo
d5ffdb153a
Remove $native.saveDialog
. It's replaced with atom.showSaveDialog
2012-08-30 11:08:55 -06:00
Nathan Sobo
eaafa9eade
Merge branch 'master' of github.com:github/atom-cef3
...
Conflicts:
native/atom_cef_client.cpp
2012-08-30 11:05:50 -06:00
Nathan Sobo
8b5b7de6e0
Add atom.showSaveDialog
...
Reply messages now always begin with an array of the reply id and the callback index.
2012-08-30 10:52:35 -06:00
Corey Johnson
9c7c95f413
Update C++ headers
2012-08-30 09:11:01 -07:00
Corey Johnson
b4f617c657
Remove util.h
2012-08-30 09:07:39 -07:00
Corey Johnson
d2e517f5a3
💄
2012-08-30 08:54:18 -07:00
Nathan Sobo
3cc8297460
Fix merge screw-up
2012-08-29 23:27:30 -06: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
Nathan Sobo
725a6548fc
Add atom.confirm
, which displays a confirmation w/ buttons that fire callbacks
...
This communicates back to the browser process to display the confirmation, then the browser replies to the message with the index of the clicked button.
2012-08-29 18:31:49 -05:00
Corey Johnson
e741c42aae
meta-alt-i toggles hides DevTools while DevTools is active.
2012-08-29 16:03:13 -07:00
Corey Johnson
5ff8a5524e
Set dev tools view to the correct size
2012-08-29 15:38:10 -07:00
Corey Johnson
2dbd095cdc
rename process_helper_mac.cpp to main_helper_mac.mm
2012-08-29 15:36:01 -07:00
Corey Johnson
d9dc526425
DevTools are working
2012-08-29 15:31:06 -07:00
Corey Johnson
9660cf0074
Merge branch 'master' of github.com:github/atom-cef3
2012-08-29 14:37:21 -07:00
Corey Johnson
9277a4371d
Added method for creating browser to AtomWindowController
2012-08-29 14:37:17 -07:00
Nathan Sobo
dfdcce9785
Merge branch 'master' of github.com:github/atom-cef3
...
Conflicts:
native/atom_cef_client.cpp
2012-08-29 15:34:17 -05:00
Nathan Sobo
ff309c3c18
Skipping the first element of the message argument list because its a message id
2012-08-29 15:33:36 -05:00
Corey Johnson
0937681d57
Merge branch 'master' of github.com:github/atom-cef3
2012-08-29 13:33:30 -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
f107474059
Remove all default context menu items
2012-08-29 12:27:24 -07:00
Corey Johnson
10e5c85a75
Store localStorage in ~/Library/Application\ Support/Atom
2012-08-29 11:42:43 -07:00
Corey Johnson
7c04a183de
💄
2012-08-29 11:42:18 -07:00
Corey Johnson
6f99b61dd3
Now storing a window's state based on its rootDirectory (instead of on windowNumber)
2012-08-29 10:59:45 -07:00
Corey Johnson
073164c584
Remove newWindow from native extension
2012-08-29 08:56:57 -07:00
Corey Johnson
fa4650343b
Make meta-n (new window) work
2012-08-28 17:04:56 -07:00
Corey Johnson
fad214d6d9
💄
2012-08-28 17:01:02 -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
Corey Johnson & Nathan Sobo
2b2b857804
Only add pathToOpen to url params if it exists.
2012-08-28 16:46:44 -07:00
Corey Johnson & Nathan Sobo
726bd805e2
open nil, not an empty path
2012-08-28 16:45:59 -07:00
Nathan Sobo
74bf4db5fc
WIP: pushing message id to front of message data so browser process can reply
2012-08-28 17:20:49 -05: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
76b10aa85b
💄
2012-08-28 16:05:00 -05:00
Nathan Sobo
ce147837e3
Focus windows when they are opened
2012-08-28 16:04:44 -05:00
Nathan Sobo
12a6aca77c
Display prompt (still un-retina-fied) when reloading w/ unsaved buffers
2012-08-28 15:32:26 -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
48a31ecdb8
💩
2012-08-28 10:51:36 -07: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
71f453a3e0
More cleanup in AtomApplication
2012-08-28 12:30:19 -05:00
Nathan Sobo
7882f70c0c
Whitespace 💄
2012-08-28 11:58:24 -05:00
Nathan Sobo
f0dbe5db94
Break out AtomCefRenderProcessHandler so it's only included in the helper app
...
This means that none of the extension code has to be compiled into the browser app, which just seems cleaner.
2012-08-28 11:55:17 -05: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
Nathan Sobo
b08db363f0
Use UnderlayOpenGLHostingWindow as the NSWindow subclass in AtomWindow.xib
...
Apparently this is required for full acceleration. Taking it on faith.
2012-08-28 10:13:23 -05:00
Nathan Sobo
4da7d4d08b
Make AtomCefClient a JSDialogHandler and suppress dialog on reloads
2012-08-28 10:01:00 -05:00
Corey Johnson & Nathan Sobo
8fcf2af5a6
WIP: Handling reload, but need to put js dialog handler in proper place
2012-08-27 17:27:15 -07:00
Corey Johnson & Nathan Sobo
64a0fd84a7
WIP: sending reload message to render process on meta-r
2012-08-27 18:39:12 -05:00
Corey Johnson & Nathan Sobo
12b06ddf0c
Get spec suite running (lots of failures)
2012-08-27 17:36:36 -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
Corey Johnson & Nathan Sobo
e8aa1524c7
Rename atom folder to native
2012-08-27 13:21:59 -07:00