Antonio Scandurra
007ec75fbf
Merge branch 'master' into indent-soft-wrap
2015-02-21 12:14:05 +01:00
Kevin Sawicki
7ca9e5614c
Go back to using or check instead of pattern
2015-02-20 15:11:46 -08:00
Kevin Sawicki
caff9e0866
Merge pull request #5579 from sebmck/babel
...
Rename 6to5 to Babel
2015-02-20 15:04:26 -08:00
Nathan Sobo
964809373b
Merge branch 'ns-manual-dom-updates'
2015-02-20 15:29:33 -07:00
Nathan Sobo
55f80f33e6
Avoid allocating an array on every poll
...
@jashkenas Love CoffeeScript but I wish I could opt out of loops being
list comprehensions.
2015-02-20 15:28:02 -07:00
Nathan Sobo
32d393d26f
Pause polling when updates are requested, but don’t start polling over
...
The blinking cursor was ensuring that we never polled in certain cases.
We need to allow the interval to continue polling at a normal pace, but
just avoid doing any work that could delay the next animation frame.
2015-02-20 09:51:11 -07:00
Antonio Scandurra
0b777e3ccc
Take into account odd spaces as well
2015-02-20 12:32:30 +01:00
Antonio Scandurra
0258531a3c
Use softWrapIndentation name consistently
2015-02-20 10:28:27 +01:00
Antonio Scandurra
ab5c79d009
Revert softWrapAtNewline attempt
...
...now we use `skipSoftWrapIndentation: true` when moving up and down.
2015-02-20 10:02:34 +01:00
Antonio Scandurra
ed77358515
Show guide on soft wrapped lines with indentation
...
* Rename phantomToken to softWrapIndent and use it consistently
* Build multiple softWrapIndent tokens in order to show guides
* Memoize softWrapIndentTokens and softWrapIndentDelta
2015-02-20 09:29:37 +01:00
Michael Bolin
bf9c4132b2
Create a comprehensive test for the new behavior in Project.
2015-02-19 21:02:31 -08:00
Michael Bolin
ede049554c
formatting fixes
2015-02-19 20:28:36 -08:00
Michael Bolin
c728ad6d57
Introduce atom.directory-provider service.
...
A `Project` will always have a `DefaultDirectoryProvider` that
will be used if there are no other `DirectoryProvider` objects
that can produce a `Directory` for a path.
2015-02-19 17:57:18 -08:00
Nathan Sobo
dc752eda20
Update scrollHeight/Width before scrollTop/Left in dummy scrollbars
...
This avoids jerky scroll behavior when auto-scrolling at the margins.
2015-02-19 17:15:03 -07:00
Nathan Sobo
1d84d74e50
Centralize text editor DOM interaction through atom.views
...
This ensures that DOM writing, reading, and polling properly interleaves
with DOM interactions from other text editors and any other code that
coordinates via atom.views. Not sure about the location of it though.
2015-02-19 17:14:58 -07:00
Nathan Sobo
de4d995190
Add document coordination methods to ViewRegistry
...
These will assist in updating and reading the DOM in a non-blocking
manner across components.
2015-02-19 17:14:57 -07:00
Nathan Sobo
d337c88aea
Delete overlay node from hash before removing
2015-02-19 17:14:57 -07:00
Nathan Sobo
7033b27207
Make EditorComponent a plain JS object rather than a React component
2015-02-19 17:14:57 -07:00
Nathan Sobo
c9a6c32752
Replace cursor blink React props with normal properties
2015-02-19 17:14:57 -07:00
Nathan Sobo
1e8b0acbd0
Remove redundant update requests in editor view
2015-02-19 17:14:57 -07:00
Nathan Sobo
0d109d69f0
Use CompositeDisposable instead of SubscriberMixin in editor view
2015-02-19 17:14:57 -07:00
Nathan Sobo
dae15eafc9
Remove unused prototype properties
2015-02-19 17:14:57 -07:00
Nathan Sobo
ccdc4eb24b
Update TextEditorComponent DOM node manually
2015-02-19 17:14:56 -07:00
Nathan Sobo
d89ec25b28
Remove showIndentGuide subscription from view
2015-02-19 17:14:56 -07:00
Nathan Sobo
e244aae7c0
Cache ::showIndentGuide config setting
2015-02-19 17:14:56 -07:00
Nathan Sobo
5ecefe7213
Update scoped config values in presenter when grammar changes
2015-02-19 17:14:56 -07:00
Nathan Sobo
1845234775
Remove unnecessary ::mini subscription on model in TextEditorComponent
2015-02-19 17:14:56 -07:00
Nathan Sobo
2fba4979f9
Use presenter to determine gutter visibility
2015-02-19 17:14:56 -07:00
Nathan Sobo
156569f19e
Add TextEditorPresenter::state.gutter.visible
2015-02-19 17:14:55 -07:00
Nathan Sobo
fd603a0cbc
Move new character measurement to end of full update to avoid reflow
2015-02-19 17:14:55 -07:00
Nathan Sobo
bf29a020e1
Use presenter for focused state in EditorComponent
2015-02-19 17:14:55 -07:00
Nathan Sobo
4654bad543
Add .focused to presenter state
...
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com >
2015-02-19 17:14:55 -07:00
Nathan Sobo
5c7e0c387a
Use plain JS object for ScrollbarCornerComponent instead of React
...
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com >
2015-02-19 17:14:55 -07:00
Nathan Sobo
6b3d29a5e4
Manually update DOM in ScrollbarCornerComponent
...
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com >
2015-02-19 17:14:55 -07:00
Nathan Sobo
77a4482263
Fix assignment of oldState values in ScrollbarComponent
...
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com >
2015-02-19 17:14:55 -07:00
Nathan Sobo
da6bd3664d
Use plain JS object for ScrollbarComponent instead of React
2015-02-19 17:14:54 -07:00
Nathan Sobo
d9e100cdf8
Perform ScrollbarComponent DOM updates manually
2015-02-19 17:14:54 -07:00
Nathan Sobo
8552acaec2
🐎 Optimize line node updates
2015-02-19 17:14:54 -07:00
Nathan Sobo
8784d48236
Use plain JS object for InputComponent instead of React
2015-02-19 17:14:54 -07:00
Nathan Sobo
ea49fc6d5f
Construct LinesComponent with visibility param to avoid redundant update
2015-02-19 17:14:54 -07:00
Nathan Sobo
0047e3bc2d
Perform InputComponent DOM updates manually
2015-02-19 17:14:54 -07:00
Nathan Sobo
52a9a76b2a
Use presenter state in InputComponent
2015-02-19 17:14:54 -07:00
Nathan Sobo
8e27d8215a
Store hidden input data in TextEditorPresenter::state
2015-02-19 17:14:54 -07:00
Nathan Sobo
168df987d7
Make GutterComponent a plain JS object instead of a React component
2015-02-19 17:14:53 -07:00
Nathan Sobo
2d771ab8e4
Perform GutterComponent DOM updates manually
2015-02-19 17:14:53 -07:00
Nathan Sobo
679cadabde
Store maxLineNumberDigits in oldState
2015-02-19 17:14:53 -07:00
Nathan Sobo
c06e100fae
Make LinesComponent a normal object instead of a React component
...
Also, remove ability to disable hardware acceleration since there’s
no longer a need for it and it complicated this conversion.
2015-02-19 17:14:53 -07:00
Nathan Sobo
da793e834a
Perform all LinesComponent DOM updates manually
2015-02-19 17:14:53 -07:00
Nathan Sobo
b0a29bdc2f
Make HighlightsComponent a plain object instead of using React
2015-02-19 17:14:53 -07:00
Nathan Sobo
b4ecb65fb9
Make CursorsComponent a plain object instead of using React
2015-02-19 17:14:53 -07:00