Commit Graph

259 Commits

Author SHA1 Message Date
Corey Johnson
ea48ae626c l can't move the cursor past the last character. 2012-02-06 10:38:56 -08:00
Corey Johnson
425e2b4f59 💄 2012-02-06 10:37:37 -08:00
Corey Johnson
3ef3933d06 💩 2012-02-06 10:20:37 -08:00
Corey Johnson
dd9723e256 x will not allow the newline to be deleted 2012-02-06 10:19:17 -08:00
Corey Johnson
7cdcf2b358 When dd is called on the last line, it removes the \n from the previous line
Treat dd as a special, completing version of d.
2012-02-03 17:31:39 -08:00
Corey Johnson
88cf574bc6 Positioning the cursor beyond the bottom of the buffer will clip it to the last column of the last row 2012-02-03 16:07:54 -08:00
Corey Johnson
b45c00d90e If an object implements inspect jasmine will use it in test output 2012-02-03 16:05:57 -08:00
Corey Johnson
53c14722aa Selection.selectLine takes a row as an argument. 2012-02-03 15:03:13 -08:00
Corey Johnson
97aa3b6e82 Triple click works with selections made with moused dragging. 2012-02-03 13:33:22 -08:00
Corey Johnson
bbf892de96 Triple click selects line under cursor 2012-02-03 13:11:42 -08:00
Nathan Sobo
94f7296999 Highlighter resumes from last unchanged line's state
This allows for new a new line inserted inside a comment to be
highlighted correctly, for example.
2012-02-03 11:19:50 -07:00
Corey Johnson
2b6b4b1717 Make sure all specs are run 2012-02-03 10:03:02 -08:00
Corey Johnson
7c778d197e Text is selected when mouse is moved after double click 2012-02-03 09:55:10 -08:00
Nathan Sobo
37dc813a56 Backfill spec coverage for handling highlighter change events. 2012-02-03 10:39:13 -07:00
Corey Johnson & Nathan Sobo
84c104b0b9 Highlighter emits change events.
Changes to the buffer may cause lines beyond the scope of the textual
change to be re-highlighted. If so so, this is reflected in the
pre/post range of Highlighter's change events.
2012-02-02 17:45:57 -08:00
Corey Johnson & Nathan Sobo
82366b1226 Jasmine will call toString() if available to print an object. 2012-02-02 17:00:10 -08:00
Corey Johnson & Nathan Sobo
bb2af7333a Point -> pixel conversion should be relative to editor.lines 2012-02-02 17:25:23 -07:00
Corey Johnson & Nathan Sobo
ec6ed285b1 Merge branch 'editor' 2012-02-02 17:06:18 -07:00
Corey Johnson & Nathan Sobo
0120df540a Lines remain syntax-highlighted when they are updated. 2012-02-02 17:04:37 -07:00
Corey Johnson & Nathan Sobo
a62bd4b304 Double clicking selects a word. 2012-02-02 14:57:05 -08:00
Corey Johnson
c6c762ba23 Double mouse click selects word
The mousedown event on editor is causing this to fail right now.
2012-02-02 14:13:28 -08:00
Nathan Sobo
2b748dd8a7 Merge branch 'editor' into highlight
Conflicts:
	src/atom/buffer.coffee
2012-02-02 12:31:35 -07:00
Nathan Sobo
5e95fc482d Buffer.setText emits the proper change events 2012-02-02 12:30:25 -07:00
Corey Johnson
d8975e7a94 SpecHelper has a method for getting pixel points from a row/column 2012-02-02 11:14:50 -08:00
Corey Johnson
d2a6eca8f3 meta-x removes text from buffer and places it on the clipboard 2012-02-02 09:35:18 -08:00
Nathan Sobo
104e75e0d7 WIP: Handle changes that affect highlighting of subsequent lines.
Entering a /* at the top of the document will cause lines below to be
interpreted as comments. Still needs cleanup. There are some unrelated
failures associated with Buffer.setText not firing events correctly,
which is causing the highlighter to get into an invalid state.
2012-02-01 21:52:07 -07:00
Nathan Sobo
2f6c16c941 Merge branch 'editor' into highlight
Conflicts:
	src/atom/editor.coffee
2012-02-01 20:24:42 -07:00
Corey Johnson
3c37c0ebeb Test the correct line 2012-02-01 18:13:22 -08:00
Corey Johnson
8882c060f1 e
spelling is hard, let's go shopping
2012-02-01 18:02:12 -08:00
Corey Johnson
86d23c775d meta-v inserts text at cursor position 2012-02-01 18:00:47 -08:00
Corey Johnson
27ee0792a4 💄 2012-02-01 17:59:59 -08:00
Corey Johnson
16cfcd9396 Move the copy event test to editor, make selection test copy implementation 2012-02-01 17:46:22 -08:00
Corey Johnson
53d68d93ca Rename old methods and make the specs pass! 2012-02-01 16:50:10 -08:00
Nathan Sobo
23bcc68ac5 Highlighter updates when the buffer is changed 2012-02-01 17:38:16 -07:00
Corey Johnson
a3332571a9 Remove backspace and change implementation of delete.
A selection will only delete what is selected. Otherwise it will leave
the buffer unmodified.
2012-02-01 15:57:37 -08:00
Corey Johnson
cc3b5732e7 Point.toEqual will return true if it matches an array
`new Point(1,2)` is equivalent to `[1,2]`.
2012-02-01 15:54:28 -08:00
Nathan Sobo
77f227c7e9 WIP: Using ace tokenizer to break lines into tokens.
Breaks some specs because the highlighter doesn't update when the
buffer changes. Not loading the ace theme CSS yet, so you can't see any
colors yet either.
2012-01-31 21:59:58 -07:00
Nathan Sobo
677df675fb 💄 reorganize editor spec a bit 2012-01-31 20:57:43 -07:00
Nathan Sobo
a72dc17b87 Move hidden input to follow cursor to stop spurious scrolling
Commit 8e77c05c fixed scrolling *up* when clicking the buffer while
scrolled down. But it was still scrolling to the far left when typing /
clicking on a really long line. This commit solves both issues by
always positioning the hidden input to the same location as the cursor,
so it doesn't tell webkit to scroll away from the current focus when it
is focused or the user types.
2012-01-31 11:21:13 -07:00
Corey Johnson
d42cdaf157 Selection spec uses copy event to test copying.
Also added a some multiline tests.
2012-01-31 10:10:18 -08:00
Corey Johnson
84d9824b19 buffer.getTextInRange handles multiple lines. 2012-01-31 09:56:16 -08:00
Nathan Sobo
4575483d80 Selection expands flexibly when window is resized
If a region of the selection needs to span the full line, I assign
right: 0 instead of a width so that it always stretches across the
entire editor, even after a resize.
2012-01-31 10:55:17 -07:00
Nathan Sobo
666ef76c83 Never use more than 3 divs to render a selection
This should hopefully improve performance for large selections.
2012-01-31 10:44:10 -07:00
Nathan Sobo
21a5f25d93 Merge branch 'master' of github.com:github/atom into editor
Conflicts:
	src/atom/editor.coffee
2012-01-30 19:47:51 -07:00
Corey Johnson
7dba7dc3de meta-c copies text in selection 2012-01-30 17:46:03 -08:00
Nathan Sobo
a77dd28e47 Fix bug: can now delete multiple lines
Before, we were traversing through lines to remove in ascending order
and then calling remove(n) for each. But when we removed line 10, line
11 became the *new* line 10. So when we removed line 11 we ended up
skipping the old line 11. I solved this by traversing in reverse when
we need to delete lines.
2012-01-28 22:05:35 -07:00
Nathan Sobo
1dd718f896 Can select text with the mouse 2012-01-28 17:00:59 -08:00
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