Nathan Sobo
8ea937b15b
When possible, re-assign line element text instead of replacing.
...
Slight speculative optimization but it's pretty simple.
2012-01-25 18:39:56 -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
430869b7e0
Show inspector with javascript
2012-01-25 12:29: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
0528a7b8cb
💄
2012-01-25 10:37:19 -08:00
Corey Johnson & Nathan Sobo
3317afb695
Make @edtior a field on Cursor
2012-01-25 10:28:50 -08:00
Corey Johnson & Nathan Sobo
e192bc7350
cursor has an @editor method instead of referring to @parentView a lot
...
Punt on making a field since @parentView is null when Cursor.initialize
is called.
2012-01-25 09:47:53 -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
31a1091f6c
Update coffee-script to 1.2
2012-01-25 08:39:36 -08:00
Corey Johnson & Nathan Sobo
3534f463a6
Unfocus test
2012-01-25 08:39:36 -08:00
Paul Betts
3af4aaf50a
Make sure the Resources directory exists
2012-01-24 23:02:50 -08:00
Nathan Sobo
92f7b51cd4
💄
2012-01-24 18:14:44 -08:00
Nathan Sobo
9d911d29c5
Bug fix: Editor retains focus when clicked while already focused
...
I couldn't find a way to test this really. It's some interaction
between focusout and focus events. When the hidden input has focus and
then we call focus on the editor, the handling of the focusout event
away from input was trigerring a call to focus on the editor, which
didn't seem to trigger the handler that shifted it back to the hidden
input. Here I only focus the editor if something *outside* of the
editor was de-focused. So focusing the editor when the input is focused
is ignored, and focus is gracefully returned back to the input.
2012-01-24 18:14:38 -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
c0e49a3e6c
Css uses correct path
2012-01-23 17:30:55 -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
7d4c236418
💄
2012-01-23 13:12:51 -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
Corey Johnson & Nathan Sobo
820a2884ce
Don't let MoveDown got to EOL at EOF
2012-01-23 09:27:10 -08:00
Joshua Peek
4d90a26256
Fix vim key up/down nav
2012-01-21 10:36:49 -08:00
Corey Johnson
2941aba5ee
Update readme
2012-01-20 10:15:02 -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
616a47d9dc
Render cursor's with a raw call
2012-01-19 17:03:17 -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