ACE (Bespin successsor) features code folding. Also, there is an event changeFold which fires upon code being folded or unfolded.
How do I trigger/set code folding from JavaScript?
I.e. fold up code for function beginning at line N.
see addfold at https://github.com/ajaxorg/ace/blob/master/lib/ace/edit_session/folding.js#L259 and onFoldWidgetClick https://github.com/ajaxorg/ace/blob/master/lib/ace/edit_session/folding.js#L685 for the usage example