Commit Graph

25 Commits

Author SHA1 Message Date
Nathan Sobo
314e3da8bc WIP: Destroy nested tab stops when engulfed by a buffer change
Has 2 failing specs...

There are still some issue with this code's interaction with the undo
system. The tab stops will need to be or destroyed when certain
changes are undone or redone.
2013-01-07 21:53:08 -07:00
Nathan Sobo
6d9402b5c9 Rename Anchor and Buffer events to passive-voice scheme 2013-01-02 13:48:10 -07:00
Nathan Sobo
4b88a9f5ea Expanded snippets are destroyed when the cursor leaves a tab stop
For this to work, I needed to make the updating of anchors transactional. Now, all anchors are updated and *then* they emit their events. That way when the cursor moves based on the user typing, the tab stop they're in has a chance to expand before we handle the move event. This prevents spurious cancellation of the snippet when typing on a tab stop.
2012-11-29 13:39:00 -07:00
Nathan Sobo
833ccb30ab Pass old and new screen position with Anchor/Cursor move events 2012-11-29 13:39:00 -07:00
Nathan Sobo
91e899456a Rename 'change-screen-position' event to 'moved' on Anchor and Cursor 2012-11-29 13:39:00 -07:00
Nathan Sobo
19c8a39fc8 Don't autoscroll to bottom of buffer on selectAll 2012-11-07 16:01:10 -07:00
Nathan Sobo
2efc91aad1 Optimize highlightCursorLine by using cached element references 2012-11-01 13:51:22 -06:00
Corey Johnson
dbf8639375 Rename anchor.ignoreEqual to anchor.ignoreChangesStartingOnAnchor 2012-10-31 14:27:31 -07:00
Corey Johnson
84ea1017f4 Anchor.ignoreEqual works properly
The anchor ignores buffer changes when ignoreEqual is true and the oldRange.start == anchor.position
2012-10-31 14:27:21 -07:00
Nathan Sobo
c3e748a17c WIP: Use rake to start compiling resources (like require.coffee) 2012-08-26 16:29:46 -05:00
Nathan Sobo
c2c8724ad0 Initial commit 2012-08-10 13:32:19 -06:00
Corey Johnson & Nathan Sobo
926067164d Buffer updates anchors when it changes instead of EditSession 2012-07-13 17:42:41 -06:00
Corey Johnson & Nathan Sobo
9eae88e97b Anchors and AnchorRanges are added to the buffer.
Also: Destroying an AnchorRange removes it from the EditSession / Buffer.
2012-07-13 17:18:10 -06:00
Nathan Sobo
569359b687 Don't destroy selection/cursor anchors when encompassed by a change
Add the 'strong' option to anchors. If anchors are 'strong' instead of being destroyed by encompassing changes they move to the beginning of the change range.
2012-07-05 15:20:28 -06:00
Nathan Sobo
60a4f23c50 Anchors are destroyed when encompassed by a buffer change 2012-07-05 14:53:37 -06:00
Nathan Sobo
99db024dbb Kill anchor subscriptions on destroy 2012-06-29 11:55:27 -06:00
Nathan Sobo
01993f1be2 Editor selects text that was typed at a tab-stop when shift-tabbing back to it 2012-06-26 17:55:40 -06:00
Nathan Sobo
c4046bbdc5 Place snippet tab relative to snippet start position. Terminate when pressing 'tab' at last tab-stop. 2012-06-22 12:52:40 -06:00
Nathan Sobo
8fa5723be9 When buffer or display-buffer change, update the position of all anchors on EditSession.
Cursors and selections no longer need to handle buffer/display-buffer changes directly. They register anchors with the EditSession, and subscribe to changes in their position instead. This opens up the anchor facility for use by extensions that want to track the screen position of a point in the buffer as the buffer and display buffer change.
2012-06-21 17:57:23 -06:00
Nathan Sobo
09a05141d0 Remove old unused Anchor class 2012-06-13 11:06:41 -06:00
Nathan Sobo
877d9f6755 Optimization: Use already-sanitized screen position arg when calculating buffer position 2012-04-10 17:32:09 -06:00
Nathan Sobo
9da86982a8 WIP: Set cursor position correctly after inserting a hard tab.
Tests pass but still some issues on repeated tab insertion.
2012-04-06 13:03:30 -06:00
Nathan Sobo
ce91d50c29 Pass clipping options in setting screen position and translating buffer position for screen position
This allows Cursor.proto.moveRight to avoid pre-clipping its position. It just passes the appropriate clipping options when setting its screen position.
2012-04-06 12:29:40 -06:00
Corey Johnson
2489e19bb7 CompositeCursor.addCursor takes an optional screenPosition argument 2012-04-04 14:08:30 -07:00
Corey Johnson
1efb712fd3 Rename App.coffee to Atom.coffee. This also required moving src/atom,spec/atom to src/app,spec/app 2012-04-03 10:33:24 -07:00