Commit Graph

306 Commits

Author SHA1 Message Date
Corey Johnson & Nathan Sobo
29e7a6d774 Moving the cursor without holding shift clears selection 2012-01-27 12:42:33 -08:00
Nathan Sobo
6bf82a27c9 Selections render themselves on screen (1 div per line)
Still a lot of details to cover, but basic selection creation is
working.
2012-01-26 18:54:18 -08:00
Nathan Sobo
5aeef9e58f WIP: Starting on creating a selection with shift-arrows
Introduce Point and Range objects. Selection.selectRight places an
anchor object before moving right if no anchor yet exists. Still no
visual treatment.
2012-01-26 15:45:49 -08:00
Nathan Sobo
4c7441326c Move text manipulation methods to selection
Ultimately, the current selection will control the location / extent of
any manipulation, so it makes sense to put these methods there.
2012-01-26 14:16:17 -08:00
Nathan Sobo
2825c945e5 💄 2012-01-26 13:46:12 -08:00
Nathan Sobo
c70206fc9c Introduce Selection object that contains the cursor
All cursor operations will be proxied through the selection, so that
the selection can be cleared if necessary.
2012-01-26 13:23:59 -08:00
Corey Johnson
83c8684f80 Uncommented a spec 2012-01-26 10:47:22 -08:00
Corey Johnson
b8776fc010 Uncommented a test 2012-01-26 10:40:04 -08:00
Corey Johnson
902c714f00 Rename col to column 2012-01-26 10:16:43 -08:00
Corey Johnson & Nathan Sobo
90faddf9f1 Refactor all buffer manipulation to use Buffer.change
Change takes a range and a string and replaces the range with the
string, then emits a change event with the range of text that was
changed, the range of text occupied by the new string, and the string
itself. This can be used to implement backspace, insert, as well as
various cut and paste manipulations.
2012-01-25 17:59:15 -08:00
Corey Johnson & Nathan Sobo
b5317b83a5 Implement backspace on Editor 2012-01-25 16:07:04 -08:00
Corey Johnson & Nathan Sobo
3a423e2a16 Implement backspace on Buffer 2012-01-25 14:33:47 -08:00
Corey Johnson & Nathan Sobo
045c3c39bf Render empty lines correctly when inserting newlines 2012-01-25 13:36:32 -08:00
Corey Johnson & Nathan Sobo
c536933c0b Newline chars can be inserted into the buffer. 2012-01-25 12:58:36 -08:00
Corey Johnson & Nathan Sobo
c11a618a9f X and Y were inverted 2012-01-25 12:20:58 -08:00
Corey Johnson & Nathan Sobo
f6ec9daf39 Rename col/row to x/y 2012-01-25 09:35:33 -08:00
Corey Johnson & Nathan Sobo
3534f463a6 Unfocus test 2012-01-25 08:39:36 -08:00
Nathan Sobo
92f7b51cd4 💄 2012-01-24 18:14:44 -08:00
Corey Johnson & Nathan Sobo
90656aaffb 💩 2012-01-24 17:30:40 -08:00
Corey Johnson & Nathan Sobo
0fe70f0920 Focus Editor on DOM attachement 2012-01-24 17:26:38 -08:00
Corey Johnson & Nathan Sobo
b4d91f2bc7 Typing inserts a character at the cursor position 2012-01-24 17:19:01 -08:00
Corey Johnson & Nathan Sobo
4ca3bbdbca Fix fileFinder test 2012-01-24 15:29:33 -08:00
Corey Johnson & Nathan Sobo
6af33c3337 Editor directs focus to a hidden input element.
Now we'll be able to listen for textInput events, which give us better
information about what character is being entered in the presence of
multi-keystroke compositions like alt-u,u for ü
2012-01-24 15:27:05 -08:00
Nathan Sobo
18f09aad9e 💄 2012-01-24 14:21:43 -08:00
Corey Johnson & Nathan Sobo
59086a1131 Map h to MoveRight 2012-01-24 10:06:25 -08:00
Corey Johnson & Nathan Sobo
10bf803fe0 Make tests green
Some need to be disabled because they rely on ace. Others fixed. Others
deleted.
2012-01-23 17:28:16 -08:00
Corey Johnson & Nathan Sobo
5ddf4e1a0b Ensure combined scroll margins are smaller than editor height.
This prevents jerky scrolling when the window is very short.
2012-01-23 17:15:11 -08:00
Corey Johnson & Nathan Sobo
1a52890d19 Cursor scrolls editor as it moves 2012-01-23 16:45:00 -08:00
Corey Johnson & Nathan Sobo
81fc69120f Retain goal column when moving up on first line.
Also: Respect a goal column of 0 when moving down on last line and then
back up. (Unlike TextMate)
2012-01-23 14:56:30 -08:00
Corey Johnson & Nathan Sobo
101d20692d Don't nuke goalColumn when moving down on last line 2012-01-23 14:37:03 -08:00
Corey Johnson & Nathan Sobo
713615d515 Retain goal column when moving cursor up. 2012-01-23 14:18:34 -08:00
Corey Johnson & Nathan Sobo
5f058e690c Goal column is cleared when not moving vertically
This allows left/right movements to choose a new goal.
2012-01-23 13:58:26 -08:00
Corey Johnson & Nathan Sobo
1dcebbae45 WIP: Use a goal column when moving down
Still needs to be cleared when moving horizontally.
2012-01-23 13:40:37 -08:00
Corey Johnson & Nathan Sobo
3d45a5201d Move movement logic to cursor subview. 2012-01-23 12:50:07 -08:00
Corey Johnson & Nathan Sobo
a647fa4220 Implement d3d
Delete line can take a count before the second d. When the second d is
typed it pushed a SelectLines operation. When a numeric prefix is
composed with SelectLines, it assigns its count on select lines, which
uses it to determine how many lines to select. This bypasses the normal
"repeat command" semantics of numeric prefix.
2012-01-23 11:37:00 -08:00
Corey Johnson & Nathan Sobo
9b3fc10130 Make dh keybinding work. 2012-01-23 10:06:56 -08:00
Corey Johnson & Nathan Sobo
261db5189c Add tests 2012-01-23 09:27:18 -08:00
Danny Greg & Nathan Sobo
98947877e5 Properly html escape rendered text in editor and render empty lines. 2012-01-19 19:08:40 -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
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
Danny Greg & Nathan Sobo
030e241c75 Don't spill out of document when moving right and left 2012-01-19 15:40:26 -08:00
Danny Greg & Nathan Sobo
a606fe55b3 Keep cursor inside the lines when moving. 2012-01-19 14:39:16 -08:00
Danny Greg & Nathan Sobo
cd127c009e Cursor can move around screen
Still not handling corner cases like moving off the edge of screen,
line, etc.
2012-01-17 18:13:50 -08:00
Nathan Sobo
5198a88cce Half-baked: Have a lines reasonably looking cursor working.
A bunch of tests are failing but you can load a buffer and display its
lines.
2012-01-16 22:11:38 -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
bde3a9f5f5 Use requireStylesheet for editor stylesheet. 2012-01-16 20:17:07 -08:00
Nathan Sobo
1a16a755b4 Merge branch 'master' into editor
Conflicts:
	spec/spec-helper.coffee
2012-01-16 20:04:50 -08:00
Nathan Sobo
f4aa8daa52 Add window.requireStylesheet
This allows you to synchronously load a stylesheet into the document's
head whenever it is needed.
2012-01-16 20:03:48 -08:00
Nathan Sobo
7d7b119927 WIP 2012-01-16 19:23:27 -08:00
Nathan Sobo
07a51fb310 Displaying lines and a basic cursor 2012-01-16 17:17:36 -08:00
Nathan Sobo
83cfe70962 Rename Editor.get/setCursor to get/setPosition
This makes it more consistent with selectoToPosition. Also... you
weren't getting the cursor. The cursor is a thing on the screen. At the
very least getCursor should return an object you can move around, not
just a row/column struct. Position seems like a better name.
2012-01-14 00:36:15 -08:00
Nathan Sobo
d1869516fd Implement d3w
NumericPrefix now has a .select() method that calls select multiple
times on its operand. Editor.selectToPosition modified to extend
existing selections, and only create a new one if needed. This allows
repetition of a motion's select method to expand the selection.
2012-01-14 00:31:11 -08:00
Nathan Sobo
91cc9cc9a4 Implement dw (delete to beginning of next word)
The w motion has a .select() method. When d composes with a motion it
calls select() on it and then deletes the selected text.
2012-01-14 00:10:34 -08:00
Nathan Sobo
d94d387101 Cover other next word cases.
Now it moves to words on the next line and also to the next empty line.
2012-01-13 19:47:09 -08:00
Nathan Sobo
1809ba4ef1 💄 2012-01-13 19:18:13 -08:00
Nathan Sobo
7546ddc8cc 'w' moves to next word (not fully functional for multi-line) 2012-01-13 19:18:13 -08:00
Corey Johnson & Nathan Sobo
b2648723de dd deletes an entire line 2012-01-13 17:38:33 -08:00
Nathan Sobo
712475569d Can enter multi-digit numeric prefixes in command mode. 2012-01-13 14:49:25 -08:00
Nathan Sobo
b4886bb6d6 In vim command-mode, only eat insertion keys, not other modifiers 2012-01-13 14:23:58 -08:00
Nathan Sobo
13d7f93dd9 GlobalKeyMap adds a 'keystroke' string to events
The keystroke is a string representation of the event... like
"alt-ctrl-x" or "q"
2012-01-13 14:03:22 -08:00
Corey Johnson & Nathan Sobo
fd48c67bfa Add App.bindKey 2012-01-13 12:06:52 -08:00
Corey Johnson & Nathan Sobo
ca2b7c9fd1 Add MoveUp command to VimMode 2012-01-13 10:57:08 -08:00
Corey Johnson & Nathan Sobo
d3d832a740 Add h (move left) monvment to vimMode. 2012-01-13 10:44:51 -08:00
Nathan Sobo
86d7a91dcd 💄 2012-01-12 17:56:49 -08:00
Nathan Sobo
a2cf77892d Don't insert characters in vim command mode
GlobalKeymap.bindKey can take a selector and a custom function that
maps key events to commands. If it returns false, no command is
triggered but event propagation is halted.
2012-01-12 17:51:23 -08:00
Nathan Sobo
ee068a4b84 GlobalKeymap favor most recently declared bindings in case of tie
Just like in CSS, when multiple equally-specific selectors match an
element, we favor the most recently declared one, so keybindings
cascade.
2012-01-12 16:35:10 -08:00
Nathan Sobo
2c2423f985 Single-digit numeric prefixes can repeat commands in vim-mode
Vim mode has an operator stack. Every time an operator is pushed to the
stack, we ask if it is complete. If it's complete, we compose it with
the operator below it, then pop that operator if its complete. When no
operators remain on the stack, we call execute the final composed
operator. So far we only have DeleteChar (x) and NumericPrefix
operators.
2012-01-11 22:02:47 -08:00
Nathan Sobo
671d862441 💄 2012-01-11 20:21:38 -08:00
Corey Johnson & Nathan Sobo
8471270add Vim mode supports command mode and insert mode with i, esc, and x bindings 2012-01-11 15:00:40 -08:00
Corey Johnson & Nathan Sobo
17ad7a26e7 Ensure focus returns to the editor when file finder closes.
We just capture focusout events on root view… if anything other than the editors text area lost focus, we focus the editor again. This will likely need refinement when we add more widgets to the system, but its enough to make the fuzzy finder behave appropriately.
2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
83a68dbbb0 GlobalKeymap.handleKeyEvent does not stop event propagation if no binding matches. 2012-01-11 13:16:11 -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
1aa99c379f Move GlobalKeymap instance to App. Clear bindings between examples. 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
Nathan Sobo
2a80a72d64 Bind keydown on root view to catch events that aren't handled by ace
Also fixed a bug where the GlobalKeymap wasn't returning true when it
matched a binding, which caused key events to be processed twice when
they bubbled out of the editor and hit the root view.
2012-01-11 13:16:11 -08:00
Nathan Sobo
7f4120ce36 Toggle file-finder with a new CSS-style keybinding
Still doesn't hide when the text field is focused because we need to
handle key events that didn't emerge from Ace. That's next.
2012-01-11 13:16:11 -08:00
Nathan Sobo
51736e7695 Call window.close when window receives the 'close' event.
The RootView binds meta-w to the 'close' event.
2012-01-11 13:16:11 -08:00
Nathan Sobo
783e9446e9 Fix bug: Don't call handleKeyEvent with undefined event
Ace triggers key handlers for both keydown (onCommandKey) and input
(onTextInput) events. Input events don't pass the event, which was
blowing up the keymap.
2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
0346671d18 💄 2012-01-11 13:16:11 -08:00
Corey Johnson & Nathan Sobo
4e7b1b8979 Meta-s triggers save event with the new css-based keymap. 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
6a25dc00c5 Add BindingSetSpec and change keybinding pattern separator.
Also, we allow chorded bindings to be surrounded in <…> in preparation of key sequences.
2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
11866b90fe Rename KeyEventHandler to GlobalKeymap 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
e9c0b9903d Test that global key bindings defined on root view work in the editor. 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
c3b5cd19ea Editor can have custom key event handler.
editor.keyEventHandler.handleKeyEvent is passed all key events. When it returns true, the event is not handled by Ace.
2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
7f3396c125 Rename createKeyEvent to keydownEvent 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
6ed0684eed Fix Project.getFilePaths spec. It returns relative paths. 2012-01-11 13:16:10 -08:00
Nathan Sobo
65605409b0 Favor key bindings with the most specific CSS selectors
Now if a keypress event bubbles to an element with bindings for
multiple matching selectors, the most specific selector is chosen. This
allows us to override a keybinding by using a more specific selector.
For example, say we have an editor instance inside of the file-finder
widget, so that the user can use all their normal bindings when they
type the name of the file. Except when they hit <esc> we want to close
the file finder, not do whatever they normally have it bound to. Now we
can just say:

```
.file-finder .editor {
  <esc>: close-file-finder
}
```

And we're assured that our binding will take precedence.
2012-01-11 13:16:10 -08:00
Nathan Sobo
f5be55e000 Only trigger bindings on the closest ancestor node of an event target.
Say we have a structure like:

div.parent
  div.child
    div.grandchild

And we have two mappings:

.parent { x: foo }
.child { x:bar }

If there's an event originating on grandchild, it will *only* trigger
bar, because that selector selects a closer ancestor.
2012-01-11 13:16:10 -08:00
Nathan Sobo
9c98e971fc Key binding selectors match events on descendants 2012-01-11 13:16:10 -08:00
Nathan Sobo
18e614e88d Start experiment: associate key bindings with CSS selectors
KeyEventHandler holds references to BindingSets. The name "binding set"
is based on the concept of a CSS ruleset. The idea is to choose a key
binding for an event based on what selectors (match / most closely
contain) the event's target DOM node.
2012-01-11 13:16:10 -08:00
Nathan Sobo
3a1d167a0f Command map allows for ambiguous key pattern prefix matches.
If we have pattern 'da' and 'dad' both mapped, when 'da' is typed, the KeyMap waits for a given timeout for another character to be entered. If the time elapses, it goes ahead and executes the action for 'da'. But if a 'd' is subsequently entered, it executes 'dad'.
2012-01-11 13:16:10 -08:00
Nathan Sobo
d0ff3c7d4a Start on CommandMap for Vim-style command mode. Matches patterns involving multiple key events. 2012-01-11 13:16:10 -08:00
Corey Johnson & Nathan Sobo
18b9782b16 Opening a previously opened url restores the same buffer and session. 2012-01-05 16:33:53 -08:00
Corey Johnson & Nathan Sobo
23c3cbf85f Add Project.open, which returns a buffer for an absolute/relative path. 2012-01-05 12:02:25 -08:00
Corey Johnson & Nathan Sobo
5293ba7469 Add fs.join 2012-01-05 12:01:55 -08:00
Corey Johnson & Nathan Sobo
1c24ad0fdd Eliminate Editor.open 2012-01-05 11:26:14 -08:00
Corey Johnson & Nathan Sobo
b5b1ac67fa Remove slow specs 2012-01-05 11:20:18 -08:00
Corey Johnson & Nathan Sobo
aee7df0b9f Add Editor.setBuffer 2012-01-05 11:13:55 -08:00
Corey Johnson
4121b2076e Display relative paths in the file finder 2012-01-05 11:01:17 -08:00
Nathan Sobo
192166d61a Merge branch 'master' of github.com:probablycorey/Atomicity
Conflicts:
	src/atom/project.coffee
2012-01-04 19:05:01 -08:00
Nathan Sobo
1689824ad7 💄 2012-01-04 19:08:23 -07: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
ee53616d82 Ensure that all windows are closed before proceeding to next spec. 2012-01-04 17:33:06 -07:00
Corey Johnson
7e270d641d FileFinder removes itself when item is selected. 2012-01-04 15:47:41 -08:00
Corey Johnson
3ffe57f228 Project.getFilePaths returns full urls.
FileFinder.initialize takes a 'selected' callback.
2012-01-04 15:30:41 -08:00
Corey Johnson
9419a9ec86 Spread the app specs out. 2012-01-04 15:25:57 -08:00
Nathan Sobo
816f3774e1 Merge branch 'master' into asyncfs 2012-01-04 13:58:10 -07:00
Corey Johnson & Nathan Sobo
236ea5e906 RootView handles opening directories 2012-01-04 10:51:41 -08:00
Corey Johnson & Nathan Sobo
44802e9647 Hitting enter on FileFinder opens file in new window. 2012-01-03 17:08:13 -08:00
Corey Johnson & Nathan Sobo
f0976d4650 FileFinder requires the full filePath. 2012-01-03 17:08:04 -08:00
Nathan Sobo
1420ca9adb Rename Project.list -> Project.getFilePaths, and change its behavior.
getFilePaths only resolves to the project-relative paths of all files in the project, excluding directories.
2012-01-03 17:22:03 -07:00
Nathan Sobo
6dddb1aa26 RootView.toggleFileFinder scans urls asynchronously. 2012-01-03 16:39:09 -07:00
Nathan Sobo
07b40cdbeb RootView opens a project for the directory of the url passed to initialize.
Rename fixtures/file-finder-dir to fixtures/dir, because it's not really file-finder specific.
2012-01-03 16:01:46 -07:00
Corey Johnson & Nathan Sobo
f8b04cd902 RootView is initialized with a url and opens it with its editor 2012-01-03 13:57:10 -08:00
Corey Johnson & Nathan Sobo
2cfea9fa42 Fix broken specs 2012-01-03 14:40:31 -07: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
b3a7e1e097 Add failing fs.async.list spec. 2012-01-03 11:18:08 -07:00
Corey Johnson & Nathan Sobo
fe0c6f9a61 Remove common path prefix from FileFinder matches 2011-12-30 11:50:29 -08:00
Corey Johnson & Nathan Sobo
e6053a2d66 FileFinder only returns up to maxResults 2011-12-30 11:37:11 -08:00
Nathan Sobo
ad024bc1e6 Move window-global key bindings from window object to RootView.
This makes it simpler to discard bindings between specs: just throw away the RootView. It's also more straightforward to call @bindKey on self in the initialization of RootView, rather than binding to document on window.startup.
2011-12-30 13:26:48 -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
98458806ea Add moveUp and moveDown to FileFinder 2011-12-29 16:43:22 -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
5aee51eb35 FileFinder tests pass 2011-12-29 15:37:08 -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
2eb7d2a215 FileFinder loads files from editor.url's directory 2011-12-29 12:23:04 -08:00
Corey Johnson & Nathan Sobo
35e4b0e969 Incorporate Editor into templating framework. 2011-12-29 13:12:13 -06:00
Corey Johnson & Nathan Sobo
0285c3d94d Builder.subview wires an outlet directly, rather than assigning an outlet property. 2011-12-29 13:10:44 -06:00
Corey Johnson & Nathan Sobo
b25fc80c9a Template.subview expects a view instance instead of a template and params hash. 2011-12-29 12:17:52 -06:00
Corey Johnson & Nathan Sobo
8455507566 Use _.uniqueId to generate temporary subview divs. 2011-12-29 11:58:59 -06:00
Corey Johnson & Nathan Sobo
79ead1fefb Add Builder.subview / Template.subview 2011-12-29 11:43:14 -06:00
Corey Johnson & Nathan Sobo
81dbe51851 Editor.buildAceEditor is causing root-view-spec to fail because it expects the DOM to have a #main element. I think we need to implement subviews for this to work, but didn't have time to get that working. 2011-12-28 17:30:34 -08:00
Corey Johnson & Nathan Sobo
e617e129e0 Rename Layout to RootView 2011-12-28 17:14:32 -08:00
Corey Johnson & Nathan Sobo
c6fbad8e9e FileFinder is toggleable 2011-12-28 16:21:38 -08:00
Corey Johnson
7c2f4ff1be Remove focused spec 2011-12-28 15:17:42 -08:00
Corey Johnson & Nathan Sobo
c6d90748f7 Meta-t adds file finder to bottom of layout. 2011-12-28 16:30:08 -06:00