Commit Graph

916 Commits

Author SHA1 Message Date
Nathan Sobo
7e4aae7b4f Add position translation methods to Renderer 2012-03-06 15:33:29 -07:00
Nathan Sobo
03d5509cca Renderer handles buffer change events for wrapping & folding 2012-03-06 12:11:21 -07:00
Nathan Sobo
c61510ce99 Ensure line wrapping interacts cleanly with folding 2012-03-05 19:15:03 -07:00
Nathan Sobo
59bcb27079 WIP: Start handling nested folds. 2012-03-05 17:29:12 -07:00
Nathan Sobo
d02817af21 Add spec for single-line folds 2012-03-05 17:09:03 -07:00
Nathan Sobo
764c827134 WIP: Add fold handling to renderer… still needs refinement. 2012-03-05 17:03:06 -07:00
Nathan Sobo
955bb383dd WIP: Start on Renderer, which combines LineWrapper and LineFolder 2012-03-05 16:07:22 -07:00
Nathan Sobo
3cc559fd9c Add Range.fromObject, which takes a [start, end] array 2012-03-05 16:06:57 -07:00
Nathan Sobo
fc7a13ce05 Rename Buffer.getLine to lineForRow 2012-03-05 16:06:27 -07:00
Nathan Sobo
95db96b238 Selection rendering accounts for the presence of gutter 2012-03-05 11:17:46 -07:00
Corey Johnson & Nathan Sobo
5a4f4955b2 Set LineWrapper.maxLength based on lines width, not editor with.
Because there's a gutter now that doesn't count.
2012-03-02 17:09:45 -08:00
Corey Johnson & Nathan Sobo
277be9df3b 💄 2012-03-02 16:29:52 -08:00
Corey Johnson & Nathan Sobo
e7f7e121f7 Gutter updates line numbers when buffer lines are inserted/removed 2012-03-02 16:24:03 -08:00
Corey Johnson & Nathan Sobo
696948cc9b Gutter is renders line numbers when buffer is assigned. 2012-03-02 16:13:29 -08:00
Corey Johnson & Nathan Sobo
b3c4fd5cce Add a nonfunctional gutter to editor layout. 2012-03-02 15:42:04 -08:00
Corey Johnson & Nathan Sobo
78161f3341 Added jquery extension file 2012-03-02 15:41:37 -08:00
Nathan Sobo
98defa865c Cursor screen position is updated when lines are rewrapped. 2012-03-01 18:00:41 -07:00
Corey Johnson & Nathan Sobo
ebca007ca4 Merge branch 'chrome' 2012-03-01 16:24:01 -08:00
Corey Johnson & Nathan Sobo
d334a26ddc All of the methods from Native are now implemented in native_handler 2012-03-01 16:10:47 -08:00
Corey Johnson
8f5ffe2e65 jscocoa is no longer a thing 2012-03-01 16:09:37 -08:00
Corey Johnson
e874512284 Move atom.native to $native 2012-03-01 15:44:36 -08:00
Nathan Sobo
c218a10b6b Don't split a fold placeholder when line wrapping. 2012-03-01 16:38:38 -07:00
Corey Johnson
a7c835ec6e 💩 2012-03-01 15:35:23 -08:00
Corey Johnson
15acd071ca Add keycap (and bound meta-o) to App 2012-03-01 12:11:45 -08:00
Nathan Sobo
c2b16ffbf9 Don't raise an exception when folding an empty range 2012-03-01 13:04:32 -07:00
Nathan Sobo
eeae6c4ee2 Corretly select word and line w/ mouse with wraps and folds 2012-03-01 12:44:26 -07:00
Nathan Sobo
eb0df2f21d Fix bug in LineMap.spliceByDelta with multi-fragment screen lines
If the row following a row being replaced had multiple fragments, some
of these fragments would be accidentally deleted.
2012-03-01 11:52:27 -07:00
Nathan Sobo
32a6a2cd7f Refer to "buffer" and "screen" coordinate spaces as "input" and "output"
Since we compose the line wrapper and the line folder together, the
line map is not always translating between screen and buffer coordinate
spaces. It's translating one step in the chain, with output closer to
the screen and input closer to the buffer.
2012-02-29 18:39:45 -07:00
Nathan Sobo
6c8a48b928 💄 2012-02-29 18:10:55 -07:00
Nathan Sobo
368f1b8fbd LineMap.clipScreenPosition relies entirely on translatePosition 2012-02-29 17:55:47 -07:00
Nathan Sobo
c091b71c13 Line count methods use traverseByDelta 2012-02-29 17:51:32 -07:00
Nathan Sobo
03dcce575c LineMap.linesByDelta and translatePosition use common traverseByDelta 2012-02-29 17:46:22 -07:00
Nathan Sobo
f394716508 Implement clipScreenPosition in terms of translatePosition 2012-02-29 16:47:56 -07:00
Corey Johnson
f32e5ac716 Fat arrow needed for keydown events 2012-02-29 15:32:53 -08:00
Corey Johnson & Nathan Sobo
7e6132f5b7 Redo Xcode project FROM SCRATCH 2012-02-29 15:23:17 -08:00
Corey Johnson & Nathan Sobo
ffeaf7ed17 Remove menu code and tests 2012-02-29 13:47:48 -08:00
Nathan Sobo
84bc108fc8 Base LineMap.linesForScreenRows/BufferRows on linesByDelta 2012-02-29 14:06:03 -07:00
Nathan Sobo
78c2ff7801 Express LineMap insertion in terms of spliceByDelta 2012-02-29 13:57:57 -07:00
Corey Johnson & Nathan Sobo
632a2cb64a Stop listening or trigger events from App
It causes DOM errors when you reload.
2012-02-29 12:04:41 -08:00
Nathan Sobo
63ea0baeee Use position translation to calculate counts 2012-02-29 12:37:47 -07:00
Nathan Sobo
c53438d0e5 Factor position translation into a single method on LineMap 2012-02-29 12:36:04 -07:00
Corey Johnson & Nathan Sobo
be463abe42 Move keymap from app to window 2012-02-29 11:33:15 -08:00
Nathan Sobo
634b90d17a Remove unused eagerWrap option from position translation 2012-02-29 12:19:16 -07:00
Nathan Sobo
775cc1add2 💄 rename @screenLines to @lineFragments 2012-02-29 12:04:46 -07:00
Nathan Sobo
69531282bf Remove ability to pass single fragments to LineMap.insertAtBufferRow 2012-02-29 12:00:36 -07:00
Nathan Sobo
7f13f9b946 Folds can start at the same position as their nested folds 2012-02-29 11:47:55 -07:00
Nathan Sobo
20dff5e79d Can start folds earlier on the same line as other folds. 2012-02-29 11:41:53 -07:00
Nathan Sobo
f785b6168d Correctly handle folds that end at the start of a line
The falsyness of 0 was again biting us
2012-02-28 22:46:26 -07:00
Nathan Sobo
156cfabbf1 LineMap.spliceScreenRow can replace multiple fragments at row 0
Subtle bug where the falsiness of 0 was causing line fragments on the
0th row to be skipped
2012-02-28 22:36:12 -07:00
Nathan Sobo
478971f18f Folds containing nested folds can be unfolded
There are still problems with nested folds that start on the same line.
2012-02-28 22:10:52 -07:00