Hello! The current shell is pretty for copy-paste operations but the scrolling through recent command history is useful for interactive using.
Here is the update for JavaScript function, which allows such scrolling up and down as in a standard shell. Instead of command completion it shows possible variants in the output. Massimo, you can use it in the release if you want. For others - just replace the single function in /web2py/applications/admin/views/shell/index.html with this. ==========code of script============== $('#statement').keyup(function(event){ var t=$('#statement'); var s=t.val() var o=$('#output') if(s=='\n') t.val(''); if(s.length>1 && s.substr(s.length-1,1)=='\n' && s.substr (s.length-2,1)!=':' && (s.indexOf(':\n ')<0 || s.substr(s.length-2,1)=='\n')) { t.val(''); $.post("{{=URL(r=request,f='callback',args=app)}}", {statement:s},function(data){o.html(o.html()+data).attr ('scrollTop',o.attr('scrollHeight'));}); } else { }; if(event.keyCode==38){ var i=s.length if(i==0){ var s=o.find('table:last pre:first').text(); bShellScrolling=o.find('table').length; }else if(bShellScrolling){ var i=bShellScrolling if(i<1){ return }else{ i-- var s=o.find('table::nth-child('+(i)+') pre:first').text (); bShellScrolling=i } }else if(s.indexOf('\n')<0){ var oo=o.find('tr:first-child pre:contains("'+s+'")') if(oo.length==0){ return }else if(oo.length==1){ s=oo.text(); }else{ sVar=oo.text(); o.html(o.html()+'<dd>'+s+' ?</dd><dt><tt>'+sVar+'</tt></ dt>').attr('scrollTop',o.attr('scrollHeight')) return } }else{ //multistring expr return; } // if(s.slice(s.length-1)=='\n'){ s=s.slice(0,s.length-1) // } t.val(s); } if(bShellScrolling && event.keyCode==40){ var i=bShellScrolling i++ var s=o.find('table:nth-child('+i+') tr:first-child pre').text(); if(s){ s=s.slice(0,s.length-1) t.val(s); bShellScrolling=i }else{ bShellScrolling=0 t.val('') } }; if(bShellScrolling && (event.keyCode==37 || event.keyCode==39)){ bShellScrolling=0; }; }); ========end script=========== Vale! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---