Corey Johnson & Nathan Sobo
b37b45b4b1
atom variable holds all global state and is shared across contexts.
2012-02-28 13:14:35 -08:00
Corey Johnson
0845fc15c8
Ignore menu items for now.
2012-02-27 13:57:52 -08:00
Corey Johnson
71cab248cf
rename listFiles to list
2012-02-27 13:42:54 -08:00
Corey Johnson
25133fc8d9
Handle copy/paste using $native
2012-02-27 13:08:40 -08:00
Corey Johnson
8cbf4331e4
Remove references to OSX from fs.coffee and make fs specs pass.
2012-02-27 11:38:25 -08:00
Corey Johnson
3ea7f4d4d3
Remove all menu item code for now.
2012-02-22 16:08:42 -08:00
Corey Johnson
a540bbc6a9
Make more native methods
2012-02-22 16:08:30 -08:00
Corey Johnson
b99c4deb49
Fix path to specs. Now spec-suite runs.
2012-02-22 15:08:19 -08:00
Corey Johnson
0ec5c9a4fa
Add fs.listDirectoryTree
2012-02-22 12:00:41 -08:00
Corey Johnson
d666e73cfa
Add list to $native
2012-02-21 15:39:35 -08:00
Corey Johnson
82dac0e554
Building Atom with Chrome
2012-02-21 14:36:59 -08:00
Nathan Sobo
bb640dd342
Use $$ -> to render ad-hoc document fragments
...
Also eliminate stdlib/template directory which held code related to
SpacePen's precursor framework.
2012-02-06 16:19:43 -07:00
Nathan Sobo
64a97b9427
Use SpacePen for all views
...
SpacePen is better because its objects inherit directly from the jQuery
prototype, meaning you can create them with `new`.
2012-02-06 12:12:45 -07:00
Corey Johnson
7dba7dc3de
meta-c copies text in selection
2012-01-30 17:46:03 -08:00
Corey Johnson
99cbb5e0a2
Cache compiled CoffeeScript on the Objective-C side.
...
This is a temporary fix, it just stores compiled scripts in memory. It
doesn't speed up the app start since the scripts need to be compiled
once. Here are some numbers.
#file load
pre: 1.5 seconds
post: 0.25 seconds
#spec load
pre: 5.4 seconds
post: 0.36 seconds
2012-01-30 16:19:28 -08:00
Danny Greg & Nathan Sobo
62d8aa72e2
Merge branch 'master' into editor
2012-01-19 18:54:34 -08:00
Danny Greg & Nathan Sobo
0e9bfe4d1a
Builder has class methods for every tag
...
Shorthand: If you know the top-level tag you want to render, you can
call `Builder.div class: "foo", -> ...` instead of calling render.
2012-01-19 18:54:09 -08:00
Danny Greg & Nathan Sobo
aec88e3404
Add Builder.render and instance methods for tags
...
Builder.render takes a function that calls tag methods and returns a
view fragment.
2012-01-19 18:30:32 -08:00
Danny Greg & Nathan Sobo
81c2faf529
Merge branch 'master' into editor
2012-01-19 16:49:48 -08:00
Danny Greg & Nathan Sobo
fe582d7cd7
Proxy raw from template to builder.
2012-01-19 16:49:42 -08:00
Danny Greg & Nathan Sobo
7d0c5ff2f0
Merge branch 'master' into editor
2012-01-19 16:47:12 -08:00
Danny Greg & Nathan Sobo
5e41f82985
Add a raw call to builder.
2012-01-19 16:46:32 -08:00
Danny Greg & Nathan Sobo
597e4c54b2
Merge branch 'master' into editor
2012-01-19 16:37:58 -08:00
Danny Greg & Nathan Sobo
660beb9f65
Text inside of tags is HTML escaped.
2012-01-19 16:36:32 -08:00
Nathan Sobo
4274ff4a81
Merge branch 'master' into editor
2012-01-16 21:28:31 -08:00
Nathan Sobo
ba2ed50e87
Also trigger 'attach' on subviews when parent view is attached.
2012-01-16 21:28:18 -08:00
Nathan Sobo
a051e452ea
Merge branch 'master' into editor
2012-01-16 21:17:51 -08:00
Nathan Sobo
5dbdd92e6c
When views are attached to dom, trigger 'attach' events
...
Added this mechanism by augmenting jQuery dom mutation methods. It will
only trigger an event if the element has a truthy value for the
'triggerAttach' data entry. This will allow us to execute actions that
require the view to be physically on the dom at the appropriate time.
2012-01-16 21:15:57 -08:00
Nathan Sobo
07a51fb310
Displaying lines and a basic cursor
2012-01-16 17:17:36 -08:00
Corey Johnson & Nathan Sobo
278ac6a9f2
Remove bindKey from views. Make FileFinder use atom.bindKeys
2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
e58f699681
Remove KeyBinder and CommandMap.
2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
11866b90fe
Rename KeyEventHandler to GlobalKeymap
2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
5293ba7469
Add fs.join
2012-01-05 12:01:55 -08:00
Nathan Sobo
629c1ef239
If passed a directory path, fs.directory returns the path it is given (not the parent dir)
2012-01-04 19:07:55 -07:00
Nathan Sobo
80e4fda2f9
Filter out directory paths for FileFinder in Objective-C instead of JS.
...
Rename FileSystemHelper-contentsOfDirectoryAtPath… to -listFilesAtPath to make it clear that we're only listing files, not subdirectories. This is a fairly special purpose method but it saves us from calling back into objective-c a ton of times to filter them in JS, and makes bringing up the file finder ~2x as fast.
2012-01-04 18:22:22 -07:00
Nathan Sobo
be0fa84f1f
Move fs support methods out of AtomController into FileSystemHelper
2012-01-04 18:01:31 -07:00
Nathan Sobo
40e629b0ff
Remove benchmarking calls.
2012-01-04 13:30:26 -07:00
Nathan Sobo
faa39f6bdb
Construct native JS array/strings in C for fs.async.list callback.
...
Converting from JS-cocoa wrapper values for every element in the array appears to be very slow. Here we construct native JS datatypes and it's much faster. This is very messy and leaky and needs to be cleaned up if we want to keep it.
2012-01-03 22:47:20 -07:00
Corey Johnson & Nathan Sobo
7ba7ba2c81
Ported absolute and isFile to Objective-c.
...
This took fileFinder loading from .8 seconds to .35 seconds.
2012-01-03 17:50:43 -08:00
Corey Johnson & Nathan Sobo
982d5a4426
Benchmarking reveals filtering out non-files takes forevs
...
toString everything 0.199
Filter out non-files 0.703
Everything 0.961
2012-01-03 17:34:21 -08:00
Corey Johnson & Nathan Sobo
5b3e0e9f83
fs.async.list takes a boolean 'recursive' flag.
2012-01-03 14:23:18 -07:00
Corey Johnson & Nathan Sobo
3822549007
Spec passes for fs.async.list.
2012-01-03 14:03:03 -07:00
Corey Johnson & Nathan Sobo
e327dcc8e5
Experiment with async callbacks from js
2011-12-30 18:02:11 -06:00
Nathan Sobo
a1e0039890
Centralize key binding logic in KeyBinder and jQuery.fn.bindKey extension.
...
This commit removes window.bindKey in favor of binding keys on dom elements. It also refactors pattern parsing in the test helper to use KeyBinder.parseKeyPattern.
2011-12-30 13:19:41 -06:00
Nathan Sobo
5273cb0638
Add $.fn.bindKey, which works on any jquery-wrapped element.
...
If given a string as an action, it attempts to call a method by that name on the element's view object. If given a function, it calls it directly.
2011-12-30 12:33:55 -06:00
Nathan Sobo
dc38a0e375
Add $.fn.view method, which links any jquery element to its parent view.
...
When generating a jQuery fragment with the templating framework, I store the fragment in the 'view' data property on all the fragments elements. This allows us to query an element from the DOM and determine what view object it belongs to.
2011-12-30 12:05:11 -06:00
Corey Johnson & Nathan Sobo
e4d73ace25
Bound up / down keys to moveUp / moveDown in fileFinder
2011-12-29 17:38:08 -08:00
Corey Johnson & Nathan Sobo
0f772c0858
Template framework can bind events on the root of views, in addition to descendant elements.
2011-12-29 16:13:16 -08:00
Corey Johnson & Nathan Sobo
b279063550
Fix bug where subviews could clobber outlets on superviews.
...
Now we wire outlets before the subviews are attached, preventing any outlets on the subview from overwriting outlets on the superview.
2011-12-29 16:29:06 -06:00
Corey Johnson & Nathan Sobo
ef628f0ad4
Add directory method to fs
2011-12-29 11:43:32 -08:00