Commit Graph

11277 Commits

Author SHA1 Message Date
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