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

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

# 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:
    hangingIndentTabs:
      type: 'number'
      default: 1
