experimental codemirror

This commit is contained in:
mdipierro
2012-09-08 14:50:53 -05:00
parent c90a0592dd
commit b2c2762f06
58 changed files with 11367 additions and 3 deletions
+29 -1
View File
@@ -4,9 +4,23 @@
def shortcut(combo, description):
return XML('<li><tt>%s</tt> %s</li>' % (combo, description))
}}
{{if TEXT_EDITOR == 'amy':}}
{{include 'default/amy_ajax.html'}}
{{elif TEXT_EDITOR == 'codemirror':}}
{{cm=URL('static','codemirror')}}
<link rel="stylesheet" href="{{=cm}}/lib/codemirror.css">
<script src="{{=cm}}/lib/codemirror.js"></script>
<script src="{{=cm}}/mode/clike/clike.js"></script>
<script src="{{=cm}}/keymap/emacs.js"></script>
<script src="{{=cm}}/mode/python/python.js"></script>
<script src="{{=cm}}/mode/xml/xml.js"></script>
<script src="{{=cm}}/mode/css/css.js"></script>
<script src="{{=cm}}/mode/javascript/javascript.js"></script>
<script src="{{=cm}}/mode/htmlmixed/htmlmixed.js"></script>
<!-- note to self:
for this to be able to save, it requires ajax_editor.js
but ajax_editor only works for ace because debugger breakpoints
//-->
{{elif TEXT_EDITOR == 'ace':}}
<script src="{{=URL(r=request,c='static',f='ace/src/ace.js')}}" type="text/javascript" charset="utf-8"></script>
<script src="{{=URL(r=request,c='static',f='ace/src/theme-%s.js' % TEXT_EDITOR_THEME)}}" type="text/javascript" charset="utf-8"></script>
@@ -114,6 +128,20 @@ jQuery(document).ready(function(){
<br><hr>
{{if TEXT_EDITOR == 'amy':}}
<textarea style="width: auto; height:400px;direction:ltr;" rows="58" cols="100" -amy-enabled="true" id="body" name="data"><div id="editor"/>{{=data}}</textarea>
{{elif TEXT_EDITOR == 'codemirror':}}
<textarea style="width: auto; height:400px;direction:ltr;" rows="58" cols="100" -amy-enabled="true" id="body" name="data">{{=data}}</textarea>
{{cm_mode = {'html':'htmlmixed'}.get(filetype,filetype)}}
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("body"),
{ mode: {name: '{{=cm_mode}}'{{if cm_mode=='python':}},version: 2,singleLineStringErrors: false{{pass}} },
lineNumbers: true,
indentUnit: 4,
tabMode: "shift",
saveFunction: function() { doClickSave(); },
{{if TEXT_EDITOR_KEYBINDING == 'emacs':}}keyMap: "emacs",{{pass}}
matchBrackets: true
});
</script>
{{elif TEXT_EDITOR == 'ace':}}
<div id="editor" style="height: 500px; width: auto; position: relative">{{=data}}</div>
<script>