Antonio Scandurra
c0bed9ab50
🐛 Enforce block decorations to be 'before' by default
2016-05-24 10:49:59 +02:00
Antonio Scandurra
896abe358c
Merge pull request #11765 from atom/as-fix-presenter-uncaught-exception
...
Don't render line-numbers corresponding to lines that need measuring
2016-05-16 14:21:43 +02:00
Antonio Scandurra
c13346a455
Show folded marker in the first screen row of a soft-wrapped buffer row
2016-05-16 11:23:54 +02:00
Antonio Scandurra
b5b324875e
Don't render line-numbers corresponding to lines that need measuring
...
Rendering those line numbers in the gutter isn't useful, and it puts
unneeded pressure to the DOM. In the process of changing
`updateLineNumbersState`, we have also refactored it to stop relying on
row ranges being contiguous. This allows that code path to be:
1. Less error-prone, because we were trying to access rows that weren't
actually rendered, thus potentially throwing errors when measuring
non-contiguous screen rows that weren't visible.
2. Tighter, because we can just iterate over each screen row and ask for
its soft-wrap descriptor.
2016-05-16 10:58:37 +02:00
Antonio Scandurra
f9039a35f6
Refactor isRowVisible to isRowRendered
...
There's a distinction to make between rendered and visible rows, and we
were using the former as if it was the latter. In particular, if a tile
is visible, all its rows get rendered on screen, even though they might
not necessarily be visible by the user.
2016-05-14 17:38:49 +02:00
Antonio Scandurra
f4a31261d0
Delete indent guides code from the presenter and the component
...
…because we're handling that behavior in `TextEditor` and `DisplayLayer`
now.
2016-05-01 11:48:39 +02:00
Antonio Scandurra
f81f54e08a
Apply 'folded' decoration only to 1st screen row of a wrapped buffer row
2016-04-26 12:11:05 +02:00
Antonio Scandurra
754cbc2a67
Merge branch 'master' into ns-switch-to-display-layers
...
# Conflicts:
# spec/tokenized-buffer-spec.coffee
2016-04-20 10:55:56 +02:00
Willem Van Lint
8cd48004dd
Fixed positioning for overlay
2016-04-09 18:42:18 -07:00
Nathan Sobo
d62ef599cd
Replace tokens with tagCodes in DisplayLayer.prototype.getScreenLines
2016-03-18 15:57:49 -06:00
Antonio Scandurra
43f27780fd
Fix specs related to the produced HTML line output
...
This verifies that with the new DisplayLayer the produced output is
cleaner when tags interleave.
2016-03-17 14:56:23 +01:00
Antonio Scandurra
f57fb3176a
Add back lineIdForScreenRow
2016-03-17 11:19:05 +01:00
Antonio Scandurra
23ddeb7f08
🔥 Put back commented out LOC
2016-03-17 10:38:23 +01:00
Antonio Scandurra
661417e362
Update lines in TextEditorPresenter.prototype.getPostMeasurementState()
...
Calling ::updateHorizontalDimensions might cause the editor vertical
coordinates (e.g. height, scroll top) to change, so we need to fetch
lines again from `DisplayLayer`.
2016-03-17 09:42:36 +01:00
Nathan Sobo
8888203005
Drop marker-index dependency
2016-03-14 17:14:27 -06:00
Antonio Scandurra
40beb0bd1e
Use new TextBuffer APIs
2016-03-10 16:00:56 +01:00
Antonio Scandurra
dfed7c4537
Merge branch 'master' into ns-use-display-layers
...
# Conflicts:
# package.json
# src/display-buffer.coffee
# src/text-editor.coffee
# src/tokenized-buffer.coffee
2016-03-10 13:53:14 +01:00
joshaber
10acfd057f
Err, yeah, we care about undefined, not false.
2016-03-03 10:13:26 -05:00
joshaber
98c8a08ac3
s/ignoreScrollPastEnd/scrollPastEnd
2016-03-03 10:06:15 -05:00
joshaber
ff0b9e30a9
Add ignoreScrollPastEnd
2016-02-25 16:59:58 -05:00
Antonio Scandurra
d6132888fa
💚 Attempt to fix specs
2016-02-18 14:18:27 +01:00
Antonio Scandurra
bea324eae9
🔥 Use just isFoldableAtBufferRow
2016-02-17 15:05:31 +01:00
Antonio Scandurra
d05dfa6efe
🐎 Update lines state only in pre-measurement phase
2016-02-17 10:34:21 +01:00
Antonio Scandurra
012fa354c4
Add TokenizedBuffer.prototype.foldableRowsForRowRange
2016-02-17 10:34:21 +01:00
Antonio Scandurra
63270f4174
Add TextEditor.prototype.cursorsForScreenRowRange
...
So that `TextEditorPresenter` can avoid to scan
through all the cursors to understand whether
they're visible on screen. This dramatically
reduces the calls to `getScreenRange` and, thus,
makes `updateCursorsState` faster for multi-cursor
edits.
2016-02-16 14:41:24 +01:00
Nathan Sobo
0243a345b7
Merge branch 'master' into ns-use-display-layers
2016-02-09 12:42:57 -07:00
Nathan Sobo
47338253db
Adapt to new text-buffer API
2016-01-26 12:38:35 -07:00
Nathan Sobo
ed79413de1
Depend on DisplayLayer for more things
2016-01-19 14:39:37 -07:00
Antonio Scandurra
f81843d465
Merge branch 'master' into as-block-decorations
2016-01-14 09:30:06 -07:00
Nathan Sobo
acbacae6d5
Use TokenizedBuffer as a text decoration layer and render tags
2016-01-13 18:23:22 -07:00
Nathan Sobo
924d880fa8
WIP: Start rendering lines from DisplayLayers
2016-01-13 12:17:01 -07:00
Antonio Scandurra
d370164624
Slightly improve algorithm to calculate @endRow
2016-01-13 09:31:17 -07:00
Antonio Scandurra
1f0e6a0902
Don't calculate height for following decorations at beginning of tiles
2016-01-13 09:21:31 -07:00
Antonio Scandurra
6e5c3e0212
Insert following block decorations into the DOM
2016-01-12 12:51:29 -07:00
Antonio Scandurra
4499fa8d6f
Split following and preceding block decorations
...
In TextEditorPresenter's state for lines.
2016-01-12 12:04:12 -07:00
Antonio Scandurra
5c5e108d9b
Conform to the new LineTopIndex interface
2016-01-12 11:38:48 -07:00
Antonio Scandurra
63220f7ead
Add presenter specs for block decorations *after* a row
2016-01-12 10:54:56 -07:00
Antonio Scandurra
d00164dc3c
Deal with rows instead of points in LineTopIndex
2016-01-08 11:05:55 +01:00
Antonio Scandurra
c7a7f0c6dd
🐛 Ignore setting dimensions for destroyed decorations
2016-01-05 10:56:29 +01:00
Nathan Sobo
6669703677
Force a sync render when measuring if we don’t have a DOM node for a row
2016-01-04 16:40:56 -07:00
Nathan Sobo
9f6fbacddd
Don’t clip screen positions in yardstick
...
By clipping positions only in the TextEditorComponent, we can ensure
that we check for the presence of a rendered line for the clipped row
value.
2016-01-04 16:32:38 -07:00
Antonio Scandurra
eab70d9a95
Invalidate spliced block decorations' dimensions
2015-12-19 15:38:34 +01:00
Antonio Scandurra
7543bcbdc1
🎨 Rearrange code a bit
2015-12-19 14:59:25 +01:00
Antonio Scandurra
07234c5109
Resize all block decorations when width changes
2015-12-19 12:50:58 +01:00
Antonio Scandurra
5fa9d3bc40
Splice LineTopIndex when DisplayBuffer changes
...
We invalidate whole screen lines accordingly to `DisplayBuffer`, so that we can
catch if there was any screen-only transformation and move block decorations
accordingly.
2015-12-19 11:21:50 +01:00
Antonio Scandurra
907dc661ec
🐎 Make updating block decorations incremental
2015-12-18 12:43:27 +01:00
Antonio Scandurra
da412e92f8
🔥 Remove BlockDecorationsPresenter
2015-12-18 11:54:10 +01:00
Antonio Scandurra
877eea3bd0
Finish integrating LineTopIndex
2015-12-18 11:07:10 +01:00
Antonio Scandurra
6a403e441e
Start integrating tree-based LineTopIndex
2015-12-18 10:41:21 +01:00
Antonio Scandurra
8c1f0b0e21
Merge branch 'master' into as-block-decorations
...
# Conflicts:
# spec/fake-lines-yardstick.coffee
# spec/lines-yardstick-spec.coffee
# spec/text-editor-presenter-spec.coffee
# src/lines-yardstick.coffee
# src/text-editor-component.coffee
# src/text-editor-presenter.coffee
2015-12-18 09:59:12 +01:00