                     else if c in '\'"'
                         stringDelimiter = c
 
-    return [openBracketStack, closeBracketStack, shouldHang, lastFunctionRow]
+    # What's the javascript/coffeescript way to return a lot of outputs?
+    # Is this fine?
+    output = {}
+    output.openBracketStack = openBracketStack
+    output.closeBracketStack = closeBracketStack
+    output.shouldHang = shouldHang
+    output.lastFunctionRow = lastFunctionRow
+    return output
 
   indentHanging: (editor, row, previousLine) ->
     # Indent at the current block level plus the setting amount (1 or 2)

    col = editor.getCursorBufferPosition().column

    # Parse the entire file up to the current point, keeping track of brackets
    console.log(row, col)
    lines = editor.getTextInBufferRange([[0,0], [row, col]]).split('\n')
    lines = lines.splice(0,lines.length-1)
    # at this point, the newline character has just been added,
    # so remove the last element of lines, which will be the empty line

    # A stack of [row, col] pairs describing where open brackets are
    output = PythonIndent.parseLines(lines)
    openBracketStack = output[0]
    closeBracketStack = output[1]
    shouldHang = output[2]
    lastFunctionRow = output[3]

    if shouldHang
        console.log('here')

  activate: ->
    @subscriptions = new CompositeDisposable
    @subscriptions.add atom.commands.add 'atom-text-editor', 'editor:newline': => @properlyIndent(event)

  deactivate: ->
    @subscriptions.dispose()
