From 3485abd41363eaf272691aa766be9da35a5b1c06 Mon Sep 17 00:00:00 2001
From: Rob <rob@codecombat.com>
Date: Thu, 2 Jun 2016 18:46:47 -0700
Subject: [PATCH] Don't show indent guides for incorrect python indention.

---
 app/views/play/level/tome/SpellView.coffee | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee
index 743b51a41..8de3a5bc4 100644
--- a/app/views/play/level/tome/SpellView.coffee
+++ b/app/views/play/level/tome/SpellView.coffee
@@ -314,13 +314,20 @@ module.exports = class SpellView extends CocoView
             if /^\s+$/.test lines[docRange.end.row+1]
               docRange.end.row += 1
 
+            xstart = startOfRow(row)
+            if language is 'python'
+              requiredIndent = new RegExp '^' + new Array(xstart / 4 + 2).join '(    |\t)' + '(\\S|\\s*$)'
+              console.log requiredIndent
+              for crow in [docRange.start.row+1..docRange.end.row]
+                console.log("CROW", xstart, crow, lines[crow])
+                unless requiredIndent.test lines[crow]
+                  docRange.end.row = crow - 1
+                  break
+
             rstart = @aceSession.documentToScreenPosition docRange.start.row, docRange.start.column
             rend = @aceSession.documentToScreenPosition docRange.end.row, docRange.end.column
             range = new Range rstart.row, rstart.column, rend.row, rend.column
-
-            xstart = startOfRow(row)
             level = Math.floor(xstart / 4)
-            indent = startOfRow(row + 1)
             color = colors[level % colors.length]
             bw = 3
             to = markerLayer.$getTop(range.start.row, config)