Nathan Sobo
93bce8ccdf
Add metadata to screenLines returned by splitTokens
2012-02-09 10:18:37 -07:00
Nathan Sobo
2dcdf82fc9
LineWrapper.splitTokens handles the cases I can think of
...
Basically... splitTokens will never put whitespace at the beginning of
wrapped display line. It also splits tokens without regard for
whitespace if the token has no whitespace but is too wide to display on
a single line.
2012-02-08 21:37:35 -07:00
Nathan Sobo
34922a18fe
When splitting lines, keep leading whitespace on current line.
...
If we detect leading whitespace, we replace the next token with the
result of splitting the next token into two tokens, one containing any
leading whitespace and one with the rest. Then the leading whitespace
is added to the current line. When the second half of the split is
processed, it no longer has leading whitespace and is split to the next
line.
2012-02-08 19:15:00 -07:00
Corey Johnson
21e05f7218
LineWrapper.splitTokens splits line when tokens exceed LineWrapper.maxLength
2012-02-08 15:42:16 -08:00
Corey Johnson
3742700810
handle changes that cause line to wrap once
2012-02-08 14:05:52 -08:00
Nathan Sobo
1f6ab6f2b6
💄
2012-02-08 14:33:23 -07:00
Nathan Sobo
4b350598a5
WIP: Testing changes that cause lines to wrap
2012-02-08 14:25:47 -07:00
Nathan Sobo
5ab91c3f47
WIP: Handle changes that aren't affected by wrapping
2012-02-08 14:04:55 -07:00
Corey Johnson & Nathan Sobo
0daecb6047
More 💄
2012-02-08 13:21:00 -07:00
Corey Johnson & Nathan Sobo
82fb49fd1e
💄 Internal LineWrapper makeover
...
Feeling good on the inside.
2012-02-08 13:15:27 -07:00
Corey Johnson & Nathan Sobo
1566b12ecc
Add LineWrapper.tokensForScreenRow
2012-02-08 12:55:51 -07:00
Corey Johnson & Nathan Sobo
1ec29e29d7
super 💄
2012-02-08 12:45:02 -07:00
Nathan Sobo
e24b5fbc24
Add LineWrapper.displayPositionFromBufferPosition
2012-02-08 12:30:46 -07:00
Nathan Sobo
bb72c839da
Use LineWrapper to calculate pixelPositionFromPoint
2012-02-08 09:49:51 -07:00
Nathan Sobo
a16bc99249
WIP: Start on LineWrapper.displayPositionFromBufferPosition
...
It takes a row, column from the buffer and converts it to coordinates
that account for line wrapping.
2012-02-07 18:40:59 -07:00
Nathan Sobo
b21595f037
WIP: Add a LineWrapper object
...
Only passing specs are focused. Everything is still broken. Editor uses
the line wrapper to render lines, but the line wrapper isn't updating
on buffer change events yet. Still moving vertically and clipping
positions based on unwrapped lines as well.
2012-02-07 18:07:12 -07:00
Nathan Sobo
62470f61ab
WIP: Wrap lines at token boundaries when soft wrap is on
...
This is still really rough... cursor positioning isn't working properly
yet. Nor does anything adjust when the window is resized.
2012-02-07 14:43:33 -07:00
Nathan Sobo
525116a80b
Merge branch 'master' of github.com:github/atom
2012-02-07 12:10:34 -07:00
Nathan Sobo
dd04475756
Shift-meta-z to redo.
2012-02-07 12:10:14 -07:00
Corey Johnson
6835659916
Implement db
2012-02-07 10:52:09 -08:00
Nathan Sobo
b3d1291643
Add UndoManager. Pressing meta-z undoes last change.
2012-02-07 11:22:19 -07:00
Nathan Sobo
cdd296bb40
Add 'oldText' to buffer change events.
...
Also make assertions about events for different cases of Buffer.change,
and add a spec for calling Buffer.change with a non-empty range and
non-empty string.
2012-02-07 10:52:41 -07:00
Nathan Sobo
fc84075d13
In buffer change event objects, rename 'string' to 'newText'
...
In preparation for adding an 'oldText' value.
2012-02-07 10:33:36 -07:00
Nathan Sobo
022bdfaeb0
Rename pre/postRange to old/newRange
2012-02-07 10:31:06 -07:00
Corey Johnson
945ba38cca
Implement b
2012-02-06 17:55:15 -08:00
Corey Johnson
b7dfb93540
Turn off moveCursorBeforeNewline
event when entering insert mode.
2012-02-06 15:41:13 -08:00
Corey Johnson
b8f6dd1c2a
spelling
2012-02-06 15:41:13 -08:00
Corey Johnson
bac59b7abf
Use cursor:position-changed to make sure cursor never gets to end of line in command mode.
...
The exception being an empty line.
2012-02-06 14:56:05 -08:00
Corey Johnson
f3eb6fc66c
Add isOnEOL method to cursor
2012-02-06 12:01:52 -08:00
Nathan Sobo
4a8d03b966
Un-F the specs
2012-02-06 12:38:06 -07:00
Nathan Sobo
6a963e8845
Merge remote-tracking branch 'origin/master'
...
Conflicts:
src/atom/cursor.coffee
src/atom/editor.coffee
src/atom/selection.coffee
2012-02-06 12:37:26 -07:00
Nathan Sobo
64a97b9427
Use SpacePen for all views
...
SpacePen is better because its objects inherit directly from the jQuery
prototype, meaning you can create them with `new`.
2012-02-06 12:12:45 -07:00
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
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
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