David Graham & Nathan Sobo
cf27826156
Mark tokens on whitespace-only lines as having leading whitespace
...
This makes it easy to decide to render the indent guide for a token. If
the token has leading whitespace, we can render it.
2014-04-22 17:09:39 -06:00
David Graham & Nathan Sobo
5e38add177
Only mark trailing whitespace on the last segment of a soft-wrapped line
2014-04-22 17:09:39 -06:00
David Graham & Nathan Sobo
b4af0a79d0
Mark tokens with leading/trailing whitespace when building TokenizedLine
2014-04-22 17:09:39 -06:00
David Graham & Nathan Sobo
985662b8f0
Only scroll in one direction a time with the mousewheel
2014-04-22 17:09:39 -06:00
David Graham & Nathan Sobo
cfdea7e73f
Update the scrollLeft of the model when the horizontal scrollbar changes
2014-04-22 17:09:39 -06:00
David Graham & Nathan Sobo
48135a1e8d
Update the horizontal scrollbar when scrollLeft changes in the model
2014-04-22 17:09:38 -06:00
Nathan Sobo
84bb624b5b
Set x-transform of .scroll-view-content based on the model's scrollLeft
2014-04-22 17:09:38 -06:00
Nathan Sobo
171631d20f
Autoscroll cursors horizontally at the model layer
...
Still need to respect the horizontal scroll position in the editor view
2014-04-22 17:09:38 -06:00
Nathan Sobo
486a7937b5
Render • instead of line number for soft-wrapped lines
2014-04-22 17:09:38 -06:00
Nathan Sobo
1162af61ed
Render a basic gutter
2014-04-22 17:09:38 -06:00
Nathan Sobo
0fd8c5441c
💄 spec organization
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
4a501a7c31
Fix incorrect triple-click spec
2014-04-22 17:09:38 -06:00
Nathan Sobo
d0c61eb2be
Pause cursor blinking when the cursor moves
2014-04-22 17:09:38 -06:00
Nathan Sobo
5c9a5cdc85
Emit 'cursors-moved' from editor when one or more cursors move
2014-04-22 17:09:37 -06:00
Nathan Sobo
2b0ef68255
Blink cursors always. Still need to pause blinking when moving.
2014-04-22 17:09:37 -06:00
Nathan Sobo
f60f9b9f4f
Add 'is-focused' class to editor when hidden input is focused
2014-04-22 17:09:37 -06:00
Nathan Sobo
4f10500102
Select lines on triple-click
2014-04-22 17:09:37 -06:00
Nathan Sobo
096afcf6f3
Finalize selections on mouseup
2014-04-22 17:09:37 -06:00
Nathan Sobo
2204571ef5
Select words on double-click
2014-04-22 17:09:37 -06:00
Nathan Sobo
c4be3069f7
Select on mouse drag
2014-04-22 17:09:37 -06:00
Nathan Sobo
accee294dc
Test against real mousedown events dispatched on the .lines DOM node
2014-04-22 17:09:37 -06:00
Nathan Sobo
1239ab540f
💄 spec descriptions
2014-04-22 17:09:37 -06:00
Nathan Sobo
5a0d7e716b
When cmd-clicking, add a new cursor at the nearest screen position
2014-04-22 17:09:37 -06:00
Nathan Sobo
7738e74df0
When shift-clicking, select to the clicked position
2014-04-22 17:09:36 -06:00
Nathan Sobo
3a433f734c
Move the cursor on single click
2014-04-22 17:09:36 -06:00
Nathan Sobo
e24196c0ef
Require React directly rather than via reactionary
...
Reactionary is just a tiny helper library that can rely on the react
installed by the requiring application instead.
2014-04-22 17:09:36 -06:00
Nathan Sobo
57e2cf80f4
💄 Reorganize spec
2014-04-22 17:09:05 -06:00
Nathan Sobo
669586c11b
💄
2014-04-22 17:09:05 -06:00
Nathan Sobo
3d3b72a954
Render selections
2014-04-22 17:09:04 -06:00
Nathan Sobo
ab02d5f25f
Update the vertical scroll bar when scrollTop changes in the model
2014-04-22 17:09:04 -06:00
Nathan Sobo
e472d7b038
Add autoscrolling with react editor view
...
Its implemented in the model to restrict touching of the DOM.
2014-04-22 17:09:04 -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
Nathan Sobo
6327094696
Transfer focus from editor component to its hidden input
2014-04-22 17:09:03 -06:00
Nathan Sobo
c4fdb54650
Update editor component when a visible selection is removed
2014-04-22 17:09:03 -06:00
Nathan Sobo
e365e51a2b
Render all visible cursors
2014-04-22 17:09:03 -06:00
Nathan Sobo
70e5880b1d
Start on cursor rendering
2014-04-22 17:09:02 -06:00
Nathan Sobo
2dda577d7c
Improve TokenizedLine::getScopeTree specs and fix bug
2014-04-22 17:09:02 -06:00
Nathan Sobo
958bc638d7
Improve scrolling performance
2014-04-22 17:09:02 -06:00
Nathan Sobo
a134a60ce8
Render the entire editor with React. Handle vertical scrolling.
...
The space-pen view is now a simple wrapper around the entire React
component to integrate it cleanly into our existing system. React
components can't adopt existing DOM nodes, otherwise I would just have
the react component take over the entire view instead of wrapping.
2014-04-22 17:09:02 -06:00
Nathan Sobo
8ad13d3045
Add a real spec for visible line rendering in the react editor view
2014-04-22 17:09:01 -06:00
Nathan Sobo
da36d5f40f
Start experimenting with an EditorView that renders content with React
2014-04-22 17:09:01 -06:00
Corey Johnson
e450e61248
Fix broken spec
2014-04-22 10:01:24 -07:00
Corey Johnson
fd7951b2c6
Remove focused spec
2014-04-22 09:51:15 -07:00
Corey Johnson
1583271e2f
Use setTextInRange instead of change
2014-04-18 15:50:30 -07:00
Corey Johnson
da49751f24
Remove usage of PaneContainerView::getActivePaneView
2014-04-18 10:43:27 -07:00
Kevin Sawicki
81646532b4
Ignore non-string core.themes config entries
...
Previously exceptions would be raised downstream if invalid theme
names were returned from ThemeManager::getEnabledThemeNames
Closes #1877
2014-04-17 13:33:51 -07:00
Kevin Sawicki
408665d7d2
Add Config::isDefault(keyPath)
2014-04-17 13:24:34 -07:00
Kevin Sawicki
541ffa5057
💄 Combine specs
2014-04-17 13:24:34 -07:00