Commit Graph

14321 Commits

Author SHA1 Message Date
Antonio Scandurra
bbef0b4551 💚 2016-04-14 11:19:45 +02:00
Antonio Scandurra
581dd45418 Merge branch 'master' into ns-switch-to-display-layers 2016-04-13 13:54:13 +02:00
Katrina Uychaco
49fb287592 Don't load packages starting with dot. Fixes #9805 2016-04-12 20:35:30 -07:00
Damien Guard
db31d795e8 Merge pull request #11437 from atom/dg-command-autorun-ignore
Ignore autorun on our buffered process commands. Fixes #10082
2016-04-12 12:04:25 -07:00
Damien Guard
2d173911b2 Ignore autorun on our buffered process commands. Fixes #10082 2016-04-12 12:02:20 -07:00
Joe Fitzgerald
82fa61e54d Allow Multiple Launches Of Atom To Result In An Updated Environment 2016-04-12 11:29:33 -06:00
joshaber
041906cdae Update nodegit API usage.
This changed in https://github.com/nodegit/nodegit/pull/968.
2016-04-11 11:42:21 -04:00
Antonio Scandurra
6b2bfd5656 Merge branch 'master' into ns-switch-to-display-layers 2016-04-11 13:15:00 +02:00
Cole R Lawrence
7decbf0d06 📝 Fix linking the decorateMarker
Error happens at this place in the docs
https://atom.io/docs/api/v1.6.2/TextEditor#instance-decorateMarkerLayer
2016-04-09 14:07:37 -05:00
Antonio Scandurra
ab0d69ce90 Make selectionsMarkerLayer also persistent 2016-04-09 09:50:12 +02:00
Nathan Sobo
99ede51e75 Delete duplicated method 2016-04-08 18:16:28 -06:00
Nathan Sobo
effe882a8d Make atomic leading whitespace optional (defaults to enabled)
Closes #3174
2016-04-08 15:31:01 -06:00
Nathan Sobo
be05071462 Merge remote-tracking branch 'origin/master' into ns-use-display-layers 2016-04-08 15:18:44 -06:00
joshaber
14afb49676 Use #index instead of #openIndex.
#openIndex is going away: https://github.com/nodegit/nodegit/pull/989
2016-04-08 15:58:23 -04:00
Nathan Sobo
5e5cea9600 Drop “experimental” warnings from marker layer APIs 2016-04-08 10:25:25 -06:00
Nathan Sobo
37bfbe8538 Document return value correctly 2016-04-08 10:23:01 -06:00
Nathan Sobo
e587a67f3b Document persistent option in TextEditor::addMarkerLayer 2016-04-08 10:22:50 -06:00
joshaber
991e4e396a Merge branch 'master' into fix-reading-cached-status-from-within-callback 2016-04-07 11:34:12 -04:00
joshaber
130c400758 Remove unnecessary fat arrow.
Looks like this was introduced in https://github.com/atom/atom/pull/11369. 
🙈
2016-04-07 11:25:00 -04:00
joshaber
db8e62315c Defer the callback to the next tick.
This gives GitRepository the chance to clear its path cache before the callback 
is invoked. Otherwise reads from the cached status state within the callback 
would be wrong.
2016-04-07 11:19:27 -04:00
Antonio Scandurra
c23ef9a168 Stop using tokenizedLineForScreenRow in random-editor-spec.coffee 2016-04-07 13:54:29 +02:00
Antonio Scandurra
a532000af4 Handle only buffer coordinates in TokenIterator 2016-04-07 13:39:13 +02:00
Antonio Scandurra
e236b8c3be Avoid storing properties in selection markers
Previously we were storing a {type: ‘selection’} property, probably
leftover from the “pre-marker-layer” world. We were also storing
`Selection`’s `goalScreenRange` on the marker, which is now just an 
instance variable.
2016-04-06 20:00:08 +02:00
Antonio Scandurra
c2396396a5 📝 Update documentation for mark*Position 2016-04-06 19:20:05 +02:00
Antonio Scandurra
4f28f9f3f8 🔥 Remove defensive assertion
We're not throwing this exception anywhere else, so we might as well delete it 
from here.

/cc: @nathansobo
2016-04-06 15:48:44 +02:00
Antonio Scandurra
ffd3b1829d Provide deprecation warnings for clipScreenPosition parameters
Based on a cursory search, there’s only one package using that API. Even though 
we could submit a PR, we’re introducing deprecations to ensure we're not missing 
any other package.
2016-04-06 15:42:53 +02:00
Antonio Scandurra
25b71b804d Un-document passing clip options to setCursorBufferPosition
…the marker’s screen position will be clipped automatically when
translating coordinates.
2016-04-06 14:44:26 +02:00
Antonio Scandurra
3ec1027d5c Remove clipDirection parameter in a call to cursor.setBufferPosition
We aren’t clipping in that code path, so we might as well avoid to pass
the parameter.
2016-04-06 14:38:53 +02:00
Antonio Scandurra
00f03fd614 📝 Document {clipDirection: 'closest'} 2016-04-06 14:21:06 +02:00
Antonio Scandurra
66b9383c4e Use clipDirection instead of the clip option 2016-04-06 14:20:27 +02:00
Nathan Sobo
af28fa0752 When copying, create selections marker layer on the *new* display layer
Previously, we were copying the selections marker layer into the current
editor’s display layer. This would work fine until the spatial mapping
drifted in the copied editor, and would then have counterintuitive
results.
2016-04-05 18:47:11 -06:00
Nathan Sobo
b922262871 Avoid internal deprecation warning on getHeight 2016-04-05 17:18:24 -06:00
Nathan Sobo
85ab86df10 Merge branch 'master' into ns-use-display-layers 2016-04-05 16:40:41 -06:00
Nathan Sobo
a790ae2158 Avoid deprecation warnings for methods that are now on TextEditor 2016-04-05 12:12:14 -06:00
Nathan Sobo
117a3fb1b5 Provide deprecated TextEditor.prototype.displayBuffer shim
Even though it was a private field, we used it in some of our packages
and it is widespread enough to warrant some effort to smooth the
transition.

Also, we added a couple methods that were formerly implemented on
DisplayBuffer to TextEditor itself because they were used in packages.
2016-04-05 12:11:55 -06:00
Antonio Scandurra
ebd9e71b0b Make serialization format backwards/forwards compatible
Also, introduce a serialization version so we can drop the compatibility
fallbacks in the future.
2016-04-05 11:27:15 -06:00
Antonio Scandurra
bef7539e34 Refactor DisplayBuffer to DecorationManager
This commit moves all the remaining concerns not related to decorations
out of `DisplayBuffer` and into `TextEditor`. This means the
`DisplayBuffer` is now free to be renamed to `DecorationManager`.
2016-04-05 18:43:08 +02:00
Antonio Scandurra
0cf0d6f587 🔥 Remove unused code
Now that `DisplayLayer` was fully implemented, we can start deleting those 
codepaths in `DisplayBuffer` that are now covered by this new abstraction.
2016-04-05 15:38:52 +02:00
Antonio Scandurra
712b1f1f88 Fix LanguageMode specs
Also, avoid creating folds twice for the same position when calling
`foldAll`.
2016-04-05 14:19:59 +02:00
Antonio Scandurra
544b75c7b0 🔥 💚 Fix TokenizedBuffer specs 2016-04-05 12:19:45 +02:00
Antonio Scandurra
e6cfb8d587 Use a zero-width nbsp as our fold character 2016-04-05 11:34:14 +02:00
Antonio Scandurra
108513f994 Fix LinesYardstick specs to use the new tagCode-based scope structure
Also, remove specs testing RTL behavior. They don’t work as of today,
and I think we need a better approach to handle them, that doesn’t
solely rely on the DOM, but actually takes into account that e.g. (0, 0)
is the rightmost character on a right-to-left string.
2016-04-05 10:47:25 +02:00
Nathan Sobo
9833e54ec3 Fix typo 2016-04-04 19:22:44 -06:00
Nathan Sobo
f638bcbb6d Don’t assume the accented character menu on every IME event 2016-04-04 18:56:08 -06:00
Nathan Sobo
244f117d95 Handle empty client rects in LinesYardstick
getBoundingClientRect returns garbage values if the range has zero
width, which it does in the case of a fold placeholder or any other
zero-width character.

Sometimes getClientRects() returns an empty list, so we fall back to the
bounding rect in these cases.
2016-04-04 18:08:34 -06:00
Nathan Sobo
a99ee14ac0 Make accented character menu detection work with left/right arrow keys 2016-04-04 17:47:36 -06:00
Isaac Salier-Hellendag
2a7344091d Avoid setting hidden input value on textInput
Atom currently sets the `value` of the input on every `textInput` event, in an effort to appropriately handle changes made via the OSX diacritic menu (for accents, umlauts, etc).

The drawback of this is approach is that updating the value of the input will trigger layout and a subsequent layer tree update.

To resolve this, here is my proposal:

  - Track a flag for `keypress` events. When the diacritic menu is used, there are two `textInput` events, with no `keypress` in between. Therefore, when no `keypress` has occurred just prior to a `textInput`, the editor model can select the previous character to be replaced by the new accented character.
  - Track a flag for `compositionstart` events. When a user is in IME mode, the diacritic menu cannot be used, so the editor can skip the backward selection.

Test Plan:

Tested in a plaintext file.

  - Type Latin characters, verify proper character insertion.
  - Press and hold <kbd>a</kbd>. Diacritic menu appears. Select an option using the keyboard or mouse. Verify that the `a` is replaced by an accented `a`, with no extra characters.
  - Type test strings in Katakana, 2-Set Korean, Telex (Vietnamese), Simplified Pinyin. Verify that characters are inserted correctly while composing, and after committing strings.
2016-04-04 13:33:43 -07:00
Nathan Sobo
bbef4c67c3 Get the TextEditorComponent specs green 2016-04-04 11:21:41 -06:00
Antonio Scandurra
fd960e9a37 Merge branch 'master' into ns-use-display-layers 2016-04-04 15:25:50 +02:00
Michelle Tilley
8575b38c7b Pending pane items shouldn't be made permanent before being replaced
Previously, when a Pane would replace a pending item with
another pending item, it would emit
`onItemDidTerminatePendingState` for that item, which was
not true because the item was actually being destroyed.
2016-04-02 17:48:24 -07:00