From 470780341656a7db4079c3cc0216776ecccf679a Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 22 Mar 2017 12:58:51 -0600 Subject: [PATCH] Use the atom.views scheduler in TextEditorComponent This ensures smooth scheduling interactions with autocomplete-plus overlays so they measure their dimensions at the right time. --- src/atom-environment.coffee | 1 + src/text-editor-component.js | 4 ++++ src/text-editor.coffee | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/src/atom-environment.coffee b/src/atom-environment.coffee index 7167cc36a..1a6dd6cbe 100644 --- a/src/atom-environment.coffee +++ b/src/atom-environment.coffee @@ -135,6 +135,7 @@ class AtomEnvironment extends Model @deserializers = new DeserializerManager(this) @deserializeTimings = {} @views = new ViewRegistry(this) + TextEditor.setScheduler(@views) @notifications = new NotificationManager @updateProcessEnv ?= updateProcessEnv # For testing diff --git a/src/text-editor-component.js b/src/text-editor-component.js index 0d5cb0811..4be22d9b2 100644 --- a/src/text-editor-component.js +++ b/src/text-editor-component.js @@ -24,6 +24,10 @@ function scaleMouseDragAutoscrollDelta (delta) { module.exports = class TextEditorComponent { + static setScheduler (scheduler) { + etch.setScheduler(scheduler) + } + static didUpdateScrollbarStyles () { if (this.attachedComponents) { this.attachedComponents.forEach((component) => { diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 33bfcbf6f..9c4c0ccd1 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -61,6 +61,10 @@ class TextEditor extends Model @setClipboard: (clipboard) -> @clipboard = clipboard + @setScheduler: (scheduler) -> + TextEditorComponent ?= require './text-editor-component' + TextEditorComponent.setScheduler(scheduler) + @didUpdateScrollbarStyles: -> TextEditorComponent ?= require './text-editor-component' TextEditorComponent.didUpdateScrollbarStyles()