     @currentItemIndicator = new CurrentItemIndicator(@editor)
     @grammar = new Grammar(@editor, includeHeaderRules: @provider.includeHeaderGrammar)
 
+    @disposables.add @onDidMoveToItemArea  => @setReadOnly(true)
+
     @disposables.add(
-      @onDidMoveToItemArea(@onMoveToItemArea.bind(this))
       @registerCommands()
       @observeChange()
       @observeStopChanging()

  itemsByProvider: null # Used to cache result
  lastNarrowQuery: ''
  modifiedState: null

  isModified: ->
    @modifiedState

  moveToPrompt: ({startInsert}={}) ->
    @withIgnoreCursorMove =>
      @editor.setCursorBufferPosition(@getPromptRange().end)
      @setReadOnly(false) if startInsert
      @emitDidMoveToPrompt()

  isNormalItemRow: (row) ->
