# HG changeset patch
# User Alexander Hupfer <sonium@gmail.com>
# Date 1227274859 -3600
# Node ID 7c24150c765f0e2c54c7b18c415bf0a51e449485
# Parent  3859ace869681b4efc4ded59cf84a24e26383e9f
Automatic identation for Firefox and Webkit

diff -r 3859ace86968 -r 7c24150c765f sage/server/notebook/js.py
--- a/sage/server/notebook/js.py	Mon Oct 20 08:04:38 2008 -0700
+++ b/sage/server/notebook/js.py	Fri Nov 21 14:40:59 2008 +0100
@@ -825,6 +825,20 @@
     } else if(!will_resize_soon) {
         will_resize_soon = true;
         setTimeout("cell_input_resize("+id+"); will_resize_soon=false;", keypress_resize_delay)
+    }
+
+    // automatic identation
+    if (event.keyCode == 13 && !browser_ie) {
+        var cell = get_cell(id)
+        re = /(?:\n|^)( *).*(.)\n$/;
+        var position = get_cursor_position(cell);
+        var text = text_cursor_split(cell);
+        re.test(text[0])
+        var ident = RegExp.$1
+        var colon = RegExp.$2
+        if (colon == ':') { ident = ident + "    " }
+        get_cell(id).value = text[0] + ident + text[1];
+        set_cursor_position(cell, position + ident.length)        
     }
 }
 
