 
     switchDown: ({currentRow, currentColumn}) ->
         maxRow = @editSession.getLength()
-        if @editor.getReadOnly() or currentRow + 1 >= maxRow - 2
+        if @editor.getReadOnly() or currentRow + 1 >= maxRow - @codeSuffixLength
             return
         if currentRow < maxRow - 1
             @editSession.moveLinesDown(currentRow, currentRow)

                button.attr 'disabled', true
            else
                button.attr 'disabled', false

            button.text "#{line}: #{usesRemaining}"
        return

    switchUp: ({currentRow, currentColumn}) ->
        if @editor.getReadOnly() or currentRow - 1 <= 3
            return
        if currentRow > 0
            @editSession.moveLinesUp(currentRow, currentRow)


    deleteLine: ({text, currentRow}) ->
        maxRow = @editSession.getLength()
        if @editor.getReadOnly() or currentRow >= maxRow - @codeSuffixLength
            return
        line = text.getLine currentRow
        if text.getLength() == 1
