Commit Graph

207 Commits

Author SHA1 Message Date
Nathan Sobo
6dad8c448a 💄 2012-01-28 15:58:59 -08:00
Nathan Sobo
3e5cef9672 Cursor can be re-positioned with the mouse 2012-01-28 15:54:01 -08:00
Nathan Sobo
cb3d97692e Auto-scroll horizontally after exceeding editor.hScrollMargin
Rename previous editor.scrollMargin to vScrollMargin to indicate it's
for vertical scrolling.
2012-01-27 18:42:20 -08:00
Corey Johnson & Nathan Sobo
dea99216d4 Cursor blinks 2012-01-27 17:33:02 -08:00
Corey Johnson & Nathan Sobo
900f745b65 Delete removes character in front of cursor. 2012-01-27 14:16:17 -08:00
Corey Johnson & Nathan Sobo
3b64b78336 Backspace with a selection only deletes the selected text 2012-01-27 13:48:20 -08:00
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
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
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
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