wisp
 
(Arne Babenhauserheide)
2013-03-22: added websafe indent via _.

added websafe indent via _.

diff --git a/tests/websafe-indent.w b/tests/websafe-indent.w
new file mode 100644
--- /dev/null
+++ b/tests/websafe-indent.w
@@ -0,0 +1,5 @@
+defun a : b c
+_ d e
+___ f
+___ g h
+___ . i
diff --git a/wisp.py b/wisp.py
--- a/wisp.py
+++ b/wisp.py
@@ -30,6 +30,18 @@ but crave the power of lisp.
 
 class Line:
     def __init__(self, line):
+        """Parse one line in which linebreaks within strings and
+        brackets already got replaced by a temporary placeholder."""
+        # Visible indentation: If the line starts with any number of
+        # _, followed by a space, treat those _ as spaces.
+        if line.startswith("_"):
+            for i,letter in enumerate(line):
+                if letter != "_":
+                    break
+            # here line[i-1] is _. Check if line[i+1] is a space.
+            if line[i:i+1] == " ":
+                line = (i)*" " + line[i:]
+                
         #: prefix to go around the outer bracket: '(, ,( or `(
         self.prefix = ""
         # check if this is a continuation of the parent line