Nathan Sobo
486a7937b5
Render • instead of line number for soft-wrapped lines
2014-04-22 17:09:38 -06:00
Nathan Sobo
f5551929d8
Account for half-visible lines in DisplayBuffer::getVisibleRowRange
...
We need to add 1 to the editor's height in lines, because it's possible
to have *partially visible* lines at the top and the bottom.
2014-04-22 17:09:38 -06:00
Nathan Sobo
c4be3069f7
Select on mouse drag
2014-04-22 17:09:37 -06:00
Nathan Sobo
3a433f734c
Move the cursor on single click
2014-04-22 17:09:36 -06:00
Nathan Sobo
3d3b72a954
Render selections
2014-04-22 17:09:04 -06:00
Nathan Sobo
96e6ddac2e
Prevent out-of-bounds scrollTop assignment on DisplayBuffer
2014-04-22 17:09:04 -06:00
Nathan Sobo
5a8ca1ae66
Move screen-related properties to DisplayBuffer
...
Scroll positions, height, width, line height. We force update when one
of these observed properties changes.
2014-04-22 17:09:03 -06:00
Nathan Sobo
53cc5c9856
Base cursor x position on char widths stored in DisplayBuffer
...
Whenever new lines are added to the screen, we measure and store any
unseen scope/character combinations in the DisplayBuffer.
2014-04-22 17:09:03 -06:00
Nathan Sobo
148a9f0248
Add DisplayBuffer::pixelPositionForScreenPosition
...
This bakes character width tracking into display buffer directly, which
moves us toward a world where all rendering decisions can be made in the
model to strictly control DOM reads.
2014-04-22 17:09:03 -06:00
Corey Johnson
4a6b70d261
Use Marker::get/setProperties
2014-04-18 15:50:30 -07:00
Nathan Sobo
b9b3d021cc
Add private method docs to DisplayBuffer::outermostFoldsInBufferRange
2014-03-06 15:31:14 -07:00
Nathan Sobo
6e202e18d8
💄 more comment formatting
2014-03-06 15:29:25 -07:00
Nathan Sobo
da85a07dae
💄 comment formatting
2014-03-06 15:17:34 -07:00
Nathan Sobo
ce4ce55b29
Make outermostFoldsForBufferRowRange exclusive of end row
2014-03-06 12:52:27 -07:00
Nathan Sobo
d97a0a3324
Add DisplayBuffer::outermostFoldsInBufferRowRange
2014-03-06 12:36:42 -07:00
Nathan Sobo
63f5a0a324
💄 Rename attributes to params to match TextBuffer naming
2014-03-06 12:32:17 -07:00
Nathan Sobo
f0837bb98b
📝 Improve DisplayBuffer::findMarkers docs
2014-03-06 12:31:55 -07:00
Nathan Sobo
40a8522460
Merge pull request #1623 from atom/ns-fix-editor-width-related-freezes
...
Fix freezes related to the editor's width in characters being assigned to non-positive integers
2014-02-28 20:38:07 +02:00
Nathan Sobo
4681098e8c
Only allow positive widths in characters to be assigned
...
Fixes #1574
2014-02-28 10:31:02 -08:00
Nathan Sobo
dc5dc608ba
Avoid row map corruption when replacing a subset of a fold's buffer rows
...
Fixes #1576
When splicing regions into the row map, we always express the starting
buffer row, then the number of buffer rows covered by the regions we're
inserting. When we're inserting regions representing folds, they always
extend to the end of a fold, so we need to ensure the endBufferRow also
extends to the end of the fold.
For example, say rows [5…10] are folded, and we handle a replacement of
rows [5…8]. We will still insert a region for the fold covering 1 screen
row and 5 buffer rows, so we need to update the endBufferRow to extend
to the end of the fold as well (10).
2014-02-28 10:11:57 -08:00
Nathan Sobo
f17c490768
Make Editor::unfoldBufferRow destroy all folds containing the buffer row
...
Also, remove ::destroyAllFoldsContainingBufferRow as it is now redundant
2014-02-27 16:16:01 -08:00
Nathan Sobo
761fcde654
💄
2014-02-27 15:34:19 -08:00
Nathan Sobo
f20c55f849
Use error constructor's name explicitly rather than arguments.callee
2014-02-27 15:29:47 -08:00
Nathan Sobo
1f7027d825
Throw a custom BufferToScreenConversion error with metadata
2014-02-27 15:07:08 -08:00
Nathan Sobo
0c8bb089b9
Reduce variation of buffer row to screen row conversion error message
2014-02-27 10:34:57 -08:00
Nathan Sobo
f612a85599
Merge remote-tracking branch 'origin/master' into ns-modernize-doc-links
2014-02-20 16:35:16 -07:00
Corey Johnson & Nathan Sobo
6c5a5c49da
Remove unused Point
2014-02-20 11:14:15 -08:00
Nathan Sobo
53fb36d0e2
Switch all documentation links to match CoffeeScript literal notation
...
Foo::bar for instance methods
Foo.bar for class methods
2014-02-19 17:23:47 -07:00
Nathan Sobo
d64fefd96c
Merge branch 'master' into ns-fix-softwrap
...
Conflicts:
src/row-map.coffee
2014-02-14 08:36:58 -07:00
Kevin Sawicki
ec4cf8b497
Remove ConfigObserver
...
This class offers little utility now that emissary exists with beefed
up Subscriber and Emitter classes.
2014-02-06 13:07:25 -08:00
Kevin Sawicki
5b453290ad
Mark DisplayBuffer methods delegated to as public
2014-02-06 11:17:20 -08:00
Kevin Sawicki
227454e27e
Remove ### style visibility comments
2014-02-06 10:40:45 -08:00
Kevin Sawicki
cee0b951fb
Remove empty Private: comments
2014-02-06 10:11:32 -08:00
Nathan Sobo
5017f1473c
💄
2014-02-02 19:52:51 +06:00
Nathan Sobo
c3f995b165
Fix lurking soft-wrap bugs
...
This commit adds two important things:
1. An editor spec that randomly mutates a buffer and toggles soft wrap
on and off, then compares the screen lines to a simple reference
implementation to ensure everything stays in a correct state.
2. A new and radically simpler implementation of RowMap that eliminates
failures in the randomized test.
2014-01-30 00:52:17 -07:00
Nathan Sobo
aec9e75ecb
Send more info on errors converting buffer positions to screen positions
...
We've gotten one rogue error but I have no idea how to reproduce it.
This will tell us if soft wrap is enabled and if any folds are present
so hopefully we can start narrowing these down.
2014-01-26 15:00:58 -07:00
Nathan Sobo
8ca8ac5efc
Make ConfigObserver a proper mixin and export it
2014-01-21 20:56:23 -07:00
Nathan Sobo
3ab7836ab2
Upgrade to emissary 0.31.0 for implicit 'value' subscriptions on signals
...
Previously, when you always had to specify the event name of 'value'
when calling `::subscribe` with a signal. Now, if you don't specify an
event name, 'value' is assumed.
2014-01-11 11:22:31 -07:00
Nathan Sobo
25cc37bc86
Replace {StringMarker} references with {Marker} in API docs
2014-01-06 15:13:12 -07:00
Nathan Sobo
cbec03c158
Rename reactionary to theorist
2014-01-05 10:25:59 -07:00
Nathan Sobo
8da9e8ddc1
Rename nostalgia to serializable
...
This name was surprisingly available and better matches this module's
utilitarian nature.
2014-01-03 18:32:44 -07:00
Nathan Sobo
c6770aa83e
Merge remote-tracking branch 'origin/master' into ns-remove-telepath-from-core
...
Conflicts:
package.json
src/pane.coffee
2014-01-03 17:46:45 -07:00
Nathan Sobo
e26d97d5ac
Remove telepath as a core dependency
2014-01-03 17:42:11 -07:00
Nathan Sobo
821debcb85
Make Editor, DisplayBuffer, TokenizedBuffer to not use telepath
...
This commit introduces dependency on a new npm called
[reactionary](https://github.com/atom/reactionary ). It will serve as a
*much* lighter weight model framework to provide the reactive features
of telepath without the replication logic.
Specs are still failing for panes and workspace. I plan to just roll
forward and remove the telepath dependency from them as well.
2013-12-31 18:19:53 -07:00
Kevin Sawicki
6f5d85edb9
Use grammar registry from first-mate
2013-12-31 15:15:39 -08:00
Nathan Sobo
c8253be1ae
Use the softWrap property directly
2013-12-07 14:08:00 -08:00
Nathan Sobo
9ede5f85e3
Use the ::editorWidthInChars property directly
2013-12-07 14:07:46 -08:00
Nathan Sobo
1ccc93c50b
Make DisplayBuffer a telepath model subclass
2013-12-07 03:07:15 -08:00
Nathan Sobo
a4d2b4d21a
Make TokenizedBuffer a telepath.Model subclass
...
There's a bunch of improvised code to make this work right now because
of the circularity of this refactoring. It will stabilize over time.
2013-12-07 02:25:47 -08:00
probablycorey
a0ceb78627
Move snapshot code to package
2013-11-26 11:15:55 -08:00