Commit Graph

87 Commits

Author SHA1 Message Date
Christopher Chedeau
ef7ce7cd3a Always reserve two digits on the line number gutter
We are working on a feature that changes the content of the editor when you mouse over some things and it makes the UI jump when going from 1 line to > 10. This makes the UI feel really bad.

I've looked at Sublime and the 1-9 state is the same as 1-99, only when you reach 100 lines then it jumps. I think that it is a better behavior as you want to minimize jumps as much as possible and it is extremely likely that you are going to hit the 9-10 lines threshold.

![](http://g.recordit.co/ABIlZf5eTx.gif)

While this is being reviewed and until the new version shipped, we are going to monkeypatch Atom in order to get this feature.

```js
var presenter = atom.textEditors.editors.entries().next().value[0].presenter.__proto__;
var old_updateLineNumberGutterState = presenter.updateLineNumberGutterState;
presenter.updateLineNumberGutterState = function() {
  var res = old_updateLineNumberGutterState.apply(this, arguments);
  this.lineNumberGutter.maxLineNumberDigits = Math.max(2, this.lineNumberGutter.maxLineNumberDigits);
  return res;
};
```

Released under CC0
2017-01-10 18:14:50 -08:00
Max Brunsfeld
d7b86d9187 Merge remote-tracking branch 'origin/master' into mb-ns-integrate-new-display-layer 2016-12-14 12:16:50 -08:00
Max Brunsfeld
8afeae46b4 Adjust assertion now that paired characters aren't wrapped in spans
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-13 17:29:36 -08:00
Max Brunsfeld
4f7b9e03c8 Expect a single leading whitespace token w/ atomic soft tabs & indent guides disabled
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-13 17:28:54 -08:00
Damien Guard
e89c5efa9d
Text editor measures diff in one test on win32 2016-11-29 16:55:14 -08:00
Antonio Scandurra
83f3c296f3 Add test for clicking an SVG element 2016-11-24 10:12:39 +01:00
Antonio Scandurra
4df74beba7 Merge branch 'master' into as-deprecate-shadow-dom 2016-10-17 12:06:00 +02:00
Antonio Scandurra
3d2e18747f Prefer using new TextEditor to Workspace.prototype.buildTextEditor 2016-10-10 09:28:36 +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
9c5bddaa69 Reimplement block decorations without the shadow DOM 2016-10-07 10:40:41 +02:00
Antonio Scandurra
b71b412ede Transform deprecated shadow DOM selectors 2016-10-07 10:40:41 +02:00
Antonio Scandurra
56a6510b25 Start on removing shadow DOM 2016-10-07 10:40:41 +02:00
Nathan Sobo
f723bccc29 Add test coverage for deprecated implicit disabling of autoHeight 2016-08-18 14:03:44 -06:00
Nathan Sobo
9f8f03b10f Add test coverage for TextEditor autoHeight 2016-08-18 13:45:00 -06:00
Nathan Sobo
106621e161 Deprecate automatic assignment of autoHeight for text editors
Previously, we attempted to automatically determine whether the editor’s
height should be based on the editor’s content or the height of its
container. Unfortunately, DOM APIs are insufficient to make this
determination in a complete way, leading to unpredictable behavior.

This PR deprecates the automatic determination of this behavior. By
default, editors base their height on their content. If an editor has
an explicit height assigned via its style or is positioned absolute with
an explicit top and bottom, we disable the content-based autoHeight and
log a deprecation warning telling the user to assign autoHeight
explicitly.

This paves the way to add an autoWidth setting, which will default to
false.
2016-08-17 15:52:51 -06:00
Antonio Scandurra
3642292302 🔥 debugger 2016-08-17 18:05:58 +02:00
Antonio Scandurra
e8f2e3a608 Size TextEditorElement according to the autoWidth property 2016-08-17 16:20:00 +02:00
Max Brunsfeld
4b0183d074 Remove extraneous TextEditor setter methods 2016-08-15 16:45:10 -07:00
Max Brunsfeld
1c99c399d1 Merge branch 'master' into ns-mb-detangle-editor 2016-08-15 11:17:07 -07:00
Nathan Sobo
ebb03f022b Merge branch 'master' into ns-mock-animation-frames-in-editor-spec 2016-08-12 16:16:09 -06:00
Nathan Sobo
ced2174b5a Mock clock and animation frames in TextEditorComponent specs 2016-08-12 15:21:46 -06:00
Max Brunsfeld
a11a235ef1 Don't reset display layer twice in TextEditor constructor 2016-08-12 13:36:50 -07:00
Antonio Scandurra
87d684132c Extract timeoutPromise into async-spec-helpers
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:46:12 +02:00
Antonio Scandurra
82f0003302 Extract conditionPromise into async-spec-helpers
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-08-12 17:46:11 +02:00
Max Brunsfeld
684952458f Remove new TextEditor setters; just use update 2016-08-11 15:34:54 -07:00
Max Brunsfeld
5d83874725 Merge branch 'master' into ns-mb-detangle-editor 2016-08-08 15:39:24 -07:00
Yuya Tanaka
1ce2f6ce87 🐛 Fix window size is not updated on resize 2016-08-05 11:56:01 +09:00
Nathan Sobo
43caead392 Avoid test failure due to timing
Signed-off-by: Antonio Scandurra <as-cii@github.com>
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-07-28 17:34:57 -06:00
Max Brunsfeld
63a730253b Don't use config for scrollSensitivity in TextEditorComponent
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 15:35:56 -07:00
Max Brunsfeld
1c38dce3b2 Don't use font config settings in TextEditorComponent
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 15:23:59 -07:00
Max Brunsfeld
3f8b6138dc Don't use config in TextEditorPresenter
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-27 14:56:36 -07:00
Max Brunsfeld
dfb48aa8da Get TextEditorComponent specs passing
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-07-26 16:04:09 -07:00
Max Brunsfeld
5167dbca6f Move handling of undoGroupingInterval to TextEditorRegistry 2016-07-11 17:47:40 -07:00
Antonio Scandurra
57442781ec Fix bug when positioning cursors after the fold-marker 2016-04-28 13:31:28 +02:00
Antonio Scandurra
7ba9cc6329
Unfold all the folds intersecting the row when clicking fold indicators 2016-04-26 13:24:21 +02:00
Antonio Scandurra
38bd120fb1
🎨 2016-04-26 12:11:13 +02:00
Antonio Scandurra
f81f54e08a
Apply 'folded' decoration only to 1st screen row of a wrapped buffer row 2016-04-26 12:11:05 +02:00
Antonio Scandurra
ebfd821237
Destroy folds corresponding to fold-markers and not the whole buffer row 2016-04-26 10:47:42 +02:00
Antonio Scandurra
754cbc2a67
Merge branch 'master' into ns-switch-to-display-layers
# Conflicts:
#	spec/tokenized-buffer-spec.coffee
2016-04-20 10:55:56 +02:00
Damien Guard
1500381ac9 Tweaks to the specs improvements from feedback 2016-04-19 14:25:44 -07:00
Damien Guard
99e716f9ed Fix specs failures on Windows including paths 2016-04-15 11:25:05 -07:00
Nathan Sobo
85ab86df10 Merge branch 'master' into ns-use-display-layers 2016-04-05 16:40:41 -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
Nathan Sobo
402a335eef Fix accented character menu spec 2016-04-04 19:50:39 -06:00
Nathan Sobo
a99ee14ac0 Make accented character menu detection work with left/right arrow keys 2016-04-04 17:47:36 -06: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
Antonio Scandurra
34f9ad8710 Add top/bottom ruler before/after a block decoration 2016-03-22 11:20:55 +01:00
Antonio Scandurra
bf5a0d8c8c Adjust assertions based on the new soft-wrap logic 2016-03-17 15:11:27 +01:00
Antonio Scandurra
43f27780fd Fix specs related to the produced HTML line output
This verifies that with the new DisplayLayer the produced output is
cleaner when tags interleave.
2016-03-17 14:56:23 +01:00