     @assert = atom.assert
     @views = atom.views
     @styles = atom.styles
-    @grammars = atom.grammars
 
     @emitter = new Emitter
     @subscriptions = new CompositeDisposable

    @subscriptions.add @component.onDidChangeScrollLeft =>
      @emitter.emit("did-change-scroll-left", arguments...)

  initialize: (model, {@views, @themes, @workspace, @assert, @styles, @grammars}, @autoHeight = true, @scrollPastEnd = true) ->
    throw new Error("Must pass a views parameter when initializing TextEditorElements") unless @views?
    throw new Error("Must pass a themes parameter when initializing TextEditorElements") unless @themes?
    throw new Error("Must pass a workspace parameter when initializing TextEditorElements") unless @workspace?
    throw new Error("Must pass an assert parameter when initializing TextEditorElements") unless @assert?
    throw new Error("Must pass a styles parameter when initializing TextEditorElements") unless @styles?
    throw new Error("Must pass a grammars parameter when initializing TextEditorElements") unless @grammars?

    @setModel(model)
    this

      themes: @themes
      workspace: @workspace
      assert: @assert
      scrollPastEnd: @scrollPastEnd
    )
    @rootElement.appendChild(@component.getDomNode())
