 # TODO: handle hard indents, which CAN also have spaces in them (!!!)
 #       see "stopRange" in "properlyIndent"
 # TODO: do we want to over-ride atom's default behavior inside multi-line strings?
+# TODO: do we want to de-dent after a "return" statement? When would that be incorrect?
 
 module.exports = PythonIndent =
   config:
-    openingDelimiterIndentRegex:
-      type: 'string'
-      default: '^.*(\\(|\\[).*,\\s*$'
-      description: 'Regular Expression for _aligned with opening delimiter_ continuation indent type, and used for determining when this type of indent should be _started_.'
-    openingDelimiterUnindentRegex:
-      type: 'string'
-      default: '^\\s+\\S*(\\)|\\])\\s*:?\\s*$'
-      description: 'Regular Expression for _aligned with opening delimiter_ continuation indent type, and used for determining when this type of indent should be _ended_.'
-    hangingIndentRegex:
-      type: 'string'
-      default: '^.*(\\(|\\[)\\s*$'
-      description: 'Regular Expression for _hanging indent_ used for determining when this type of indent should be _started_.'
     hangingIndentTabs:
       type: 'number'
       default: 1

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

    # Cache settings
    @openingDelimiterIndentRegex = new RegExp(atom.config.get 'python-indent.openingDelimiterIndentRegex')
    @openingDelimiterUnindentRegex = new RegExp(atom.config.get 'python-indent.openingDelimiterUnindentRegex')
    @hangingIndentRegex = new RegExp(atom.config.get 'python-indent.hangingIndentRegex')

  deactivate: ->
    @subscriptions.dispose()

                    else if c in '\'"'
                        stringDelimiter = c

    # 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)
