diff --git a/src/overlay-manager.coffee b/src/overlay-manager.coffee index 21a484fbe..7858cb8a2 100644 --- a/src/overlay-manager.coffee +++ b/src/overlay-manager.coffee @@ -27,11 +27,12 @@ class OverlayManager contentMargin = parseInt(getComputedStyle(itemView)['margin-left']) ? 0 @presenter.setOverlayDimensions(decorationId, itemView.offsetWidth, itemView.offsetHeight, contentMargin) - renderOverlay: (state, decorationId, {item, pixelPosition}) -> + renderOverlay: (state, decorationId, {item, pixelPosition, class: klass}) -> itemView = atom.views.getView(item) cachedOverlay = @overlaysById[decorationId] unless overlayNode = cachedOverlay?.overlayNode overlayNode = document.createElement('atom-overlay') + overlayNode.classList.add(klass) if klass? @container.appendChild(overlayNode) @overlaysById[decorationId] = cachedOverlay = {overlayNode, itemView} diff --git a/src/text-editor-presenter.coffee b/src/text-editor-presenter.coffee index 7bb84bd1a..9336e7465 100644 --- a/src/text-editor-presenter.coffee +++ b/src/text-editor-presenter.coffee @@ -424,7 +424,7 @@ class TextEditorPresenter for decoration in @model.getOverlayDecorations() continue unless decoration.getMarker().isValid() - {item, position} = decoration.getProperties() + {item, position, class: klass} = decoration.getProperties() if position is 'tail' screenPosition = decoration.getMarker().getTailScreenPosition() else @@ -450,8 +450,9 @@ class TextEditorPresenter pixelPosition.top = top pixelPosition.left = left - @state.content.overlays[decoration.id] ?= {item} - @state.content.overlays[decoration.id].pixelPosition = pixelPosition + overlayState = @state.content.overlays[decoration.id] ?= {item} + overlayState.pixelPosition = pixelPosition + overlayState.class = klass if klass? visibleDecorationIds[decoration.id] = true for id of @state.content.overlays