 
     decorationsByMarkerId
 
+  # Public: Adds a decoration that tracks a `Marker`. When the marker moves,
+  # is invalidated, or is destroyed, the decoration will be updated to reflect
+  # the marker's state.
+  #
+  # There are three types of supported decorations:
+  #
+  # * __line__: Fills the line background with the decoration color.
+  # * __highlight__: Renders a colored rectangle on the minimap. The highlight
+  #   is rendered above the line's text.
+  # * __highlight-over__: Same as __highlight__.
+  # * __highlight-under__: Renders a colored rectangle on the minimap. The
+  #   highlight is rendered below the line's text.
+  #
+  # marker - A `Marker` you want this decoration to follow.
+  # decorationParams - An {Object} representing the decoration eg.
+  #                   `{type: 'gutter', class: 'linter-error'}`.
+  #                   The object can have the following properties:
+  #                   :type - The type {String}. There are a few supported
+  #                           decoration types: `line`, `highlight`,
+  #                           `highlight-over` and `highlight-under`
+  #                   :class - This CSS class {String} will be used to retrieve
+  #                            the background color of the decoration by
+  #                            building a scope corresponding to `.minimap
+  #                            .editor <your-class>`.
+  #                   :scope - The scope {String} to use to retrieve the
+  #                            decoration background. Note that if the `scope`
+  #                            property is set, the `class` won't be used.
+  #                   :color - The color {String} to use to render the
+  #                            decoration. When set, neither `scope` nor `class`
+  #                            are used.
+  #
+  # Returns a `Decoration` object.
   decorateMarker: (marker, decorationParams) ->
     marker = @getMarker(marker.id)
 

    @decorationUpdatedSubscriptions = {}
    @decorationDestroyedSubscriptions = {}

  decorationForId: (id) ->
    @decorationsById[id]

  decorationsByTypesForRow: (row, types..., decorations) ->
    out = []
    for id, array of decorations

class DecorationManagement extends Mixin
  ### Public ###

  # Initializes the decorations related properties.
  initializeDecorations: ->
    @decorationsById = {}
    @decorationsByMarkerId = {}
