Commit Graph

14947 Commits

Author SHA1 Message Date
Antonio Scandurra
c6832d5b0e Add TextEditorElement.lightDOM to make package specs backward compatible 2016-10-17 16:19:14 +02:00
Antonio Scandurra
883bb15276 Don't trigger a blur event when focusing the same editor twice 2016-10-17 16:18:54 +02:00
Antonio Scandurra
a6999e4a82 Fix lint errors 2016-10-17 14:28:50 +02:00
Antonio Scandurra
4df74beba7 Merge branch 'master' into as-deprecate-shadow-dom 2016-10-17 12:06:00 +02:00
Machiste Quintana
d124248db0 👕 Fix linter errors 2016-10-16 09:28:33 -07:00
Machiste Quintana
a460383e58 🎨 Fix weird auto-generated spacing 2016-10-15 16:00:12 -07:00
Machiste Quintana
164fec6322 Add missing comments 2016-10-15 15:56:05 -07:00
Machiste Quintana
17557fe7d6 Convert ConfigSchema to JS 2016-10-15 14:01:58 -07:00
Max Brunsfeld
5db4c8dffb Merge branch 'master' into mb-defer-work-when-opening-files 2016-10-14 12:20:41 -07:00
Antonio Scandurra
c6db4df6c0 Merge pull request #12984 from atom/mb-benchmark-mode
Introducing Atom benchmarks
2016-10-14 20:25:52 +02:00
Antonio Scandurra
69567edbe9 Merge pull request #12933 from atom/mb-remove-placeholder-tokenized-lines
Don't construct placeholder tokenized lines
2016-10-14 16:30:36 +02:00
Antonio Scandurra
c54b330d68 Update eslint and fix new script/lint errors 2016-10-14 13:54:10 +02:00
Antonio Scandurra
a36e9883d8 🎨 2016-10-14 13:07:03 +02:00
Antonio Scandurra
80189b4826 Catch benchmarks errors and exit with statusCode = 1 2016-10-14 11:02:59 +02:00
Antonio Scandurra
5211b49f7d Add a "Run Benchmarks" command to plot benchmark results 2016-10-14 11:02:59 +02:00
Antonio Scandurra
1bdd79d719 Implement atom --benchmark-test to ensure benchmarks are valid on CI 2016-10-14 11:02:59 +02:00
Antonio Scandurra
fa90851e14 Implement atom --benchmark 2016-10-14 11:02:58 +02:00
Nathan Sobo
be7c244b78 Don't share overlayDimensions across instances 2016-10-13 20:30:56 -06:00
Max Brunsfeld
c870d1bbe9 Merge branch 'master' into mb-defer-work-when-opening-files 2016-10-12 11:56:27 -07:00
Max Brunsfeld
8d6bc5be48 Remove unnecessary guard in screenLineForScreenRow 2016-10-12 11:50:53 -07:00
Max Brunsfeld
c2363010f8 Map out-of-range pixel positions to valid columns 2016-10-12 11:50:53 -07:00
Antonio Scandurra
1f210adad1 Delete unused conditional in tokenizeNextChunk and invalidateRow
Previously, for null grammar and large file mode, we were short
circuiting the tokenization of the next chunk or the invalidation of a
row. However, that is unnecessary because there is no additional chunk
to process with null grammar or in large file mode.
2016-10-12 18:56:33 +02:00
Antonio Scandurra
d393cba75d Simplify on-demand placeholder line creation and add test coverage 2016-10-12 13:04:03 +02:00
Antonio Scandurra
2246072ac9 Restore line order in TokenizedBufferIterator.prototype.seek 2016-10-12 12:20:32 +02:00
Antonio Scandurra
633e68f4d5 Remove null guard in scopeDescriptorForPosition 2016-10-12 12:18:58 +02:00
Antonio Scandurra
ea80483cbe Delete TokenizedBuffer.prototype.buildPlaceholderTokenizedLinesForRows 2016-10-12 12:16:17 +02:00
Antonio Scandurra
d3882c165f 🎨 2016-10-12 12:09:28 +02:00
Antonio Scandurra
00f4c7b282 Use TokenizedBuffer.prototype.tokenizedLineForRow conservatively
Since this method will now construct a placeholder line, we want to use
it only where necessary to keep memory footprint to a minimum.
2016-10-12 09:04:41 +02:00
Antonio Scandurra
66510ae545 Handle null grammars consistently, building placeholder lines on-demand
Previously we were treating the local `NullGrammar` differently from
`atom.grammars.nullGrammar`. These two grammars are conceptually the
same, as the former was created to support editors creation without a
grammar registry.

To keep backwards-compatibility, we also build placeholder lines
on-demand when calling `TokenizedBuffer.prototype.tokenizedLineForRow`.
This ensure that packages relying on the internals of `TokenizedBuffer`
to retrieve syntactic boundaries won't break when the null grammar is
used or large file mode is on.
2016-10-12 09:04:41 +02:00
Max Brunsfeld
d20372a35f Start on removing placeholder lines in TokenizedBuffer 2016-10-12 09:04:41 +02:00
Max Brunsfeld
e9c932f90d Start work towards doing display layer computations in idle callbacks 2016-10-11 22:15:08 -07:00
Nathan Sobo
72c5fcad82 Eliminate selector option in tooltip manager API
No packages use it currently, and it's really complex to support so
we should kill it while we have the chance. When it comes time to
rewrite the tooltip code or add features, not worrying about selectors
will make it easier.
2016-10-10 14:08:51 -06:00
Nathan Sobo
0c7fdea695 Document tooltip API directly instead of referring to Bootstrap docs
I want to eliminate the selector option and open the door to diverging from
the lesser used parts of that API in the future by only documenting a subset.
2016-10-10 14:08:51 -06:00
Nathan Sobo
e71e1f4ed1 Test custom class option 2016-10-10 14:08:51 -06:00
Nathan Sobo
718cc017e6 Hide click-triggered tooltips when clicking anywhere outside of tooltip
Signed-off-by: Antonio Scandurra <as-cii@github.com>
2016-10-10 14:08:51 -06:00
Nathan Sobo
253917f007 Make tooltip accept an item option instead of tooltipElement
...and use view registry to resolve it to a view when showing the tooltip.

Signed-off-by: Antonio Scandurra <as-cii@github.com>
2016-10-10 14:08:51 -06:00
Nathan Sobo
e9200e5bc0 WIP: Add ability to use custom elements inside tooltips 2016-10-10 14:08:51 -06:00
Antonio Scandurra
cccbde02fe Merge branch 'master' into as-export-text-editor-ctor 2016-10-10 10:39:38 +02:00
Antonio Scandurra
3d2e18747f Prefer using new TextEditor to Workspace.prototype.buildTextEditor 2016-10-10 09:28:36 +02:00
Antonio Scandurra
dbd7817823 Make TextEditor.prototype.scrollPastEnd false by default 2016-10-10 09:26:52 +02:00
Max Brunsfeld
1e3443e6c1 Avoid forcing computation of all screen lines when opening a file 2016-10-08 11:17:53 -07:00
Antonio Scandurra
18ddcf902b Statically assign a clipboard instance to the TextEditor class 2016-10-07 18:21:09 +02:00
Antonio Scandurra
e4274e57ed Include Atom version in deprecation message 2016-10-07 16:10:06 +02:00
Antonio Scandurra
901b0b17a3 Fix failing tests 2016-10-07 13:41:00 +02:00
Antonio Scandurra
07d56b23f0 Cache style sheet deprecated selectors transformations in StyleManager 2016-10-07 10:40:41 +02:00
Antonio Scandurra
4db895c731 Transform also more complex atom-text-editor selectors 2016-10-07 10:40:41 +02:00
Antonio Scandurra
1091b0eb60 Fix decorations flashing more than once
When, after flashing a decoration, the decorated range moved, Atom was
showing an additional flash, even if the previous one had already been
consumed. This bug originated in `HighlightsComponent`, where we
maintained state about a certain highlight's flash count. The problem
with this approach, however, is that highlight objects in the component
are very volatile, and we could even have more than one for a single
decoration (i.e. when such decoration spans multiple tiles).

To fix this, we'll now maintain some additional state in
`TextEditorPresenter`, which will set a `needsFlash` attribute on the
highlight state objects, thereby preventing `HighlightsComponent` from
showing the flash animation more than once when the decorated range
changes.
2016-10-07 10:40:41 +02:00
Antonio Scandurra
abef1f25f9 Exclude folded from deprecated syntax selectors 2016-10-07 10:40:41 +02:00
Antonio Scandurra
91df848b8a Keep a backward compatible DOM structure for atom-text-editor contents 2016-10-07 10:40:41 +02:00
Antonio Scandurra
e94ea55d90 🎨 2016-10-07 10:40:41 +02:00