 
             # if stringDelimiter is set, then we are in a string
             if stringDelimiter.length
-                # we are currently in a string
                 if isEscaped
                     isEscaped = false
                 else
-                    switch c
-                        when stringDelimiter
-                            stringDelimiter = []
-                        when '\\'
-                            isEscaped = true
+                    if c == stringDelimiter
+                        stringDelimiter = []
+                    if c == '\\'
+                        isEscaped = true
             else
                 if c == '#'
                     break


    # I'm glad Atom has an optional `column` param to subtract spaces from
    # soft-tabs, though I don't see it used anywhere in the core.

    console.log('tabs:', tabs, 'offset:', offset)

    indent = editor.buildIndentString(tabs, column=offset)

    console.log('len:', indent.length, 'str: "', indent, '"')

    # Set the indent
    editor.getBuffer().setTextInRange([[row, 0], [row, editor.indentationForBufferRow(row) * tabLength]], indent)


  parseLines: (lines) ->

    # if we are in a string, this tells us what character introduced the string
    # i.e., did this string start with ' or with "?
    stringDelimiter = []

    # NOTE: this parsing will only be correct if the python code is well-formed
    #       statements like "[0, (1, 2])" might break the parsing

    # loop over each line, adding to each stack
    for row in [0 .. lines.length-1]
