     stackOfTokensStillOpen.push parentTokenIdx = stackOfTokensStillOpen.pop()
     token = tokenStack[parentTokenIdx]
     switch token.type
-      when JSXTAG_SELFCLOSE_START, JSXTAG_OPEN, JSXBRACE_OPEN
-        @indentRow({row: row,allowAdditionalIndents: false}
-          ,token.firstCharIndentation,0,1)
+      when JSXTAG_OPEN, JSXTAG_SELFCLOSE_START
+        if  token.termsThisTagsAttributesIdx is null
+          @indentRow({row: row, blockIndent: token.firstCharIndentation, jsxIndentProps: 1 })
+        else @indentRow({row: row, blockIndent: token.firstCharIndentation, jsxIndent: 1 })
+      when JSXBRACE_OPEN
+        @indentRow({row: row, blockIndent: token.firstCharIndentation, jsxIndent: 1 })
       when BRACE_OPEN
-        @indentRow({row: row, allowAdditionalIndents: false}
-          ,token.firstCharIndentation + @getEslintIndent())
+        @indentRow({row: row, blockIndent: token.firstCharIndentation, jsIndent: 1 })
       when JSXTAG_SELFCLOSE_END, JSXBRACE_CLOSE, JSXTAG_CLOSE_ATTRS
-        @indentRow({row: row,allowAdditionalIndents: false}
-          ,tokenStack[token.parentTokenIdx].firstCharIndentation,0,1)
+        @indentRow({row: row, blockIndent: tokenStack[token.parentTokenIdx].firstCharIndentation, jsxIndentProps: 1})
       when BRACE_CLOSE
-        @indentRow({row: row, allowAdditionalIndents: false}
-          ,tokenStack[token.parentTokenIdx].firstCharIndentation + @getEslintIndent())
+        @indentRow({row: row, blockIndent: tokenStack[token.parentTokenIdx].firstCharIndentation, jsIndent: 1 })
 
   # get the token at the given match position or return truthy false
   getToken: (bufferRow, match) ->

            if isFirstTokenOfLine
              stackOfTokensStillOpen.push parentTokenIdx = stackOfTokensStillOpen.pop()
              if parentTokenIdx?
                if tokenStack[parentTokenIdx].type is JSXTAG_OPEN
                  indentRecalc = @indentRow({row: row}, tokenStack[parentTokenIdx].firstCharIndentation, 0, 1)
                else
                  indentRecalc = @indentRow({row: row}, tokenStack[parentTokenIdx].firstCharIndentation, 1 )

            # re-parse line if indent did something to it
            if indentRecalc

                  tokenStack[parentTokenIdx],
                  @eslintIndentOptions.jsxClosingBracketLocation[1].nonEmpty
              else
                indentRecalc = @indentRow({row: row, blockIndent: tokenStack[parentTokenIdx].firstTagInLineIndentation, jsxIndentProps: 1 })

            # re-parse line if indent did something to it
            if indentRecalc
