Commit Graph

1785 Commits

Author SHA1 Message Date
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